<<>> <> <> <> <> <<>> 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..