TJaMBasic: DEFINITIONS = { Object: TYPE = MACHINE DEPENDENT RECORD [ tag(0:0..0): Tag, variant(0:1..63): SELECT type(0:1..15): ObType FROM null => [], integer => [ivalue(1:0..31): LONG INTEGER], real => [rvalue(1:0..31): REAL], boolean => [bvalue(1:0..15): BOOLEAN], name => [id(1:0..15): NameID], string => [length(1:1..15): StringLength, text(2:0..31): TextPtr, offset(1:0..0): [0..1]], stream => [index(1:0..15): CARDINAL, stamp(2:0..15): Stamp], command => [index(1:0..15): CARDINAL], dict => [dict(1:0..31): DictPtr], array => [length(1:0..15): CARDINAL, base(2:0..31): ArrayPtr], mark => [], user => [data(1:0..31): LONG UNSPECIFIED, stamp(3:0..15): Stamp], exec => [], loop => [], scope => [top(1:0..15): CARDINAL, id(2:0..15): NameID], ENDCASE]; Tag: TYPE = MACHINE DEPENDENT {X(0), L(1)}; -- eXecutable or Literal ObType: TYPE = MACHINE DEPENDENT {null(0), integer(1), real(2), boolean(3), name(4), string(5), stream(6), command(7), dict(8), array(9), mark(10), user(11), exec(12), loop(13), scope(14) }; StringLength,NameIndex: TYPE = [0..77777B]; NameID: TYPE = MACHINE DEPENDENT RECORD[local: BOOLEAN, index: NameIndex]; Stamp: TYPE = CARDINAL; TextPtr: TYPE = LONG POINTER TO TextBody; TextBody: TYPE = RECORD[PACKED SEQUENCE COMPUTED CARDINAL OF CHARACTER]; DictPtr: TYPE = LONG POINTER TO DictBody; DictBody: TYPE = MACHINE DEPENDENT RECORD [ curlen,maxlen: CARDINAL, -- current and maximum number of tuples size: CARDINAL, -- size of tuple table beg,end: TuplePtr, -- beginning and end of tuple table curatt: CARDINAL, -- current number of attachments attach: array Object -- array of attached dictionaries ]; TuplePtr: TYPE = LONG POINTER TO Tuple; Tuple: TYPE = MACHINE DEPENDENT RECORD[key,value: Object]; ArrayPtr: TYPE = LONG POINTER TO ArrayBody; ArrayBody: TYPE = RECORD[SEQUENCE COMPUTED CARDINAL OF Object]; Root: TYPE = MACHINE DEPENDENT RECORD [ stamp: Stamp, sysDict: dict Object, commandCount: CARDINAL, commandArray: array Object, nameCount: CARDINAL, nameArray: array Object, nameDict: dict Object ]; }. 2TJaMBasic.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Last changed by Doug Wyatt, 2-Oct-81 9:32:33 Last changed by Bill Paxton, 30-Jan-82 8:42:23 Michael Plass, February 14, 1985 10:26:01 am PST Declarations for data structures stored in the TJaM VM. For internal use only: Κζ˜šœ™Icodešœ Οmœ1™J˜ Jšœžœž œ˜AJšœ™J˜Jšœžœ˜7Jšžœ˜ J˜——Jš œžœžœž œžœžœΟc˜Dšœžœžœž œ4˜TJ˜HJ˜ J˜—Jšœžœ˜+Jš œžœžœž œžœžœ˜JJšœžœžœ˜J˜Jš œ žœžœžœžœ ˜)Jšœ žœžœžœžœžœžœžœž œ˜HJ˜Jš œ žœžœžœžœ ˜)š œ žœžœž œžœ˜+JšœžœŸ'˜@JšœžœŸ˜&JšœŸ#˜6JšœžœŸ ˜2JšœŸ!˜6J˜—Jš œ žœžœžœžœ˜'Jš œžœžœž œžœ˜:J˜Jš œ žœžœžœžœ ˜+Jš œ žœžœžœžœžœžœ ˜?J˜š œžœžœž œžœ˜'J˜ J˜Jšœžœ˜J˜Jšœ žœ˜J˜J˜J˜J˜—J˜J˜J˜—…—