SaffronPGDecls.ThreeC4
Copyright Ó 1988 by Xerox Corporation. All rights reserved.
James Rauen, June 13, 1988 11:25:46 am PDT
Last edited by: James Rauen June 21, 1988 1:32:28 pm PDT
DECOMMISSIONED - June 21, 1988 1:32:25 pm PDT
Declarations related to Program Graphs
Include [ SaffronBaseDecls ];
SaffronPGDecls: Module = Begin
ProgramGraph:  BaseType;
EvaluatedExpression:  BaseType;
MakeBogusPGN:
BaseFunction []
Returns [ProgramGraph];
MakeSemiBogusPGN:
BaseFunction [EvaluatedExpression]
Returns [ProgramGraph];
PrintProgramGraph:
BaseFunction [STREAM, ProgramGraph]
Returns [BOOLEAN];
MakeIntegerEvExp:BaseFunction [INT]   Returns [EvaluatedExpression];
MakeRealEvExp:BaseFunction [REAL]   Returns [EvaluatedExpression];
MakeBooleanEvExp:BaseFunction [BOOLEAN]  Returns [EvaluatedExpression];
MakeRopeEvExp:BaseFunction [ROPE]   Returns [EvaluatedExpression];
MakeComputedEvExp:BaseFunction [ProgramGraph]  Returns [EvaluatedExpression];
IsIntegerEvExp:BaseFunction [EvaluatedExpression]  Returns [BOOLEAN];
IsRealEvExp:BaseFunction [EvaluatedExpression]  Returns [BOOLEAN];
IsBooleanEvExp:BaseFunction [EvaluatedExpression]  Returns [BOOLEAN];
IsRopeEvExp:BaseFunction [EvaluatedExpression]  Returns [BOOLEAN];
IsComputedEvExp:BaseFunction [EvaluatedExpression]  Returns [BOOLEAN];
IntegerEvExpVal:BaseFunction [EvaluatedExpression]  Returns [INT];
RealEvExpVal:BaseFunction [EvaluatedExpression]  Returns [REAL];
BooleanEvExpVal:BaseFunction [EvaluatedExpression]  Returns [BOOLEAN];
RopeEvExpVal:BaseFunction [EvaluatedExpression]  Returns [ROPE];
ComputedEvExpVal:BaseFunction [EvaluatedExpression]  Returns [ProgramGraph];
DoTargetMachineOp:
BaseFunction [ATOM.op, EvaluatedExpression.lhs, EvaluatedExpression.rhs]
Returns [EvaluatedExpression.res];
TargetMakeIntBase8: CedarFunction [Target, ROPE] Returns [TargetInt]
From SaffronTargetArchitecture;
TargetMakeIntBase10: CedarFunction [Target, ROPE] Returns [TargetInt]
From SaffronTargetArchitecture;
TargetMakeIntBase16: CedarFunction [Target, ROPE] Returns [TargetInt]
From SaffronTargetArchitecture;
TargetIntAdd: CedarFunction [Target, TargetInt.a, TargetInt.b] Returns [TargetInt.res]
From SaffronTargetArchitecture;
TargetIntSubtract: CedarFunction [Target, TargetInt.a, TargetInt.b] Returns [TargetInt.res]
From SaffronTargetArchitecture;
TargetIntMultiply: CedarFunction [Target, TargetInt.a, TargetInt.b] Returns [TargetInt.res]
From SaffronTargetArchitecture;
TargetTrue: CedarFunction [Target] Returns [TargetBoolean]
From SaffronTargetArchitecture;
TargetFalse: CedarFunction [Target] Returns [TargetBoolean]
From SaffronTargetArchitecture;
TargetAnd: 
CedarFunction [Target, TargetBoolean.a, TargetBoolean.b]
Returns [TargetBoolean.res]
From SaffronTargetArchitecture;
TargetOr: 
CedarFunction [Target, TargetBoolean.a, TargetBoolean.b]
Returns [TargetBoolean.res]
From SaffronTargetArchitecture;
TargetNot: 
CedarFunction [Target, TargetBoolean.a]
Returns [TargetBoolean.res]
From SaffronTargetArchitecture;
GeneratePG:
TreeRecursiveFunction [Tree, CompilerState]
Returns [ProgramGraph];
Evaluate:
TreeRecursiveFunction [Tree]
Returns [EvaluatedExpression];
End.