DIRECTORY Rope USING [ROPE], IO USING [STREAM]; Variables: CEDAR DEFINITIONS = BEGIN VariableSeq: TYPE = REF VariableSeqRec; VariableSeqRec: TYPE = RECORD [SEQUENCE lengthPlus1: [1..100] OF Rope.ROPE]; ReadVariableSeq: PROC [in: IO.STREAM] RETURNS [V: VariableSeq]; VariableSeqFromRope: PROC [in: Rope.ROPE] RETURNS [V: VariableSeq]; VariableSeqToRope: PROC [V: VariableSeq] RETURNS [out: Rope.ROPE]; WriteVariableSeq: PROC [V: VariableSeq, out: IO.STREAM]; VariableIndex: PROC [var: Rope.ROPE, V: VariableSeq] RETURNS [CARDINAL]; VSRemoveMainVariable: PROC [V: VariableSeq] RETURNS [VariableSeq]; MainVariable: PROC [V: VariableSeq] RETURNS [VariableSeq]; VariableFirstChar: PROC [char: CHAR, V: VariableSeq] RETURNS [BOOL]; END. πVariables.mesa Last Edited by: Arnon, June 10, 1985 4:19:22 pm PDT Types Conversion Operations Variable indices are positive integers, thus if var = V[i], then i+1 returned. True if char is the first character of some variable in V. Κ©˜Jšœ™J™3J˜šΟk ˜ Jšœœœ˜Jšœœœ˜—Ihead2šœ œ ˜Jš˜headšΟn™Jšœ œœ˜'šœœ˜Jš œœ œ œœ˜.——šž ™ J™š žœœœœœ˜?J˜—šžœœ œœ˜CJ˜—šžœœœ œ˜BJ˜—Jšžœœœœ˜8—šž ™ J˜codeš ž œœ œœœ˜HMšœN™NM˜—šžœœœ˜BJ˜—šž œœœ˜:M˜—š žœœœžœœœ˜DMšœ:™:—J˜—Jšœ˜—…—ζ