TargetArchitecture.mesa
Copyright Ó 1988 by Xerox Corporation. All rights reserved.
James Rauen, June 15, 1988 12:59:11 pm PDT
TargetArchitecture:
CEDAR
DEFINITIONS ~
BEGIN
TargetIntNode: TYPE ~ REF TargetIntNodeBody;
TargetIntNodeBody: TYPE ~ REF ANY;
TargetRealNode: TYPE ~ REF TargetRealNodeBody;
TargetRealNodeBody: TYPE ~ REF ANY;
TargetBooleanNode: TYPE ~ REF TargetBooleanNodeBody;
TargetBooleanNodeBody: TYPE ~ REF ANY;
TargetRopeNode: TYPE ~ REF TargetRopeNodeBody;
TargetRopeNodeBody: TYPE ~ REF ANY;
TargetNode: TYPE ~ REF TargetNodeBody;
TargetNodeBody:
TYPE ~
RECORD [
operations: TargetOperations
];
TargetOperations: TYPE ~ REF TargetOperationsRec;
TargetOperationsRec:
TYPE ~
RECORD [
Integer operations.
MakeIntBase8: PROC [Rope.ROPE] RETURNS [TargetIntNode],
MakeIntBase10: PROC [Rope.ROPE] RETURNS [TargetIntNode],
MakeIntBase16: PROC [Rope.ROPE] RETURNS [TargetIntNode],
IntAdd: PROC [TargetIntNode, TargetIntNode] RETURNS [TargetIntNode],
IntSubtract: PROC [TargetIntNode, TargetIntNode] RETURNS [TargetIntNode],
IntMultiply: PROC [TargetIntNode, TargetIntNode] RETURNS [TargetIntNode],
Boolean operations.
True: PROC RETURNS [TargetBooleanNode],
False: PROC RETURNS [TargetBooleanNode],
And: PROC [TargetBooleanNode, TargetBooleanNode] RETURNS [TargetBooleanNode],
Or: PROC [TargetBooleanNode, TargetBooleanNode] RETURNS [TargetBooleanNode],
Not: PROC [TargetBooleanNode] RETURNS [TargetBooleanNode]
];
END.