Atoms.mesa
Copyright Ó 1991 by Xerox Corporation. All rights reserved.
Created by Theimer: August 4, 1989 10:05:33 pm PDT
Spreitze, December 16, 1991 10:55 am PST
DIRECTORY
CirioTypes USING [BasicTypeInfo, CompilerContext, Node, Type];
=
BEGIN
CC: TYPE = CirioTypes.CompilerContext;
BasicTypeInfo: TYPE = CirioTypes.BasicTypeInfo;
Type: TYPE = CirioTypes.Type;
Node: TYPE = CirioTypes.Node;
CreateAtomType:
PROC [cc:
CC, bti: BasicTypeInfo]
RETURNS [Type];
CirioCode.GetTypeClass[type] = $atom
CCType.GetTypeRepresentation will return bti.
SetAtomRecType: PROC [atomType, recType: Type, cc: CC];
AtomNodeInfo: TYPE = REF AtomNodeInfoBody;
AtomNodeInfoBody:
TYPE =
RECORD [
atomRecType: Type,
atomRecNode: Node,
getPointer: PROC[data: REF ANY, cc: CC] RETURNS[CirioTypes.Node],
data: REF ANY
];
CreateAtomNode: PUBLIC PROC [type: Type, info: AtomNodeInfo, cc: CC] RETURNS [Node];
CreateNilAtomNode: PUBLIC PROC [type: Type, cc: CC] RETURNS [Node];