! ! RECORDFORMAT FOR ALL THE OPTION AND FLAG VARAIBLES ! RECORDFORMAT PARMF(INTEGER BITS1,BITS2,TTOPUT, BYTEINTEGER LET,DYNAMIC,LINE,TRACE,ARR,DBUG,CHK,DIAG,OPT,FREE, LIST,CPRMODE,COMPILER,Z,Y,PROF,INHCODE,DCOMP,FAULTY,X,STACK,MAP,S1,S2) IF HOST=PERQ OR HOST=ACCENT OR HOST=IBM OR HOST=IBMXA START RECORDFORMAT LEVELF(INTEGER RBASE, DIAGINF, RAL, FLAG, L, M, NMDECS, ONWORD, ONINF, LABEL, JROUND, UNATT FORMATS, PSIZE, ENTRYAD, DISPLAY, AUXSBASE, NAMES,SHORTINTEGER SNMAX,SN,RESSIZE,CLEVEL,INTEGERARRAY AVL WSP(0:4), INTEGER SET) FINISH ELSE START RECORDFORMAT LEVELF(INTEGER RBASE, DIAGINF, RAL, FLAG, L, M, NMDECS, ONWORD, ONINF, LABEL, JROUND, UNATT FORMATS, PSIZE, ENTRYAD, DISPLAY, AUXSBASE, NAMES,HALFINTEGER SNMAX,SN,RESSIZE,CLEVEL,INTEGERARRAY AVL WSP(0:4), INTEGER SET) FINISH RECORDFORMAT WORKAF(INTEGER NNAMES,CCSIZE,DSIZE,ASL MAX,ASL CUR BTM, CONST PTR,CONST BTM,LASTTRIP,WKFILEAD,WKFILEK,FILE ADDR,RELEASE, AASL0,CONST LIMIT,RTCOUNT,ARTOP,AMAINEP,DICTBASE,SP2, INTEGERNAME LINE,STRING (9)LADATE, BYTEINTEGERARRAYNAME CC,A,LETT, INTEGERARRAYNAME WORD,TAGS,CTABLE, RECORD (LEVELF)ARRAYNAME LEVELINF, INTEGERARRAY PLABS,PLINK(0:31)) IF HOST=PERQ OR HOST=ACCENT OR HOST=IBM OR HOST=IBMXA START RECORDFORMAT RD((INTEGER S1 OR SHORT PTYPE,BYTE XB,FLAG), (LONGREAL LR OR (INTEGER D OR REAL R), INTEGER XTRA OR SHORT H0,H1,H2,H3 OR BYTE B0,B1,B2,B3,B4,B5,B6,B7)) RECORDFORMAT TAGF((SHORTINTEGER PTYPE,UIOJ,SNDISP,ACC,SLINK,KFORM OR C INTEGER S1,S2,S3),INTEGER LINK) RECORDFORMAT TRIPF(BYTE OPERN,OPTYPE,CNT,DPTH, SHORTINTEGER FLAGS,PUSE,FLINK,BLINK,INTEGER X1, RECORD (RD) OPND1,OPND2) RECORDFORMAT LISTF((SHORTINTEGER PTYPE,(SHORT UIOJ OR BYTE XB,FLAG), SHORT SNDISP,ACC,SLINK,KFORM OR INTEGER S1,S2,S3),INTEGER LINK) FINISH ELSE START RECORDFORMAT RD((INTEGER S1 OR HALF PTYPE,BYTE XB,FLAG), (LONGREAL LR OR (INTEGER D OR REAL R), INTEGER XTRA OR HALF H0,H1,H2,H3 OR BYTE B0,B1,B2,B3,B4,B5,B6,B7)) RECORDFORMAT TAGF((HALFINTEGER PTYPE,UIOJ,SNDISP,ACC,SLINK,KFORM OR C INTEGER S1,S2,S3),INTEGER LINK) RECORDFORMAT TRIPF(BYTE OPERN,OPTYPE,CNT,DPTH, HALFINTEGER FLAGS,PUSE,FLINK,BLINK,INTEGER X1, RECORD (RD) OPND1,OPND2) RECORDFORMAT LISTF((HALFINTEGER PTYPE,(HALF UIOJ OR BYTE XB,FLAG), HALF SNDISP,ACC,SLINK,KFORM OR INTEGER S1,S2,S3),INTEGER LINK) FINISH ! ! TRIPF_FLAGS SIGNIFY AS FOLLOWS CONSTINTEGER LEAVE STACKED=2****0; ! SET LEAVE RESULT IN ESTACK CONSTINTEGER LOADOP1=2****1; ! OPERAND 1 NEEDS LOADING CONSTINTEGER LOADOP2=2****2; ! OPERAND 2 NEEDS LOADING CONSTINTEGER NOTINREG=2****3; ! PREVENT REG OPTIMISNG ! OF TEMPS OVER LOOPS&JUMPS CONSTINTEGER USE ESTACK=2****4; ! KEEP DUPLICATE IN ESTACK CONSTINTEGER USE MSTACK=2****5; ! PUT DUPLICAT ON MSTACK CONSTINTEGER CONSTANTOP=2****6; ! ONE OPERAND IS CONSTANT(FOR FOLDING) CONSTINTEGER COMMUTABLE=2****7; ! OPERATION IS COMMUTABLE CONSTINTEGER ASS LEVEL=2****14; ! ASSEMBLER LEVEL OPERATION CONSTINTEGER DONT OPT=2****15; ! DONT DUPLICATE THIS RESULT ! USED FOR BYTE PTR & OTHER SODS! ! RECORDFORMAT EMASFHDRF(INTEGER ENDRA,STARTRA,FBYTESIZE,W3,W4,W5,W6,W7) ! FORMAT FOR ARRAY HEADS ! %END %OF %FILE "ERCC07.TRIMP_TFORM1S"