/CLASSES [TRANSPARENT] 0 PREFIX EXTERNAL(128), OWN(32), BYTE(8), SHORT(0) 1 T ; 2 COLON : 3 COMMENT COMMENT 4 EQ = 5 CLB ( 6 LB ( 7 COMMA , 8 RB ) 9 JUMP -> 10 BAR ! 12 FOR FOR, CYCLE 13 START START, CYCLE, : 14 THEN THEN 15 PTEXT PRINTTEXT [NORMAL] 16 SIGN +(0), -(1) 17 UOP \(2) 18 OP1 <<(3), <>(3), >>(4), **(15) 19 OP2 &(6), *(12), //(13), /(14) 20 OP3 +(0), -(1), !!(10), !(11) 21 REFOP ++(7), --(8) 22 REFASS ==(9) 26 SIMP RETURN(16), TRUE(17), FALSE(18), STOP(27), EXIT(20), CONTINUE(21) 27 RESULT RESULT(19) 28 FAULT FAULT(28) 29 MONITOR MONITOR(29) 30 MCODE DAC(65), JMS(66), DZM(67), LAC(68), XOR(69), ADD(70), TAD(71), XCT(72), ISZ(73), AND(74), SAD(75), JMP(76), IOT(78), OPR(79), ADR(80), DAC*(81), JMS*(82), DZM*(83), LAC*(84), XOR*(85), ADD*(86), TAD*(87), XCT*(88), ISZ*(89), AND*(90), SAD*(91), JMP*(92), DAD(93), ADA(94), LAD(95) 31 LMCODE LIT(35), LAC#(36), XOR#(37), ADD#(38), TAD#(39), AND#(42), SAD#(43) 32 SWITCH SWITCH(33) 33 VTYPE INTEGER(2), INTEGERNAME(18), INTEGERARRAYNAME(19) 34 OWNVTYPE [33+1] 35 ATYPE INTEGERARRAY(3) 36 OWNATYPE [35+1] 37 RTYPE INTEGERMAP(100), INTEGERFN(101), PREDICATE(102), ROUTINE(103), SPEC(14), INTEGERMAPSPEC(36), INTEGERFNSPEC(37), PREDICATESPEC(38), ROUTINESPEC(39) 38 TYPE INTEGER(2), INTEGERNAME(18), INTEGERARRAYNAME(19), INTEGERMAP(100), INTEGERFN(101), PREDICATE(102), ROUTINE(103) 39 BEGEND ENDOFPRIM(1), ENDOFPERM(2), BEGIN(111), END(260), ENDOFPROGRAM(261), ENDOFFILE(261) 40 L [LABEL IDENTIFIER] 41 S [SWITCH IDENTIFIER] 42 V [VARIABLE IDENTIFIER] 43 A [ARRAY IDENTIFIER] 44 M [MAP IDENTIFIER] 45 F [FUNCTION IDENTIFIER] 46 P [PREDICATE IDENTIFIER] 47 R [ROUTINE IDENTIFIER] 48 IDENT [BUILT IN] 49 STRING [BUILT IN] 50 SCONST [BUILT IN] 51 CWORD IF(12), UNLESS(14) 52 AND AND 53 OR OR 54 NOT NOT 55 COP <(64), =(128), <=(192), >=(576), #(640), \=(640), >(704) 56 LWORD WHILE(20), UNTIL(23) 57 REPEAT REPEAT 58 FINISH FINISH 59 ELSE ELSE [FIGURATIVE] 64 SLAB /S 65 JLAB /IDENT 66 LAB /IDENT 67 AREF /A 68 MREF /M 69 DEST /V 70 ADEST /A 71 MDEST /M 72 APAR /A 73 MPAR /M 74 FPAR /F 75 PPAR /P 76 RPAR /R 77 VREF /V 78 BAREF /A 79 BMREF /M 80 BAPAR /A 81 BMPAR /M 82 BVREF /V 83 BSEP /COLON 84 OSEP /COMMA 85 SEP /AND 87 ASSA /EQ 88 MOD /BAR 89 CSEP1 /COMMA 90 CSEP2 /COMMA 92 STARTT /T 94 OWNT /T [PHRASAL] 97 IDENTS 98 EXPB 99 CONSTB 100 IMP /SIMP 101 COND 102 SCOND 103 REF 104 BREF 105 CONST /SCONST 106 EXP 107 EXP2 108 EXP1 109 SEXP /V 110 SEQ 111 APP /RULES SS0 -> LAB COLON, SLAB LB CONST< RB COLON SS1 -> VTYPE IDENTS T, OWNVTYPE IDENTS (EQ CONST< OSEP IDENTS)* (EQ CONST<)? OWNT, BEGEND T, RTYPE IDENT, ATYPE IDENTS EXPB< (COMMA IDENTS EXPB<)* T, OWNATYPE IDENT CONSTB< (EQ (CONST OSEP)* (T, CONST OWNT), OWNT), SWITCH IDENTS CONSTB< (COMMA IDENTS CONSTB<)* T, CONST (OSEP CONST)* (OSEP T, OWNT) SS2 -> (LB TYPE IDENT ((COMMA,TYPE,COMMA TYPE) IDENT)* RB)? T SS3 -> (FINISH? ELSE)? CWORD COND THEN? START? STARTT, (FINISH? ELSE)? CWORD COND THEN IMP ELSE START? STARTT, (FINISH? ELSE)? CWORD COND THEN IMP (ELSE IMP)? T, FINISH? ELSE START? STARTT, FINISH? ELSE IMP T, FINISH T, FOR SEQ (THEN IMP T, THEN? START? STARTT), FOR STARTT, LWORD COND (THEN IMP T, THEN? START? STARTT), REPEAT T, FAULT SCONST< JUMP (L,JLAB) T, MCODE (L,S,V,A,M,F,P,R,SCONST,IDENT) T, LMCODE CONST< T, IMP ((CWORD<,LWORD<) COND<, FOR SEQ<)? T IDENTS -> IDENT (COMMA IDENT)* EXPB -> LB EXP COLON EXP RB CONSTB -> LB CONST BSEP CONST RB IMP -> (DEST,RESULT) EQ EXP< (SEP IMP)?, DEST REFASS REF< (SEP IMP)?, RESULT REFASS REF<<, JUMP (L, JLAB, S APP<), R APP< (SEP IMP)?, ADEST APP< ASSA<< EXP<<< (SEP IMP)?, MDEST APP< EQ EXP<< (SEP IMP)?, PTEXT STRING (SEP IMP)?, MONITOR SCONST< COND -> SCOND ((AND< SCOND)*, (OR< SCOND)*) SCOND -> CLB COND RB, NOT SCOND, P APP<, EXP COP EXP< (COP EXP<)? REF -> VREF (REFOP< EXP<<)?, AREF APP<, MREF APP< BREF -> BVREF (REFOP< EXP<<)?, BAREF APP<, BMREF APP< CONST -> (SIGN,UOP) SCONST< EXP -> UOP? SEXP< (OP1 SEXP<)* (OP2 EXP1<)* (OP3 EXP2<)*, SIGN EXP2< (OP3 EXP2<)* EXP2 -> SEXP< (OP1 SEXP<)* (OP2 EXP1<)* EXP1 -> SEXP< (OP1 SEXP<)* SEXP -> SCONST, (A,F,M) APP<, LB EXP RB, BAR SEXP MOD SEQ -> V EQ EXP< CSEP1 EXP< CSEP2 EXP< APP -> LB EXP RB /END