<> <> <> <> DIRECTORY Alloc USING [Handle], Literals USING [STIndex], RTBcd USING [RefLitIndex, TypeIndex], Symbols USING [Name, MDIndex, Type], Tree USING [Link]; SymLiteralOps: DEFINITIONS = { <> EnterType: PROC [type: Symbols.Type, canonical: BOOL_TRUE]; TypeIndex: PROC [type: Symbols.Type, canonical: BOOL_TRUE] RETURNS [RTBcd.TypeIndex]; TypeRef: PROC [type: Symbols.Type, canonical: BOOL_TRUE] RETURNS [Tree.Link]; DescribeTypes: PROC RETURNS [offset, length: CARDINAL]; EnumerateTypes: PROC [PROC [canonical: BOOL, type: Symbols.Type]]; UTypeId: PROC [type: Symbols.Type] RETURNS [Symbols.MDIndex, Symbols.Type]; <> RefLitItem: TYPE = RECORD [ SELECT kind: * FROM atom => [pName: Symbols.Name], text => [value: Literals.STIndex], ENDCASE]; EnterAtom: PROC [name: Symbols.Name]; AtomIndex: PROC [name: Symbols.Name] RETURNS [RTBcd.RefLitIndex]; AtomRef: PROC [name: Symbols.Name] RETURNS [Tree.Link]; EnterText: PROC [sti: Literals.STIndex]; TextIndex: PROC [sti: Literals.STIndex] RETURNS [RTBcd.RefLitIndex]; TextRef: PROC [sti: Literals.STIndex] RETURNS [Tree.Link]; DescribeRefLits: PROC RETURNS [offset, length: CARDINAL]; EnumerateRefLits: PROC [PROC [RefLitItem]]; <> Initialize: PROC [Alloc.Handle]; Reset: PROC [pad: BOOL]; Finalize: PROC; }.