// Raid.decl - Declarations of Lisp data structures used only by Raid // added onedarray structure October 6, 1986 by Bill van Melle // Changed address constants December 14, 1984 by Bill van Melle // Last edited August 29, 1981 11:53 PM by Bill van Melle // Allegro change August 2, 1981 11:20 PM by Beau Sheil // Last edited March 4, 1981 12:49 PM by Beau Sheil // Last edited February 24, 1981 5:39 PM by Beau Sheil // Last edited August 6, 1980 6:40 PM by Beau Sheil get "LispBcpl.decl" // *** The truth for all these declarations is the Lisp *** manifest [ DEL = #177 // DEL char code // offsets for stack frames flagword = 0 // offsets for last word of a basic frame BFIvar = 1 // ptr to start of BF BFRmask = #1000 BFPmask = #400 // offsets and masks for a frame extension FXalink = 1 FXblink = 8 FXclink = 9 FXPvar = 10 FXFHlo = 2 FXFHhi = 3 FXnxt = 4 FXNTlo = 6 FXNThi = 7 FXNMask = #1 lshift 8 // These are in the flag word FXVMask = #2 lshift 8 FXCMask = #4 lshift 8 FXLMask = #10 lshift 8 FXFMask = #20 lshift 8 FXXMask = #1 // in the Alink word // offsets and masks for guard and free blks FreeBlkLen = 1 GrdBlkLen = 1 // name table offsets NTPV = 2 NTfname = 4 NTnPV = 7 offNtSize = 6 ntOvheadWords = 8 // name table codes fvarCode = #140000 pvarCode = #100000 ivarCode = 0 fvarmask = #1 // tells if fvar is looked up ] structure [ // atom pointer - used to extract number blank word // lhbyte not used; rhbyte zero AtomNumber word ] // atom number structure [ // generalized array (sequence) descriptor Sorig bit // indexing origin (0 or 1) Salgn bit // alignment flag (0 or 1) Sro bit // read-only flag (0 or 1) blank bit // padding Styp bit 4 // type number blank byte 3 // = ptr to first data word Slength word // # of elements Soffst word // offset of first element from base ] structure [ // cml oned array descriptor blank word 2 // = ptr to first data word ODFlagWord word // see below ODOffset word // offset of first element from base ODFillPointer word // # of elements ] structure [ // Flag word for cml oned array descriptor ODReadOnly bit // read-only flag (0 or 1) ODIndirect bit // true if base points to another array ODBitP bit // true if bit array ODStringP bit // true if string ODAdjustableP bit // true if adjustable array ODDisplacedP bit // ODFilePointerP bit // ODExtendableP bit // ODtyp bit 8 // type number ] structure ConsCell: [ Qfield byte = [ ibit bit 1 dfield bit 7 ] ] (1792) manifest // address space constants used by ShowRealCore [ PncLo = #72 PncHi = #77 ArrayLo = #23 ArrayHi = #377 GCMainspace = HTMAINspace GCCollspace = HTMAINspace+1 ]