! ! 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 %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 %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,OPTCNT, %INTEGERNAME LINE,%STRING(9)LADATE, %BYTEINTEGERARRAYNAME CC,A,LETT, %INTEGERARRAYNAME WORD,TAGS,CTABLE, %RECORD(LEVELF)%ARRAYNAME LEVELINF, %INTEGERARRAY PLABS,PLINK(0:31), %RECORD(LISTF)%ARRAYNAME ASLIST) ! ! 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 USED LATE=2****13; ! I-RESULT USED AFTER LAB OR A LONG WAY AHEAD %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"