TITLE PARSTB - PARSE TABLE FOR PPL SUBTTL E.TAFT/ESR/EAT -- 17 JUNE 74 ;PARAMETERS AND DEFINITIONS HISEG SEARCH PPL ;ACCESS PARAMETERS AND DEFINITIONS RADIX 10 NREPO== 10 ;ASSEMBLY PROGRESS REPORTING FREQUENCY CSTATE==1 ;INIT STATE COUNTER IF2,< PRINTX BEGIN PASS 2 > BPARST: IF1,< ;MACRO TO CONSTRUCT A CODED READ-TRANSITION POINTER. ;POINTER IS RETURNED RIGHT-JUSTIFIED AS VALUE OF SYMBOL RDNNN (NNN=STATE#). DEFINE RD(RVEC) < ;;ARG IS ROW OF READ-TRANSITION STATES ZZ== IFNB ,< IRP RVEC >> IFN ZZ,< REDEF (BYTE) ;;INIT BYTE-CONSTRUCTION MACRO IFG ZZ-MXRDPR,< ;;USE VECTOR FORMAT IF MANY TRANSITIONS IRP RVEC < APPEND (REDEF,(7)RVEC) ;;APPEND "(7)STATE#" TO DEF. >> IFLE ZZ-MXRDPR,< ;;USE PAIR ROW FOR FEW TRANSITIONS RDPTR== ACCCD1 ;;SET ACCESS CODE TO 1 ZZ== 0 IRP RVEC < ZZ== ZZ+1 ;;CURRENT TERMINAL NUMBER IFN RVEC,< ;;APPEND "(5)TERM#(7)STATE#" TO DEF. CONC (,\ZZ,(7)RVEC) >>> ;;EXPAND CONSTRUCTED BYTE STMT MACRO WITHIN LITERAL RDPTR== RDPTR+[APPEND()]-READB > CONC (RD,\CSTATE==RDPTR) ;;ASSIGN RESULT VALUE > ;CIRCULAR MACRO REDEFINITION FOR BUILDING UP STRINGS DEFINE REDEF(THIS) < DEFINE APPEND(OP,NEW) < OP THIS''NEW >> ;AUXILIARY MACROS FOR GENERAL USE ;MACRO TO RETURN FIRST ARG DEFINE LHS(A,B) ;MACRO TO RETURN SECOND ARG DEFINE RHS(A,B) ;MACRO TO GET ONE SIDE OF A NESTED PAIR DEFINE HS(SIDE,PAIR) ;MACRO TO CALL A SUB-MACRO, STRIPPING A LEVEL OF BRACKETS OFF ONE ARG DEFINE STRIP(OP,ARG) ;MACRO TO EXCHANGE TWO VALUES DEFINE EXCHNG(A,B) < TMP== A A== B B== TMP > ;MACRO TO CONSTRUCT A CODED TOP POINTER. ;POINTER IS RETURNED RIGHT-JUSTIFIED AS VALUE OF TOPNNN (NNN=STATE#). DEFINE XTOP(TSET) < TOPPTR==>>>> LHS1==>> IFNB ,> REDEF (BYTE) ;;INIT BYTE-CONSTRUCTION MACRO ZZ== 0 ;;INIT DEF FINISHED FLAG IFLE NTOP-MXTOPP,< ;;ENCODE AS PAIRS IF NOT TOO MANY IRP TSET < STRIP (ENCPR,TSET) ;;APPEND "(7)OLDSTATE#,NEWSTATE#" > TOPPTR== ;;ACCESS CODE 1, DEF FINISHED > IFE ZZ,< IFE NRHS-1,< ;;ENCODE AS BIT VECTOR IF ONLY ONE RHS ZZ== -1 ;;SET BIT VECTOR FLAG > IFE NRHS-2,< ;;ALSO IF 2 RHS'S AND ONLY 1 INSTANCE OF 2ND IFE NRHS2-1,< ZZ== -1 ;;SET BIT VECTOR FLAG > IFE NRHS1-1,< ZZ== -1 ;;SET BIT VECTOR FLAG EXCHNG (LHS1,LHS2) EXCHNG (RHS1,RHS2) >>> IFL ZZ,< ;;ENCODE AS BIT VECTOR HERE ZZ== 0 IRP TSET < STRIP (ENCBVC,TSET) > REPEAT NSTATES-ZZ,< APPEND (REDEF,(1)0) > APPEND (REDEF,(7)RHS1(7)LHS2(7)RHS2) TOPPTR==ACCCD2 ;;ACCESS CODE 2 > IFE ZZ, REPEAT NSTATES-ZZ,< APPEND (REDEF,(7)0) >> ;;NOW EXPAND MACRO WITHIN LITERAL TO GET POINTER TOPPTR==TOPPTR+[APPEND()]-TOPB > CONC (TOP,\CSTATE,==TOPPTR) ;;STORE VALUE OF TOP PTR > ;AUXILIARY MACROS FOR "TOP" DEFINE ENCBVC(LH,RH) < ;;ENCODE TOP PAIR INTO BIT VECTOR REPEAT LH-ZZ-1,< APPEND (REDEF,(1)0) > ZZ== LH IFE RH-RHS1,< APPEND (REDEF,(1)1) > IFN RH-RHS1,< APPEND (REDEF,(1)0) >> DEFINE CNTRHS(LH,RH) < ;;COUNT DIFFERENT RHS'S ZZ== 0 IFE NRHS-2, >> IFGE NRHS-1, >> IFE ZZ,< CONC (NRHS,\,==1+NRHS,\NRHS) CONC (RHS,\NRHS,==RH) CONC (LHS,\NRHS,==LH) >> DEFINE ENCPR(LH,RH) < ;;ENCODE A TOP PAIR APPEND (REDEF,(7)LH(7)RH) > DEFINE ENCSVC(LH,RH) < ;;ENCODE A TOP VECTOR ELEMENT REPEAT LH-ZZ-1,< APPEND (REDEF,(7)0) > ZZ== LH APPEND (REDEF,(7)RH) > ;MACRO TO CONSTRUCT A LOOKAHEAD SET POINTER. ;POINTER IS RETURNED AS VALUE OF LKNNN (NNN=STATE#). DEFINE LK(LKSET) < ;;ARG IS ROW OF LOOKAHEAD PAIRS LKPTR== IFNB ,< IRP LKSET < ZZ== HS(R,LKSET) ;;STATE# OF THIS PAIR IFE ZZ-CSTATE,< ;;TRANSITION TO SAME STATE LKWRD== LKWRD!<1_> > IFN ZZ-CSTATE,< ;;TRANSITION TO DIFFERENT STATE TMP== HS(L,LKSET) LKWRD== LKWRD!B4!B11 >> LKPTR== [LKWRD]-LOOKB ;;GENERATE LITERAL AND PTR. > CONC (LK,\CSTATE==LKPTR) ;;ASSIGN RESULT VALUE > ;MACRO TO ASSIGN RULE NUMBER AND NPOP. ;SAVES ARGUMENTS FOR LATER CALL DURING STATE VECTOR ASSEMBLY. DEFINE RULE(RN,NP) < CONC (DEFINE RUL,\CSTATE,<>) IFE CSTATE-,< CONC (PRINTX STATE ,\CSTATE) > CSTATE==CSTATE+1 > ;THE FOLLOWING MACRO ACCUMULATES CALLS TO "TOP" FOR LATER EXPANSION ; USING "XTOP" SO AS TO GET DATA INTO A SEPARATE LITERAL TABLE. DEFINE TOP(TSET) < CONC (DEFINE TP,\CSTATE,<>>) > > ;END IF1 CONDITIONAL IF2,< DEFINE TOP(TSET) <> DEFINE RULE(RN,NP) < CSTATE==CSTATE+1 >> COMMENT @ TERMINALS 1: ; 2: ELS 3: OP 4: ( 5: ) 6: [ 7: ] 8: A 9: IF 10: THEN 11: => 12: FOR 13: DO 14: , 15: : 16: DOTHRU 17: GOTO 18: RETURN 19: RPAD 20: WHILE 21: UNTIL 22: REPEAT RULES STMT ::= 1
RPAD 2 DOTHRU RPAD 3 RPAD FORM ::= 4 5 ELS 6 7 ; 8 9 WHILE FORM1 ::= 10 11 ; 12 ELS 13 14 WHILE SFORM ::= 15 16 GOTO 17 RETURN 18 RETURN 19 REPEAT UNTIL EXP ::= 20 OP 21 OP 22 TERM ::= 23 ( ) 24 [ ] 25 [ ] 26 [ ] 27 ( ) 28 A 29 ( ) IF-PREF ::= 30 IF THEN 31 => FOR-PREF ::= 32 FOR 33 LIST ::= 34 35 , FOR-LIST ::= 36 : 37 : : NDO ::= 38 DO 39 ; @ ;---STATE 1 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,6,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 2 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 3 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 1,2 ;---STATE 4 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 5 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 2,4 ;---STATE 6 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 3,1 ;---STATE 7 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,79,0,38> TOP <> LK <> RULE 0,0 ;---STATE 8 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,2>,<7,8>,<10,11>,<13,14>,<15,16>,<19,20>,<38,39>,<46,66>,<48,66>,<50,66>,<56,57>,<67,68>,<81,8>,<99,16>,<101,14>,<102,20>,<103,11>> LK <> RULE 4,2 ;---STATE 9 RD <0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 10 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 11 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,2>,<7,8>,<10,11>,<13,14>,<15,16>,<19,20>,<38,39>,<46,66>,<48,66>,<50,66>,<56,57>,<67,68>,<81,8>,<99,16>,<101,14>,<102,20>,<103,11>> LK <> RULE 5,4 ;---STATE 12 RD <74,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 13 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 14 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,2>,<7,8>,<10,11>,<13,14>,<15,16>,<19,20>,<38,39>,<46,66>,<48,66>,<50,66>,<56,57>,<67,68>,<81,8>,<99,16>,<101,14>,<102,20>,<103,11>> LK <> RULE 6,3 ;---STATE 15 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 16 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,2>,<7,8>,<10,11>,<13,14>,<15,16>,<19,20>,<38,39>,<46,66>,<48,66>,<50,66>,<56,57>,<67,68>,<81,8>,<99,16>,<101,14>,<102,20>,<103,11>> LK <> RULE 7,3 ;---STATE 17 RD <15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,2>,<10,11>,<13,14>,<15,16>,<19,20>,<38,39>,<46,66>,<48,66>,<50,66>,<56,57>,<67,68>> LK <<5,17>,<7,17>,<14,17>,<19,17>,<21,17>> RULE 8,1 ;---STATE 18 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 19 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 20 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,2>,<7,8>,<10,11>,<13,14>,<15,16>,<19,20>,<38,39>,<46,66>,<48,66>,<50,66>,<56,57>,<67,68>,<81,8>,<99,16>,<101,14>,<102,20>,<103,11>> LK <> RULE 9,4 ;---STATE 21 RD <22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<22,23>,<24,25>,<26,27>,<29,30>,<32,33>> LK <<2,21>> RULE 10,1 ;---STATE 22 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,31,0,38> TOP <> LK <> RULE 0,0 ;---STATE 23 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<7,9>,<22,23>,<24,25>,<26,27>,<29,30>,<32,33>,<81,100>,<99,23>,<101,30>,<102,33>,<103,27>> LK <> RULE 11,3 ;---STATE 24 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,31,0,38> TOP <> LK <> RULE 0,0 ;---STATE 25 RD <0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 26 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,31,0,38> TOP <> LK <> RULE 0,0 ;---STATE 27 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<7,9>,<22,23>,<24,25>,<26,27>,<29,30>,<32,33>,<81,100>,<99,23>,<101,30>,<102,33>,<103,27>> LK <> RULE 12,4 ;---STATE 28 RD <74,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 29 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,31,0,38> TOP <> LK <> RULE 0,0 ;---STATE 30 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<7,9>,<22,23>,<24,25>,<26,27>,<29,30>,<32,33>,<81,100>,<99,23>,<101,30>,<102,33>,<103,27>> LK <> RULE 13,3 ;---STATE 31 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 32 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,31,0,38> TOP <> LK <> RULE 0,0 ;---STATE 33 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<7,9>,<22,23>,<24,25>,<26,27>,<29,30>,<32,33>,<81,100>,<99,23>,<101,30>,<102,33>,<103,27>> LK <> RULE 14,4 ;---STATE 34 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 15,1 ;---STATE 35 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 36 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 17,2 ;---STATE 37 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,17>,<7,80>,<10,17>,<13,17>,<15,17>,<19,17>,<22,21>,<24,21>,<26,21>,<29,21>,<32,21>,<38,17>,<46,17>,<48,17>,<50,17>,<56,17>,<67,17>,<81,80>,<99,80>,<101,80>,<102,80>,<103,80>> LK <<1,37>,<2,37>,<5,37>,<7,37>,<14,37>,<19,37>,<21,37>> RULE 18,1 ;---STATE 38 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 39 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0> TOP <> LK <> RULE 0,0 ;---STATE 40 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 41 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 42 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 43 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 44 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 22,1 ;---STATE 45 RD <0,0,0,46,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 46 RD <0,0,41,56,54,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 47 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,76>,<4,76>,<7,76>,<10,76>,<13,76>,<15,76>,<18,76>,<19,76>,<22,76>,<24,76>,<26,76>,<29,76>,<31,76>,<32,76>,<35,76>,<37,76>,<38,76>,<40,76>,<41,76>,<43,76>,<46,76>,<48,76>,<50,76>,<56,76>,<59,76>,<63,76>,<67,76>,<70,76>,<71,76>,<72,76>,<79,76>,<81, 6>,<99,76>,<101,76>,<102,76>,<103,76>> LK <> RULE 23,4 ;---STATE 48 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 49 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,76>,<4,76>,<7,76>,<10,76>,<13,76>,<15,76>,<18,76>,<19,76>,<22,76>,<24,76>,<26,76>,<29,76>,<31,76>,<32,76>,<35,76>,<37,76>,<38,76>,<40,76>,<41,76>,<43,76>,<46,76>,<48,76>,<50,76>,<56,76>,<59,76>,<63,76>,<67,76>,<70,76>,<71,76>,<72,76>,<79,76>,<81, 6>,<99,76>,<101,76>,<102,76>,<103,76>> LK <> RULE 24,4 ;---STATE 50 RD <0,0,41,56,0,50,52,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 51 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,76>,<4,76>,<7,76>,<10,76>,<13,76>,<15,76>,<18,76>,<19,76>,<22,76>,<24,76>,<26,76>,<29,76>,<31,76>,<32,76>,<35,76>,<37,76>,<38,76>,<40,76>,<41,76>,<43,76>,<46,76>,<48,76>,<50,76>,<56,76>,<59,76>,<63,76>,<67,76>,<70,76>,<71,76>,<72,76>,<79,76>,<81, 6>,<99,76>,<101,76>,<102,76>,<103,76>> LK <> RULE 25,3 ;---STATE 52 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,76>,<4,76>,<7,76>,<10,76>,<13,76>,<15,76>,<18,76>,<19,76>,<22,76>,<24,76>,<26,76>,<29,76>,<31,76>,<32,76>,<35,76>,<37,76>,<38,76>,<40,76>,<41,76>,<43,76>,<46,76>,<48,76>,<50,76>,<56,76>,<59,76>,<63,76>,<67,76>,<70,76>,<71,76>,<72,76>,<79,76>,<81, 6>,<99,76>,<101,76>,<102,76>,<103,76>> LK <> RULE 26,2 ;---STATE 53 RD <0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 54 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,76>,<4,76>,<7,76>,<10,76>,<13,76>,<15,76>,<18,76>,<19,76>,<22,76>,<24,76>,<26,76>,<29,76>,<31,76>,<32,76>,<35,76>,<37,76>,<38,76>,<40,76>,<41,76>,<43,76>,<46,76>,<48,76>,<50,76>,<56,76>,<59,76>,<63,76>,<67,76>,<70,76>,<71,76>,<72,76>,<79,76>,<81, 6>,<99,76>,<101,76>,<102,76>,<103,76>> LK <> RULE 27,3 ;---STATE 55 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,76>,<4,76>,<7,76>,<10,76>,<13,76>,<15,76>,<18,76>,<19,76>,<22,76>,<24,76>,<26,76>,<29,76>,<31,76>,<32,76>,<35,76>,<37,76>,<38,76>,<40,76>,<41,76>,<43,76>,<46,76>,<48,76>,<50,76>,<56,76>,<59,76>,<63,76>,<67,76>,<70,76>,<71,76>,<72,76>,<79,76>,<81, 6>,<99,76>,<101,76>,<102,76>,<103,76>> LK <> RULE 28,1 ;---STATE 56 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 57 RD <0,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 58 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,76>,<4,76>,<7,76>,<10,76>,<13,76>,<15,76>,<18,76>,<19,76>,<22,76>,<24,76>,<26,76>,<29,76>,<31,76>,<32,76>,<35,76>,<37,76>,<38,76>,<40,76>,<41,76>,<43,76>,<46,76>,<48,76>,<50,76>,<56,76>,<59,76>,<63,76>,<67,76>,<70,76>,<71,76>,<72,76>,<79,76>,<81, 6>,<99,76>,<101,76>,<102,76>,<103,76>> LK <> RULE 29,3 ;---STATE 59 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 60 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,7>,<7,81>,<10,7>,<13,7>,<15,7>,<19,7>,<22,24>,<24,24>,<26,24>,<29,24>,<32,24>,<38,7>,<46,7>,<48,7>,<50,7>,<56,7>,<67,7>,<81,81>,<99,81>,<101,81>,<102,81>,<103,81>> LK <> RULE 30,3 ;---STATE 61 RD <0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 62 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,7>,<7,81>,<10,7>,<13,7>,<15,7>,<19,7>,<22,24>,<24,24>,<26,24>,<29,24>,<32,24>,<38,7>,<46,7>,<48,7>,<50,7>,<56,7>,<67,7>,<81,81>,<99,81>,<101,81>,<102,81>,<103,81>> LK <> RULE 31,2 ;---STATE 63 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 64 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,77>,<7,82>,<10,12>,<13,12>,<15,12>,<19,12>,<22,28>,<24,28>,<26,28>,<29,28>,<32,28>,<38,12>,<46,12>,<48,12>,<50,12>,<56,12>,<67,12>,<81,82>,<99,82>,<101,82>,<102,82>,<103,82>> LK <> RULE 32,2 ;---STATE 65 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,77>,<7,82>,<10,12>,<13,12>,<15,12>,<19,12>,<22,28>,<24,28>,<26,28>,<29,28>,<32,28>,<38,12>,<46,12>,<48,12>,<50,12>,<56,12>,<67,12>,<81,82>,<99,82>,<101,82>,<102,82>,<103,82>> LK <> RULE 33,1 ;---STATE 66 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<46,90>,<48,91>,<50,92>> LK <> RULE 34,1 ;---STATE 67 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,18,0,38> TOP <> LK <> RULE 0,0 ;---STATE 68 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<46,90>,<48,91>,<50,92>> LK <> RULE 35,3 ;---STATE 69 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 70 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 71 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 72 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 73 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<12,13>,<28,29>,<77,13>,<82,101>,<83,19>,<84,32>,<98,102>> LK <> RULE 38,1 ;---STATE 74 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<12,13>,<28,29>,<77,13>,<82,101>,<83,19>,<84,32>,<98,102>> LK <> RULE 39,1 ;---STATE 75 RD <0,0,43,0,0,0,0,0,0,0,62,0,0,0,70,0,0,0,0,0,0,0> TOP <<1,17>,<7,80>,<10,17>,<13,17>,<15,17>,<18,0>,<19,17>,<22,21>,<24,21>,<26,21>,<29,21>,<31,0>,<32,21>,<38,17>,<46,17>,<48,17>,<50,17>,<56,17>,<67,17>,<79,0>,<81,80>,<99,80>,<101,80>,<102,80>,<103,80>> LK <<1,75>,<2,75>,<5,75>,<7,75>,<14,75>,<19,75>,<21,75>> RULE 15,1 ;---STATE 76 RD <0,0,0,46,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,75>,<4,78>,<7,75>,<10,75>,<13,75>,<15,75>,<18,83>,<19,75>,<22,75>,<24,75>,<26,75>,<29,75>,<31,84>,<32,75>,<35,85>,<37,86>,<38,75>,<40,87>,<41,88>,<43,89>,<46,75>,<48,75>,<50,75>,<56,75>,<59,93>,<63,94>,<67,75>,<70,95>,<71,96>,<72,97>,<79,98>,<81, 5>,<99,75>,<101,75>,<102,75>,<103,75>> LK <<1,76>,<2,76>,<3,76>,<5,76>,<7,76>,<10,76>,<11,76>,<13,76>,<14,76>,<15,76>,<16,76>,<19,76>,<21,76>> RULE 22,1 ;---STATE 77 RD <74,0,0,0,0,0,0,0,0,0,0,0,73,0,0,4,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 78 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 79 RD <0,0,41,56,0,50,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 80 RD <99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<7,8>,<81,8>,<99,16>,<101,14>,<102,20>,<103,11>> LK <<5,80>,<7,80>,<14,80>,<19,80>,<21,80>,<2,104>> RULE 10,1 ;---STATE 81 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,79,0,38> TOP <> LK <> RULE 0,0 ;---STATE 82 RD <74,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 83 RD <74,0,43,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 84 RD <74,0,43,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 85 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,17>,<7,80>,<10,17>,<13,17>,<15,17>,<19,17>,<22,21>,<24,21>,<26,21>,<29,21>,<32,21>,<38,17>,<46,17>,<48,17>,<50,17>,<56,17>,<67,17>,<81,80>,<99,80>,<101,80>,<102,80>,<103,80>> LK <<1,85>,<2,85>,<5,85>,<7,85>,<14,85>,<19,85>,<21,85>> RULE 16,2 ;---STATE 86 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,17>,<7,80>,<10,17>,<13,17>,<15,17>,<19,17>,<22,21>,<24,21>,<26,21>,<29,21>,<32,21>,<38,17>,<46,17>,<48,17>,<50,17>,<56,17>,<67,17>,<81,80>,<99,80>,<101,80>,<102,80>,<103,80>> LK <<1,86>,<2,86>,<5,86>,<7,86>,<14,86>,<19,86>,<21,86>> RULE 17,2 ;---STATE 87 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,17>,<7,80>,<10,17>,<13,17>,<15,17>,<19,17>,<22,21>,<24,21>,<26,21>,<29,21>,<32,21>,<38,17>,<46,17>,<48,17>,<50,17>,<56,17>,<67,17>,<81,80>,<99,80>,<101,80>,<102,80>,<103,80>> LK <<1,87>,<2,87>,<5,87>,<7,87>,<14,87>,<19,87>,<21,87>> RULE 19,4 ;---STATE 88 UINAD== CSTATE ;INAD STATE FOR REDUCTION E ::= OP E RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,75>,<4,78>,<7,75>,<10,75>,<13,75>,<15,75>,<18,83>,<19,75>,<22,75>,<24,75>,<26,75>,<29,75>,<31,84>,<32,75>,<35,85>,<37,86>,<38,75>,<40,87>,<41,88>,<43,89>,<46,75>,<48,75>,<50,75>,<56,75>,<59,93>,<63,94>,<67,75>,<70,95>,<71,96>,<72,97>,<79,98>,<81, 5>,<99,75>,<101,75>,<102,75>,<103,75>> LK <<1,88>,<2,88>,<3,88>,<5,88>,<7,88>,<10,88>,<11,88>,<13,88>,<14,88>,<15,88>,<16,88>,<19,88>,<21,88>> RULE 20,2 ;---STATE 89 BINAD== CSTATE ;INAD STATE FOR REDUCTION E ::= E OP E RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,75>,<4,78>,<7,75>,<10,75>,<13,75>,<15,75>,<18,83>,<19,75>,<22,75>,<24,75>,<26,75>,<29,75>,<31,84>,<32,75>,<35,85>,<37,86>,<38,75>,<40,87>,<41,88>,<43,89>,<46,75>,<48,75>,<50,75>,<56,75>,<59,93>,<63,94>,<67,75>,<70,95>,<71,96>,<72,97>,<79,98>,<81, 5>,<99,75>,<101,75>,<102,75>,<103,75>> LK <<1,89>,<2,89>,<3,89>,<5,89>,<7,89>,<10,89>,<11,89>,<13,89>,<14,89>,<15,89>,<16,89>,<19,89>,<21,89>> RULE 21,3 ;---STATE 90 RD <0,0,0,0,47,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 91 RD <0,0,0,0,0,0,49,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 92 RD <0,0,0,0,0,0,51,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 93 RD <0,0,43,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 94 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 95 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0> TOP <<1,65>,<7,65>,<10,65>,<13,65>,<15,65>,<19,65>,<22,65>,<24,65>,<26,65>,<29,65>,<32,65>,<38,65>,<46,65>,<48,65>,<50,65>,<56,65>,<63,64>,<67,65>,<81,65>,<99,65>,<101,65>,<102,65>,<103,65>> LK <<1,95>,<13,95>,<16,95>> RULE 36,3 ;---STATE 96 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 97 RD <0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<1,65>,<7,65>,<10,65>,<13,65>,<15,65>,<19,65>,<22,65>,<24,65>,<26,65>,<29,65>,<32,65>,<38,65>,<46,65>,<48,65>,<50,65>,<56,65>,<63,64>,<67,65>,<81,65>,<99,65>,<101,65>,<102,65>,<103,65>> LK <<1,97>,<13,97>,<16,97>> RULE 37,5 ;---STATE 98 RD <74,0,43,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 99 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,79,0,38> TOP <> LK <> RULE 0,0 ;---STATE 100 RD <0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <> LK <> RULE 0,0 ;---STATE 101 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,79,0,38> TOP <> LK <> RULE 0,0 ;---STATE 102 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,79,0,38> TOP <> LK <> RULE 0,0 ;---STATE 103 RD <0,0,41,56,0,50,0,55,59,0,0,63,0,0,0,0,35,37,0,79,0,38> TOP <> LK <> RULE 0,0 ;---STATE 104 RD <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> TOP <<7,9>,<81,100>,<99,23>,<101,30>,<102,33>,<103,27>> LK <> RULE 10,1 IF1,-NSTATES,< CONC (PRINTX ,\CSTATE,< STATES, NSTATES INCORRECT >) >> ;***** ASSEMBLE READ/LOOKAHEAD LITERAL TABLE POINTED TO FROM STATE VECTOR ***** READB= ;BASE OF LITERAL DATA ; OFFSET BY 1 SO 0 IS SPECIAL. LIT IF1,< CONC (PRINTX ,\<.-READB>,< WORDS IN READ/LOOKAHEAD TABLE >) > ;***** ASSEMBLE TOP LITERAL TABLE POINTED TO FROM STATE VECTOR ***** PRINTX BEGIN TOP VECTORS CSTATE==0 TOPB= .-1 ;BASE OF LITERAL DATA ;EXPAND THE TOP VECTORS REPEAT NSTATES,< CONC (TP,\) IFE CSTATE-,< CONC (PRINTX STATE ,\CSTATE) >> LIT IF1,< CONC (PRINTX ,\<.-TOPB>,< WORDS IN TOP TABLE >) > ;***** ASSEMBLE THE STATE VECTOR ITSELF ***** PRINTX BEGIN STATE VECTOR DEFINE XRULE(RN,NP) < XALL CONC < BYTE(6)RN(3)NP(9)RD>,\CSTATE(10)TOP,\CSTATE(8)LK,\CSTATE SALL > CSTATE==0 PARSTB: REPEAT NSTATES,)> CONC (PRINTX ,\<.-BPARST>,< TOTAL WORDS IN PARSE TABLE >) IF2,< ;CLEAN UP SYMBOL TABLE CSTATE==0 REPEAT NSTATES,< CONC (PURGE RD,\) CONC (PURGE TOP,\CSTATE) CONC (PURGE LK,\CSTATE) >> END Note: Lines longer than 256 characters were wrapped