. THIS SECTION CHANGES THE THREE FILE ITEMS REPRESENTING A TRIAD . INTO THE 4 ENTRIES OF A SUBEXPRESSION RGS . REGISTER DEFINITIONS CONTR . TRIAD DEFINITIONS IDX EQU 1 . DIAGNOSTIC PERMITTED . THIS SECTION CONVERTS A TRIAD TO SUBEXPRESSION FORM AND ENTERS IT INT 32780 . O TME TABLES 32790 $(1) . LIT . TSEIX* SR R4,MA . SET UP MODES 327905 SR R4,MB . 327906 SR R4,EMODE . 327907 SZ,S2 COPER . FORM DUMMY OPERATOR 327908 J TSEX 327909 TSXFX* LX B6,FNC . ENTRANCE FOR INSERTING FUNCTIONS 327910 IFL FNC 1 327920 TSXFXI* JNE A15,COPND2,0,S1 3 TSXFX1 L,S6 A0,COPER . NUMBER OF FUNCTION MVW MINTX,A0,S1 EMODE SLJ CNVT J TSXFX1 . ERROR RETURN S A5,SUBNO J 0,B9 TSXFX1 L,S6 A0,COPER . FUNCTION NUMBER SR R4,FNX+1,B6,S1 . SET FOR INTRINSIC FUNCTION MVW MINTX,A0,S1 EMODE TSEX* SX,1 B9,TXXX 32800 L DO 5 , SZ SUBBUF+L-1 NKSBX SZ TSZCNT SZ LOCFLG LA A0,LSEX . TESTS FOR EXP NU FROM LAST TRIAD 32820 JNZ A0,TSX2A 32830 FAL SUBEXD,NEXD,A0,STAX . FIND NEXT LOC FN SUBEXD DFL CSUBXD 1 SZ SUBEXD,A0 NKSBX TSX2A SA,1 A0,SUBNO STORES NUMBER OF THIS EXPRESSION 32850 SZ,S3 SUBNO . CLEAR SIGN BIT 328510 SA,7 A0,SUBBUF+1 DDDD IS STORED 32860 MVW SEQNO SUBBUF+3,0,H1 . SET LLLLL SR,S5 R4,SUBBUF+3 . INITIAL COUNT OF CONTAINED EXPRESSIONS L A1,COPER AND A1,(0777700777777) TE A2,(0102000,044) J TSX2AJ L,S1 A1,COPND2 TNE,M A1,5 J TSX2AI 131K L B6,FNC L,S1 A2,FNX,B6 TEST FOR INTRINSIC FUNCTION TE,M A2,1 J TSX2AJ SLJ LOCCPT DETERMINE COMPUTE POINT OF LOC FUNCTION S A0,TC J TSX2AJ2 TSX2AI SXLOC A1 COPND2,0,T3 LNKSBX L,S6 A0,0,A1 131K TE,M A0,023 131K J TSX2AJ L,H1 A0,0,A1 SSL A0,6 LSSC A0,2 131K A,H2 A0,CRISYM S A0,SOPD2 . OPTIONAL ARGUMENT FOR LOCCPT 131K SLJ LOCCPT 131K S A0,TC 131K J TSX2AJ2 TSX2AJ L A0,(0,077777) . ZERO DEFINITION POINT S A0,TC TNZ CHPXFL . CHARACTER PACKET ADDRESS LMJ B11,CCD TSX2AJ2 . LX,016 B1,0 K FOR PICKING UP COPND1 OR COPND2 32880 LMJ B2,TSEXB 32890 SSC A14,27 32900 SA A14,SUBBUF STORE A PRIME 32910 SA,7 A13,SUBBUF XXXX AAAA 32920 LX,016 B1,1 32930 LMJ B2,TSEXB 32940 OR,S5 A14,SUBBUF 32950 SA,011 A15,SUBBUF STORE B PRIME 32960 SA,6 A13,SUBBUF XXXX BBBB 32970 LA,014 A14,COPER 32980 SA,010 A14,SUBBUF OPERATOR TYPE CC 32990 MVW COPER,0,S6 SUBBUF+1,0,S6 . EXTRA OPERATOR INFO TNZ SUBSC 33030 J TSX5A WE ARE NOT INSIDE A SUBSCRIPT 33040 TSCX4B LA,016 A15,1 33050 SBT A1,SUBBUF+3,0,S4,020 . F2=1 WITHIN A SUBSCRIPT 330550 J TSCX2 33110 TSCX4J JNE A15,COPER,0,S6 044 TSCX4 SBT A14,SUBBUF+1,0,S4,1 J1=1 FOR LOC FUNCTION TNZ,H1 TC J TSCX4 L,S1 A14,COPND2 TNE,M A14,5 J TSCX4 SBT A14,SUBBUF+3,0,S4,010 . ONLY EVALUATE AT DP TSCX4 LA A15,MA LOADS MODE OF OPERAND 1 33120 SSC A15,33 33130 AA A15,MB 33140 SSC A15,33 33150 LA A0,SUBNO . LOAD NUMBER OF EXPRESSION 33160 AA A15,EMODE 33170 SA,H1 A15,SUBEXD,A0 . STORES MODES OF OPERANDS AND OPERATOR 331800 J TSCX4C 33190 TSCX82 LA,S6 A15,COPER JZ A15,TSCX8 TE,M A15,014 . CHARACTER RIGHT OF EQUALS TNE,M A15,015 . CHARACTER LEFT OF EQUALS J TSCX8 . KEEP ARGUMENTS TOGETHER WITH J2 = 1 TE,M A15,016 . FLD$ RIGHT OF EQUALS TNE,M A15,017 . FLD$ LEFT OF EQUALS J TSCX8 TNE,M A15,077 SPECIAL OPERATOR IN FLD J TSCX8 TG,M A15,011 J TSCX4 AND,OR,XOR TLE,M A15,7 J TSCX4 . RELATIONAL COMMAS CAN BE FOUND TSCX8 SBT A14,SUBBUF+1,0,S4,2 J2=1 33260 J TSCX4 33270 TSCX4C LA A12,(04,0) . MASK TO CH UNARY MINUS 332800 AJNZ A12,COPND1 TSDX3 . COPND1 HAS UNARY MINUS 33290 TSDX4 AJNZ A12,COPND2 TSDX2 . COPND2 HAS UNARY MINUS 33300 TSDX5 AJNZ A12,COPER TSDX1 . COPER HAS UNARY MINUS 33310 J TSEX8 TSX5A SBT A14,SUBBUF+2,0,S4,040 V3=1 33360 TSCX2 JE A0,COPER,0,S2 1 TSCX8 . J2=1 FOR EQUALS TSX6A TLEM,M A0,14 333800 J TSCX4 . OPER WAS NOT ONE OF SPEC TYPES 33390 TLE,M A0,25 J $-11,A0 33410 XER 7 . NON VALID OPERATOR 33420 J TSCX6 SUBSCRIPT DEFINER 33430 J TSX81 . SUBSCRIPT CONNECTOR 33440 J TSX83 . TEST FOR CERTAIN INTRINSIC FUNCTIONS J TSCX82 , J TSCX4 . SPEC + FOR FORMING SUBSCRIPTS 33470 J TSCX8 . J2=1 FOR OFFSET + 334800 SLJ XERV . 20 SLJ XERV . 21 SLJ XERV . 22 SLJ XERV . 23 J TSCX4 . 24 CONCATENATION TSCX6 . SBT A14,SUBBUF+1,0,S4,1 . J1=1 J TSCX4 335120 TSX81 TZ DMSBCN DO NOT RESTORE FOR CREATED 1017 ITEM J $+6 L B6,SUBLV RESET GET FLAG TO CONSIDTION AT START OF SUB MVW N3SBTE,B6,S3 GETF AN,M B6,1 DECREASE LEVEL OF SUBSCRIPT NESTING S B6,SUBLV SZ DMSBCN J TSCX8 TSX83 L B6,FNC BVER1 L,S1 A15,FNX,B6 BVER1 TE,M A15,3 BVER1 J TSX83W BVER1 SBT A14,SUBBUF+1,0,S3,010 SET AUTO MATH FUNC INDICATOR BVER1 J TSCX4 BVER1 TSX83W TNZ,S5 COPER INTRINSIC FUNCTIONS WHICH ARE LOADS AND CALLS BVER1 J TSCX4J GO TEST FOR LOC FUNCTION J TSCX8 SET J2=1 BVER1 TSDX3 SBT A14,SUBBUF+1,0,S3,040 G3=1 33520 J TSDX4 33530 TSDX2 SBT A14,SUBBUF+1,0,S3,020 G2=1 33540 J TSDX5 33550 TSDX1 SBT A14,SUBNO,0,S3,4 . SIGN OF EXPRESSION GOES TO REFERENCE TSEX8 LR R2,(077777077777) MASK TO TRANSFER COMPUTE POINTS LA A0,SUBBUF+2 33640 MLU A0,TC TC HOLDS COMPUTE POINTS 33650 SA A1,SUBBUF+2 33660 LA A0,TC 33670 TNE,M A0,077777 33680 J TSX1B CP1 IS EFFECTIVELY ZERO AS DEF POINTS 33690 TSXB5 L,H2 A1,LOOPNU JZ A1,TSX4B . WE ARE AT LEVEL ZERO L,M A12,1 TEP A12,INDVAR,A1 . TEST FOR UNSAFE LOOP J TSX4B L,H1 A12,IVSQ,A1 L,H2 A13,IVSQ,A1 AN,M A12,1 TNW,H1 A12,TC J TSX4B TNW,H2 A12,TC J TSX4B . EXPRESSION WAS NOT LOOP INDEPENDENT SBT A14,SUBBUF+1,0,S4,1 . SET J1 SO IT WILL MOVE FROM LOOP TSX4B SZ SOPD2 131K SZ CMPCNT . CLEAR COMPLEXITY COUNT 131K TSX6B LA,016 A0,5 33720 TNE,015 A0,COPND1 33730 J TSX7B COPND1 WAS AN EXPRESSION 33740 TSX8B TNE,015 A0,COPND2 33750 J TSX9B COPND2 WAS AN EXPRESSION 33760 TSX2C L,M A0,1 131K A A0,CMPCNT . UP COUNT BY ONE 131K S,T3 A0,SUBBUF+3 . COUNT TO SUBBUF TSX2CC L,M B2,0 TP,XH2 SUBBUF+3 L,M B2,2 SET FOR NEXX LNKSBX J TSXGE TSX1B L,M A0,6 TZ SOPD2 131K J TSX1J . LOC'S OF OFSETS TO SUBEXX 131K L,M A1,1 TNZ FLPR TNE A1,SUBSC J TSX1BJ SSL A0,*GETF TNZ DOSXTF JNB A0,TSXB5 TSX1BJ L,M A1,0 LMJ B2,TSX1K L,M A1,1 LMJ B2,TSX1K TSX1J . NKSBX TSX1ZC SBT A14,SUBBUF+1,0,S4,1 . J1=1 SO EXP WILL NOT BE LINKED TO SBT A14,SUBBUF+3,0,S4,040 F3=1 33960 J TSX4B 33970 TSXTQ L,S6 A14,0,A0 TEST FOR ZERO LEVEL SUBSCRIPT TE,M A14,017 WHICH IS IN SUBEXB J TSXB5 L,S6 A14,1,A0 TE,M A14,047 J TSXB5 J 0,B2 . THE NEXT SECTION CHECKS THAT EXPRESSIONS . INVOLVING SUBSCRIPT CALCULATIONS ARE NOT . BROUGHT TO THE ZERO LEVEL IF THE PROGRAM CONTAINS ANY ENTRY STATEMENTS TSX1K L,S1 A15,COPND1,A1 TE,M A15,5 J 0,B2 L A0,COPND1,A1 SXLOC A0 A0 SBXLNK TN,XH2 3,A0 J TSXTQ TNZ CRENT J 0,B2 L,S6 A15,0,A0 TE,M A15,020 TEST FR LOC FUNCTION J 0,B2 L,S6 A15,1,A0 TE,M A15,044 J 0,B2 L,M A3,0 L A15,CTRST TG,M A15,12 A,M A3,11 TZ,S5 SUBSC,A3 J $+3 TZ SUBSC J $+3 SZ,S6 SUBBUF+2 J TSXB5 L A15,SUBNL SET TO MOVE OUT AS FAR AS POSSIBLE TP SUBNL J 0,B2 NO DEF IN SUBNL TNZ,H1 SUBNL J 0,B2 CREATED SUBSCRIPT L R2,(077777077777) L A14,SUBBUF+2 FORCE MOST LIMITING COMPUTE POINT OF MLU A14,SUBNL SUBSCRIPT ONTO EXPRESSION AND SET TO FORCE IT TO S A15,SUBBUF+2 OUT THAT FAR SBT A14,SUBBUF+3,0,S4,010 SET TO EVALUATE AT DP ONLY J TSXB5 TSX7B L A2,COPND1 LMJ B3,TSX1C TRANSFER V1,V2 + H1 FROM PREV EXPRESS 34070 J TSX8B 34080 TSX9B L A2,COPND2 LMJ B3,TSX1C 34110 J TSX2C . THIS NEXT SECTION MOVES THE V1, V2, + H1 BITS FROM PREV EXPRESSIONS 34130 TSX1C SXLOC A3 A2 LNKSBX JBL A14,SUBBUF+1,0,S4 2 TSX1QQ JBL A14,1,A3,S4 1 TSX1CB . TEST FOR CONTAINED LOOP INDEPEDENT TSX1CA L,M A12,030 AND,012 A12,2,A3 PREVIOUS V1,V2 ARE NOW IN A13 34210 L,S4 A12,SUBBUF+1 . DO NOT PROPAGAE INDUCTION VARIABLE TOP,M A12,2 . INTO EXPRSSSION WITH J2 SET J $+3 SSL A13,4 REMOVE INDUCTION VARIABLE BIT LSSL A13,4 OR,S4 A13,SUBBUF+2 342200 SA,012 A14,SUBBUF+2 TRANSFER PREVIOUS V1,V2 34230 LA,M A12,010 . ALSO TRANSFER THE F1 BIT 342310 AND,S4 A12,3,A3 342320 OR,S4 A13,SUBBUF+3 342330 TZ SUBSC ONLY PROPAGATE UPWARD IF SAFE SUBSCRIPT TZ,S5 SUBSC J TSX1CJ SA,S4 A14,SUBBUF+3 342340 TSX1CJ L,T3 A12,3,A3 SBXLNK TG A12,CMPCNT . KEEP LARGEST COUNT 131K S A12,CMPCNT . IN CMPCNT 131K J 0,B3 TSX1QQ JBL A14,1,A3,S4 3 TSX1CA L A14,SXCNT TG A14,TSZCNT S A14,TSZCNT J TSX1CA TSX1CB JNBL A12,SUBBUF+1,0,S4 1 TSX1CA . IF CURRENT IS NOT LOOP INDEPENDENT . DO NOT TAKE BIT OFF OF ONE THAT IS TP,XH2 3,A3 J TSX1CA . SKIP ZERO LEVEL EXPRESSIONS L,S6 A15,0,A3 TNE,M A15,020 J $+4 L,S6 A15,1,A3 TNE,M A15,044 J TSX1CA AND,M A14,076 . CLEAR J1 SA,S4 A15,1,A3 J TSX1CA TSXGE JBL A0,SUBBUF+1,0,S4 2 XTX . LOOK FOR J2=1 TSX6E L,M A3,NEXA-4,B2 LOC OF HEADLINK LNKSBX L,M A1,0,B2 LNKSBX L,S4 A4,SUBBUF+3 SET HEAD LINK INDICATOR IN ENTRY LNKSBX AND,M A4,070 LNKSBX A A5,A1 LNKSBX S,S4 A5,SUBBUF+3 4TH WORD OF EXPRESSION ENTRY LNKSBX LMJ B11,TXS . SEARCHES AND/OR INSERTS IN EXPRESSIONS 34310 SXLOC A3 SUBBUF+1,0,T1 LNKSBX TSX7E LA,2 A0,SUBBUF+1 34370 SSL A0,6 DDDD CAN NOW BE USED AS A INDEX 34380 SZ LSEX 34390 MSX SUBBUF,0,0,A3 . TRANSFERS EXPRESSIONS TO TABLES 34400 SLJ SLINK . ADD TO PROPER CHAIN LNKSBX TSXJ* . DO IDX=1 , TZ DX3 344200 DO IDX=1 , SLJ XD3 344210 L,S1 A0,COPND1 . ID OF ITEM L,H2 A1,COPND1 . EXPRESSION NUMBER IF ONE TNE,M A0,5 . TEST FOR EXPRESSION LMJ B3,TSXQQA L,S1 A0,COPND2 . ID OF ITEM L,H2 A1,COPND2 . EXPRESSION NUMBER IF ONE TNE,M A0,5 . TEST FOR EXPRESSION LMJ B3,TSXQQA L,S2 A1,COPER JE A15,COPND1,0,S1 9 ASFX . RETURN TO DONS SECTION 344210 TNE,M A15,11 J $+4 L,S6 A13,1,A3 OR,S6 A13,SUBBUF+1 S,S6 A14,1,A3 L,M A14,077777 TE,M A1,14 TEST FOR SUBSCRIPT DEFINER J $+5 L A15,CTRST TNE,M A15,CTRSTL TEST IF RECURSION STACK EMPTY S A14,SUBNL PREVENT CARRY INTO FOLLOWING SUBSCRIPTS SZ SUBSC TNE,016 A1,1 34430 J TSXK CONSIDER SPECIAL CASES ASSOCIATED WITH = OPERATOR 34440 TE,M A1,16 34450 J *TXXX REENT LX B6,FNC LOADS CURRENT FUNCTION LEVEL 34470 DFL FNC 1 . DECREASE FUNCTION COUNT 344710 LA,1 A1,FNX,B6 . SYM TABLE REF 34480 JNE A15,FNX,B6,S1 1 TSXL . CHECK FOR INTRINSIC FUNCTIONS 344800 J *TXXX EXIT 34530 XTX SBT A14,SUBBUF+3,0,S1,040 . S3=1, SHOWS IT IS IN SUBEXB L,M A14,037 . KEEP ZERO LEVEL BIT OFF SUBEXD ENTRIES AND,S4 A14,SUBBUF+3 . SET F TO ZERO SA,S4 A15,SUBBUF+3 LA,S4 A14,SUBBUF+1 345401 AND,M A14,076 345402 SA,S4 A15,SUBBUF+1 . CLEAR J=1 IF ERROR 345403 JE A15,SUBBUF,0,S6 017 XTXSC TNE,M A15,16 J XTXSF LX,M B2,1 . IF J2=1, EXP GOES TO SUBEXB J TSX6E 345500 XTXSF L,S5 A12,COPER JNB A12,$-3 . TEST FOR INTRINSIC FUNCTIONS BUT NOT CALLS SBT A12,SUBBUF+1,0,S3,4 L,S1 A14,SUBBUF+3 J XTXSF1 XTXSC LA,S1 A14,SUBBUF+3 LA A15,TC TNE,M A15,077777 J XTXSC2 XTXSF1 AND,M A14,037 . CLEAR S1 FOR SOME CASES SA,S1 A15,SUBBUF+3 L,M B2,0 J TSX6E XTXSC2 LA,S6 A15,SUBBUF+1 TE,M A15,023 J XTXSC1 . A ZERO LEVEL OFFSET GOES TO SUBEXB SA,S6 A15,SUBBUF . AS IT DOES NOT NEED TO BE FOUND LX,M B2,1 . BUT ONLY LINKED TO J TSX6E XTXSC1 SXLOC A1 SUBBUF,0,T2 . SUBSCRIPT EXPRESSION TN,XH2 3,A1 . TEST FOR ZERO LEVEL SUBSCRIPT J XTXSF1 MVW 047,0,M SUBBUF+1,0,S6 LX,M B2,1 J TSX6E TSXQQA SXLOC A1 A1 . GET LOCATION OF CONTAINED EXPRESSION L,T3 A4,4,A3 . TEST IF CONTAINED EXPRESSION HAS SAME L,H1 A5,1,A1 . GET EXPRESSION NUMBER SSL A5,6 TNE A5,ILXOP . TEST AGAINST LAST EXPONENTIATION OPERA A A4,ILXEX . INCREMENT BY POWER TG,T3 A4,4,A1 . COUNT J 0,B3 L,S4 A4,1,A3 . TEST IF BOTH HAVE J2 SET AND,S4 A4,1,A1 . IF SO COUNTS DO NOT MEAN MUCH TEP,M A5,2 J 0,B3 TP,XH2 3,A1 . TEST FOR CONTAINED ZERO LEVEL J 0,B3 TSXQQB SBT A14,4,A3,S4,4 . MAKE AS IF IT APPEARED S,H1 A15,DELJZ . BITS TO PROPAGATE SZ A15 . FORCE COUNT INCREMENT TO ZERO SZ,H2 DELJZ FORCE DELETE FIELD TO ZERO SLJ CNTJ . PROPAGATE IF BITS SZ DELJZ J 0,B3 . DIFFERENT LEVELS . THIS SECTION COVERS THE MEETING OF AN OPERATOR = 34560 TSXK L,S1 A0,COPND1 . ERROR TZ NOPER MUST DROP TO ZERO ON EQS SLJ XERV TNE,M A0,3 . CONSTANT J TSXLE . LEFT SIDE OF EQUALS TSXLER A,M NSEQN,2 L,H2 A0,SUBNO SA,T3 A0,F31-2,NSEQN . STORE EXPRESSION NUMBER IN EQUALS 346500 TSXLG1 L,S2 A15,F31-3,NSEQN TG,M A15,5 . DO NOT ELLIMINATE CALLS OR IN/OUT J TSXLG3 . CHECK FOR CALLS WITHOUT ARGUMENTS LA A15,F31-2,NSEQN TNE A15,F31-4,NSEQN J TSXKA . A REDUNDANT STATEMENT WAS REMOVED TSXLG4 ANX,M NSEQN,1 J GET . IS PASSED TO F31. THIS STATEMENT FINISHED 34660 TSXLE L,S2 A0,STTYA TNE,M A0,37 A CONSTANT TO THE LEFT OF EQUALS J TSXLER IS OK IN OUTPUT LIST XERF ERRAX+6 ANX,M NSEQN,1 J GET THROW STATEMENT AWAY TSXLG3 TE,M A15,16 TEST FOR CALL J TSXLG4 L,S1 A15,COPND2 TE,M A15,2 TEST FOR ARGUMENTS J TSXLG4 L A1,COPND2 SYM TABLE REF OF INTERNAL FUNCTION SLJ TSXLX J TSXLG4 TSXL SLJ TSXLX J *TXXX TSXLXR LA,1 A0,LOOPNU REENT SBT A14,INDVAR,A0,S5,020 . Z5=1 CALL TO INTERNAL FUNCTION JGD A0,$-3 34690 L,M A14,7 AND,S3 A14,2,A1 TEST FOR INTERNAL TE,M A15,1 J *TSXLX L,H2 A0,LOOPNU SBT A14,INDVAR,A0,S5,010 . Z4=1 CALL TO INTERNAL FUNCTION JGD A0,$-3 347330 J *TSXLX . EXIT TSXKA XERF ERRAX+14 . REDUNDANT STATEMENT AN,M NSEQN,1 L A0,F31-3,NSEQN LMJ B11,DEL+1 . REMOVE ONE USE OF EXPRESSION L A0,F31-2,NSEQN DUPLICATE STATEMENT S A0,F31-1,NSEQN REMOVE EXPRESSIONS J GET . THE NEXT SECTION DETERMINES THE COMPUTE POINT OF A LOC FUNCTION LOCPR L,M A0,077777 REENT S A0,LOCFLG 131K L A1,SOPD2 131K JNZ A1,LOCCPD . USE ALT ARG 131K L,S1 A1,COPND2 TE,M A1,2 TEST FOR VARIABLE J *LOCCPT L,H2 A1,COPND2 LOCCPD . 131K L,S3 A2,2,A1 AND,M A2,7 TE,M A3,5 TEST FOR DUMMY ARGUMENT J *LOCCPT L A2,DUMARC LAST ENTRY IN CHAIN L,M A0,0 TE,H2 A1,N5RGFC . SPECIAL VARIABLE THAT IS LOC OF TEMP TNE,H2 A1,N5RGFB . SPECIAL VARIABLE THAT IS LOC OF CALLIN LXM,M A0,0100 S A0,LOCFND LOCCPA L,T1 R1,1,A2 LXI,M A3,1 LXM,H2 A3,1,A2 SE,H2 A1,1,*A3 J LOCCPJ L,H1 A0,6,A2 SEQUENCE NUMBER OF ENTRY L,S3 A4,1,A2 TE,M A4,2 L,M A0,0 GIVE ZERO COMPUTE PT FOR MAIN ROGRAM S A0,LOCFND SAVE IF NEXT SEARCH DOES NOT FIND ANYTHING USE THIS TG A0,SEQNO J LOCCPK . ENTRY IS BELOW STATEMENT TLE,H1 A0,BND L A0,LOCFND ENTRY FOUND IS NOT WITHIN PROGRAM LOCCPE SSC A0,18 LXM A0,(077777) J *LOCCPT LOCCPB L A0,LOCFND TNZ A0 J LOCCPE ASSUME IT IS CALL OR TEMP TG A0,SEQNO L,M A0,0 ARGS MUST BE DEFINED BEFORE USE J LOCCPE LOCCPJ L,S3 A4,1,A2 TE,M A4,2 . TEST FOR ENTRY J LOCCPB ENTRY NOT THERE LOCCPK L,H2 A2,0,A2 J LOCCPA SEARCH NEXT ENTRY . THIS SUBROUTINE INSERTS THE ITEMS IN THE POLISH STRING WHICH 43600 . CONTAINS SUBSCRIPT CODE ITEMS AND ARE STORED AT POL+1 43610 ASF* SX,H2 B11,ASFE . SAVE EXIT 436200 DO IDX=1 , TZ DX7 436210 DO IDX=1 , SLJ XD7 436220 SLJ N0RGSV LX NSEQN,SV7 . RESTORE INDEX 436300 SR R6,GETF . FLAG TO READ FROM POL 436900 L,H2 A0,POLG . NUMBER OF ITEMS OF POLISH JGD A0,$+1 L,S1 A1,POL,A0 . GET ID TO TEST FOR VARIABLE TNE,M A1,2 S A1,POLQ . SHOW THAT VARIABLE APPEARED JGD A0,$-3 J GET COMMENCE READING FROM POL+1 43700 . LOCATION ASFX IS BRANCHED TO BY TRIAD-TO-SUBEXPRESSION WHEN IT 43710 . COMES ACROSS A SUBSCRIPT CODE AND BY AN EQUALS IN THE SAME TRIAD 43720 ASFX* LA,S1 A15,COPND2 43730 SZ POLQ . CLEAR FLAG SZ GETF . FLAG SO NEXT ITEM FROM F30 437310 SZ,H2 POLG . FLAG SO SIGNS WONT BE PERMUTTED MVW TX SUBNL CURRENT MOST LIMITING COMPUTE POINT L A0,SUBNO LMJ B11,DELZ . REMOVE TOP EXPRESSION ASFC JNE A15,COPND2,0,S1 5 ASFC1 131K SXLOC A0 COPND2,0,T3 LNKSBX JNBL A14,1,A0,S4 2 ASFC1 131K . INSURE EVALUATION OF J2 EXPRESION CAUSED BY EXPANSION OF COMMON INTO 131K . OFSET PLUS SUBEXPRESION . 131K SLJ UPSL 131K MVW COPND2 COPND1 131K MVW (070000,0) COPND2 131K L,M A15,074 S,S6 A15,COPER SPECIAL MARK FOR THESE FUNNY EXPRESSIONS SR R4,SUBSC . 1016 FORMED AS SUBSCRIPT 131K LMJ B9,TSEX 131K SLJ LWSL 131K MVW SUBNO COPND2 131K SXLOC A3 SUBNO,0,T3 LNKSBX L,S4 A4,3,A3 REMOVE AT DEFINE POINT ONLY AND,M A4,067 AS IT WILL CAUSE TROUBLE AT EX1J AND WE ARE L,H1 A6,2,A3 AND,M A6,077777 A,M A6,1 TG A6,SEQNO S,S4 A5,3,A3 ALREADY ABOVE DEFINITION POINT ASFC1 SX NSEQN,SV7 . SAVE INDEX 131K L,M B1,25 L R15,N0RGSA+2,B1 S R15,2,B1 JGD B1,$-2 L B1,N0RGSA+1 L,M A0,077777 S A0,SUBNL L A1,COPND2 J *ASFE $(2) TSXLX J $-$ REENT J TSXLXR REENT ASFE* J $-$ REENT TXXX* J $-$ REENT LOCCPT J $-$ REENT J LOCPR REENT LOCFND +0 SAVES SEQUENCE OF LAST ENTRY SOPD2* + 0 131K CMPCNT + 0 COMPLEXITY COUNT 131K END