! File: GLODEC.BLI ! Module GLODEC = Begin Require 'Bliss'; Global NIL : Block[SZ_NODE(0)], ! lexical information flg_plit : Boolean, SCANTYPE : Integer, sym_define : Ref Block, sym_vector : Ref Block, sym_stack : Ref Block, LEX_FLAGS : Bitvector[32], ! error information pos_sym : Integer, pos_del : Integer, pos_atom : Integer, OLDDEL : Integer, OLDDELI : Integer, pos_good : Integer, pos_open : Integer, num_warning : Integer, num_error : Integer, ERRLEVEL : Integer, INDECL : Integer, LASTEND : BitVector[64], ! flowan information ABCOUNT : Integer, LEVEL : Integer, LEVELINC : Integer, GTHASH : Vector[MAXDELIMITER+2], ! syntax information INENABLE : Boolean, SYM : Ref Block, DEL : Integer, level_block : Integer, level_routine : Integer, level_structure : Integer, TOS : Integer, LASTMARK : Integer, unit_size : Integer, LABELNO : Integer, ! code/final information ! statistics CODESIZE : Integer, DATASIZE : Integer, ! listing information NINLINES : Integer, MODDONE : Boolean, MODNAME : Ref Vector[,Byte], MODMAIN : Ref Vector[,Byte], MAINDECL : Boolean, SSTKLEN : Integer, MAC_INFO : Block[SZ_MAC_INFO], arg_buff : Vector[SZ_ARG_BUFF], prm_buff : Vector[SZ_PRM_BUFF], trace_buff : Vector[32], ptr_actuals : Ref Vector, NCSE : Vector[32*2], FLSTK : Ref Block, GETLCNT : Integer, LASTPUR : Ref Block, NOTREE : Integer, CURROUT : Ref Block, DEVICE : Integer, PURGED : Ref Block, MANYACTS : Integer, pos_scan : Integer, flg_stack_addr : Boolean, DT : Vector[DTSIZE], DTPF : Vector[DTSIZE], HT_NAME : Vector[HTSIZE], HT_THREAD : Vector[HTSIZE], STK : Vector[300], NLINES : Integer, NEXTLOCAL : Integer, NEXTOWN : Integer, NEXTGLOBAL : Integer, MAXLOCALS : Integer, LOC : Integer, CODENAME : Vector[5], NLHEAD : Ref Block, BRAK1 : Ref Block, BRAK2 : Ref Block, DYTEMPS : Integer, STATICSIZE : Integer, NCELL : Ref Block, VTN : Ref Block, FLAGS : Integer, LON : Integer, FON : Integer, LOOPDEPTH : Integer, NUMPARMS : Integer, MAXPARMS : Integer, STEMPS : Ref Block, DTEMPS : Ref Block, VTEMPS : Ref Block, REGS : Vector[6], RESERVED : Integer, TNCHAIN : LSTHDR, flg_enable : Boolean, CSNAME : Ref Vector[,Byte], IDENTLEX : Ref Block, psc_name : Vector[5], sym_linkage : Ref Block, FINRTNSIZE : Integer; Global ! linkage types sym_bliss : Ref Block, sym_trap : Ref Block, SPEC1LNKG : Ref Block, SPEC2LNKG : Ref Block, ! $REMAINING symbol sym_remainder : Ref Block, ! special symbols sym_always : Ref Block, sym_otherwise : Ref Block, ! cpu registers tbl_registers : Vector[9], ! support routines tbl_symbols : Vector[25], ! builtins tbl_builtins : Vector[11]; Global STSZ : Vector[26] Preset( [S_UNDECLARE] = 2, [S_LOCAL] = 8, [S_OWN] = 8, [S_REGISTER] = 8, [S_FORMAL] = 8, [S_EXTERNAL] = 8, [S_GLOBAL] = 8, [S_ROUTINE] = 8, [S_GBL_ROUTINE] = 8, [S_FORWARD] = 8, [S_BIND] = 6, [S_LABEL] = 6, [S_LINKAGE] = 4, [S_MACRO] = 6, [S_SPECIAL] = 4, [S_MACRO_ARG] = 4, [S_LEX_FUNC] = 4, [S_LEX_COND] = 4, [S_LEX_QUOTE] = 4, [S_STRUCT_ARG] = 4, [S_STRUCTURE] = 4, [S_OTHER] = 4 ); End Eludom