DIRECTORY SmallCards, Symbols USING [Type, UNSPEC], Table USING [Base, Finger, IndexRep, Selector, Tag]; Literals: DEFINITIONS = { OPEN SmallCards; Base: TYPE = Table.Base; Finger: TYPE = Table.Finger; ltTag: Table.Tag = 3; stTag: Table.Tag = 4; WordSequence: TYPE = RECORD [SEQUENCE COMPUTED CARDINAL OF Symbols.UNSPEC]; WordSequencePtr: TYPE = LONG POINTER TO WordSequence; LTRecord: TYPE = MACHINE DEPENDENT RECORD [ link: LTIndex, class: LitClass, pad1: Card13 ¬ 0, pad2: Card15 ¬ 0, datum: SELECT kind: * FROM short => [value: Symbols.UNSPEC], long => [ bits: INT, codeIndex: Card16, value: SEQUENCE max: Card16 OF Symbols.UNSPEC] ENDCASE]; LitClass: TYPE = MACHINE DEPENDENT { unknown (0), unsigned (1), signed (2), either (3), real (4), bits(5) }; LTIndex: TYPE = Base RELATIVE LONG POINTER TO LTRecord; LTFirst: LTIndex = LOOPHOLE[Table.IndexRep[tag: ltTag, highBits:0, lowBits:0]]; LTLast: LTIndex = LOOPHOLE[Table.IndexRep[tag: ltTag]]; LTNull: LTIndex = LTLast; LTId: TYPE = RECORD [baseP: Finger, index: LTIndex]; LitDescriptor: TYPE = RECORD [ bits: INT, class: LitClass, words: [0..1024], offset: Base RELATIVE LONG POINTER TO WordSequence]; STRecord: TYPE = MACHINE DEPENDENT RECORD [ link: MSTIndex, cases: SELECT kind: * FROM master => [ local: BOOL, pad1: Card13 ¬ 0, codeIndex: Card16, info: CARD, length: Card16, string: PACKED SEQUENCE maxLength: Card16 OF CHAR], copy => [ mark: BOOL, pad1: Card13 ¬ 0, pad2: Card16 ¬ 0], heap => [ pad1: Card14 ¬ 0, pad2: Card16 ¬ 0, type: Symbols.Type, info: CARD] ENDCASE]; STIndex: TYPE = Base RELATIVE LONG POINTER TO STRecord; STFirst: STIndex = LOOPHOLE[Table.IndexRep[tag: stTag, highBits:0, lowBits:0]]; STLast: STIndex = LOOPHOLE[Table.IndexRep[tag: stTag]]; STNull: STIndex = STLast; MSTIndex: TYPE = Base RELATIVE LONG POINTER TO STRecord.master; ltType: Table.Selector = 7; stType: Table.Selector = 8; }. P Literals.mesa Copyright Σ 1985, 1986, 1987, 1988, 1991 by Xerox Corporation. All rights reserved. Satterthwaite, June 25, 1986 9:34:11 am PDT Russ Atkinson (RRA) August 16, 1988 4:29:52 pm PDT tag codes (0-2 reserved) literal constants 32 bits and less This type does not appear in files. string literals table allocation codes Κƒ–(cedarcode) style•NewlineDelimiter ™codešœ ™ Kšœ ΟeœI™TKšΟy+™+J™2—˜šΟk ˜ K˜ KšœŸœŸœ˜KšœŸœ)˜4——headšΟnœŸ œ˜KšŸœ ˜—˜KšœŸœ˜KšœŸœ˜K˜—™K˜Kšœ˜Kšœ˜K˜—Kšœ™˜KšœŸœŸœŸœŸœŸœŸœ Ÿœ˜KKš œŸœŸœŸœŸœ˜5K˜š œ ŸœŸœŸ œŸœ˜+K˜Kšœ˜K˜Kšœ˜šœŸœ Ÿ˜šœŸœ˜!K™—˜ KšœŸœ˜ Kšœ˜KšœŸœ Ÿœ Ÿœ˜.—KšŸœ˜ K˜——šœ ŸœŸœŸ œ˜$KšœD˜DKšœ˜K˜—š œ ŸœŸœŸœŸœŸœ ˜7KšœŸœ4˜OKšœŸœ˜7Kšœ˜K˜—KšœŸœŸœ!˜4K˜šœŸœŸœ˜KšœŸœ˜ K˜K˜Kš œ ŸœŸœŸœŸœ˜4Inote™#K˜——Kšœ™˜š œ ŸœŸœŸ œŸœ˜+K˜šœŸœ Ÿ˜˜ KšœŸœ˜ Kšœ˜Kšœ˜KšœŸœ˜ Kšœ˜Kš œŸœŸœŸœŸœ˜3—˜ KšœŸœ˜ Kšœ$˜$—˜ Kšœ#˜#K˜KšœŸœ˜ —KšŸœ˜ K˜——š œ ŸœŸœŸœŸœŸœ ˜7KšœŸœ4˜OKšœŸœ˜7Kšœ˜—Kš œ ŸœŸœŸœŸœŸœ˜?K˜—Kšœ™˜K˜K˜K˜K˜K˜——…—d 7