$(2) . PREQ P$IRCB . PROCESSOR INTERFACE DEFINITIONS ES10 +0 ES11 +021227 EP10 +0122400,0 VT11 FORM6 02,0,0 ID=NON IND VAR VT12 FORM6 01,0,0 ID = IND VAR . END STATEMENT 108400 . 108500 $(1) . END* S,H2 B11,EN30 108600 TN INCLVL IS INCLUDE OR MACRO ACTIVE J ENMAC L,M A0,1 108700 S A0,FEND 1 FEND 108800 TNZ EOF J EN302 EN301 LMJ B11,GX J *EN30 REENT SZ FNXT SET NEXT LMJ B11,PERR 109200 FORM6 0,4,0 109300 J *EN30 109400 EN302 LMJ B11,PERR FORM6 0,257,0 DATA CARDS AFTER END CARD J EN301 . EXEC 8 ENMAC . PROCESS END STATEMENT ON A MACRO OR INCLUDE. GENERATED, TOO.EXEC 8 . EXEC 8 LMJ B11,INCPOP . POP OUT ONE LEVEL. EXEC 8 SZ INCEND EXEC 8 TNZ MACEND . MACRO ENDING? EXEC 8 J ENINC . GO DELETE INCLUDE SZ MACEND EXEC 8 L A0,(' ') . CONVERT NLABL, EXEC 8 S A0,PLABL . WHICH NEVER GOT CONVERTED EXEC 8 LMJ B11,PSTL . BEFORE. EXEC 8 L A0,MACNO EXEC 8 L,H2 A1,MACLBL-1,A0 TNE A1,(050505) A A1,(050505,0) S A1,PLABL EXEC 8 AN,M A0,1 EXEC 8 S A0,MACNO EXEC 8 L A1,MCLBLT,A0 EXEC 8 S A1,MCLBLX EXEC 8 JNZ A0,$+4 L A0,GXRTN . PREVENT DELTA EXPANSION AT ZERO SOURCE S A0,GXSDEL S A0,GXDEL ENMIFA L A1,FLF JZ A1,ENMIF L,H2 A0,LGIFSB,A1 L,S1 A2,LGIFSB,A1 L A3,MACNO TE,S2 A3,LGIFSB,A1 J ENMIF TNE,M A2,'*' J ENMIF L,H2 A4,LGELSE,A1 . RESTORE SEQUENCE TZ,S3 LGIFSB,A1 . AS IT WAS AT START OF IFELSE S A4,LGIFSB,A1 SSC A0,30 A A0,(0240000,1) TZ,S3 LGIEXT,A1 A,M A0,040 . FLAG FOR LABELS IN IF TZ,S3 LGIFSB,A1 . TEST FOR IFELSE STATEMENT A,M A0,020 . FLAG AS IFELSE SN,S2 A0,LGIFSB,A1 S A0,SLOUT,*B9 L,S3 A0,LGIEXT,A1 TZ A0 S,S3 A0,LGIEXT-1,A1 . MOVE CALL LABEL FLAGS DOWN A LEVEL L A0,DL . CURRENT DO LEVEL TNE,S3 A0,LGDOTS,A1 J $+3 LMJ B11,PERR FORM6 2,11,0 TNZ,S3 LGIFSB,A1 . TEST FOR IFELSE AN,M A1,1 SZ,S3 LGIFSB,A1 . CLEAR FLAG S,H2 A1,FLF JNZ A1,ENMIFA ENMIF . TZ A3 . ZERO LEVEL MACRO J EN4001 . NO EXEC 8 L A1,MACDSV . YES, RESTORE TFDA$ FROM ZERO LEV.EXEC 8 S,S1 A1,TFDA$ EXEC 8 EN4001 L A3,MACNO EXEC 8 JNZ A3,$+2 SZ SVCPY A,M A3,1 L A0,MCQNT AN,M A0,2 TP A0 SZ A0 TZ,H1 MR,A3 S A0,MCQNT L A0,(1,SBUF) L,H2 A1,MCSTLG,A3 LXI,M A1,1 SZ,S1 MCSTLG,A3 L,S1 A7,LGDOTS,A3 . POUSHDOWN TOTAL AT START OF MACRO S A7,MCQNT . RESTORE AS START OF MACRO L,S1 A4,MCFDAS,A3 . RESTORE ASCII/FIELDATA STATES S A4,FDASQT . RESTORE AS START OF MACRO L A5,GXASCVB . PROHIBIT ASCII IN HOLERITH TZ A4 L A5,(NOP 0,0) . ALLOW ASCII IN HOLERITH S A5,FDASCN L,H1 R1,MCSTLG,A3 S R1,N1STLG RESTORE LINE LENGTH BT A0,0,*A1 L,H2 A7,MBFTBL,A3 SAVE LOC OF FIRST MAC BUFFER. SZ,H2 MBFTBL,A3 L,H1 A0,MCSTLG,A3 RELEASE SBUF SAVE AREA. L,H2 A1,MCSTLG,A3 SZ MCSTLG,A3 JZ A1,EN4003 LMJ A3,SYMFRE EN4002 TNZ A7 JUMP IF NO MORE J EN4003 BUFFERS. L A1,A7 LOC ( CURR BUFFER ). L,H1 A0,0,A1 LENGTH OF BUFFER. A,M A0,1 L,H2 A7,0,A1 LOC OF NEXT BUFFER. LMJ A3,SYMFRE RELEASE BUFFER SPACE J EN4002 TRY FOR MORE EN4003. J PH304 . 109500 EN4000 SZ FCPEND J EN4001 ENINC L A2,R2 . ADDESSS OF DESCRIPTORS L A1,1,A2 . NAME OF INCLUDE L,H2 A0,EN30 S,H2 A0,N1MC90 SZ MCEXPD . PREVENT CORE RELEASE IF REUSED J MSDELU . GO DELETE INCLUDE TO SAVE SPACE . END SUBPROGRAM 457100 . 457200 ENDSUB* S,H2 B11,ES30 457300 TNZ,XH2 FLF . TEST IF ALL IF'S CLOSED J $+4 LMJ B11,PERR FORM6 1,71,0 . MISSING ONE OF MORE ENDIF'S SZ,H2 FLF . TERMINATE OUTSTANDING IF'S TZ ENTF J ES501 . THIS IS AN ENTER STATEMENT A,M B1,1 S+1 IN S 457400 L A0,B1 OUTPUT 'END PROG' ITEM 457500 DSC A0,15 457600 L A0,SCB 457700 DSC A0,21 457800 S A1,SLOUT,B9 457900 L,M A0,ID17 ID=END PROG(24) 458000 S,S1 A0,SLOUT,*B9 F30 ITEM(END PROG,SCB,SCE) 458100 A,M B1,1 S+1 IN S 458200 LMJ B11,PSDP OUTPUT ALL F30 ITEMS 458300 . 458400 . MAKE END OF RECORD ENTRIES IN TABLES 458700 . 459600 TZ FMP IS THIS END OF MAIN PROG 459700 J ES401 NO 459800 L A0,FNA NORMAL ABNORMAL FLAG (LOCAL) 460000 S A0,FNAG PUT FNA IN FNAG (GLOBAL) 460100 L,H2 A2,CRSYM 460210 AN,M A2,4 S,H2 A2,CRGSYM 460230 L,M A1,25 ES302 L,S5 A0,P1TAB1+6,A1 S,S4 A0,SUANT2+6,A1 JGD A1,ES302 J ES501 460200 . 460300 ES401 L A0,FNAG NORMAL ABNORMAL FLAG (GLOBAL) 460400 S A0,FNA PUT FNAG FNA 460500 L,M A1,25 ES301 L,S4 A0,SUANT2+6,A1 S,S5 A0,P1TAB1+6,A1 JGD A1,ES301 . 460600 ES501 S B6,ES10 460700 L B6,DL 460800 JGD B6,ES601 IS DO LEVEL ZERO 460900 ES502 L B6,ES10 461000 TZ ENTF J ES30 L A0,CRHEAD S A0,CRLHL+1 INITIALIZE LOCAL LINK S R15,FMP L A0,(0777777000000) . E.O.R. L A1,LREFI LREF INDEX IS IN A1 S A0,0,*A1 EOR IN LREF S A0,PRESYM L A0,(-0102,-1) . AREF LINK FLAG MTFSYM S A0,MLINK MTFSYM L A0,(1,PRESYM) . (LNG,LOC) OF TABLE MTFSYM LMJ B11,MTLT . MOVE TO LINKED TABLE MTFSYM SLJ SYMOF . ERROR, NO SPACE MTFSYM L A0,(-0107,-1) . PUT EOF IN DUMMY STRING S A0,MLINK L A0,(1,PRESYM) LMJ B11,MTLT SLJ SYMOF L A0,(-0105,-1) S A0,MLINK . COMMON VARIABLES L A0,(1,PRESYM) LMJ B11,MTLT SLJ SYMOF S A1,LREFI RESTORE LREFI S,H2 A1,LRFORG . BOTTOM OF NEW STATIC AREA. L,S3 A0,INTNU INCREASE NUMBER OF INTERNAL ACTIVITIES A,M A0,1 S,S3 A0,INTNU . THE NEXT SECTION IMPLICITITLY TYPES . ALL COMMON VARIABLES WHICH HAVE NOT BEEN TYPED BY THIS TIME L,H1 A0,COMVB JZ A0,ES302A . COMMON VAR. HEADLINK ES302B L A2,0,A0 SSA A2,18 . SIMULATE L,XH1 TNE A2,(0777777777777) J ES302E TNE A2,(-0105) J ES302D L,H2 A1,0,A0 L,S3 A2,2,A1 AND,M A2,070 JNZ A3,ES302E L,S1 A3,0,A1 STARTING LETTER L,S5 A4,P1TAB1,A3 ONLY TYPE VARIABLES IF COMPLEX OR DOUBLE TNE,M A4,030 AND THE TYPE AFFECTS THE STORAGE ASSIGNEMNT J ES302C TE,M A4,040 J ES302E ES302C A,S5 A2,P1TAB1,A3 ADD IMPLICIT TYPE S,S3 A2,2,A1 ES302E AN,M A0,1 J ES302B ES302D TP,XH2 0,A0 J ES302A LXM,H2 A0,0,A0 J ES302B ES302A LMJ B11,INITS FINISHED . 461400 J *ES30 REENT . 461600 ERFT FORM 18,3,3,3,9 ES601 NOP 0,0 END ALL 'ACTIVE' DO'S 461700 L,H2 A0,DOTAB+1,B6 L,H1 A1,LOOP,A0 461706 AN,M A1,1 S,H1 A1,ES11 461708 LMJ B11,EDO LMJ B11,EDO2 . MORE PROCESSING LMJ B11,ERFP 461710 + ES11 461712 JGD B6,ES601 461714 SZ DL AVOID ERROR FOR ACCIDENTAL MISMATCH IN INTERNAL SUBROUTI LMJ B11,PSDP J ES502 461716 . END PHASE 1 462100 . 462200 EPH1* S,H2 B11,EP30 462300 L A0,FEND DID PROGRAM END PROPERLY 462400 SZ ENTF TNE,M A0,1 WAS THERE AN 'END' ST. 462500 J EP302 YES LMJ B11,PERR NO-ERROR 462700 FORM6 0,152,0 (NO 'END' STAT.) 462800 . 463400 EP302 LMJ B11,ENDSUB END LAST PROGRAM 463500 . 463600 . XX MAKE C. R. ENTRIES 463700 . 463800 . MAKE END OF FILE ENTRIES IN TABLES 463900 EP3A L,H2 A3,CRSYM AU,M A3,4 TLE,H2 A4,CRSFNX J EP3B SLJ SYMEXP SLJ SYMOF J EP3A EP3B S,H2 A4,CRSYM L,S1 A0,SYMBRK S,H1 A4,SYMBRK+1,A0 L,H2 A0,CRC SET CRC TO PROPER TOTAL BLOCKS 463830 A,M A0,1 463850 S,H2 A0,CRC 463870 L A0,(0777777400000) E.O.F. FLAG 464000 L A1,LREFI 'LREF'+INDEX IN A1 464100 S A0,0,*A1 EOF IN LREF 464400 L A2,PL PLATEAU INTO A2 464610 S A0,LOOP+2,A2 LOOPT EOF 464800 S A0,0,A3 464850 SZ 1,A3 SZ 2,A3 SZ 3,A3 S A0,PRESYM L A0,(-0107,-1) S A0,MLINK L A0,(1,PRESYM) LMJ B11,MTLT SLJ SYMOF TZ CRSERR J EP30 EXIT IF PREVIOUS IO ERROR L,M B10,SIRXX . DATA AREA FOR SIR$ LXI,M B11,JPL$PIRCB$ . COMMON BANK WITH SIR$ LIJ B11,BCLOSR$ S R15,CRSERR SX,H2 B1,EP10 SEQ. CT. 464905 L,H1 A0,TRACF SEND COMPLIMENT OF TRACE JNB A0,EP302T SO PHASE 111 CAN KNOW WHAT IS ACTIVE AND A0,(0777776) S,H1 A1,TRACF SZ,H2 TRACF L A0,TRACF A A0,(0340000,5) WF30 EP302T L A0,EP10 END STATEMENT TYPE ITEM 464909 WF30 464910 J *EP30 REENT . ERR1-ERR3-ERR4 123100 . 123200 . ERR1-AN INTEGER CONSTANT WAS EXPECTED 123300 . 123400 ERR1* S A6,ER12 123500 SZ A6 123600 J ER401 123700 . 123800 . 123900 . 124000 . ERR3-AN INT COUNT OR VAR NAME WAS EXPECTED 124100 . 124200 ERR3* S A6,ER12 124300 . 124400 L,M A6,1 124500 J ER401 124600 . 124700 . 124800 . 124900 . ERR4-A VARIABLE NAME WAS EXPECTED 125000 . 125100 ERR4* S A6,ER12 L,M A6,2 125300 . 125400 ER401 S,H2 B11,ER40 125500 S A1,ER13 125600 S A2,ER14 125700 L A1,GITV 125800 S A1,ER15 125900 SZ ER11 126000 . 126100 ER402 L,S5 A1,FLDG2,A2 GIT ITEM INDEX IS IN A2 126200 TNE,M A1,2 126300 J ER407 ITEM IS DELIMITER OR OPERATOR 126400 LMJ B11,GIT 126500 J ER403 EOS 126600 TNE,M A2,3 126700 J ER404 ITEM=VAR NAME 126800 TNE,M A2,4 126900 J ER405 ITEM=INT CONST 127000 S R15,ER11 127100 J ER402 127200 . 127300 ER404 JZ A6,ER403 VAR NAME 127400 J ER406 127500 . 127600 ER405 TNE,M A6,2 127700 J ER403 127800 ER406 S A2,ER16 127900 L A1,GITV 128000 S A1,ER17 128100 SLJ ER4E 128200 L A1,ER17 128300 S A1,GITV 128400 L A2,ER16 128500 L A6,ER12 128600 L,H2 B11,ER40 128700 L A1,ER13 128800 J 1,B11 RETURN TO A+2 128900 . 129000 ER407 L A1,OPERR-9,A2 129010 S A1,ER15 129020 ER403 S R15,ER11 129100 SLJ ER4E 129200 L A6,ER12 129300 L A1,ER13 129400 J *ER40 RETURN TO A+1 129500 . 129600 . 129700 ER4ER L A1,ER15 REENT S A1,GITV 130000 L A1,A6 130200 L A2,ER14 130100 L A1,ER21,A1 130300 TZ ER11 130400 A A1,(010000000000) 130500 S A1,ER4E1 130600 J ER4ERJ $(2) . ER4ERJ . LMJ B11,PERR 130700 ER4E1 +0 J *ER4E 130900 $(1) . . 131000 . 132300 . ERROR ROUTINE-SKIP DELIMITERS 132900 . 133000 ERR2* S,H2 B11,ER30 133100 L FNXT,R8 RESET NEXT L A0,GXX ( A LMJ B11,ERR2 133300 L,S1 A0,FLD1,A0 ( A+1 RETURN 133400 JNZ A0,ER301 133500 LMJ B11,PERR X=ALPHA-NUMBERIC 133600 FORM6 010,48,GXX 133700 J ER302 133800 . 133900 ER301 LMJ B11,PERR X=OTHER 134000 FORM6 010,9,GXX 134100 SZ ER11 SET FLAG 134200 ER303 LMJ B11,GX 134300 J ER304 EOS 134400 L,S1 A0,FLD1,A0 134500 JZ A0,ER302 134600 TNZ ER11 X=OTHER 134700 J ER303 134800 LMJ B11,PERR TOTAL ERROR 134900 FORM6 011,32,GXX 135000 S R15,ER11 135100 J ER303 135200 . 135300 ER302 SZ FNXT SET NEXT ER304 L A0,GXX 135500 J *ER30 REENT . 135700 . STATEMENT TYPE =0 $(2) . ERST* SX,H2 B11,ERST1 LMJ B11,PERR FORM6 1,27,0 STMT NOT RECOGNIZED ERST1 J $ $(1) . . OUTPUT 'STRING' AND 'SLOUT' BUFFERS TO F30 352900 . 353000 PSDX* S,H2 B11,PS30 J PSDPTE PSDP* S,H2 B11,PS30 353100 TZ PARFLG J PS303 PARAMETER EXIT L,M A0,021 MASK TO TEST FOR DIAGNOSTIC STORES TRACE AND,H1 A0,TRACF TRACE TNZ STFUFL . DO NOT TRACE DEFINES TE,M A1,021 TRACE J PSDPTE NO TRACE OF STORES TRACE L A0,ST TRACE TNZ FEB TEST FOR ASSIGNMENT STATEMENT TG,M A0,5 TEST FOR ASSIGNMENT STATEMENTS TRACE J PSDPTE TRACE L,M R4,RGXTX SLJ RMGSV L,M R4,RGXTT SLJ RMGRS L A0,(' ') PREAPRE TO SCAN TO EQUALS TRACE S A0,HOLOUT TRACE L FNXT,R8 TRACE S B4,SVB4 S B5,SVB5 L B4,(1,HOLOUT) WHERE TO PLACE TRACE L B5,(1,0) CHARACTER INDEX TRACE L A0,GXX TE,M A0,';' J $+3 PSTRA LMJ B11,GX TRACE J PSTRB LENGTH OF MESSAGE EXHAUSTED TRACE TNE,M A0,'=' TRACE J PSTRB DONE TRACE EX PSTR,*B5 TRACE J PSTRA TRACE PSTRB L,M A0,0,B4 TRACE AN,M A0,HOLOUT-1 LENGTH OF MESSAGE TRACE TNZ,M 0,B5 WORD INDEX ADVANCED BUT NO STORE YET TRACE AN,M A0,1 TRACE TG,M A0,4 L,M A0,3 MAXIMUM LENGTH L,M B4,HOLOUT,A0 S,S3 A0,0,B4 TRACE A,M A0,1 ADD LENGTH OF STATEMENT TYPE ITEM TRACE S,H2 A0,PS13 TRACE L,M A0,01202 TYPE OF STATEMENT TO SEND HOLERITH TO PHASETRACE S,S2 A0,0,B4 . SIMULATE S,T1 SSL A0,6 S,S1 A0,0,B4 L A1,TRASEQ S,H2 A1,0,B4 SEQUENCE NUMBER OF STATEMENT TO TRACE WNF30 HOLOUT,PS13 SEND NAME OF STATEMENT TRACE L,M R4,RGXTX SLJ RMGRS L B4,SVB4 L B5,SVB5 PSDPTE . END OF TRACE CODE TRACE S,H2 B5,PS13 NO. OF ITEMS IS IN B5. 353200 TLEM,M B5,MAXSTR TOO MANY ITEMS IN 'STRING' 353300 J PS301 NO 353400 LMJ B11,PERR YES-ERROR 353500 FORM6 012,93,PS11 353700 J PS303 353800 PS301 TZ STFUFL . TEST FOR END OF STATEMENT FUNCTION J PS401A TNZ,H2 PS13 . NUMBER OF ITEMS IN STRING J PS302 L,M A0,0,B5 . NUMBER OF ITEMS IN STRING A A0,(0410000,0) L A1,ST TE,M A1,59 . NO NUMBER FOR CONTINUE AND PSUEDO ITEM S A0,SLOUT,*B9 WNF30 STRING,PS13 LXI,M B9,0 . DO NOT INCREMENT ON TEST TLEM,M B9,MAXSLO TOO MANY IN 'SLOUT' 354100 J PS302 NO 354200 LMJ B11,PERR YES-ERROR 354300 FORM6 012,93,PS12 354500 J PS303 354600 PS302 . PS311 S,H2 B9,PS13 . NUMBER OF ITEMS TO WRITE OUT WNF30 SLOUT,PS13 PS303 L B5,(1,0) RESET STRING INDEX 354800 SX,H2 B11,N1FLDX . INITIALIZE AT HIGH FUNCTION LEVEL L B9,(1,0) RESET SLOUT INDEX 354900 SZ STFUFL RESET STMT FUNC FLAG CSC22 SZ DEFT RESET DEFINE FUNC TAG CSC22 SZ PARFLG CLEAR PARAMETER FLAG J *PS30 REENT PS401A L,M A0,0,B5 MTFSYM AN,M A0,2 . MAKE SPECIAL CASE OUT OF DEFINE WITH SINGLE PRIMATIVE TE,M A0,1 . TEST SINGLE PRIMATIVE J PS41AJ L A2,(030100,0) . INSERT ADD OF ZERO S A2,STRING,A0 L A2,(0101200,0) . INSERT PLUS OPERATOR S A2,STRING+1,A0 A,M A0,2 . REFLECT NEW ITEMS PS41AJ . L,H1 R1,STARG . MOVE L A2,(1,0) . DUMMY L A1,(-1,0) . ARGUMENT A,M A2,SLOUT . NAMES A,H2 A1,STARG . INTO BT A2,0,*A1 . SLOUT LXI,M A0,4,A0 . NUM OF ITEMS + EXTRA WORDS MTFSYM LXM,M A0,STRING-1 . SOURCE ADDR WITH ROOM FOR END MARKEMTFSYM LMJ B11,MTCT . MOVE TO CONTIG TABLE MTFSYM SLJ SYMOF . ERROR SYM OVERFLOW MTFSYM L A2,(0440000,0) . END OF INFO MARKER MTFSYM A,H1 A2,STARG . NUM OF ARGS MTFSYM S A2,0,A0 . END TABLE WITH MARKER MTFSYM SSL A0,18 . MOVE TOP TO H2 MTFSYM S A0,SAVEX . SAVE MTFSYM A,M A0,2 MTFSYM L A1,STFUFL . SYM TABLE REFERENCE AN,M A0,SYM S,H2 A0,2,A1 . THIRD WORD OF SYMBOL TABLE CONTAINS LINK TO POLISH L,S3 A2,2,A1 MODE SZ SYM,A0 AND,M A2,070 IF MODE PREVIOUSLY USED IN TYPE L A4,A3 STATEMENT USE IT JNZ A4,$+2 L,M A4,020 SET MODE TO REAL UNLESS LOGICAL AND,M A2,7 TZ LOAR THIS IS NECESSARY SO THAT A CHECK CAN BE MAADE L,M A4,050 TO SEE IF A STATEMENT FUNCTION IS A A3,A4 BEING DEFINED OR HAVING ITS FIRST USE S,S3 A3,2,A1 TZ SFOP J PS401B . OPERATORS WRE PRESENT DO NOT LINK L,M A2,040 . SET EQUIVALENCE BIT IF IT CAN APPEAR TO LEFT OF = OR,S2 A2,2,A1 AND,M A3,076 S,S2 A4,02,A1 S A0,STPLMS L,M A4,10 S A4,LVSRCH . WHEN A DEFINE IS TRANSFERED TO STORAGE FOUR EXTRA WORDS ARE SET . ASIDE. ONE OF THESE CONTAINS THE 044 ITEM WHICH IS THE END OF . POLISH ITEM FOR PHASE 3 . AT THE OTHER END OF THE POLISH THREE CONTROL WORDS ARE SET ASIDE . SINCE PHASE 3 READS POLISH BACKWARDS THESE THREE WORDS PRECEDE THE . FIRST POLISH WORD READ BY PHASE 3 . WORD 1 H1 IS NOT USED . WORD 1 H2 IS SYM POINTER TO NAME OF DEFINE . WORD 2 CONTAINS 0757575757575 IF THE DEFINE IS NOT A FLD . OR IF IT IS A FLD AND THE FLD BOUNDERIES ARE NOT . KNOWN AT COMPILE TIME . OTHERWISE H1 CONTAINS STARTING BIT AND LENGTH EACH 9 BITS . WHILE H2 CONTAINS THE OFFSET . WORD 3 H1 IS USED TO LINK ALL DEFINES WITH SAME BASE VARIABLE . WORD 3 H2 IS USED TO POINT AT SYM ENTRY FOR BASE VARIABLE PS401Z L,H1 A2,SYM+1,A0 . LAST ITEM IN POLISH MASK SSL A2,6 . SIMULATE L,T1 L,H2 A3,SYM+1,A0 . SYM POINTER TO NAME OF FUNCTION PS401ZZ TE,M A2,01020 . TEST FOR A FUNCTION J PS409C . WAS NOT A FUNCTION L,S1 A4,SYM+4,A0 . MAKE A SPECIAL CASE OUT OF TNE,M A4,044 . DEFINE A(I) = F(I) J PS4J L A4,0,A3 . NAME OF FUNCTION TE A4,('FLD$ ') . THIS FLD CROSSES WORD BOUNDARIES TNE A4,('BITS ') . FTN BITS FUNCTION J PS403B TE A4,('FLD ') . SPECIAL CASE FOR FLD J PS408C . NOW TRY TO ISOLATE ARGUMENT OF FLD PS403B L,H1 A2,SYM+3,A0 . EXPRESSION IN FLD SSL A2,6 . SIMULATE L,T11 TE,M A2,01017 J PS404A . ARGUMENT OF FLD WAS NOT SUBSCRIPTED L A4,LSSV . NAME OF LAST SUBSCRIPTED VARIABLE . THIS SECTION PROCESSES DEFINE TS3 = FLD(6,6,X(I)) . WHERE X IS DIMENSIONED LMJ B10,PSVAL . CHECK VALIDITY OF ARGUMENT J PS303 . ARGUMENT CAN NOT BE LINKED LMJ B10,PSFRMLK SLJ BUG . ERROR IN LINKING PROCESS LMJ B10,PSSEFD . DETERMINE IF FIELD BOUNDER??ARIES KNO J PS303 . EXIT . ARGUMENT OF DEFINE WAS NOT SUBSCRIPTED. IT COULD BE A SIMPLE VARIABLE . OR A FUNCTION OR SOMETHING ELSE??? PS404A TNE,M A2,01020 . TEST FOR A FUNCTION J PS409A . TRY TO UNRAVEL FUNCTION TNE,M A2,04300 . TEST FOR DEFINE ARGUMENT J PS404J . PROCESS DEFINE ARGUMENT TE,M A2,0200 . TEST FOR A VARIABLE ITEM J PS303 . IF NOT A VARIABLE QUIT L A4,GITV . LAST VARIABLE FOUND . AT THIS POINT EXAMPLES LIKE DEFINE TS1 = FLD(0,6,A) LMJ B10,PSVAL . TEST IF ARGUMENT IS LINKABLE J PS303 . NO GET OUT LMJ B10,PSFRMLK . DO THE LINKING SLJ BUG . VARIABLE TO LINK NOT IN SYMBOL TABLE LMJ B10,PSSEFD . DETERMINE FIELD BOUNDARIES J PS303 PS401B J PS303 . OPERATORS PREVENT LINKING . THE NEXT SECTION COVERS CASE(S) WHERE MAIN ARGUMENTS . IS NOT A COLON. THIS CASE COVERS ARRAYS AND SINGLE . VARIABLES BEING MAIN ARGUMENT OF DEFINE PS409C TE,M A2,01017 . CHECK FOR SUBSCRIPTED VARS J PS409D . CHECK FOR VARIABLE L A4,LSSV . NAME OF LAST SUBSCRIPTED VARIABLE . THIS SECTION PROCESSES DEFINE AA(I) = A(I) . WHERE A IS A DIMENSIONED VARIABLE LMJ B10,PSVAL . CHECK VALIDITY OF ARGUMENT J PS303 . ARGUMENT CAN NOT BE LINKED LMJ B10,PSFRMLK . DO THE LINKING SLJ BUG . ERROR IN LINKING PROCESS J PS303 . EXIT PS409D L,H1 A2,SYM+1,A0 SSL A2,6 . SIMULATE L,T1 TE,M A2,0200 . TEST FOR VARIABLE J PS409E . TEST FOR ADDITION OF ZERO L A4,GITV . LAST VARIABLE FOUND LMJ B10,PSVAL . TEST IF ARGUMENT IS LINKABLE J PS303 . NO GET OUT LMJ B10,PSFRMLK . DO THE LINKING SLJ BUG . SOMETHING TERRIBLE IS WRONG J PS303 . FINISHED PS409E TE,M A2,01012 . A ADD OF ZERO MAY BE DONE J PS49Z . MARK CAN NOT APPEAR LEFT OF EQUALS L A2,SYM+2,A0 TE A2,(030100,0) . I,,EDIATE CONSTANT OF ZERO J PS49Z L,H1 A2,SYM+3,A0 SSL A2,6 . SIMULATE L,T1 TE,M A2,0200 J PS49Z . MARK NOT FOR LEFT OF EQUALS L,H2 A1,SYM+3,A0 . SYM POINTER OF BASE VARAIABLE LMJ B10,PSFRMLK . DO THE LINKING SLJ BUG J PS303 . AT THIS POINT WE CONSIDER THE CASE OF THE . OBJECT OF A FLD NOT BEING SUBSCRIPTED BUT . BEING ANOTHER DEFINE PS409A L,H2 A1,SYM+3,A0 . SYM TABLE LOCATION OF L,H2 A2,2,A1 . LINK TO POLISH L,H1 A4,2,A1 . MODE AND CLASS BITS AND,M A4,0207 . TEST FOR A DEFINE TE,M A5,1 J PS49Z . MARK TO NOT APPEAR LEFT OF EQUALS L,H2 A1,SYM,A2 . POINTER TO BASE VAR IF ANY JZ A1,PS303 . QUIT LMJ B10,PSFRMLK . DO THE LINKING SLJ BUG . CHAOS LMJ B10,PSSEFD . TEST FLD BOUNDARIES J PS303 . AT THIS POINT A DEFINE IS MARKED NOT TO APPEAR LEFT . OF THE EQUALS IF THE POLISH IS NOT A RECOGNIZED PATTERN PS49Z L A0,STFUFL . SYM LOCATION OF DEFINE L,M A2,037 AND,S2 A2,2,A0 . CLEAR BIT WHICH SAID IT COULD S,S2 A3,2,A0 . APPEAR LEFT OF EQUALS J PS303 . EXIT FINISHED . AT THIS POINT THE OBJECT OF THE FLD WAS A DEFINE ARGUMENT PS404J L A0,STPLMS . ORIGINAL START OF POLISH AN,M A0,1 . BACK OFF AND TRY AGAIN????? J PS403B PS4J L,H2 A4,SYM,A0 . SEE IF LINK ALREADY EXISTS JNZ A4,PS4JB . A LINK DOES EXIST L,H2 A2,2,A3 . POINTER TO POLISH FOR 3 WORD DEFINE L,H2 A1,SYM,A2 . SEE IF BASE VARIABLE EXISTS JNZ A1,PS4JJ . AT THIS POINT WE HAVE A SPECIAL 3 WORD POLISH FORM . FOR INSTANCE DEFINE X = F(Y) . WHERE F IS A FUNCTION AND Y IS A VARIABLE L,S1 A4,SYM+2,A0 TE,M A4,2 . NOTHING TO DO UNLESS A VARIABLE J PS303 L,H2 A1,SYM+2,A0 . SYM POINTER TO VARIABLE L,S3 A2,2,A1 . MAKE SURE IT IS REALLY A VARIABLE AND,M A2,7 TE,M A3,5 JNZ A3,PS303 . A FUNCTION OR LABEL L A4,0,A1 . NAME OF VARIABLE LMJ B10,PSVAL . TEST IF ARGUMENT IS LINKABLE J PS303 . NO GET OUT PS4JJ LMJ B10,PSFRMLK . DO THE LINKING SLJ BUG . SOME GREAT DISASTER J PS303 . FINISHED PS4JB L A1,A4 . SEEMINGLY A BASE VARIABLE EXISTS LMJ B10,PSFRMLK . PERFORM LINKING SLJ BUG . REAL BAD J PS303 . HERE WE CONSIDER A DEFINE WHICH A FUNCTION BUT . NOT A FLD. IT MUST OF COURSE BE ANOTHER DEFINE . TO APPEAR LEFT OF EQUALS PS408C L,S2 A4,2,A3 AND,M A4,040 . VALIDATE THAT THIS FUNCTION CAN NOT TNZ A5 . APPEAR TO LEFT OF EQUALS SLJ BUG . ERROR IF IT CAN NOT APPEAR LEFT OF EQU L A5,LVSRCH . ONLY LOOK FOR SO LONG AN,M A5,1 . DECREMENT SEARCH COUNT S A5,LVSRCH JZ A5,PS303 . A LOOP QUIT LOOKING L,H2 A1,SYM+1,A0 . SYM POINTER TO DEFINE L,H2 A1,2,A1 . LINK TO DEFINE POLISH STORAGE L A0,A1 . SAVE POINTER TO DEFINE STORAGE L,H1 A2,SYM+1,A1 . GET ID OF ITEM SSL A2,6 . SIMULATE LOAD OF T1 L,H2 A3,SYM+1,A1 . SYM POINTER TO PRIME OPERAND L,H2 A1,SYM,A1 . SYM POINTER TO BASIC VARIABLE . HERE WE ARE CONSIDERING A DEFINE WHICH IS EXPRESSED . IN TERMS OF ANOTHER DEFINE. UNFORTUNATELY THIS . PROCESS CAN GO DOWN MANY LEVELS . DEFINE A(I) = B(I) ; DEFINE C(I) = A(I) JZ A1,PS401ZZ . LOOK FOR ANOTHER LEVEL LMJ B10,PSFRMLK . GO FORM THE LINKS SLJ BUG . SOMETHING TERRIBLE J PS303 . FINISHED . THIS SECTION CHECKS TO SEE IF AN IDENTIFIER IS LINKABLE PSVAL L,H1 R1,STARG . LOOK TO SEE IF IT IS A DUMMY OF EXP L A1,(1,0) . INDEX TO SEARCH DEFINE ARGUMENTS A,M A1,SLOUT . WHERE DEFINE DUMMIES MOVE TO SE A4,0,*A1 J $+2 J 0,B10 . CAN NOT LINK DEFINE DUMMIES AND A4,(0770000,0) . NAMES ARE LEFT JUSTIFIED JZ A5,0,B10 . A NUMBER PROBABLY LMJ B11,GLG1+1 . GET SYM POINTER SLJ BUG . IT SHOULD BE THERE L,S3 A4,2,A1 . GET MODE/CLASS FIELDS AND,M A4,7 . EXTRACT CLASS TE,M A5,5 . TEST FOR DUMMY ARGUMENT JNZ A5,0,B10 . NOT A VARIABLE J 1,B10 . RETURN WITH LINKABLE IDENTIFIER . THIS ADDS THIS DEFINE ON TO CHAIN OF DEFINES WHICH REFERENCE . A PARTICULAR BASE VARIABLE PSFRMLK L,H2 A0,SAVEX . POINTER TO MASK STORAGE A,M A0,2 L,H2 A4,2,A1 . LINK FROM VARIABLE TO STAT FUNCTION S,H2 A1,0,A0 . STORE LINK FROM FUNCTION TO VARIABLE SZ,H1 0,A0 . MARK AS LAST ON LIST AND A4,(0200000) . EXTRACT LINK TO FIRST ON CHAIN JNZ A5,PS406A . SOME LINKS HAVE BEEN MADE AN,M A0,SYM . RELATIVE POINTER TO FIRST ON CHAIN A A0,(0200000) . SET BIT WHICH INDICATES THIS IS LINK S,H2 A0,2,A1 . STORE LINK FROM BASE TO DEFINE AN,M A0,*0 . REMOVE BIT FOR ADDRESSING J PSJ48 PS406A AN,M A0,SYM AND,M A4,077777 . EXTRACT LINK TO FIRST ON CHAIN L A2,A5 . MOVE TO AN INDEX REGISTER L,M R1,350 . NUMBER TO SEARCH BEFORE FAILURE PSJ47 L,H1 A3,SYM,A2 JZ A3,PSJ46 . LOOK FOR LAST IN LIST L A2,A3 . PREPARE FOR NEXT JGD R1,PSJ47 J 0,B10 . FAILURE EXIT PSJ46 S,H1 A0,SYM,A2 . LAST INTO NEXT TO LAST PSJ48 L A4,STFUFL . SYM POINTER TO NAME OF DEFINE S,H2 A4,SYM-2,A0 . SET LINK DEFINE POLISH TO SYM NAME L A4,(0757575757575) . INITIALIZE FLD DEFINITIONS S A4,SYM-1,A0 . AS IF NOTHING KNOWN J 1,B10 . OK RETURN . THE NEXT SECTION CHECKS TO SEE IF FLD DEFINITIONS ARE KNOWN . AT COMPILE TIME . ON ENTRANCE A0 IS POINTING AT FLD COLON ITEM PSSEFD L,M A5,0 . INITIALIZE OFFSET AT ZERO L A0,STPLMS . INITIALIZE AT START OF POLISH L,M A2,SYM+2,A0 . SET AT FIRST COMMA OPERATOR L,H1 A4,0,A2 SSL A4,6 . SIMULATE L,T1 TE,M A4,01021 . TEST FOR COMMA OPERATOR J 0,B10 . VERY STRANGE BUT QUIT A,M A2,1 . SKIP TO NEXT ITEM PSSEFDB L,H1 A4,0,A2 . SIMULATE L,T1 SSL A4,6 TNE,M A4,01023 . IF THIS APPEARS A NON CONSTANT SUBSCRI J 0,B10 . EXIT IT CAN NOT BE PROCESSED TE,M A4,0401 . THE OFFSET ITEM J PSSEFDA L,H2 A5,0,A2 . VALUE OF OFFSET L,M A3,4 TEP,S3 A3,0,A2 . TEST IF OFFSET POSITIVE LN A5,A5 PSSEFDA TNE,M A4,01021 . TEST FOR SECOND COMMA J PSSEFDC A,M A2,1 . ADVANCE TO NEXT ITEM J PSSEFDB PSSEFDC L,H1 A4,1,A2 . TEST FIRST POSITION SSL A4,6 TE,M A4,0301 J 0,B10 . NON CONSTANT FLD BOUNARIES L,H2 A3,1,A2 . VALUE OF FIRST BIT POSITION LSSL A3,9 L,H1 A4,2,A2 . TEST WIDTH OF FLD SSL A4,6 . SIMULATE L,T1 TE,M A4,0301 J 0,B10 . NON CONSTANT WIDTH A,H2 A3,2,A2 S,H1 A3,SYM-1,A0 . SET WORD 2 TO FLD DEFNTS S,H2 A5,SYM-1,A0 . SAVE OFFSET J 0,B10 . TEST TABLES FOR EXCEEDING SIZE TTSIZ EQU 1 TTAB* L A0,(1,0) 500000 SX,H2 B11,TTAB4 SET ERROR EXIT 500100 SZ A3 FLAG=FOUND OVERFLOW 500200 TTAB2 L,H2 A1,*TTABL,A0 CURRENT LOCATION OR SIZE 500300 TG A1,TTABZ,A0 MAXIMUM SIZE 500400 J TTAB5 ERROR, OVERFLOW 500500 TTAB3 TLEM,M A0,TTSIZ DONE 500600 J TTAB2 NO 500700 TZ A3 500800 J *TTAB4 REENT J 1,B11 NORMAL OUT 501000 TTAB5 L A4,TTABT,A0 SET NAME OF 501100 SR R15,A3 OVERFLOWED TABLE 501200 S A4,GITV 501300 LMJ B11,PERR 501400 FORM6 012,93,GITV 501500 J TTAB3 . CHECK ALL TABLE LENGTHS, FATALS ARE CHECKED N1MN . OUTPUT VARIABLE ITEM TO F30 451400 . 451500 VTF30* L,XH2 A4,2,A1 SYM IS IN A1 451600 JP A4,VT31 NOT UNDUCTION VARIABLE 451800 AND,M A4,07777 INDUCTION V ARIABLE 451900 A A5,VT12 452000 S A5,STRING,*B5 F30 ITEM(IND VAR,,PB(M)) 452100 J 0,B11 RETURN 452200 VT31 OR A1,VT11 452300 S A2,STRING,*B5 F30 ITEM(NON IND VAR,,SYM) 452400 J 0,B11 RETURN 452500 . THESE ROUTINES (WF30F AND WNF30F) WRITE A FILE 30 BLOCK AND SET UP THE NEXT . BLOCK TO BE USED. . WF30F* S B11,WF30F1 S A0,WF30F1+1 DS A2,WF30F1+2 DS A4,WF30F1+4 L,H2 A0,F30+6 LOC OF CURRENT BUFFER L,M A1,BUFN S A1,F30I A A1,(-1,0) S A1,1,A0 BWRIT F30 WRITE A BLOCK L,H2 A1,F30+6 LOC OF CURRENT BUFFER AH A1,(1,NBCW) L B11,WF30F1 L A0,WF30F1+1 DL A2,WF30F1+2 DL A4,WF30F1+4 WF30FE JGD F30I,0,B11 WNF30F* AN,M B11,2 S,H2 B11,WNF301 S A1,R1 AN A2,A1 L A1,F30J BT A1,0,*A0 LMJ B11,WF30F S A1,F30J L A1,F30I A,M A1,1 S A1,F30I J *WNF301 REENT . M-READ . . . THIS SECTION CALLED BY SIR$ TO OUTPUT DELETED LINES WFDLLN* S B11,('B11DEL') L A0,A3 . LOCATION OF OPKT IN SIR$ L A3,A5 . ASCII/FD INDICATOR L A2,(1,F60ID) . PASS CYCLE INFO L A5,10,A0 . SDFO CONTROL WORD S A5,F60ID S A5,SIRCNT . SIR$ CONTROL WORD L,M A5,053 S,S1 A5,SIRCNT L,S2 A1,SIRCNT LENGTH OF IMAGE A,M A1,1 . LEAVE SPACE FOR DUMMY F60ID WORD L,H2 A0,8,A0 . LOCATION OF IMAGE LMJ B11,W60F L B11,('B11DEL') LXI,M B11,JPL$PIRCB$ . BANK CONTAINIG SIR$ LIJ B11,1,B11 . RETURN TO SIR$ . THIS ROUTINE WRITES AN ITEM INTO F60 . THE FORMAT OF RECORS IN F60 IS AS FOLLOWS . WORD 1 SDFF TYPE CONTROL WORD . T1 IS TOTAL LENGTH OF RECORD . T2 (FOR TEXT ITEMS) IS NUMBER OF EXTRA WORDS BEYOND TEXT LEN . S6 IS ZERO FOR FIELDATA ; ONE FOR ASCII . WORD 2 IS USUAL F60 CONTROL WORD . WORD 3-N NORMAL FILE 60 TEXT . WORDS N+1,N+2 INFORMATION FROM SIR$ ORIGINAL LINE NUMBERS . N+1 IS SEQUENCE ERROR IN H1 ; AQUIRE CYCLE IN H2 . N+2 IS 'NEW' OR 'NNNN' . N+3 IS ORIGINAL LINE NUMBER . TO CALL W60F, THE FOLLOWING REGISTERS ARE USED . A0 LOCATION OF ITEM . A1 LENGTH OF ITEM . A2 H1 IS NUMBER AND H2 IS THE LOCATION . OF TERMINATING CONTROL WORDS . A3 IS ZERO FOR FIELDATA AND ONE FOR ASC W60FS* S A0,W60FQQ . FLAG FOR THIS ENTRANCE J $+2 W60F* SZ W60FQQ . CLEAR FLAG FOR NORMAL ENTRANCE DS A0,W60FXX . SAVE REGISTERS DS A2,W60FXX+2 . ON ENTRY DS A4,W60FXX+4 . GET SOME WORKING REGISTERS S B11,W60FXX+6 L A4,A1 . LENGTH OF TEXT L A1,F60J . NEXT AVAILABLE LOCATION IN BUFFER A,H1 A4,W60FXX+2 . LENGTH OF END CONTROL A,M A4,1 . FILE CONTROL WORD L A5,F60I . NUMBER OF WORDS REMAINING IN BUFFER AN A5,A4 . SUBTRACT LENGTH OF NEXT ITEM JP A5,W60FA . ROOM FOR THIS ITEM S A4,N0RGSA . SAVE LENGTH OF ITEM L,H2 A0,F60+6 . LOCATION OF BUFFER L A1,F60J . NEXT AVAILABLE LOCATION IN BUFFER L,M A2,076 . FORCE SKIP TO NEXT BUFFER S,S1 A2,0,A1 . WHEN 076 IS READ AS CONTROL WORD S A5,1,A0 . SECOND TEST FOR END OF BUFFER BWRIT F60 L,H2 A1,F60+6 . LOC OF NEXT ACTIVE BUFFER AH A1,(1,NBCW) . SET TO NEXT LOCATION IN BUFFER L,M A5,BUFN-1 L A4,N0RGSA . RESTORE LENGTH OF ITEM AN A5,A4 W60FA S A5,F60I . NUMBER AVAILABLE WORDS IN BUFFER S,S2 A4,0,A1 . SET LENGTH IN FILE CONTROL WORD SSL A4,6 S,S1 A4,0,A1 . SIMULATE S,T1 L,H1 A2,W60FXX+2 . NUMBER TRAILING CONTROL WORDS S,S3 A2,0,A1 L,S3 A2,SIRCNT . PART OF CYCLE INFO S,S4 A2,0,A1 L,S1 A2,SIRCNT . ID OF CONTROL WORD S,S5 A2,0,A1 . PASS TO PHASE VI L A0,W60FXX+3 . ASCII/FIELDATA INDICATOR S,S6 A0,0,*A1 TE,M A2,053 . LEAVE SPACE FOR CONTROL WORD J $+5 S A0,0,*A1 L A0,W60FXX+1 . LENGTH OF ITEM AN,M A0,1 S A0,W60FXX+1 LXI,M A0,1 LXM,H2 A0,W60FXX . LOCATION OF ITEM TNZ W60FQQ . TEST FOR NO STRUCTURE INFO TP SIRCNT . TEST FOR NEGATIVE CONTROL WORD J WF60GA TP INCLVL . ZERO LEVEL CODE J $+4 L,S1 A2,0,A0 . TELL PH6 NOT TO BUMP CD COUNT OR,M A2,040 S,S1 A3,0,A0 L,S1 A2,0,A0 . FOR SOURCE LINES AND,M A2,037 . DATA STMTS AND TNE,M A3,3 . MACRO GENERATED J $+3 . LINES, APPEND TE,M A3,012 . MACRO AND DO JNZ A3,WF60GA L A2,MACNO . CURRENT MACRO LEVEL S,S2 A2,0,A0 W60FG L A2,DL A,XH2 A2,FLF L,S3 A3,SCNBRK . USER DEFINED STRUCTURE LEVEL SSC A3,6 SSA A3,30 . SIGN EXTEND FIELD A A2,A3 TP A2 . PREVENT NEGATIVE STRUCTURE LEVEL SZ A2 S,S3 A2,0,A0 WF60GA L,H2 R1,W60FXX+1 . LENGTH OF ITEM BT A1,0,*A0 . MOVE MAIN ITEM INTO BUFFER L,H1 R1,W60FXX+2 . NUMBER TRAILING CONTROL WORDS LXI,M A2,1 . LOAD INCREMENT LXM,H2 A2,W60FXX+2 . LOCATION OF TRAILING CONTROL WORDS W60LA JGD R1,W60LB L B11,W60FXX+6 . RESTORE B11 SZ,S1 SIRCNT . CLEAR POSSIBLE DAMAGE DL A4,W60FXX+4 . RESTORE REGISTERS S A1,F60J . SAVE CURRENT LOCATION IN BUFFER J 0,B11 RETURN TO USER W60LB L A0,0,*A2 S A0,0,*A1 . MOVE TO BUFFER J W60LA $(2) . REENT WF30F1 . W60FXX +0 . STORAGE AREA FOR W60F DO 6 , +0 $(1) . REENT PSTR S,S1 A0,0,B4 TRACE S,S2 A0,0,B4 TRACE S,S3 A0,0,B4 TRACE S,S4 A0,0,B4 TRACE S,S5 A0,0,B4 TRACE SLJ PSTRR TRACE PSTRRR S,S6 A0,0,*B4 REENT L B5,(1,0) TRACE L A1,(' ') TRACE S A1,0,B4 TRACE J *PSTRR TRACE . ERR1-3-4 CONSTANTS 131200 . 131300 $(2) . REENT W60FQQ +0 . FLAG FOR TWO ENTRANCES TO W60F SVB4 +0 SVB5 +0 ER11 +0 FLAG ER12 +0 A6 ER13 +0 A1 ER14 +0 A2(1) ER15 +0 GITV(1) ER16 +0 A2(2) ER17 +0 GITV(2) LVSRCH +0 . LEVELS TO SEARCH . 132100 ER21 FORM6 010,26,GITV 0 132400 FORM6 010,32,GITV 1 132500 FORM6 010,1,GITV 2 132600 $(2) . . PSDP CONSTANTS 355300 . 355400 PS11 +'STRING' 355500 PS12 +'SLOUT' 355600 PS13 + 0 . NO OF ITEMS TO F30 355610 TTABL + LREFI LOCATIONS OF 501700 + PL 502100 TTABZ* + LREF+MLREF-1 . ALLOWED SIZES, INCLUDING EOR AND EOF +MLOOP-2 TTABT 'LREF' NAMES OF TABLES 502900 'LOOPT' 503300 STPLMS +0 $(2) . REENT EN30 J $-$ REENT ES30 J $-$ REENT EP30 J $-$ REENT ER40 J $-$ REENT ER30 J $-$ REENT ER4E J $-$ REENT J ER4ER REENT PS30 J $-$ REENT TTAB4 J $-$ REENT PSTRR J $-$ REENT J PSTRRR REENT WNF301 J $-$ REENT END