Variables.mesa
Last Edited by: Arnon, June 10, 1985 4:19:22 pm PDT
DIRECTORY
Rope USING [ROPE],
AlgebraClasses;
Variables: CEDAR DEFINITIONS
= BEGIN OPEN AC: AlgebraClasses;
Types
Variable: TYPE = AC.Object;
VariableData: TYPE = Rope.ROPE;
Variables: AC.Object;
Structure Operations
PrintName: AC.ToRopeOp;
ShortPrintName: AC.ToRopeOp;
IsVariables: AC.UnaryPredicate;
Conversion and IO
Recast: AC.BinaryOp;
CanRecast: AC.BinaryPredicate;
ToExpr: AC.ToExprOp;
FromExpr: AC.FromExprOp;
LegalFirstChar: AC.LegalFirstCharOp;
Read: AC.ReadOp;
FromRope: AC.FromRopeOp;
ToRope: AC.ToRopeOp;
Write: AC.WriteOp;
Comparison
Equal: AC.BinaryPredicate;
VariableIndex: PROC [var: Rope.ROPE, V: VariableSeq] RETURNS [CARDINAL];
Variable indices are positive integers, thus if var = V[i], then i+1 returned.
RemoveMainVariable: PROC [V: VariableSeq] RETURNS [VariableSeq];
AddMainVariable: PROC [oldVars, newVar: VariableSeq] RETURNS [VariableSeq];
MainVariable: PROC [V: VariableSeq] RETURNS [VariableSeq];
VariableFirstChar: PROC [char: CHAR, V: VariableSeq] RETURNS [BOOL];
True if char is the first character of some variable in V.
END.