CPointerTypes.mesa
Hopcroft August 18, 1989 6:17:18 pm PDT
Last changed by Theimer on September 27, 1989 10:28:16 pm PDT
Spreitze, August 13, 1991 5:20 pm PDT
DIRECTORY
CCTypes USING [Operator],
CirioTypes USING[BasicTypeInfo, CompilerContext, Node, Type];
CPointerTypes: CEDAR DEFINITIONS =
BEGIN
CC: TYPE = CirioTypes.CompilerContext;
Type: TYPE = CirioTypes.Type;
Node: TYPE = CirioTypes.Node;
BasicTypeInfo: TYPE = CirioTypes.BasicTypeInfo;
CreatePointerType: PROC[clientTargetType: Type, cc: CC, bti: BasicTypeInfo] RETURNS[Type];
PointerNodeInfo: TYPE = REF PointerNodeInfoBody;
PointerNodeInfoBody: TYPE = RECORD[
clientTargetType: Type,
indirectToClientTarget: Node,
add: PROC[node: CirioTypes.Node, offsetNode: CirioTypes.Node, info: PointerNodeInfo, cc: CC] RETURNS[CirioTypes.Node],
subtract: PROC[leftNode: CirioTypes.Node, rightNode: CirioTypes.Node, cc: CC] RETURNS[CirioTypes.Node],
compare: PROC[leftNode: CirioTypes.Node, rightNode: CirioTypes.Node, op: CCTypes.Operator, cc: CC] RETURNS[CirioTypes.Node],
data: REF ANY];
CreatePointerNode: PROC[type: CirioTypes.Type, info: PointerNodeInfo, cc: CC] RETURNS[Node];
END..