ASExprs.mesa
Last Edited by: Arnon, June 10, 1985 4:19:22 pm PDT
DIRECTORY
Rope,
Basics,
IO,
AlgebraClasses;
ASExprs: CEDAR DEFINITIONS
= BEGIN
Types and VariablealgebraClasses
ASExpr: TYPE = AlgebraClasses.Object;
ASExprData: TYPE ~ REF ASExprDataRep; -- external abstract type
ASExprDataRep: TYPE; -- internal concrete rep
ASExprClass: AlgebraClasses.Object; -- public Object so that additional methods can be added later
ASExprs: AlgebraClasses.Object; -- public structure
Structure Operations
PrintName: AlgebraClasses.PrintNameProc;
ShortPrintName: AlgebraClasses.PrintNameProc;
IsExprs: AlgebraClasses.UnaryPredicate;
Conversion and IO
Recast: AlgebraClasses.BinaryOp;
CanRecast: AlgebraClasses.BinaryPredicate;
ToEXPR: AlgebraClasses.ToEXPROp;
FromEXPR: AlgebraClasses.FromEXPROp;
LegalFirstChar: AlgebraClasses.LegalFirstCharOp;
Read: AlgebraClasses.ReadOp;
FromRope: AlgebraClasses.FromRopeOp;
ToRope: AlgebraClasses.ToRopeOp;
Write: AlgebraClasses.WriteOp;
Arithmetic
Zero: AlgebraClasses.NullaryOp;
One: AlgebraClasses.NullaryOp;
Add: AlgebraClasses.BinaryOp;
Negate: AlgebraClasses.UnaryOp;
Subtract: AlgebraClasses.BinaryOp;
Multiply: AlgebraClasses.BinaryOp;
Power: AlgebraClasses.BinaryOp;
Invert: AlgebraClasses.UnaryOp;
Comparison
Equal: AlgebraClasses.BinaryPredicate;
END.