COMPILR 
         IDENT     COMPILR                                              COMPILR      1
         TITLE COMPILER                                                 COMPILR      2
*  FOR A LISTING OF THE SNODEF COMDECK, CALLED BELOW, SEE MAINLUP.      COMPILR      3
         LIST  -L                                                       COMPILR      4
*CALL,SNODEF                                                            COMPILR      5
         LIST  L                                                        COMPILR      6
         EJECT                                                          COMPILR      7
*  ERROR                                                                COMPILR      8
         EXT   FATBUMP,RTERROR                                          COMPILR      9
*  MAINLUP                                                              COMPILR     10
*  THE FOLLOWING IS A COPY OF MICOP TABLE IN MAINLUP                    COMPILR     11
*  TO DEFINE THE MICRO OPERATION CODES                                  COMPILR     12
*                                                                       COMPILR     13
         MACRO MICOP,PARAM                                              COMPILR     14
         IF    -DEF,CC,1                                                COMPILR     15
CC       SET   -1                                                       COMPILR     16
CC       SET   CC+1                                                     COMPILR     17
PARAM    EQU   CC                                                       COMPILR     18
         ENDM                                                           COMPILR     19
*                                                                       COMPILR     20
XNOOP    MICOP                                                          COMPILR     21
XCATCHK  MICOP                                                          COMPILR     22
XALTCHK  MICOP                                                          COMPILR     23
XPMCHK   MICOP                                                          COMPILR     24
XASCHK   MICOP                                                          COMPILR     25
XMCHEK   MICOP                                                          COMPILR     26
XDCHEK   MICOP                                                          COMPILR     27
XCONCAT  MICOP                                                          COMPILR     28
XALT     MICOP                                                          COMPILR     29
XADD     MICOP                                                          COMPILR     30
XSUBTR   MICOP                                                          COMPILR     31
XUNADD   MICOP                                                          COMPILR     32
XUNSUB   MICOP                                                          COMPILR     33
XMULT    MICOP                                                          COMPILR     34
XDIV     MICOP                                                          COMPILR     35
XEXP     MICOP                                                          COMPILR     36
XPM      MICOP                                                          COMPILR     37
XPRD     MICOP                                                          COMPILR     38
XDOL     MICOP                                                          COMPILR     39
XSTAR    MICOP                                                          COMPILR     40
XASGN    MICOP                                                          COMPILR     41
XASGNPM  MICOP                                                          COMPILR     42
XSUBCM   MICOP                                                          COMPILR     43
XPARAM   MICOP                                                          COMPILR     44
XSKIP    MICOP                                                          COMPILR     45
XINDRCN  MICOP                                                          COMPILR     46
XINDRCV  MICOP                                                          COMPILR     47
XNOEND   MICOP                                                          COMPILR     48
XZERO    MICOP                                                          COMPILR     49
XNULL    MICOP                                                          COMPILR     50
XARRAY   MICOP                                                          COMPILR     51
XARRAYN  MICOP                                                          COMPILR     52
XARRAYV  MICOP                                                          COMPILR     53
XCALL    MICOP                                                          COMPILR     54
XNAME    MICOP                                                          COMPILR     55
XOPRND   MICOP                                                          COMPILR     56
XGOX     EQU   CC                                                       COMPILR     57
XGOS     MICOP                                                          COMPILR     58
XGOF     MICOP                                                          COMPILR     59
XGOTO    MICOP                                                          COMPILR     60
XGOTOT   MICOP                                                          COMPILR     61
XGOTOC   MICOP                                                          COMPILR     62
XGOREL   MICOP                                                          COMPILR     63
XNOFAIL  MICOP                                                          COMPILR     64
*                                                                       COMPILR     65
         EXT   MCOPTBL                                                  COMPILR     66
*  UTILITY                                                              COMPILR     67
         EXT   ITOS,SSTOS,STOSFX6,PTOPX4,ICX1X6,ZROX7,SSTOSF,ITOSF      COMPILR     68
         EXT   ITOSFTP,SOPERND,X1VALUE,FREESVD,SASSIGN,INDRCT,INDRX     COMPILR     69
         EXT   SEARCH,FREESTR                                           COMPILR     70
         EXT   DECFIL,SCHHBC                                            COMPILR     71
         EXT   TENTH,TEN                                                COMPILR     72
*  STORMAN                                                              COMPILR     73
         EXT   PUSHSTK,RESERVE,MORFREE,GETSTAK,GRBCOLL,RESHB            COMPILR     74
*  POST                                                                 COMPILR     75
         EXT   POST0,SMESS                                              COMPILR     76
*  IO                                                                   COMPILR     77
         EXT   ABT,BLANKS                                               COMPILR     78
         EXT   CALLCIO,CALLRCL,PEEKWD,GETWD,SKIPWDS,PUTWD,CHKOUTB       COMPILR     79
         EXT   CLOSE1                                                   COMPILR     80
*  PROCS                                                                COMPILR     81
        EXT   LUNDFWD                                                   COMPILR     82
*  COMPILR                                                              COMPILR     83
         ENTRY PRIORJ,ST1                                               COMPILR     84
         ENTRY DATE,TIME                                                COMPILR     85
         ENTRY PASS1,NEWUNIT,GETNEXT                                    COMPILR     86
         ENTRY P2TRCS,P2TRCT,P3TRCS,P3TRCT,P4TRCS,P4TRCT                COMPILR     87
*                                                                       COMPILR     88
*  DECLARE SOME PARAMETERS                                              COMPILR     89
*                                                                       COMPILR     90
BUFF5   EQU   400B                . SPACE REQUESTED BY THE COMPILER     COMPILR     91
LINPPG   EQU   56                  . LINES AVAILABLE/PAGE               COMPILR     92
         TITLE PASS 2 CONTROL TABLE                                     COMPILR     93
*                                                                       COMPILR     94
*        PASS 2 STATE-MACHINE STATES                                    COMPILR     95
*                                                                       COMPILR     96
ST1      EQU   0                                                        COMPILR     97
ST2      EQU   4                                                        COMPILR     98
ST3      EQU   8                                                        COMPILR     99
ST4      EQU   12                                                       COMPILR    100
ST5      EQU   16                                                       COMPILR    101
ST6      EQU   20                                                       COMPILR    102
ST7      EQU   24                                                       COMPILR    103
ST8      EQU   28                                                       COMPILR    104
ST9      EQU   32                                                       COMPILR    105
ST10     EQU   36                                                       COMPILR    106
ST11     EQU   40                                                       COMPILR    107
ST12     EQU   44                                                       COMPILR    108
ST13     EQU   48                                                       COMPILR    109
ST14     EQU   52                                                       COMPILR    110
ST15     EQU   56                                                       COMPILR    111
*                                                                       COMPILR    112
*        PASS 2 OPERAND SITUATIONS                                      COMPILR    113
*                                                                       COMPILR    114
OPSVAR   EQU   -1                  . IDENTIFIER OPERAND                 COMPILR    115
OPSLIT   EQU   -2                  . LITERAL STRING                     COMPILR    116
OPSINT   EQU   -3                  . INTEGER CONSTANT                   COMPILR    117
OPSREAL  EQU   -4                  . REAL CONSTANT                      COMPILR    118
OPSEXP   EQU   -5                  . EXPRESSION AS OPERAND              COMPILR    119
OPSSPEC  EQU   -6                  . ARRAY OR FUNCTION OPERAND          COMPILR    120
*                                                                       COMPILR    121
*        SOME PASS 2 INPUT VALUES                                       COMPILR    122
*                                                                       COMPILR    123
P2VAR    EQU   OPSVAR              . IDENTIFIER                         COMPILR    124
P2LIT    EQU   OPSLIT              . LITERAL STRING                     COMPILR    125
P2INT    EQU   OPSINT              . INTEGER CONSTANT                   COMPILR    126
P2REAL   EQU   OPSREAL             . REAL CONSTANT                      COMPILR    127
*                                                                       COMPILR    128
         MACRO HEAD,X,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O                     COMPILR    129
X        EQU   *-P2TBL                                                  COMPILR    130
         VFD   4/O,4/N,4/M,4/L,4/K,4/J,4/I,4/H,4/G,4/F,4/E,4/D,4/C,4/B,4COMPILR    131
,/A                                                                     COMPILR    132
         ENDM                                                           COMPILR    133
*                                                                       COMPILR    134
TAIL     MACRO A,B,C,D,E                                                COMPILR    135
         VFD   8/A,8/B,8/C,18/D,18/E                                    COMPILR    136
         ENDM                                                           COMPILR    137
*                                                                       COMPILR    138
         EJECT                                                          COMPILR    139
P2TBL    EQU   *-1                                                      COMPILR    140
P2PLUS       HEAD   0,0,13,13,0,0,0,0,1,1,2,2,0,0,2                     COMPILR    141
             TAIL   176B,0,P3PLUS,ST10,OUTP2                            COMPILR    142
             TAIL   176B,0,P3PLUS,ST12,OUTP2                            COMPILR    143
P2MINUS      HEAD   0,0,10,10,0,0,0,0,1,1,2,2,0,0,2                     COMPILR    144
             TAIL   176B,0,P3MIN,ST10,OUTP2                             COMPILR    145
             TAIL   176B,0,P3MIN,ST12,OUTP2                             COMPILR    146
P2MULT       HEAD   0,0,7,7,0,0,0,0,1,1,2,2,0,0,2                       COMPILR    147
             TAIL   176B,0,P3MULT,ST10,OUTP2                            COMPILR    148
             TAIL   176B,0,P3MULT,ST12,OUTP2                            COMPILR    149
P2DIV        HEAD   0,0,4,4,0,0,0,0,1,1,2,2,0,0,2                       COMPILR    150
             TAIL   176B,0,P3DIV,ST10,OUTP2                             COMPILR    151
             TAIL   176B,0,P3DIV,ST12,OUTP2                             COMPILR    152
P2EXP        HEAD   0,0,1,1,0,0,0,0,2,2,3,3,0,0,2                       COMPILR    153
             TAIL   176B,0,0,0,ACT2                                     COMPILR    154
             TAIL   176B,0,P3EXP,ST10,OUTP2                             COMPILR    155
             TAIL   176B,0,P3EXP,ST12,OUTP2                             COMPILR    156
P2UNPL       HEAD   0,0,0,0,0,0,0,0,1,0,2,0,0,0,2                       COMPILR    157
             TAIL   200B,0,P3UNPL,ST10,OUTP2                            COMPILR    158
             TAIL   200B,0,P3UNPL,ST12,OUTP2                            COMPILR    159
P2UNMIN      HEAD   0,0,0,0,0,0,0,0,1,0,2,0,0,0,2                       COMPILR    160
             TAIL   200B,0,P3UNMIN,ST10,OUTP2                           COMPILR    161
             TAIL   200B,0,P3UNMIN,ST12,OUTP2                           COMPILR    162
P2USTAR      HEAD   0,0,0,0,0,0,0,0,0,0,1,1,0,0,1                       COMPILR    163
             TAIL   200B,ST12,P3STAR,ST4,ACT3                           COMPILR    164
P2PRD        HEAD   0,0,7,7,0,0,0,0,0,0,1,1,0,0,1                       COMPILR    165
             TAIL   176B,ST12,P3PRD,ST4,ACT3                            COMPILR    166
P2DOL        HEAD   0,0,5,5,0,0,0,0,0,0,1,1,0,0,1                       COMPILR    167
             TAIL   176B,ST12,P3DOL,ST4,ACT3                            COMPILR    168
P2ALT        HEAD   0,0,3,3,0,0,0,0,0,0,1,1,0,0,1                       COMPILR    169
             TAIL   176B,0,P3ALT,ST11,OUTP2                             COMPILR    170
P2BLANK      HEAD   2,3,1,1,0,0,4,0,5,5,6,6,0,0,6                       COMPILR    171
             TAIL   176B,0,0,0,ACT2                                     COMPILR    172
             TAIL   300B,0,P3LABEL,ST2,ACT4                             COMPILR    173
             TAIL   176B,ST5,P3PM,ST11,ACT5                             COMPILR    174
             TAIL   200B,0,0,ST7,PASS2                                  COMPILR    175
             TAIL   176B,0,P3CAT,ST9,OUTP2                              COMPILR    176
             TAIL   176B,0,P3CAT,ST11,OUTP2                             COMPILR    177
P2UNPRD      HEAD   0,1,2,0,0,0,0,0,3,3,4,4,0,0,4                       COMPILR    178
             TAIL   200B,ST2,P3NAME,ST4,ACT20                           COMPILR    179
             TAIL   200B,0,P3NAME,ST4,OUTP2                             COMPILR    180
             TAIL   200B,ST10,P3NAME,ST4,ACT3                           COMPILR    181
             TAIL   200B,ST12,P3NAME,ST4,ACT3                           COMPILR    182
P2UNDOL      HEAD   0,5,1,1,0,0,0,2,3,3,4,4,0,0,4                       COMPILR    183
             TAIL   200B,0,P3INDR,ST3,OUTP2                             COMPILR    184
             TAIL   200B,ST7,P3BGTT,ST3,ACT6                            COMPILR    185
             TAIL   200B,ST10,P3INDR,ST3,ACT3                           COMPILR    186
             TAIL   200B,ST12,P3INDR,ST3,ACT3                           COMPILR    187
             TAIL   200B,ST2,P3INDR,ST3,ACT21                           COMPILR    188
P2LFTPR      HEAD   0,7,1,5,0,0,2,0,3,3,4,4,0,0,4                       COMPILR    189
             TAIL   300B,ST3,P3LFTPR,ST9,ACT9                           COMPILR    190
             TAIL   300B,0,P3COND,ST8,OUTP2                             COMPILR    191
             TAIL   300B,ST10,P3LFTPR,ST9,ACT9                          COMPILR    192
             TAIL   300B,ST12,P3LFTPR,ST11,ACT9                         COMPILR    193
             TAIL   100B,ST3,P3LFTPR,ST9,ACT9                           COMPILR    194
P2LFTBR      HEAD   0,1,2,2,0,0,3,0,4,4,5,5,0,0,5                       COMPILR    195
             TAIL   374B,ST2,0,ST3,ACT8                                 COMPILR    196
             TAIL   100B,ST3,0,0,ACT13                                  COMPILR    197
             TAIL   300B,ST7,P3BGTC,ST4,ACT14                           COMPILR    198
             TAIL   100B,ST10,0,0,ACT13                                 COMPILR    199
             TAIL   100B,ST12,0,0,ACT13                                 COMPILR    200
P2RGTPR      HEAD   0,0,14,14,0,0,0,1,2,2,2,2,3,0,15                    COMPILR    201
             TAIL   100B,0,P3GT,ST7,OUTP2                               COMPILR    202
             TAIL   176B,0,0,0,ACT11                                    COMPILR    203
             TAIL   176B,0,P3CALL,0,ACT17                               COMPILR    204
P2COMMA      HEAD   0,0,10,10,0,0,0,0,12,12,12,12,1,2,11                COMPILR    205
             TAIL   176B,ST13,P3PARAM,ST15,ACT3                         COMPILR    206
             TAIL   176B,ST14,P3SUBCM,ST9,ACT3                          COMPILR    207
P2RGTBR      HEAD   0,0,7,7,0,0,0,0,9,9,9,9,0,1,9                       COMPILR    208
             TAIL   176B,0,P3RGTBR,0,ACT17                              COMPILR    209
P2EQUAL      HEAD   0,1,5,5,2,0,0,0,7,7,7,7,0,0,7                       COMPILR    210
             TAIL   102B,ST6,P3ASGN,ST15,ACT3                           COMPILR    211
             TAIL   176B,ST6,P3PMA,ST15,ACT18                           COMPILR    212
P2CLN        HEAD   1,7,2,2,5,6,0,0,4,4,4,4,0,0,3                       COMPILR    213
             TAIL   301B,0,P3LABEL,ST7,ACT4                             COMPILR    214
             TAIL   177B,0,0,0,ACT2                                     COMPILR    215
             TAIL   376B,0,0,0,ACT12                                    COMPILR    216
             TAIL   176B,0,0,0,ACT16                                    COMPILR    217
             TAIL   176B,0,P3CLN2,ST7,OUTP2                             COMPILR    218
             TAIL   176B,0,P3CLN1,ST7,OUTP2                             COMPILR    219
             TAIL   302B,0,P3CLN2,ST7,OUTP2                             COMPILR    220
P2SMCLN      HEAD   2,3,4,4,1,5,6,0,7,7,7,7,0,0,8                       COMPILR    221
             TAIL   177B,0,P3RULE2,ST1,OUTP2                            COMPILR    222
             TAIL   301B,0,0,0,ACT19                                    COMPILR    223
             TAIL   376B,0,P3RULE2,ST1,OUTP2                            COMPILR    224
             TAIL   176B,0,0,0,ACT2                                     COMPILR    225
             TAIL   176B,0,P3RULE1,ST1,OUTP2                            COMPILR    226
             TAIL   200B,0,P3RULE3,ST1,OUTP2                            COMPILR    227
             TAIL   176B,0,0,0,ACT16                                    COMPILR    228
             TAIL   376B,0,0,0,ACT12                                    COMPILR    229
AUXPR        TAIL   100B,ST13,P3BCALL,ST15,ACT3                         COMPILR    230
AUXBR        TAIL   100B,ST14,P3LFTBR,ST9,ACT3                          COMPILR    231
P2END        HEAD   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1                       COMPILR    232
             TAIL   377B,0,P3END,0,OUTP2                                COMPILR    233
AUXERR       EQU    *-P2TBL                                             COMPILR    234
P2ERR3       HEAD   3,3,3,3,3,3,3,3,3,3,3,3,3,3,3                       COMPILR    235
+         TAIL      376B,0,0,0,ERRACT3                                  COMPILR    236
P2ERR2       HEAD   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2                       COMPILR    237
+         TAIL      376B,0,0,0,ERRACT2                                  COMPILR    238
P2ERR1       HEAD   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1                       COMPILR    239
+         TAIL      376B,0,0,0,ERRACT1                                  COMPILR    240
*                                                                       COMPILR    241
         TITLE PASS3 CONTROL TABLE                                      COMPILR    242
*                                                                       COMPILR    243
*        PASS 3 OPERATOR PRIORITIES                                     COMPILR    244
*                                                                       COMPILR    245
PRIORA   EQU   10                  . UNARY $, UNARY ., UNARY *, $, .    COMPILR    246
PRIORB   EQU   9                   . **                                 COMPILR    247
PRIORC   EQU   8                   . *, /                               COMPILR    248
PRIORD   EQU   7                   . +, -, UNARY +, UNARY -             COMPILR    249
PRIORE   EQU   6                   . CONCATENATION                      COMPILR    250
PRIORF   EQU   5                   . ALTERNATION, COMMA, ), !           COMPILR    251
PRIORG   EQU   4                   . (, ", PATTERN MATCH, END GO TO     COMPILR    252
PRIORH   EQU   3                   . =, ASSIGNPM, GO TO                 COMPILR    253
PRIORI   EQU   2                   . :, SEMICOLON                       COMPILR    254
PRIORJ   EQU   1                   . STACK BASE                         COMPILR    255
*                                                                       COMPILR    256
         MACRO TABLE,A,B,C,D,E,F                                        COMPILR    257
A        EQU   *-P3TBL                                                  COMPILR    258
         VFD   6/B,12/C,6/D,18/E,18/F                                   COMPILR    259
         ENDM                                                           COMPILR    260
*                                                                       COMPILR    261
P3TBL    EQU   *-1                                                      COMPILR    262
P3RULE1  TABLE 20B,0,PRIORI,0,ARULE1                                    COMPILR    263
P3RULE2  TABLE 20B,0,PRIORI,XSKIP,ARULE1                                COMPILR    264
P3RULE3  TABLE 40B,0,0,0,ARULE1                                         COMPILR    265
P3RULE4  TABLE 40B,0,0,0,ARULE4                                         COMPILR    266
P3BCALL  TABLE 40B,0,PRIORG,0,ABCALL                                    COMPILR    267
P3LFTBR  TABLE 42B,0,PRIORG,XARRAY,ALFTBR                               COMPILR    268
P3INDR   TABLE 40B,XINDRCV,PRIORA,0,STACKX4                             COMPILR    269
P3NAME   TABLE 50B,0,PRIORA,0,STACKX4                                   COMPILR    270
P3PM     TABLE 20B,XPM,PRIORG,XPMCHK,APM                                COMPILR    271
P3ASGN   TABLE 44B,XASGN,PRIORH,0,AASGN                                 COMPILR    272
P3PMA    TABLE 22B,XASGNPM,PRIORH,0,0                                   COMPILR    273
P3CLN1   TABLE 20B,0,PRIORI,0,PASS3                                     COMPILR    274
P3CLN2   TABLE 20B,0,PRIORI,XSKIP,PASS3                                 COMPILR    275
P3UNPL   TABLE 2B,XUNADD,PRIORD,XZERO,0                                 COMPILR    276
P3UNMIN  TABLE 2B,XUNSUB,PRIORD,XZERO,0                                 COMPILR    277
P3PLUS   TABLE 22B,XADD,PRIORD,XASCHK,0                                 COMPILR    278
P3MIN    TABLE 22B,XSUBTR,PRIORD,XASCHK,0                               COMPILR    279
P3MULT   TABLE 22B,XMULT,PRIORC,XMCHEK,0                                COMPILR    280
P3DIV    TABLE 22B,XDIV,PRIORC,XDCHEK,0                                 COMPILR    281
P3EXP    TABLE 22B,XEXP,PRIORB,XPMCHK,0                                 COMPILR    282
P3STAR   TABLE 16B,XSTAR,PRIORA,0,0                                     COMPILR    283
P3CAT    TABLE 22B,XCONCAT,PRIORE,XCATCHK,0                             COMPILR    284
P3ALT    TABLE 22B,XALT,PRIORF,XALTCHK,0                                COMPILR    285
P3DOL    TABLE 36B,XDOL,PRIORA,0,0                                      COMPILR    286
P3PRD    TABLE 36B,XPRD,PRIORA,0,0                                      COMPILR    287
P3NULL   TABLE 0B,0,0,XNULL,PASS3                                       COMPILR    288
P3PARAM  TABLE 20B,0,PRIORF,XPARAM,APARAM                               COMPILR    289
P3SUBCM  TABLE 20B,0,PRIORF,XSUBCM,PASS3                                COMPILR    290
P3CALL   TABLE 20B,0,PRIORF,0,ACALL                                     COMPILR    291
P3RGTBR  TABLE 20B,0,PRIORF,0,ARGTBR                                    COMPILR    292
P3LFTPR  TABLE 2B,0,PRIORG,0,0                                          COMPILR    293
P3RGTPR  TABLE 20B,0,PRIORF,0,ARGTPR                                    COMPILR    294
P3END    TABLE 40B,0,0,0,AEND                                           COMPILR    295
P3COND   TABLE 40B,0,0,0,ACOND                                          COMPILR    296
P3BGTT   TABLE 40B,0,PRIORH,0,ABGTT                                     COMPILR    297
P3BGTC   EQU   P3BGTT                                                   COMPILR    298
P3GT     TABLE 40B,0,0,0,AGT                                            COMPILR    299
P3GTT TABLE 20B,0,PRIORG,XGOTOT,AGTT                                    COMPILR    300
P3GTC    TABLE 20B,0,PRIORG,XGOTOC,AGTT                                 COMPILR    301
P3LABEL  TABLE 40B,0,0,0,ALABEL                                         COMPILR    302
*                                                                       COMPILR    303
P3ENDUN  EQU   P3CLN1                                                   COMPILR    304
*                                                                       COMPILR    305
         TITLE PASS1: MACROS                                            COMPILR    306
*  MACRO TO FETCH NEXT CHARACTER INTO X.XREG (DEFAULT = X.2)            COMPILR    307
*  FROM THOSE IN X4.                                                    COMPILR    308
*                                                                       COMPILR    309
FETCH    MACRO ONEMPTY,XREG                                             COMPILR    310
         NG    B4,ONEMPTY                                               COMPILR    311
         IFC   EQ,/XREG//                                               COMPILR    312
         AX2   X4,B4                                                    COMPILR    313
         BX2   -X0*X2                                                   COMPILR    314
         ELSE                                                           COMPILR    315
         AX.XREG X4,B4                                                  COMPILR    316
         BX.XREG -X0*X.XREG                                             COMPILR    317
         ENDIF                                                          COMPILR    318
         SB4   B4-6                                                     COMPILR    319
         ENDM                                                           COMPILR    320
*                                                                       COMPILR    321
P1TBL    MACRO VAL,FLAGS,ALTVAL,SADD                                    COMPILR    322
         IFC   EQ,/SADD//                                               COMPILR    323
         VFD   6/FLAGS,18/0,18/ALTVAL,18/VAL                            COMPILR    324
         ELSE                                                           COMPILR    325
         VFD   6/FLAGS,18/SADD-PASS1,18/ALTVAL,18/VAL                   COMPILR    326
         ENDIF                                                          COMPILR    327
         ENDM                                                           COMPILR    328
*                                                                       COMPILR    329
*  DEFINE  P1TAB  FLAG VALUES;  'P1F.' SYMBOLS ARE AMOUNTS TO SHIFT TO  COMPILR    330
*  LEFT JUSTIFY THE CORRESPONDING FLAG BIT.                             COMPILR    331
*                                                                       COMPILR    332
SLB      EQU   1S5                 . SUPPRESS LEADING BLANKS            COMPILR    333
P1F.SLB  EQU   0                                                        COMPILR    334
BUO      EQU   1S4                 . BINARY/UNARY OPERATOR              COMPILR    335
P1F.BUO  EQU   1                                                        COMPILR    336
IDC      EQU   1S3                 . IDENTIFIER CHARACTER               COMPILR    337
P1F.IDC  EQU   2                                                        COMPILR    338
DIG      EQU   1S2                 . DIGIT                              COMPILR    339
P1F.DIG  EQU   3                                                        COMPILR    340
         TITLE PASS1:  CONTROL TABLE                                    COMPILR    341
P1TAB    BSS   0                                                        COMPILR    342
*                                                                       COMPILR    343
P1ESC    P1TBL -ESCAPE,SLB                                      COMPILR    344
                                                                        COMPILR    345
         DUP   26                                  A THROUGH Z          COMPILR    346
         P1TBL -ID,IDC                                                  COMPILR    347
         ENDD                                                           COMPILR    348
                                                                        COMPILR    349
         DUP   10                                  0 THROUGH 9          COMPILR    350
         P1TBL -INT,IDC+DIG                                             COMPILR    351
         ENDD                                                           COMPILR    352
                                                                        COMPILR    353
         P1TBL P2UNPL,BUO,P2PLUS                   +                    COMPILR    354
         P1TBL P2UNMIN,BUO,P2MINUS                 -                    COMPILR    355
         P1TBL -STAR,BUO,P2MULT,SPC.STAR           *                    COMPILR    356
         P1TBL -SLASH,BUO,P2DIV,SPC.SLSH           /                    COMPILR    357
         P1TBL -LPAREN,,P2LFTPR                    (                    COMPILR    358
         P1TBL P2RGTPR,SLB                         )                    COMPILR    359
         P1TBL P2UNDOL,BUO,P2DOL                   $                    COMPILR    360
         P1TBL -SUPPRESS,SLB,P2EQUAL               =                    COMPILR    361
         P1TBL -BLANK                              BLANK                COMPILR    362
         P1TBL -SUPPRESS,SLB,P2COMMA               ,                    COMPILR    363
         P1TBL -PERIOD,IDC+BUO,P2PRD,SPC.PRD       .                    COMPILR    364
         P1TBL P2ERR1                              #                    COMPILR    365
         P1TBL -SUPPRESS,,P2LFTBR                  "                    COMPILR    366
         P1TBL P2RGTBR,SLB                         !                    COMPILR    367
         P1TBL -SUPPRESS,SLB,P2CLN                 :                    COMPILR    368
         P1TBL -LIT                                NOT EQUAL            COMPILR    369
         P1TBL P2ERR1                              _                    COMPILR    370
         P1TBL P2ERR2,BUO,P2ALT                    ]                    COMPILR    371
         P1TBL P2ERR1                              &                    COMPILR    372
         P1TBL -LIT                                @                    COMPILR    373
                                                                        COMPILR    374
         DUP   6                                   ? < > [ \ %          COMPILR    375
         P1TBL P2ERR1                                                   COMPILR    376
         ENDD                                                           COMPILR    377
                                                                        COMPILR    378
         P1TBL -SEMI,SLB                           SEMICOLON            COMPILR    379
                                                                        COMPILR    380
P1EXPON  P1TBL P2ERR2,BUO,P2EXP                    **                   COMPILR    381
*                                                                       COMPILR    382
P1ESCWD  VFD   6/0,18/END-PASS1,18/EOSEND-PASS1,18/SEMI-PASS1           COMPILR    383
                                                                        COMPILR    384
P1EOS    EQU   0*100B+0*1          .                       COMPILR    385
P1EOSEND EQU   0*100B+18*1         .                    COMPILR    386
P1END    EQU   0*100B+36*1         .                       COMPILR    387
          TITLE    PASS1: MAIN LOOP                                     COMPILR    388
*                                                                       COMPILR    389
*                                                                       COMPILR    390
PASS1    BSS   0                                                        COMPILR    391
*                                                                       COMPILR    392
         SA1   STATWD                                                   COMPILR    393
         LX1   60-4                                                     COMPILR    394
         PL    X1,P1LOOPMT                                              COMPILR    395
         TRACE                     . TURN ON TRACE                      COMPILR    396
         TRACE LIST                .   AND SET MODE TO -LIST-           COMPILR    397
*                                                                       COMPILR    398
P1LOOPMT RJ    PASS0               . FILL X4, THE CHARACTER BUFFER      COMPILR    399
         JP    P1LOOP              . (PASS0 SETS X0 = HOLE 6)           COMPILR    400
*                                                                       COMPILR    401
P1OUTBLK SX1   P2BLANK                                                  COMPILR    402
P1BOUTX1 SB4   B4+6                . BACK UP 1 CHARACTER AND            COMPILR    403
P1OUTX1  RJ    PASS2               . OUTPUT THE VALUE IN X1             COMPILR    404
         SA4   CURWD               . RESET THE CHARACTER BUFFER,        COMPILR    405
         SX0   -CHMASK             .   AND THE CHARACTER MASK           COMPILR    406
P1LOOP   FETCH P1LOOPMT            . SET X2 = NEXT CHARACTER            COMPILR    407
          ZR        X2,P1LOOPA     . SKIP IF AT AND OF LINE             COMPILR    408
          SA3       P0STWD                                              COMPILR    409
          UX3       B2,X3          . GRAB COUNT OF WHOLE WORDS          COMPILR    410
          SX6       B2                                                  COMPILR    411
          LX6       18                                                  COMPILR    412
          SX3       B4+6           . GET COLUMN WITHIN CURRENT WORD     COMPILR    413
          BX6       X6+X3                                               COMPILR    414
          LX6       18             . POSITION WORD                      COMPILR    415
          SA6       ARROWD                                              COMPILR    416
P1LOOPA   SA3       P1TAB+X2                                            COMPILR    417
NOINPUT  SX1   X3                  . SET X1 = VAL FIELD OF P1TAB ENTRY  COMPILR    418
         PL    X1,P1OUTX1          . OUTPUT THE TOKEN IN X1             COMPILR    419
         SB5   X1                  . VALUE FIELD                        COMPILR    420
         SB5   -B5                 .   CONTAINED COMPLEMENT             COMPILR    421
         JP    B5                  .     OF ACTION ADDRESS              COMPILR    422
*                                                                       COMPILR    423
SUPMT    NO                                                             COMPILR    424
         BX6   X3                                                       COMPILR    425
         SA6   P1TEMP1                                                  COMPILR    426
         RJ    PASS0               . REPLENISH X4                       COMPILR    427
         SA3   P1TEMP1                                                  COMPILR    428
*                                                                       COMPILR    429
*  SUPPRESS TRAILING BLANKS.                                            COMPILR    430
*                                                                       COMPILR    431
SUPPRESS FETCH SUPMT                                                    COMPILR    432
SUPNOINP IFCH  ( ),SUPPRESS        . SKIP BLANKS                        COMPILR    433
         AX3   18                                                       COMPILR    434
         SX1   X3                  . SET X1 = ALTVAL FIELD OF P1TAB ENT COMPILR    435
         JP    P1BOUTX1            . BACK UP 1 CHARACTER AND OUTPUT X1  COMPILR    436
*                                                                       COMPILR    437
BLANKMT  RJ    PASS0               . REPLENISH X4                       COMPILR    438
*                                                                       COMPILR    439
*  PROCESS A BLANK.                                                     COMPILR    440
*                                                                       COMPILR    441
BLANK    FETCH BLANKMT                                                  COMPILR    442
         IFCH  ( ),BLANK           . SKIP MULTIPLE BLANKS               COMPILR    443
         SA3   P1TAB+X2                                                 COMPILR    444
*        BX5   X3                                                       COMPILR    445
*        LX5   P1F.SLB             . NOTE SYMBOL = 0                    COMPILR    446
*        NG    X5,NOINPUT                                               COMPILR    447
         NG    X3,NOINPUT          . = , : ) !                  COMPILR    448
         BX5   X3                                                       COMPILR    449
         LX5   P1F.BUO                                                  COMPILR    450
         PL    X5,P1OUTBLK         . NOT A BINARY/UNARY OPERATOR        COMPILR    451
IS.BINUN FETCH IS.BU.MT                                                 COMPILR    452
         IFCH  ( ),SUPPRESS        . TRAILING BLANK => BINARY OPERATOR  COMPILR    453
         BX5   X3                                                       COMPILR    454
         AX5   18+18               . RIGHT ADJUST AND EXTRACT           COMPILR    455
         SB5   X5                  .   THE SPECIAL ACTION ADDRESS FIELD COMPILR    456
         NZ    B5,P1JPB5           . DO SPECIAL ACTION FOR COMPOSITE OP COMPILR    457
         SX6   X3                  . VALUE FIELD (CONTAINS UNARY OP)    COMPILR    458
P1OUTUX6 SA6   P1TEMP1             . SAVE UNARY TOKEN                   COMPILR    459
         SB4   B4+6                . BACK UP 1 CHARACTER                COMPILR    460
         SX1   P2BLANK                                                  COMPILR    461
         RJ    PASS2                                                    COMPILR    462
         SA1   P1TEMP1             . OUTPUT                             COMPILR    463
         JP    P1OUTX1             .   SAVED TOKEN                      COMPILR    464
*                                                                       COMPILR    465
IS.BU.MT BX6   X3                                                       COMPILR    466
         SA6   P1TEMP1                                                  COMPILR    467
         RJ    PASS0               . REPLENISH X4                       COMPILR    468
         SA3   P1TEMP1                                                  COMPILR    469
         JP    IS.BINUN                                                 COMPILR    470
*                                                                       COMPILR    471
*  FOLLOWING ARE THE SPECIAL ACTIONS FOR * / AND PERIOD:                COMPILR    472
*                                                                       COMPILR    473
SPC.STAR IFCH  *,EXPON             . ** IS EXPONENTIATION               COMPILR    474
         SX6   P2USTAR             . OUTPUT                      COMPILR    475
         JP    P1OUTUX6            .                  COMPILR    476
*                                                                       COMPILR    477
SPC.SLSH IFCH  /,ALT               . // IS SYNONYM FOR ]                COMPILR    478
CHK.RBR  IFCH  ),RIGHTBR           . /) IS SYNONYM FOR !                COMPILR    479
         SX1   P2CLN               . / IS SYNONYM FOR :     COMPILR    480
         JP    P1BOUTX1            . NOTE COLON SUPPRESSES LEADING BLNKSCOMPILR    481
*                                                                       COMPILR    482
SPC.PRD  SA3   P1TAB+X2            .                     COMPILR    483
         LX3   P1F.DIG             .   MARKS START                      COMPILR    484
         NG    X3,REALA            .     OF REAL NUMBER                 COMPILR    485
         SX6   P2UNPRD             . OUTPUT                      COMPILR    486
         JP    P1OUTUX6            .                COMPILR    487
*                                                                       COMPILR    488
EXPON    SA3   P1EXPON             . FETCH (EXTENDED)  P1TAB  ENTRY     COMPILR    489
         JP    IS.BINUN            . CHECK FOR TRAILING BLANKS, ETC.    COMPILR    490
*                                                                       COMPILR    491
ALT      SA3   P1TAB+1R]                                                COMPILR    492
         JP    IS.BINUN                                                 COMPILR    493
*                                                                       COMPILR    494
RIGHTBR  SX1   P2RGTBR                                                  COMPILR    495
         JP    P1OUTX1             . (NOTE: ! SUPPRESSES LEADING BLANKS)COMPILR    496
*                                                                       COMPILR    497
STARMT   RJ    PASS0               . REPLENISH X4                       COMPILR    498
*                                                                       COMPILR    499
*  PROCESS STAR NOT FOLLOWING A BLANK.                                  COMPILR    500
*                                                                       COMPILR    501
STAR     FETCH STARMT                                                   COMPILR    502
         IFCH  *,UNEXPON           . RECALL ** IS EXPONENTIATION        COMPILR    503
         SX1   P2USTAR                                                  COMPILR    504
         JP    P1BOUTX1            . BACK UP 1 CHARACTER AND OUTPUT X1  COMPILR    505
*                                                                       COMPILR    506
UNEXPON  SX1   P2ERR2              .           COMPILR    507
         JP    P1OUTX1                                                  COMPILR    508
*                                                                       COMPILR    509
SLASHMT  RJ    PASS0               . REPLENISH X4                       COMPILR    510
*                                                                       COMPILR    511
*  PROCESS SLASH NOT FOLLOWING A BLANK.                                 COMPILR    512
*                                                                       COMPILR    513
SLASH    FETCH SLASHMT                                                  COMPILR    514
         IFNCH /,CHK.RBR                                                COMPILR    515
         SX1   P2ERR2              . RECALL // MEANS ]                  COMPILR    516
         JP    P1OUTX1                                                  COMPILR    517
*                                                                       COMPILR    518
LPARENMT RJ    PASS0               . REPLENISH X4                       COMPILR    519
         SA3   P1TAB+1R(           . RESET X3                           COMPILR    520
*                                                                       COMPILR    521
*  PROCESS LEFT PARENTHESIS.                                            COMPILR    522
*                                                                       COMPILR    523
LPAREN   FETCH LPARENMT                                                 COMPILR    524
         IFNCH /,SUPNOINP          . SUPPRESS POSSIBLE TRAILING BLANKS  COMPILR    525
         SA3   P1TAB+1R"           . (/ IS SYNONYM FOR "                COMPILR    526
         JP    SUPPRESS            . SUPPRESS TRAILING BLANKS           COMPILR    527
*                                                                       COMPILR    528
PERIODMT RJ    PASS0               . REPLENISH X4                       COMPILR    529
*                                                                       COMPILR    530
*  PROCESS PERIOD NOT FOLLOWING A BLANK.                                COMPILR    531
*                                                                       COMPILR    532
PERIOD   FETCH PERIODMT            . SET X2 = NEXT CHARACTER            COMPILR    533
         SA3   P1TAB+X2            . PERIOD FOLLOWED                    COMPILR    534
         LX3   P1F.DIG             .   BY DIGIT MARKS                   COMPILR    535
         NG    X3,REALB            .     START OF REAL NUMBER           COMPILR    536
         SX1   P2UNPRD                                                  COMPILR    537
         JP    P1BOUTX1            . BACK UP 1 CHAR AND OUTPUT X1       COMPILR    538
*                                                                       COMPILR    539
ESCAPEMT RJ    PASS0                                                    COMPILR    540
*                                                                       COMPILR    541
*                                                                       COMPILR    542
*  PROCESS  CHARACTER.                                          COMPILR    543
*                                                                       COMPILR    544
ESCAPE   FETCH ESCAPEMT                                                 COMPILR    545
         SA1   P1ESCWD             . CHARACTER FOLLOWING                COMPILR    546
         SB2   X2                  .    IS SHIFT COUNT          COMPILR    547
         AX1   B2,X1               .     TO RIGHT ADJUST THE            COMPILR    548
         SB5   X1+0                .       CORRESPONDING ACTION         COMPILR    549
P1JPB5   JP    PASS1+B5            .         ADDRESS IN  P1ESCWD        COMPILR    550
*                                                                       COMPILR    551
EOSEND   SA1   RULENO                                                   COMPILR    552
         SX6   X1+1                                                     COMPILR    553
         SA6   RULENO              . STORE UPDATED STATEMENT COUNTER    COMPILR    554
         SX1   P2SMCLN                                                  COMPILR    555
         RJ    PASS2                                                    COMPILR    556
END      SX1   P2END                                                    COMPILR    557
         JP    P1OUTX1                                                  COMPILR    558
*                                                                       COMPILR    559
*  PROCESS A SEMICOLON.                                                 COMPILR    560
*                                                                       COMPILR    561
SEMI     SA1   RULENO                                                   COMPILR    562
         SX6   X1+1                                                     COMPILR    563
         SA6   RULENO                                                   COMPILR    564
         SX1   P2SMCLN                                                  COMPILR    565
         JP    P1OUTX1                                                  COMPILR    566
         TITLE PASS1: BUILDING HEAP BLOCKS WITH STRINGS (ID, INT, LIT)  COMPILR    567
*  THE PROCESSING OF IDENTIFIERS, STRING LITERALS, AND NUMERIC (INTEGER COMPILR    568
*  AND REAL) CONSTANTS INVOLVES MAKING ENTRIES IN THE COMPILER STATIC   COMPILR    569
*  STORAGE.  HOWEVER, PASS1 DOES NOT UPDATE  MAXSTAT ;  IT PLACES AN    COMPILR    570
*  ENTRY IN STATIC BEGINNING AT  (MAXSTAT)  AND OUTPUTS AN APPROPRIATE  COMPILR    571
*  TOKEN ( P2VAR ,  P2LIT , ETC.)  PASS3 INCREMENTS  MAXSTAT  IF THE    COMPILR    572
*  OPERAND HAS NOT BEEN PREVIOUSLY ENCOUNTERED.                         COMPILR    573
*                                                                       COMPILR    574
*  PASS1 MANIPULATES A VARIABLE  P1MAX  WHILE BUILDING A HEAP STORAGE   COMPILR    575
*  ENTRY CONTAINING A STRING (ID, LIT, INT);  P1MAX  CONTAINS THE       COMPILR    576
*  ADDRESS FOR THE NEXT STRING WORD.  TSTBUMP  IS A ROUTINE WHICH TESTS COMPILR    577
*  FOR ROOM TO ADVANCE  P1MAX ; IT CALLS  BUMP  IF NECESSARY.           COMPILR    578
*                                                                       COMPILR    579
*  MACRO TO INITIALIZE  P1MAX  AND THE HEAP BLOCK-WITH-STRING-BUILDING  COMPILR    580
*  REGISTERS -- B2, B3, AND X5.                                         COMPILR    581
*                                                                       COMPILR    582
INITHBWS MACRO OFFSET                                                   COMPILR    583
         SA1   MAXSTAT                                                  COMPILR    584
         SX6   X1+OFFSET           . ADDRESS FOR FIRST STRING WORD      COMPILR    585
         SA6   P1MAX                                                    COMPILR    586
         SB2   B0                  . INITIALIZE B2 = CLENGTH            COMPILR    587
         BX5   X5-X5               . INITIALIZE X5 = 7-CHARACTER BUFFER COMPILR    588
         SB3   42                  . INITIALIZE B3 = BITS LEFT IN X5    COMPILR    589
         ENDM                                                           COMPILR    590
*                                                                       COMPILR    591
*  TSTBUMP                                                              COMPILR    592
*                                                                       COMPILR    593
*  RETURNS:    X0 = HOLE 6 (AS USED BY THE  FETCH  MACRO OF PASS1)      COMPILR    594
*              A2,X2 = P1MAX,(P1MAX) = NEXT ADDRESS FOR STRING WORD     COMPILR    595
*              X6 = (P1MAX)+1                                           COMPILR    596
*  SAVES:      X3, X5, X5, B2, B3, B4, B5, AND THE PASS2-3-4 REGISTERS  COMPILR    597
*                                                                       COMPILR    598
TSTBUMP  BSSZ  1                   . ENTRY/EXIT                         COMPILR    599
TB1      SX1   B6                                                       COMPILR    600
         NG    B6,TB2                                                   COMPILR    601
         BX1   -X1                                                      COMPILR    602
TB2      SA2   P1MAX                                                    COMPILR    603
         SX6   X2+1                                                     COMPILR    604
         IX1   X6+X1                                                    COMPILR    605
         MX0   60-6                                                     COMPILR    606
         NG    X1,TSTBUMP                                               COMPILR    607
         RJ    BUMP                . GET MORE ROOM                      COMPILR    608
         JP    TB1                 . RESET X0, A2-X2, X6 AND EXIT       COMPILR    609
*                                                                       COMPILR    610
*  PUTCH  PUTS THE CHARACTER IN X2 INTO THE BUFFER X5 AFTER STORING X5  COMPILR    611
*  AND UPDATING P1MAX IF NECESSARY (ALSO UPDATES B2 AND B3).            COMPILR    612
*                                                                       COMPILR    613
*  SAVES:      X0 = HOLE 6, X3, X4, B4, AND THE PASS2-3-4 REGISTERS     COMPILR    614
*                                                                       COMPILR    615
PUTCH1   LX5   CHSIZ               . PUT                                COMPILR    616
         BX5   X5+X2               .   CHARACTER                        COMPILR    617
         SB3   B3-CHSIZ            .     INTO BUFFER                    COMPILR    618
PUTCH    BSSZ  1                   . ENTRY/EXIT                         COMPILR    619
         SB2   B2+1                . INCREMENT CLENGTH                  COMPILR    620
         NG    B2,STRLONG                                               COMPILR    621
         NZ    B3,PUTCH1           . STILL ROOM IN X5                   COMPILR    622
         SB3   42-CHSIZ            . RESET THE BIT COUNTER              COMPILR    623
         LX5   18                  . LEFT JUSTIFY THE CHARACTERS        COMPILR    624
         SB5   X2                  . SAVE NEW CHARACTER                 COMPILR    625
         RJ    TSTBUMP             . DOES  SA2 P1MAX; SX6 X2+1 ...      COMPILR    626
         SA6   A2                  . UPDATE  P1MAX                      COMPILR    627
         BX7   X5+X6               . COMBINE CHARACTERS AND LINK        COMPILR    628
         SA7   X2                  . STORE STRING WORD                  COMPILR    629
         SX5   B5                  . NOW BUFFER CONTAINS 1 CHARACTER    COMPILR    630
         JP    PUTCH               . RETURN                             COMPILR    631
*                                                                       COMPILR    632
*  FINHBWS:                                                             COMPILR    633
*        (1) BACKS UP THE CHAR POINTER, B4, SINCE ID, LIT, AND INT ALL  COMPILR    634
*            TOUCH AN EXTRA CHARACTER;                                  COMPILR    635
*        (2) STORES THE LAST STRING WORD, (X5);                         COMPILR    636
*        (3) STORES THE HEAP BLOCK HEADER;                              COMPILR    637
*    AND (4) RETURNS X1=CLENGTH, X2=LAST, AND X4=(MAXSTAT)              COMPILR    638
*                                                                       COMPILR    639
*  PARAMETER:  B5 = HEAP STORAGE TYPE                                   COMPILR    640
*                                                                       COMPILR    641
*  SAVES:      X3                                                       COMPILR    642
*                                                                       COMPILR    643
FINHBWS  BSSZ  1                   . ENTRY/EXIT                         COMPILR    644
         SB4   B4+6                . BACK UP 1 CHARACTER                COMPILR    645
         RJ    TSTBUMP                                                  COMPILR    646
         SB3   B3+18               . COMPUTE SHIFT                      COMPILR    647
         LX7   B3,X5               .   TO LEFT JUSTIFY (X5)             COMPILR    648
         SA7   X2                  . STORE STRING WORD (WITH ZERO LINK) COMPILR    649
         SX5   B5                  . (VAR, LIT, OR INT)TYP              COMPILR    650
         LX5   1+18                                                     COMPILR    651
         SX1   B2                  . CLENGTH IS                         COMPILR    652
         BX7   X5+X1               .   F3 OF HS HEADER FOR VAR,LIT,INT  COMPILR    653
         LX7   18                                                       COMPILR    654
         SA4   MAXSTAT                                                  COMPILR    655
         IX6   X6-X4               . BYPASS = (P1MAX) - (MAXSTAT) + 1   COMPILR    656
         BX7   X7+X6               .   IS F2                            COMPILR    657
         LX7   18                                                       COMPILR    658
         SA7   X4                                                       COMPILR    659
         JP    FINHBWS             . RETURN                             COMPILR    660
          TITLE    PASS1: IDENTIFIER PROCESSING                         COMPILR    661
*   ::=  ]        COMPILR    662
*   ::=  ]  ] .                    COMPILR    663
*                                                                       COMPILR    664
ID       INITHBWS 2                . ROOM FOR  VARTYP  HEADER, VALUE SVDCOMPILR    665
         JP    IDPUTCH             . JUMP INTO MAIN LOOP                COMPILR    666
*                                                                       COMPILR    667
IDMT     PX6   B3,X5               . SAVE STRING BUFFER, BIT COUNTER    COMPILR    668
         SX7   B2                  . SAVE CLENGTH                       COMPILR    669
         SA6   P1TEMP1                                                  COMPILR    670
         SA7   P1TEMP2                                                  COMPILR    671
         RJ    PASS0               . REPLENISH X4                       COMPILR    672
         SA1   P1TEMP1                                                  COMPILR    673
         SA2   P1TEMP2                                                  COMPILR    674
         NO                                                             COMPILR    675
         UX5   B3,X1               . RESTORE B3, X5                     COMPILR    676
         SB2   X2+0                . RESTORE B2                         COMPILR    677
IDLOOP   FETCH IDMT                . SET X2 = NEXT CHARACTER            COMPILR    678
         SA3   P1TAB+X2                                                 COMPILR    679
         NO                                                             COMPILR    680
         LX3   P1F.IDC                                                  COMPILR    681
         PL    X3,IDEND            . NOT AN       COMPILR    682
IDPUTCH  RJ    PUTCH               . ADD CHAR IN X2 TO THE STRING       COMPILR    683
         JP    IDLOOP                                                   COMPILR    684
*                                                                       COMPILR    685
IDEND    SB5   VARTYP              . HEAP STORAGE TYPE                  COMPILR    686
         RJ    FINHBWS                                                  COMPILR    687
         SX1   P2VAR               . OUTPUT                 COMPILR    688
         JP    P1OUTX1             .                              COMPILR    689
          TITLE    PASS1: LITERAL PROCESSING                            COMPILR    690
*   ::=  ]                          COMPILR    691
*   ::=   , I = 1, 2         COMPILR    692
*   ::=  REPLACED BY   >      COMPILR    694
*   ::= '                                                       COMPILR    695
*   ::= @                                                       COMPILR    696
*                                                                       COMPILR    697
LIT      INITHBWS 2                . ROOM FOR  LITTYP  HEADER,  SSTY SVDCOMPILR    698
         SX3   X2+0                . SAVE                     COMPILR    699
         SX7   1                   . SIGNAL PASS0 THAT                  COMPILR    700
         SA7   P1LTFLG             .   WE ARE INSIDE A LITERAL NOW      COMPILR    701
         JP    LITLOOP                                                  COMPILR    702
*                                                                       COMPILR    703
LITLPMT  PX6   B3,X5               . SAVE STRING BUFFER, BIT COUNTER    COMPILR    704
         SX7   B2                                                       COMPILR    705
         LX7   18                                                       COMPILR    706
         BX7   X7+X3               . SAVE CLENGTH,            COMPILR    707
         SA6   P1TEMP1                                                  COMPILR    708
         SA7   P1TEMP2                                                  COMPILR    709
         RJ    PASS0               . REPLENISH X4 = INPUT BUFFER        COMPILR    710
         SA1   P1TEMP1                                                  COMPILR    711
         SA2   P1TEMP2                                                  COMPILR    712
         UX5   B3,X1               . RESTORE B3, X5                     COMPILR    713
         SX3   X2                  . RESTORE X3                         COMPILR    714
         AX2   18                                                       COMPILR    715
         SB2   X2                  . RESTORE B2                         COMPILR    716
LITLOOP  FETCH LITLPMT             . SET X2 = NEXT CHARACTER            COMPILR    717
*        SX6   X2-P1ESC+P1TAB      .  IS CODE 00B               COMPILR    718
*        ZR    X6,LITEOS                                                COMPILR    719
         ZR    X2,LITEOS           . ERROR - NO CLOSING QUOTE           COMPILR    720
         NO                                                             COMPILR    721
         BX7   X2-X3                                                    COMPILR    722
         ZR    X7,LITQUOTE         .  ENCOUNTERED             COMPILR    723
LITPUTCH RJ    PUTCH               . ADD CHAR IN X2 TO THE STRING       COMPILR    724
         JP    LITLOOP                                                  COMPILR    725
*                                                                       COMPILR    726
LITQUOMT PX6   B3,X5               . SAVE B3, X5,                       COMPILR    727
         SX7   B2                  .   B2,                              COMPILR    728
         LX7   18                  .     AND                            COMPILR    729
         BX7   X7+X3               .       X3                           COMPILR    730
         SA6   P1TEMP1                                                  COMPILR    731
         SA7   P1TEMP2                                                  COMPILR    732
         RJ    PASS0               . REPLENISH X4                       COMPILR    733
         SA1   P1TEMP1                                                  COMPILR    734
         SA2   P1TEMP2                                                  COMPILR    735
         UX5   B3,X1               . RESTORE B3, X5,                    COMPILR    736
         SX3   X2                  .   X3,                              COMPILR    737
         AX2   18                  .     AND                            COMPILR    738
         SB2   X2                  .       B2                           COMPILR    739
LITQUOTE FETCH LITQUOMT            . SET X2 = NEXT CHARACTER            COMPILR    740
         BX7   X3-X2               . OUTPUT                   COMPILR    741
         ZR    X7,LITPUTCH         .   FOR          COMPILR    742
LITEND   SB5   LITTYP              . HS TYPE                            COMPILR    743
         RJ    FINHBWS             . SETS X1, X2, X4 TO (RESPECTIVELY): COMPILR    744
         SX7   SSTY                                                     COMPILR    745
         LX7   1+18                                                     COMPILR    746
         BX7   X7+X1               .   CLENGTH,                         COMPILR    747
         LX7   18                                                       COMPILR    748
         BX7   X7+X2               .     LAST,                          COMPILR    749
         SX6   X4+2                .       AND (MAXSTAT)                COMPILR    750
         LX7   18                                                       COMPILR    751
         BX7   X7+X6               . FIRST = F1                         COMPILR    752
         SA7   X4+1                . STORE  SSTY  SVD                   COMPILR    753
         SX1   P2LIT               . OUTPUT             COMPILR    754
         JP    LITEXIT             .                              COMPILR    755
*                                                                       COMPILR    756
LITEOS   SB4   B4+6                . BACK UP OVER  CHARACTER    COMPILR    757
         SX1   P2ERR3              .                  COMPILR    758
LITEXIT  SX7   0                   . SIGNAL PASS0 THAT                  COMPILR    759
         SA7   P1LTFLG             .   WE ARE NO LONGER WITHIN A LITERALCOMPILR    760
         JP    P1OUTX1                                                  COMPILR    761
          TITLE    PASS1: INTEGER PROCESSING                            COMPILR    762
*   ::=                                 COMPILR    763
*   ::=  ]                    COMPILR    764
*                                                                       COMPILR    765
INTSKPMT RJ    PASS0               . REPLENISH X4                       COMPILR    766
INTSKPLZ FETCH INTSKPMT            . SET X2 = NEXT CHARACTER            COMPILR    767
INT      IFCH  0,INTSKPLZ          . SKIP LEADING ZEROS                 COMPILR    768
         INITHBWS 3                . ROOM FOR  INTTYP  HEADER,  SITY    COMPILR    769
*                                      SVD, INTEGER                     COMPILR    770
         SX3   0                   . INITIALIZE VAL() = 0      COMPILR    771
         JP    INTNOINP                                                 COMPILR    772
*                                                                       COMPILR    773
*                                                                       COMPILR    774
INTLPMT  PX6   B3,X5               . SAVE B3, X5,                       COMPILR    775
         SX7   B2                  .   B2,                              COMPILR    776
         SA6   P1TEMP1                                                  COMPILR    777
         SA7   P1TEMP2                                                  COMPILR    778
         BX6   X3                  .     AND X3                         COMPILR    779
         SA6   P1TEMP3                                                  COMPILR    780
         RJ    PASS0               . REPLENISH X4                       COMPILR    781
         SA1   P1TEMP1                                                  COMPILR    782
         SA2   P1TEMP2                                                  COMPILR    783
         SA3   P1TEMP3             . RESTORE X3,                        COMPILR    784
         SB2   X2                  .   B2,                              COMPILR    785
         UX5   B3,X1               .     AND B3, X5                     COMPILR    786
INTLOOP  FETCH INTLPMT             . SET C2 = NEXT CHARACTER            COMPILR    787
INTNOINP SA1   P1TAB+X2                                                 COMPILR    788
         LX1   P1F.DIG                                                  COMPILR    789
         PL    X1,INTEND           . NOT A                       COMPILR    790
         SX6   X2-1R0              . CONVERT  TO BINARY          COMPILR    791
         SB5   10                                                       COMPILR    792
         EQ    B2,B5,INTLONG       . WE WILL TREAT THE INTEGER AS A     COMPILR    793
*                                      LITERAL STRING, BUT STILL KEEP   COMPILR    794
*                                      THE BINARY IN CASE IT IS A REAL  COMPILR    795
INTACCUM SX7   10                                                       COMPILR    796
         PX7   X7                  . SET X7 = 10.0                      COMPILR    797
         PX6   X6                  . FLOAT THE                   COMPILR    798
         DX3   X7*X3               . VAL(INTEGER) := 10 * VAL(INTEGER)  COMPILR    799
         OR    X3,INTOR            . OUT OF RANGE                       COMPILR    800
         FX3   X3+X6               . ADD IN VAL()                COMPILR    801
         OR    X3,INTOR            . OUT OF RANGE                       COMPILR    802
         RJ    PUTCH               . ADD CHARACTER TO THE STRING        COMPILR    803
         JP    INTLOOP                                                  COMPILR    804
*                                                                       COMPILR    805
INTOR    SA7   -1 KLUDGE  KLUDGE  KLUDGE  KLUDGE                        COMPILR    806
STRLONG  EQU   INTOR  GE  KLUDGE  KLUDGE  KLUDGE                        COMPILR    807
*                                                                       COMPILR    808
INTLONG  SA1   MAXSTAT                                                  COMPILR    809
         SA1   X1+3                . FIRST WORD OF  SITY  STRING        COMPILR    810
         MX7   59                  . =-1                                COMPILR    811
         IX7   X1+X7               . ADJUST LINK                        COMPILR    812
         SA7   A1-1                                                     COMPILR    813
         SX7   A1+0                                                     COMPILR    814
         SA7   P1MAX               . SET  P1MAX  AS IF IN LIT CODE      COMPILR    815
         JP    INTACCUM            . (WE MAY BE IN A REAL CONSTANT)     COMPILR    816
*                                                                       COMPILR    817
INTEND   IFCH  .,REAL              . PROCESS REAL CONSANT               COMPILR    818
         SB5   10                                                       COMPILR    819
         GT    B2,B5,LITEND        . TREAT LONG INTEGER AS STRING LIT   COMPILR    820
         NZ    B2,INTEND1          . VAL(INTEGER) > 0                   COMPILR    821
         SX5   1R0                 . IN CASE INTEGER WAS ALL ZEROS,     COMPILR    822
         SB3   42-CHSIZ            .   UNSUPPRESS EXACTLY               COMPILR    823
         SB2   1                   .     1 ZERO CHARACTER               COMPILR    824
INTEND1  SB5   INTTYP              . HS TYPE                            COMPILR    825
         RJ    FINHBWS             . RETURNS X1, X2, X4 =               COMPILR    826
         SX6   SITY                                                     COMPILR    827
         LX6   1+18                                                     COMPILR    828
         BX6   X6+X1               .   CLENGTH,                         COMPILR    829
         LX6   18                                                       COMPILR    830
         BX6   X6+X2               .     LAST = (P1MAX),                COMPILR    831
         SX5   X4+3                .       AND (MAXSTAT)                COMPILR    832
         LX6   18                                                       COMPILR    833
         BX6   X6+X5               . FIRST = (MAXSTAT) + 3              COMPILR    834
         SA6   X4+1                . STORE  SITY  SVD                   COMPILR    835
         UX7   B0,X3               . UNFLOAT THE INTEGER AND            COMPILR    836
         SA7   X4+2                .   STORE FOLLOWING THE SVD          COMPILR    837
         SX1   P2INT               . OUTPUT           COMPILR    838
         JP    P1OUTX1             .                              COMPILR    839
          TITLE    PASS1: REAL NUMBER PROCESSING                        COMPILR    840
REALA    SX1   P2BLANK                                                  COMPILR    841
         RJ    PASS2                                                    COMPILR    842
REALB    SB4   B4+6                . BACK UP ONE CHARACTER              COMPILR    843
         SX3   0                   . INITIALIZE RESULT = 0              COMPILR    844
*                                                                       COMPILR    845
 REAL    SA1   TENTH               . =0.1E0                             COMPILR    846
          BX5      X1                  X5 WILL HOLD SCALE FACTOR FOR ND COMPILR    847
         NX3   X3                  . NORMALIZE THE INTEGRAL PART        COMPILR    848
REAL1    FETCH REAL1MT,6                                                COMPILR    849
         SA2   P1TAB+X6                                                 COMPILR    850
         SX6   X6-1R0                                                   COMPILR    851
         PX6   X6                                                       COMPILR    852
         LX2   P1F.DIG                                                  COMPILR    853
         PL    X2,REAL2            . TERMINATOR FOUND                   COMPILR    854
         NX6   X6                                                       COMPILR    855
         FX6   X6*X5               . SCALE DIGIT                        COMPILR    856
         FX3   X3+X6               . ADD TO TOTAL                       COMPILR    857
          FX5      X1*X5               NEXT POWER TO SCALE BY           COMPILR    858
          EQ       REAL1                                                COMPILR    859
REAL2     SA1      MAXSTAT                                              COMPILR    860
         SB4   B4+6                . BACK UP ONE CHARACTER              COMPILR    861
          BX7      X3                                                   COMPILR    862
          SA7      X1+2                                                 COMPILR    863
          SX2      A7                  ADDRESS OF BINARY                COMPILR    864
          SX7      RTY                                                  COMPILR    865
          LX7      55                                                   COMPILR    866
          BX7      X2+X7                                                COMPILR    867
          SA7      X1+1                                                 COMPILR    868
          SX7      REALTYP                                              COMPILR    869
          LX7      37                                                   COMPILR    870
          SX2      3                                                    COMPILR    871
          BX7      X2+X7         ADD IN ITEM BYPASS                     COMPILR    872
          LX7      18                                                   COMPILR    873
          SA7      X1                  REAL NUMBER DESCRIPTOR           COMPILR    874
          SX1      P2REAL                                               COMPILR    875
         JP    P1OUTX1                                                  COMPILR    876
*                                                                       COMPILR    877
REAL1MT  BX6   X3                                                       COMPILR    878
         SA6   P1TEMP1             . SAVE REAL NUMBER                   COMPILR    879
          BX6      X5                                                   COMPILR    880
         SA6   P1TEMP2             . SAVE SCALE FACTOR                  COMPILR    881
         RJ    PASS0                                                    COMPILR    882
         SA3   P1TEMP2                                                  COMPILR    883
         BX5   X3                  . RESTORE X5 WITHOUT USING A5        COMPILR    884
         SA3   P1TEMP1                                                  COMPILR    885
         SA1   TENTH                                                    COMPILR    886
         EQ    REAL1                                                    COMPILR    887
         TITLE PASS2                                                    COMPILR    888
ZEND     SB7   0                   . SET OPERAND SITUATION TO ZERO      COMPILR    889
*                                                                       COMPILR    890
PASS2    NO                        .  ENTRY TO PASS2                    COMPILR    891
P2TRCT   NG    X1,OPRACT           . CHANGED IF TESTOUTPUT TO EQ P2TRC  COMPILR    892
         LT    B1,B0,INSKIP        . BRANCH IF AFTER ERROR              COMPILR    893
ACT1     SA2   X1+P2TBL            . FETCH TABLEWORD                    COMPILR    894
         MX0   56                                                       COMPILR    895
         AX2   B1,X2               . SECONDARY WORD INDEX DEPENDS ON    COMPILR    896
         BX2   -X0*X2              .  THE STATE (B1)                    COMPILR    897
         SB2   X2                                                       COMPILR    898
         EQ    B0,B2,SYXERR        . SYNTAX ERROR IF IT IS ZERO         COMPILR    899
         SA2   A2+B2                                                    COMPILR    900
         AX4   B7,X2               . BRANCH IF OPERAND SITUATION IS     COMPILR    901
         PL    X4,OPRERR1          .  NOT ALLOWED                       COMPILR    902
ACT1A    SB3   X2                  . ACTION TO B3                       COMPILR    903
         AX2   18                                                       COMPILR    904
         SB1   X2+0                . NEW STATE TO B1                    COMPILR    905
         JP    B3+0                . SWITCH TO ACTION                   COMPILR    906
*                                                                       COMPILR    907
OPRACT   NE    B0,B7,OPRERR2       . ERROR, DELIMITER IS MISSING        COMPILR    908
         SB7   X1                                                       COMPILR    909
         EQ    PASS2               . NEW OPERAND SITUATION TO B7        COMPILR    910
OUTP2    LX2   34                  . OUTPUT OUTPART AND RETURN          COMPILR    911
         AX2   52                                                       COMPILR    912
         SX1   X2                                                       COMPILR    913
OUTX1    ZR    X1,ZEND                                                  COMPILR    914
         RJ    PASS3                                                    COMPILR    915
         EQ    ZEND                                                     COMPILR    916
*                                                                       COMPILR    917
ACT2     BSS  0                                                         COMPILR    918
*                                                                       COMPILR    919
DESTACK  SA3   A0                  . RESTORE STATE AND ACTION FROM      COMPILR    920
*                                  .  THE STACK                         COMPILR    921
         SA0   A0+1                                                     COMPILR    922
         SB3   X3                                                       COMPILR    923
         AX3   18                                                       COMPILR    924
         SB1   X3                                                       COMPILR    925
         JP    B3+0                . SWITCH TO ACTION                   COMPILR    926
*                                                                       COMPILR    927
ACT3     SX7   ACT1                                                     COMPILR    928
STAKOUT  SB2   OUTP2                                                    COMPILR    929
STACKX7  BX6   X2                  . SET X6 TO STACKPART OF THE         COMPILR    930
         LX6   26                  .  SECONDARY TABLEWORD               COMPILR    931
         AX6   52                                                       COMPILR    932
STACKP2  LX6   18                  . STACK X6 AND X7, RETURN TO B2      COMPILR    933
         SA0   A0-1                                                     COMPILR    934
         BX6   X6+X7                                                    COMPILR    935
         SB3   A0                  . CHECK BUMPING AGAINST PASS3        COMPILR    936
         SB3   A5-B3               .  STACK                             COMPILR    937
         SA6   A0+0                                                     COMPILR    938
         GE    B3,B0,FATBUMP                                            COMPILR    939
         JP    B2+0                                                     COMPILR    940
*                                                                       COMPILR    941
ACT4     NE    B0,B7,OUTP2         . BLANK IN STATE 1                   COMPILR    942
         EQ    PASS2                                                    COMPILR    943
*                                                                       COMPILR    944
ACT5     SX7   B7+0                . BLANK IN STATE 2                   COMPILR    945
         SA7   TSTPMOP                                                  COMPILR    946
         EQ    ACT3                                                     COMPILR    947
*                                                                       COMPILR    948
ACT6     SX7   ACT7                . $ IN CONDITION                     COMPILR    949
         EQ    STAKOUT                                                  COMPILR    950
ACT7     SX0   X1-P2RGTPR                                               COMPILR    951
         NZ    X0,SYXERR1                                               COMPILR    952
         SX1   P3GTT                                                    COMPILR    953
         EQ    OUTX1                                                    COMPILR    954
*                                                                       COMPILR    955
ACT8     SB2   ACT1                . WEIRD CHARACTER IN STATE2          COMPILR    956
         SX7   ACT1                                                     COMPILR    957
         EQ    STACKX7                                                  COMPILR    958
*                                                                       COMPILR    959
ACT9     SX7   ACT10               . LEFT PARANTHESES ACTION            COMPILR    960
         EQ    B0,B7,STAKOUT       .  NO OPERAND                        COMPILR    961
         SB2   ACT9A               .  IDENTIFIER OPERAND                COMPILR    962
ACT9B    SX7   PASS2                                                    COMPILR    963
         EQ    STACKX7                                                  COMPILR    964
ACT9A    SA2   AUXPR                                                    COMPILR    965
         EQ    ACT1A                                                    COMPILR    966
ACT10    SX0   X1-P2RGTPR          . CHECK MATCHING RIGHT               COMPILR    967
          NZ        X0,SYXERR2                                          COMPILR    968
         SX1   P3RGTPR                                                  COMPILR    969
         RJ    PASS3                                                    COMPILR    970
         SB7   OPSEXP                                                   COMPILR    971
         EQ    PASS2                                                    COMPILR    972
*                                                                       COMPILR    973
ACT11    EQU   DESTACK             . RIGHT PARANTHESES ACTION           COMPILR    974
*                                                                       COMPILR    975
ACT12    NE    B0,B7,ACT11         . TERMINATOR IN STATE 15             COMPILR    976
         SB1   X1+0                .  WITHOUT OPERAND                   COMPILR    977
         SX1   P3NULL              . SAVE X1 IN B1                      COMPILR    978
         RJ    PASS3               . OUTPUT P3NULL                      COMPILR    979
         SX1   B1                  . RESTORE X1 (LAST INPUT BYTE)       COMPILR    980
         SB7   OPSSPEC                                                  COMPILR    981
         EQ    DESTACK                                                  COMPILR    982
*                                                                       COMPILR    983
ACT13    SB2   ACT13A              . LEFT BRACKET ACTION                COMPILR    984
         EQ    ACT9B                                                    COMPILR    985
ACT13A   SA2   AUXBR                                                    COMPILR    986
         EQ    ACT1A                                                    COMPILR    987
*                                                                       COMPILR    988
ACT14    SX5   ACT15               . LEFT BRACKET AMONG CONDITIONS      COMPILR    989
         SX1   P3COND                                                   COMPILR    990
         BX0   X2                                                       COMPILR    991
         RJ    PASS3               . OUTPUT P3COND                      COMPILR    992
         BX7   X5                  . PASS 3 SAVES X5,X0 IN THIS         COMPILR    993
         BX2   X0                  .  PARTICULAR CASE                   COMPILR    994
         EQ    STAKOUT                                                  COMPILR    995
ACT15    SX0   X1-P2RGTBR                                               COMPILR    996
          NZ        X0,SYXERR3                                          COMPILR    997
         SX1   P3GTC                                                    COMPILR    998
         EQ    OUTX1                                                    COMPILR    999
*                                                                       COMPILR   1000
ACT16    EQU   DESTACK             .                                    COMPILR   1001
*                                                                       COMPILR   1002
ACT17    LX2   34                  . END OF PARAMETER OR SUBSCRIPT      COMPILR   1003
         AX2   52                  .  LIST                              COMPILR   1004
         SB1   X1                  . SAVE X1                            COMPILR   1005
         SX1   X2                                                       COMPILR   1006
         RJ    PASS3               . OUTPUT OUTPART                     COMPILR   1007
         SX1   B1+0                . RESTORE X1                         COMPILR   1008
ACT17A   SB7   OPSSPEC             .                                    COMPILR   1009
         EQ    DESTACK                                                  COMPILR   1010
*                                                                       COMPILR   1011
ACT18    SA3   TSTPMOP             . EQUAL SIGN IN STATE 5              COMPILR   1012
         SX0   X3-OPSVAR           . LEFT OPERAND OF PM                 COMPILR   1013
         ZR    X0,ACT3             .  CAN BE VARIABLE OR SPEC           COMPILR   1014
         SX0   X3-OPSSPEC                                               COMPILR   1015
         ZR    X0,ACT3                                                  COMPILR   1016
         EQ    OPRERR3                                                  COMPILR   1017
*                                                                       COMPILR   1018
ACT19    EQ    B0,B7,ACT19A        . SEMICOLON IN STATE 1               COMPILR   1019
         SX1   P3LABEL                                                  COMPILR   1020
         RJ    PASS3                                                    COMPILR   1021
ACT19A   SX1   P3RULE4                                                  COMPILR   1022
         EQ    OUTX1                                                    COMPILR   1023
*                                                                       COMPILR   1024
ACT20    SX7   ACT20A              . NAME OPERATOR IN STATE 2           COMPILR   1025
         EQ    STAKOUT                                                  COMPILR   1026
ACT20A   SB1   X1+0                . SAVE X1                            COMPILR   1027
         SX1   P3ENDUN                                                  COMPILR   1028
         RJ    PASS3               . OUTPUT END UNARY OPERATOR          COMPILR   1029
         SB7   OPSEXP                                                   COMPILR   1030
         SX1   B1+0                                                     COMPILR   1031
         SB1   ST2                                                      COMPILR   1032
         EQ    ACT1                                                     COMPILR   1033
ACT21    SX7   ACT21A              . INDIRECT OPERATOR IN STATE 2       COMPILR   1034
         EQ    STAKOUT                                                  COMPILR   1035
ACT21A   SB1   X1+0                                                     COMPILR   1036
         SX1   P3ENDUN                                                  COMPILR   1037
         RJ    PASS3               . OUTPUT END UNARY OPERATOR          COMPILR   1038
         SX1   B1+0                . RESTORE X1                         COMPILR   1039
         SB7   OPSSPEC                                                  COMPILR   1040
         SB1   ST2                                                      COMPILR   1041
         EQ    ACT1                                                     COMPILR   1042
*                                                                       COMPILR   1043
P2TRCS   EQ    P2TRC                                                    COMPILR   1044
P2TRC    SX7   2                   . TEST OUTPUT                        COMPILR   1045
         RJ    TRC                                                      COMPILR   1046
         NG    X1,OPRACT           . INSTRUCTIONS DISPLACED BY          COMPILR   1047
         LT    B1,B0,INSKIP        .  TEST OUTPUT CALL                  COMPILR   1048
         EQ    ACT1                                                     COMPILR   1049
         TITLE PASS3                                                    COMPILR   1050
PASS3    NO                        . ENTRY TO PASS 3                    COMPILR   1051
P3TRCT   SA4   X1+P3TBL            . FETCH TABLEWORD                    COMPILR   1052
         NG    X4,PASS3A           . BRANCH IF ACTION FIRST             COMPILR   1053
P3TRC1   BX1   X4                  .  (CHANGED IF TESTOUTPUT.           COMPILR   1054
         LX1   1                                                        COMPILR   1055
         PL    X1,P3OUT                                                 COMPILR   1056
         RJ    OUTST               . OUTST IF BIT IS SET                COMPILR   1057
P3OUT    BX5   X4                                                       COMPILR   1058
         AX5   18                                                       COMPILR   1059
         SX6   X5                                                       COMPILR   1060
P3OUTA   ZR    X6,PASS3B           . OUTPUT OUTPART UNLESS IT IS ZERO   COMPILR   1061
         RJ    PASS4                                                    COMPILR   1062
PASS3B   BX5   X4                                                       COMPILR   1063
         LX5   4                                                        COMPILR   1064
         PL    X5,PASS3A           . BRANCH IF BIT IS SET               COMPILR   1065
STACKX4  BX6   X4                                                       COMPILR   1066
         SA6   A5+1                . STACK TABLEWORD                    COMPILR   1067
         SB2   A0                                                       COMPILR   1068
         SB2   A5-B2               . CHECK BUMPING AGAINST PASS 2       COMPILR   1069
         SA5   A6                  .  STACK                             COMPILR   1070
         LT    B2,B0,PASS3         . AND RETURN                         COMPILR   1071
         EQ    FATBUMP                                                  COMPILR   1072
P3TRCS   EQ    P3TRC                                                    COMPILR   1073
P3TRC    SX7   3                   . TEST OUTPUT                        COMPILR   1074
         RJ    TRC                                                      COMPILR   1075
         SA4   X1+P3TBL                                                 COMPILR   1076
         PL    X4,P3TRC1                                                COMPILR   1077
PASS3A   SB2   X4                                                       COMPILR   1078
         JP    B2+0                                                     COMPILR   1079
*                                                                       COMPILR   1080
         EJECT                                                          COMPILR   1081
GETVAR   NO                                                             COMPILR   1082
+        SA2   MAXSTAT             . SET UP SEARCH CALL                 COMPILR   1083
         SB5   X2+2                                                     COMPILR   1084
         SA3   X2                                                       COMPILR   1085
         BX5   X2                                                       COMPILR   1086
         BX0   X3                                                       COMPILR   1087
         AX3   36                                                       COMPILR   1088
         SB3   X3                                                       COMPILR   1089
         RJ    SEARCH                                                   COMPILR   1090
         NZ    X1,GETVAR           . LOOK UP OPERAND                    COMPILR   1091
         RJ    SCHLINK                                                  COMPILR   1092
         SB2   OPSVAR                                                   COMPILR   1093
         NE    B2,B7,GETVAR                                             COMPILR   1094
         SA2   VARLINK             . IF VARIABLE LINK IT TO A CHAIN     COMPILR   1095
         MX6   1                   . SO AT THE END IT CAN BE            COMPILR   1096
         BX7   X2+X6               . INITIALIZED TO A NULL VALUE        COMPILR   1097
         SX6   X1                                                       COMPILR   1098
         SA7   X1                                                       COMPILR   1099
         SA6   A2+0                                                     COMPILR   1100
         EQ    GETVAR                                                   COMPILR   1101
*                                                                       COMPILR   1102
SCHLINK  NO                                                             COMPILR   1103
+        SA1   X5                  . SET UP LINKAGE IF OPERAND          COMPILR   1104
         AX1   18                  .  WAS NOT FOUND                     COMPILR   1105
         SB2   X1                                                       COMPILR   1106
         SX6   X5+B2                                                    COMPILR   1107
         BX7   X2+X5                                                    COMPILR   1108
         NG    X2,SCHL1                                                 COMPILR   1109
         NG    X3,SCHL1                                                 COMPILR   1110
         LX7   30                                                       COMPILR   1111
 SCHL1   SA7   A2+0                                                     COMPILR   1112
         SA6   MAXSTAT                                                  COMPILR   1113
         SX1   X5+1                                                     COMPILR   1114
         EQ    SCHLINK                                                  COMPILR   1115
*                                                                       COMPILR   1116
SCHLBL   NO                                                             COMPILR   1117
+        SA2   MAXSTAT             . SET UP SEARCH CALL                 COMPILR   1118
         SA3   X2                                                       COMPILR   1119
         BX5   X2                                                       COMPILR   1120
         MX7   5                                                        COMPILR   1121
         BX7   -X7*X3              . MASK VARTYP OFF                    COMPILR   1122
         SB5   X2+2                                                     COMPILR   1123
         SX0   LBLTYP                                                   COMPILR   1124
         AX3   36                                                       COMPILR   1125
         LX0   55                  . LABEL TYPE TO X0                   COMPILR   1126
         SB3   X3                                                       COMPILR   1127
         BX7   X7+X0               . MERGE LBLTYP IN                    COMPILR   1128
         SA7   A3                                                       COMPILR   1129
         RJ    SEARCH                                                   COMPILR   1130
         NZ    X1,SCHLBL           . RETURN IF FOUND                    COMPILR   1131
         RJ    SCHLINK                                                  COMPILR   1132
        SA2   LUNDFWD                                                   COMPILR   1133
        BX7   X2                                                        COMPILR   1134
         SA7   X1                  . UNDEFINED                          COMPILR   1135
         JP    SCHLBL                                                   COMPILR   1136
*                                                                       COMPILR   1137
OUTST    NO                                                             COMPILR   1138
+        SB2   OPSREAL             . BYPASS IF OPERAND IS EXPRESSION    COMPILR   1139
         LT    B7,B2,OUTST3        .  OR SPEC                           COMPILR   1140
         RJ    GETVAR                                                   COMPILR   1141
OUTST2   SX6   XOPRND              . OUTPUT OPERAND                     COMPILR   1142
         LX1   18                                                       COMPILR   1143
         BX6   X1+X6                                                    COMPILR   1144
         RJ    PASS4                                                    COMPILR   1145
OUTST3   BX1   X4                                                       COMPILR   1146
         MX0   54                                                       COMPILR   1147
         AX1   36                                                       COMPILR   1148
         BX2   -X0*X1              . THE PRIORITY OF THE OPERATOR       COMPILR   1149
         SB5   X2+0                .  TO B5                             COMPILR   1150
         SA5   A5+0                . TOP ELEMENT IN THE STACK TO X5     COMPILR   1151
OUTST4   LX5   24                                                       COMPILR   1152
         MX0   54                                                       COMPILR   1153
         BX2   -X0*X5                                                   COMPILR   1154
         SB3   X2                  . PRIORITY OF TOP OPERATOR           COMPILR   1155
         LT    B3,B5,OUTST         . IF SMALLER , EXIT                  COMPILR   1156
         BX6   X6-X6                                                    COMPILR   1157
         LX5   38                  . IF NOT NAME, STAR ETC.             COMPILR   1158
         PL    X5,OUTST7           .  THEN BYPASS                       COMPILR   1159
         RJ    GIVENM                                                   COMPILR   1160
         LX5   1                   . BRANCH IF LAST MICOP IS            COMPILR   1161
         BX6   X6-X6                                                    COMPILR   1162
         PL    X2,OUTST5           .  NOT AN OPERAND                    COMPILR   1163
         PL    X5,OUTST5                                                COMPILR   1164
         SA1   B6                  . ONLY FOR STAR, PRD OR DOL          COMPILR   1165
         AX1   18                                                       COMPILR   1166
         SX6   X1                                                       COMPILR   1167
         SB6   B6+1                                                     COMPILR   1168
         SB6   B0-B6                                                    COMPILR   1169
OUTST8   LX6   18                                                       COMPILR   1170
OUTST5   MX0   48                                                       COMPILR   1171
         AX5   45                  . OUTPUT TOP OPERATOR                COMPILR   1172
         BX0   -X0*X5                                                   COMPILR   1173
         BX6   X0+X6                                                    COMPILR   1174
         ZR    X6,OUTST6           .  UNLESS ZERO                       COMPILR   1175
         RJ    PASS4                                                    COMPILR   1176
OUTST6   SA5   A5-1                                                     COMPILR   1177
         EQ    OUTST4                                                   COMPILR   1178
OUTST7   LX5   1                   . JUMP BACK IF NOT ASSIGN            COMPILR   1179
         PL    X5,OUTST5                                                COMPILR   1180
         BX6   X5                                                       COMPILR   1181
         LX6   21                  . ADDRESS OF ASSIGN TO X6            COMPILR   1182
         AX6   42                                                       COMPILR   1183
         EQ    OUTST8                                                   COMPILR   1184
*                                                                       COMPILR   1185
GIVENM   NO                                                             COMPILR   1186
+        LT    B6,B0,GIVENM1       . BYPASS IF LAST MICOP WAS A XCALL   COMPILR   1187
         SA1   B6                                                       COMPILR   1188
         MX0   53                                                       COMPILR   1189
         SA2   X1+MCOPTBL                                               COMPILR   1190
         LX2   37                  . EXCHANGE LAST MICOP BY ITS         COMPILR   1191
         MX6   42                  .  NAME ALTERNATIVE                  COMPILR   1192
         BX7   -X0*X2                                                   COMPILR   1193
         BX6   X6*X1                                                    COMPILR   1194
         BX7   X6+X7                                                    COMPILR   1195
         SA7   B6                                                       COMPILR   1196
         BX6   X6-X6               . X6 MUST BE STILL ZERO              COMPILR   1197
         EQ    GIVENM                                                   COMPILR   1198
GIVENM1  MX2   1                   . IF XCALL, SET CHECK NAME BIT       COMPILR   1199
         SA1   B0-B6                                                    COMPILR   1200
         LX2   59                                                       COMPILR   1201
         BX6   X1+X2                                                    COMPILR   1202
         SA6   A1                                                       COMPILR   1203
         EQ    GIVENM                                                   COMPILR   1204
         EJECT                                                          COMPILR   1205
ARULE4   SX6   XNOOP               . EMPTY RULE                         COMPILR   1206
         RJ    PASS4                                                    COMPILR   1207
ARULE1   GE    B6,B0,ARULEA        . SET NEW RULE BIT ON LAST MICOP     COMPILR   1208
         SB6   B0-B6                                                    COMPILR   1209
ARULEA   SA1   B6                                                       COMPILR   1210
         MX0   1                                                        COMPILR   1211
         BX6   X0+X1                                                    COMPILR   1212
         BX7   X7-X7                                                    COMPILR   1213
         SA6   A1                                                       COMPILR   1214
         SB6   B0-B6               . NEXT MICOP INTO NEW WORD           COMPILR   1215
         SA7   TESTCND                                                  COMPILR   1216
         EQ    PASS3                                                    COMPILR   1217
*                                                                       COMPILR   1218
ARGTPR   SA5   A5-1                . RIGHT PARANTHESES, REMOVE TOP      COMPILR   1219
         EQ    PASS3               .  OPERATOR                          COMPILR   1220
*                                                                       COMPILR   1221
ALFTBR   RJ    GETVAR              . LEFT BRACKET                       COMPILR   1222
         BX5   X4                                                       COMPILR   1223
         AX5   18                                                       COMPILR   1224
         LX1   18                                                       COMPILR   1225
         SX6   X5                                                       COMPILR   1226
         BX6   X1+X6                                                    COMPILR   1227
         EQ    P3OUTA                                                   COMPILR   1228
*                                                                       COMPILR   1229
APM       SB2       OPSREAL        . PATTERN MATCH                      COMPILR   1230
          LT        B7,B2,STACKX4  . BRANCH IF LEFT OP NOT SIMPLE       COMPILR   1231
          SA1       -B6                                                 COMPILR   1232
          BX6       X1             . SET ADDRESS PART OF PMCHECK TO     COMPILR   1233
          AX1       18             .  OPERAND ADDRESS                   COMPILR   1234
          SX1       X1                                                  COMPILR   1235
          LX1       36                                                  COMPILR   1236
          BX6       X1+X6                                               COMPILR   1237
          SA6       A1                                                  COMPILR   1238
          EQ        STACKX4                                             COMPILR   1239
*                                                                       COMPILR   1240
AASGN    SX0   B7-OPSVAR                                                COMPILR   1241
         ZR    X0,AASGN1                                                COMPILR   1242
         RJ    OUTST                                                    COMPILR   1243
         RJ    GIVENM                                                   COMPILR   1244
         EQ    STACKX4                                                  COMPILR   1245
AASGN1   RJ    GETVAR                                                   COMPILR   1246
         LX1   18                                                       COMPILR   1247
         BX4   X1+X4                                                    COMPILR   1248
         EQ    STACKX4                                                  COMPILR   1249
*                                                                       COMPILR   1250
ABCALL   SA2   MAXSTAT             . BEGIN CALL ACTION                  COMPILR   1251
         SX0   3                   . CALLTYP EQORED WITH VARTYPE        COMPILR   1252
         SB5   X2+2                                                     COMPILR   1253
         LX0   55                                                       COMPILR   1254
         SA3   X2                  . LOOK UP FUNCTION                   COMPILR   1255
         BX7   X3-X0                                                    COMPILR   1256
         BX5   X2                                                       COMPILR   1257
         BX0   X7                                                       COMPILR   1258
         AX3   36                                                       COMPILR   1259
         SA7   A3                                                       COMPILR   1260
         SB3   X3                                                       COMPILR   1261
         RJ    SEARCH                                                   COMPILR   1262
         NZ    X1,ABCALL1                                               COMPILR   1263
         RJ    SCHLINK             . IF NEW, INITIALIZE TO UNDEFINED    COMPILR   1264
         SX7   UNDFTYP                                                  COMPILR   1265
         LX7   55                                                       COMPILR   1266
         SA7   X1                                                       COMPILR   1267
ABCALL1  SA2   X1                  . CLEAR NOT USED BIT                 COMPILR   1268
        LX1   18                                                        COMPILR   1269
        MX0   42                                                        COMPILR   1270
         BX7  X2                                                        COMPILR   1271
        PL    X2,ABCALL2          . UNLESS IT IS NOT STANDARD           COMPILR   1272
         MX2   1                                                        COMPILR   1273
         LX2   60-1                                                     COMPILR   1274
         BX7   -X2*X7                                                   COMPILR   1275
        SA7   A2+0                                                      COMPILR   1276
ABCALL2 BX4   X4+X1               . STACK AN ENTRY WITH X1 AND 0 COUNT  COMPILR   1277
         BX4   X0*X4                                                    COMPILR   1278
         EQ    STACKX4                                                  COMPILR   1279
*                                                                       COMPILR   1280
APARAM   SA5   A5                  . PARAMETER COMMA                    COMPILR   1281
         SX0   1                   . INCREASE NUMBER OF PARAMETERS      COMPILR   1282
         IX6   X5+X0               .  BY ONE                            COMPILR   1283
         SA6   A5                                                       COMPILR   1284
         EQ    PASS3                                                    COMPILR   1285
*                                                                       COMPILR   1286
ACALL    SA1   A5                  . END CALL                           COMPILR   1287
         SA5   A5-1                                                     COMPILR   1288
         MX2   42                                                       COMPILR   1289
         SX0   X1+1                . NO OF PARAMS TO X0                 COMPILR   1290
         LX2   18                                                       COMPILR   1291
         BX1   -X2*X1              . FUNCTION NAME TO X1                COMPILR   1292
         LX0   36                                                       COMPILR   1293
         SX2   XCALL                                                    COMPILR   1294
         BX6   X0+X1                                                    COMPILR   1295
         BX6   X2+X6                                                    COMPILR   1296
         RJ    PASS4               . OUTPUT MICOP                       COMPILR   1297
         SB6   B0-B6               . NEXT MICOP INTO NEW WORD           COMPILR   1298
         EQ    PASS3                                                    COMPILR   1299
*                                                                       COMPILR   1300
ARGTBR   SA5   A5-1                . RIGHT BRACKET                      COMPILR   1301
         SX6   XARRAYV                                                  COMPILR   1302
         RJ    PASS4                                                    COMPILR   1303
         EQ    PASS3                                                    COMPILR   1304
*                                                                       COMPILR   1305
ALABEL   RJ    SCHLBL              . LOOK UP LABEL                      COMPILR   1306
         SA2   X1                  . CPD TO X2                          COMPILR   1307
         MX0   42                                                       COMPILR   1308
         BX7   X2                                                       COMPILR   1309
         AX7   55                                                       COMPILR   1310
*        SX7   X7-LPRGDFTY         . NOTE LPRGDFTY = 0                  COMPILR   1311
         ZR    X7,ERRLBL           . ERROR, LABEL IS ALREADY DEFINED    COMPILR   1312
*  THE ADDRESS OF THE LABELED MICOP IS COMPUTED                         COMPILR   1313
*  RELATIVE TO PRGBASE:   -B6-1-PRGBASE                                 COMPILR   1314
         SX7   B0-B6               . B6 IS NEGATIVE                     COMPILR   1315
         SA2   PRGBASE                                                  COMPILR   1316
         SX6   X1                                                       COMPILR   1317
         SX7   X7-1                                                     COMPILR   1318
         IX7   X7-X2                                                    COMPILR   1319
         BX7   -X0*X7                                                   COMPILR   1320
         SA3   LBLLINK             . PUT HALF-FINISHED LABEL ON         COMPILR   1321
         LX3   18                  . A LIST                             COMPILR   1322
         BX7   X7+X3                                                    COMPILR   1323
         SA6   A3                                                       COMPILR   1324
         SA7   X1                                                       COMPILR   1325
         JP    PASS3               . RETURN                             COMPILR   1326
*                                                                       COMPILR   1327
* NOTE THAT THE FOLLOWING CODE SAVES X0 AND X5. THIS FEATURE IS         COMPILR   1328
*  USED ELSEWHERE IN THE CODE (ACT14).                                  COMPILR   1329
*                                                                       COMPILR   1330
ACOND    SA2   TESTCND             . AFTER A CONDITION                  COMPILR   1331
         SX3   3B                  . SET MASK TO NEITHER S NOR F        COMPILR   1332
         SX4   X3                                                       COMPILR   1333
         EQ    B7,B0,ACOND1                                             COMPILR   1334
         AX3   1                   . SET MASK TO NO S                   COMPILR   1335
         SA1   MAXSTAT                                                  COMPILR   1336
         SX7   1RF                                                      COMPILR   1337
         SA1   X1+2                                                     COMPILR   1338
         SX6   1RS                                                      COMPILR   1339
         LX1   6                                                        COMPILR   1340
         BX6   X6-X1                                                    COMPILR   1341
         ZR    X6,ACOND1           . BRANCH IF S                        COMPILR   1342
         LX3   1                   . SET MASK TO NO F                   COMPILR   1343
         BX7   X7-X1                                                    COMPILR   1344
          ZR        X7,ACOND1                                           COMPILR   1345
          SX1       P2RGTPR                                             COMPILR   1346
          EQ        ERRCND1                                             COMPILR   1347
ACOND1   SX2   X2                  . CHECK PREVIOUS CONDITION (IF ANY)  COMPILR   1348
         BX7   X2+X3               .  AGAINST MASK                      COMPILR   1349
         SX6   X2                                                       COMPILR   1350
         BX2   X2*X3                                                    COMPILR   1351
         ZR    X6,ACOND3           . SECOND GO TO IS UNCONDITIONAL      COMPILR   1352
         SX3   X4                                                       COMPILR   1353
ACOND3   LX3   18                                                       COMPILR   1354
         BX7   X3+X7               . PRESENT CONDITION TO X7            COMPILR   1355
         SA7   A2                                                       COMPILR   1356
         ZR    X2,PASS3                                                 COMPILR   1357
ACOND2   SX1   P2RGTPR             . PREPARE FOR ERROR                  COMPILR   1358
         EQ    ERRCND2             . ERRORNEOUS CONDITION               COMPILR   1359
*                                                                       COMPILR   1360
 AGT     RJ    SCHLBL                                                   COMPILR   1361
         SA2   TESTCND                                                  COMPILR   1362
         LX1   18                  . OUTPUT A GOF, GOS OR GO TO         COMPILR   1363
         SX6   XGOX                .  MICOP DEPENDING THE CONDITION     COMPILR   1364
         AX2   18                                                       COMPILR   1365
         IX6   X6+X2                                                    COMPILR   1366
         BX6   X6+X1                                                    COMPILR   1367
         RJ    PASS4                                                    COMPILR   1368
         SB6   B0-B6                                                    COMPILR   1369
         EQ    PASS3                                                    COMPILR   1370
*                                                                       COMPILR   1371
*  BEGIN GOTO TOP EXPRESSION:                                           COMPILR   1372
*  DEPENDING ON THE CONDITION, THE FOLLOWING MICRO                      COMPILR   1373
*  SEQUENCES ARE GENERATED:                                             COMPILR   1374
*  UNCONDITIONAL:  GOF *+1, NOFAIL                                      COMPILR   1375
*  S:   NOFAIL                                                          COMPILR   1376
*  F:   GOREL BYPASS, GOF *+1, NOFAIL                                   COMPILR   1377
*                                                                       COMPILR   1378
ABGTT    SA2   TESTCND                                                  COMPILR   1379
         AX2   18                                                       COMPILR   1380
         BX2   -X2                                                      COMPILR   1381
         SX5   X2+3B                                                    COMPILR   1382
          ZR       X5,ABGTT2       . BRANCH IF UNCONDITIONAL            COMPILR   1383
         LX5   60-1                                                     COMPILR   1384
         PL    X5,ABGTT1           . BRANCH IF S                        COMPILR   1385
         LX5   19                                                       COMPILR   1386
         SX6   XGOREL              . A RELATIVE JUMP WILL BE STORED     COMPILR   1387
         RJ    PASS4               .  INSTEAD OF THIS MICOP BY AGTT     COMPILR   1388
         SA3   PRGBASE                                                  COMPILR   1389
         SX2   B6                                                       COMPILR   1390
         MX0   42                                                       COMPILR   1391
         IX3   X3-X2               . RELATIVE MICOP ADDRESS TO X3       COMPILR   1392
         BX4   X0*X4               . FORM AN ENTRY USING                COMPILR   1393
         BX4   X4+X3               .  CONDITION CODE AND ADDRESS IN X4  COMPILR   1394
         BX4   X4+X5                                                    COMPILR   1395
 ABGTT2  MX6   1                                                        COMPILR   1396
         SX7   XGOF                . OUTPUT GOF *+1                     COMPILR   1397
         LX6   36                                                       COMPILR   1398
         BX6   X6+X7                                                    COMPILR   1399
         RJ    PASS4                                                    COMPILR   1400
ABGTT1   SX6   XNOFAIL             . OUTPUT MICOP TO CHECK              COMPILR   1401
         RJ    PASS4               .  AN EVENTUAL FAILURE IN THE        COMPILR   1402
         EQ    STACKX4             .  FOLLOWING EXPRESSION              COMPILR   1403
*                                                                       COMPILR   1404
AGTT     SA1   A5                                                       COMPILR   1405
         SA5   A5-1                . REMOVE TOP OPERATOR                COMPILR   1406
         SB3   X1                                                       COMPILR   1407
         AX1   18                                                       COMPILR   1408
         SB2   X1                                                       COMPILR   1409
         EQ    B0,B2,PASS3         . READY IF UNCONDITIONAL OR S        COMPILR   1410
*  NOW SET X3 := ABS(B6)-PRGBASE+B3, THE ADDRESS OF THE GOREL           COMPILR   1411
         SA1   PRGBASE                                                  COMPILR   1412
         SB2   B0-B6                                                    COMPILR   1413
         BX2   -X1                                                      COMPILR   1414
         SX3   X2+B6                                                    COMPILR   1415
         GE    B6,B0,AGTT1                                              COMPILR   1416
         SX3   X2+B2               . REL ADDRESS TO X3                  COMPILR   1417
 AGTT1   SX3   X3+B3                                                    COMPILR   1418
         SX6   XGOREL              . RELATIVE JUMP TO X6                COMPILR   1419
         MX7   42                                                       COMPILR   1420
         BX3   -X7*X3                                                   COMPILR   1421
         LX3   18                                                       COMPILR   1422
         BX6   X6+X3                                                    COMPILR   1423
         SB3   B0-B3                                                    COMPILR   1424
*  STORE GOREL AT PRGBASE-B3                                            COMPILR   1425
         SA6   X1+B3                                                    COMPILR   1426
         JP    PASS3                                                    COMPILR   1427
*                                                                       COMPILR   1428
         EJECT                                                          COMPILR   1429
         TITLE PASS4                                                    COMPILR   1430
PASS4    NO                                                             COMPILR   1431
P4TRCT   SA1   X6+MCOPTBL          . FETCH TABLE ENTRY                  COMPILR   1432
         NO                                                             COMPILR   1433
         LX1   40                                                       COMPILR   1434
P4TRC1   NG    X1,PASS4B           . BRANCH IF LOW ORDER ONLY           COMPILR   1435
         GE    B6,B0,PASS4C                                             COMPILR   1436
         SA2   MAXSTAT                                                  COMPILR   1437
         SB6   B6+1                . B6 IS NEGATIVE                     COMPILR   1438
         SB2   X2+B6               .  STORE MICOP IN LOW ORDER BITS     COMPILR   1439
         SA6   B0-B6                                                    COMPILR   1440
         LT    B2,B0,PASS4         . CHECK BUMPING AGAINST STATIC       COMPILR   1441
PASS4A   RJ    BUMP                                                     COMPILR   1442
         EQ    PASS4                                                    COMPILR   1443
PASS4C   SA1   B6                  . STORE MICOP IN HIGH ORDER BITS     COMPILR   1444
         SX2   X6                                                       COMPILR   1445
         AX6   18                                                       COMPILR   1446
         LX2   54                  . OPERATION TO X2                    COMPILR   1447
         LX6   36                  . ADDRESS TO X6                      COMPILR   1448
         BX6   X6+X2                                                    COMPILR   1449
         SB6   B0-B6               . NEXT MICOP INTO NEW WORD           COMPILR   1450
         BX6   X6+X1                                                    COMPILR   1451
         SA6   B0-B6                                                    COMPILR   1452
         EQ    PASS4                                                    COMPILR   1453
PASS4B   GE    B6,B0,PASS4D        . STORE MICOP IN LOW ORDER BITS      COMPILR   1454
         SB6   B0-B6                                                    COMPILR   1455
PASS4D   SA2   MAXSTAT                                                  COMPILR   1456
         SB6   B6-1                                                     COMPILR   1457
         SB2   X2                                                       COMPILR   1458
         SA6   B6                                                       COMPILR   1459
         LT    B2,B6,PASS4                                              COMPILR   1460
         EQ    PASS4A                                                   COMPILR   1461
*  X5 SHOULD REALLY BE SAVED HERE ***                                   COMPILR   1462
P4TRCS   EQ    P4TRC                                                    COMPILR   1463
P4TRC    SX7   4                                                        COMPILR   1464
         BX1   X6                                                       COMPILR   1465
         BX6   X4                                                       COMPILR   1466
         SA6   P4SVX4                                                   COMPILR   1467
         SX6   B5+0                                                     COMPILR   1468
         SA6   P4SVB5                                                   COMPILR   1469
         RJ    TRC                                                      COMPILR   1470
         SA2   P4SVB5                                                   COMPILR   1471
         BX6   X1                                                       COMPILR   1472
         SB5   X2                                                       COMPILR   1473
         SA1   X1+MCOPTBL                                               COMPILR   1474
         LX1   40                                                       COMPILR   1475
         SA4   P4SVX4                                                   COMPILR   1476
         EQ    P4TRC1                                                   COMPILR   1477
*                                                                       COMPILR   1478
INSKIP   SA2   X1+P2TBL+1                                               COMPILR   1479
         SX3   X1-AUXERR                                                COMPILR   1480
         LX2   7                                                        COMPILR   1481
         SB7   B0                                                       COMPILR   1482
         PL    X3,PASS2                                                 COMPILR   1483
         PL    X2,PASS2                                                 COMPILR   1484
         NG    X1,PASS2            . IGNORE OPERAND                     COMPILR   1485
         SB1   ST1                                                      COMPILR   1486
         SA5   BGP3STK                                                  COMPILR   1487
         SA0   BGP2STK                                                  COMPILR   1488
         EQ    ACT1                                                     COMPILR   1489
*                                                                       COMPILR   1490
ERRACT1   SX2       WERRACT1                                            COMPILR   1491
          EQ        ERRACT                                              COMPILR   1492
ERRACT2   SX2       WERRACT2                                            COMPILR   1493
          EQ        ERRACT                                              COMPILR   1494
ERRACT3   SX2       WERRACT3                                            COMPILR   1495
          EQ        ERRACT                                              COMPILR   1496
ERRCND1   SX2       WERRCND1                                            COMPILR   1497
          EQ        ERRACT                                              COMPILR   1498
ERRCND2   SX2       WERRCND2                                            COMPILR   1499
          EQ        ERRACT                                              COMPILR   1500
ERRLBL    SX2       WERRLBL                                             COMPILR   1501
          SX1       P2RGTPR                                             COMPILR   1502
          EQ        ERRACT                                              COMPILR   1503
OPRERR1   SX2       WOPRERR1                                            COMPILR   1504
          EQ        ERRACT                                              COMPILR   1505
OPRERR2   SX2       WOPRERR2                                            COMPILR   1506
          EQ        ERRACT                                              COMPILR   1507
OPRERR3   SX2       WOPRERR3                                            COMPILR   1508
          EQ        ERRACT                                              COMPILR   1509
SYXERR    SX2       WSYXERR                                             COMPILR   1510
          EQ        ERRACT                                              COMPILR   1511
SYXERR1   SX2       WSYXERR1                                            COMPILR   1512
          EQ        ERRACT                                              COMPILR   1513
SYXERR2   SX2       WSYXERR2                                            COMPILR   1514
          EQ        ERRACT                                              COMPILR   1515
SYXERR3   SX2       WSYXERR3                                            COMPILR   1516
ERRACT    SA3       ARROWD         . FETCH ERROR DISPLACEMENTS          COMPILR   1517
          BX7       X2+X3                                               COMPILR   1518
          SA2       ARROWM         . FIND WHERE TO STORE  MESSAGE POINTECOMPILR   1519
ERRT      NG        X2,INSKIP      . NO MORE ROOM FOR MESSAGES          COMPILR   1520
          ZR        X2,ERRMES      . GO TO STORE MESSAGE                COMPILR   1521
          SA2       A2+1           . NEXT SLOT IN MESSAGE TABLE         COMPILR   1522
          EQ        ERRT                                                COMPILR   1523
ERRMES    SA7       A2             . STORE MESSAGE                      COMPILR   1524
          SA2       ERRCNT                                              COMPILR   1525
          SX7       X2+1                                                COMPILR   1526
          SA7       A2             . COUNT THE ERROR                    COMPILR   1527
          SB1       -1                                                  COMPILR   1528
         EQ    INSKIP                                                   COMPILR   1529
*                                                                       COMPILR   1530
AEND     SX6   XNOEND                                                   COMPILR   1531
         RJ    PASS4                                                    COMPILR   1532
         SX6   XNOEND                                                   COMPILR   1533
         RJ    PASS4               . THE WORD FOR THIS EXTRA END WILL   COMPILR   1534
*                                    BE USED FOR THE CODE HEADING       COMPILR   1535
          SA1      NXTWRD          . BRANCH IF NOT COMPILATION          COMPILR   1536
          PL       X1,AEND6        .  FROM CARDS                        COMPILR   1537
          SA5      P1ERFLG                                              COMPILR   1538
         SB4   X5                  . SAVE THE ERROR FLAG                COMPILR   1539
*  ANNOUNCE SUCCESSFUL COMPILATION ONLY IF NO ERRORS AND LIST NOT OFF.  COMPILR   1540
          GT        B4,B0,ABT1     . COMPILATION ERRORS                 COMPILR   1541
         STREAM OUTSTRM                                                 COMPILR   1542
         ZR    B4,AEND1            . LIST CURRENTLY OFF                 COMPILR   1543
         BX5   X5-X5                                                    COMPILR   1544
         RJ    PUTFIRST            . PRINT BLANK LINE                   COMPILR   1545
         SA2   SMESS                                                    COMPILR   1546
         SA4   SMESS+1                                                  COMPILR   1547
         SA5   SMESS+2             . ISSUE MESSAGE INTO OUTPUT          COMPILR   1548
         BX6   X2                                                       COMPILR   1549
         RJ    PUTWD                                                    COMPILR   1550
         BX6   X4                                                       COMPILR   1551
         RJ    PUTWD                                                    COMPILR   1552
         BX6   X5                                                       COMPILR   1553
         RJ    PUTWD                                                    COMPILR   1554
          SA5       LC             . CHECK IF ALREADY AT END OF PAGE    COMPILR   1555
          ZR        X5,AEND1                                            COMPILR   1556
          SA5       NEWPAGE        . MAKE OUTPUT FROM PROGRAM           COMPILR   1557
          BX6       X5             . BEGIN ON A NEW PAGE                COMPILR   1558
          RJ        PUTWD                                               COMPILR   1559
AEND1    RJ    CLOSE1              . WRITE EOR IF ANY LISTING WAS OUTPUTCOMPILR   1560
         SA1   SCALL                                                    COMPILR   1561
         BX6   X1                                                       COMPILR   1562
         SA6   1                                                        COMPILR   1563
+        SA1   1                                                        COMPILR   1564
         NZ    X1,*                                                     COMPILR   1565
          EQ       POST0           . NOW RELOCATE THE CODE              COMPILR   1566
AEND6     SA5       ARROWM         . CHECK FOR COMPILER ERRORS          COMPILR   1567
          ZR       X5,POST0        . NO COMPILATION ERRORS              COMPILR   1568
          SB5      -51                                                  COMPILR   1569
          EQ       RTERROR                                              COMPILR   1570
ABT1      STREAM    OUTSTRM                                             COMPILR   1571
          BX5       X5-X5                                               COMPILR   1572
          RJ        PUTFIRST       . BLANK LINE                         COMPILR   1573
          SA1       ERRCNT                                              COMPILR   1574
          RJ        ICX1X6         . CHANGE BINARY IN X1 TO STRING IN X6COMPILR   1575
*                                                                       COMPILR   1576
*  TAKE STRING LEFT JUSTIFIED IN X6, RIGHT JUSTIFY IT IN THE            COMPILR   1577
*  LEFTMOST 30 BITS, WITH BLANK FILL AT BEGINNING                       COMPILR   1578
*                                                                       COMPILR   1579
          MX2       24                                                  COMPILR   1580
          LX2       60-6                                                COMPILR   1581
          MX5       6              . CHARACTER MASK                     COMPILR   1582
          LX5       36                                                  COMPILR   1583
          SA4       LBLANK                                              COMPILR   1584
ABT2      BX3       X6*X5          . RIGHTMOST POSITION                 COMPILR   1585
          NZ        X3,ABT3        . NUMBER IS RIGHT JUSTIFIED          COMPILR   1586
          AX6       6                                                   COMPILR   1587
          BX6       X6*X2          . MASK OUT POSSIBLE SIGN EXTENSION   COMPILR   1588
          BX6       X6+X4          . INSERT BLANK                       COMPILR   1589
          EQ        ABT2                                                COMPILR   1590
ABT3      SA2       ERRMSG                                              COMPILR   1591
          MX5       30                                                  COMPILR   1592
          BX2       -X5*X2         . GET READY TO INSERT NUMBER         COMPILR   1593
          BX6       X6+X2                                               COMPILR   1594
          SA6       ERRMSG         . STORE MESSAGE WITH NUMBER INSERTED COMPILR   1595
          RJ        PUTWD          . SEND MESSAGE TO OUTPUT             COMPILR   1596
          SA2       ERRMSG+1                                            COMPILR   1597
          SA4       ERRMSG+2                                            COMPILR   1598
          BX6       X2                                                  COMPILR   1599
          RJ        PUTWD                                               COMPILR   1600
          BX6       X4                                                  COMPILR   1601
          RJ        PUTWD                                               COMPILR   1602
          SA1       ECALL          . ISSUE MESSAGE TO DAYFILE ALSO      COMPILR   1603
          BX6       X1                                                  COMPILR   1604
          SA6       1                                                   COMPILR   1605
+         SA1       1                                                   COMPILR   1606
          NZ        X1,*                                                COMPILR   1607
          EQ        ABT            . GO ABORT JOB NOW                   COMPILR   1608
*                                                                       COMPILR   1609
ECALL     VFD       18/3LMSG,42/ERRMSG                                  COMPILR   1610
ERRMSG    DIS       ,$      COMPILATION ERROR(S)    $                   COMPILR   1611
LBLANK    VFD       6/1H ,54/0                                          COMPILR   1612
NEWPAGE   DATA     2L1                                                  *******      1
*                                                                       COMPILR   1614
         TITLE COMPILATION TIME FIELDLENGTH REQUEST                     COMPILR   1615
* BUMP IS CALLED WHENEVER THE COMPILER RUNS OUT OF STORAGE              COMPILR   1616
*  X0,X1,X2,X6,X7                                                       COMPILR   1617
*                                                                       COMPILR   1618
BUMP     DATA  0                                                        COMPILR   1619
         SA1   COMPB7                                                   COMPILR   1620
         SX0   B7                                                       COMPILR   1621
         SB7   X1                  . START OF FREE CHAIN                COMPILR   1622
         SA1   FRSTWRD             .  ENTRY IN THE STACK                COMPILR   1623
         SA2   NXTWRD                                                   COMPILR   1624
         NG    X2,BUMP3                                                 COMPILR   1625
         SX6   B7                                                       COMPILR   1626
         SB7   X1                                                       COMPILR   1627
BUMP2    SA1   X1                  . FREE THE TRANSLATED SOURCE         COMPILR   1628
         SX1   X1+0                .  STRING                            COMPILR   1629
         BX7   X1-X2                                                    COMPILR   1630
         NZ    X7,BUMP2                                                 COMPILR   1631
         SA6   A1                                                       COMPILR   1632
         BX7   X1                  . STORE LINK AT SPECIAL              COMPILR   1633
         SA1   MINHS               . HS LOCATION                        COMPILR   1634
         SA7   X1                                                       COMPILR   1635
BUMP3    SX6   B6                  . SAVE LAST MICOP ADDRESS            COMPILR   1636
         BX7   X7-X7                                                    COMPILR   1637
         SA2   MAXSTAT             . DELIMIT HS BY 0 WORD,              COMPILR   1638
         SA2   X2                  . CONTENTS WILL BE RESTORED BELOW    COMPILR   1639
         SA7   A2                                                       COMPILR   1640
         SA1   MAXSTAK                                                  COMPILR   1641
         SB6   X1+1                                                     COMPILR   1642
         SB6   B0-B6               . STACK TOP                          COMPILR   1643
         SX7   A0                  . SAVE PASS 2 STACK POINTER          COMPILR   1644
         SA0   BUFF5               . REQUEST MORE STACK SPACE           COMPILR   1645
         RJ    RESERVE                                                  COMPILR   1646
         SA1   MAXSTAK                                                  COMPILR   1647
         SA0   X7                  . RESTORE PASS 2 STACK POINTER       COMPILR   1648
         BX7   X2                                                       COMPILR   1649
         SA2   MAXSTAT                                                  COMPILR   1650
         SA7   X2                                                       COMPILR   1651
         SX7   B7                                                       COMPILR   1652
         SA7   COMPB7                                                   COMPILR   1653
*  MOVE THE COMBINED MICOP AND SS AREAS TOWARD HIGH                     COMPILR   1654
*  CORE AS FAR AS POSSIBLE, TO EXTEND CS                                COMPILR   1655
         SB6   B6-BUFF5            . B7 = DISP = -(MAXSTAK+1) -         COMPILR   1656
         SB7   X1+1                .   (B6-BUFF5)                       COMPILR   1657
         SB7   B0-B7               . B5 = LENGTH = B6-BUFF5-MAXSTAT     COMPILR   1658
         SB7   B7-B6                                                    COMPILR   1659
         BX1   -X2                                                      COMPILR   1660
         SB6   X1+B6                                                    COMPILR   1661
BUMP4    SA1   X2+B6               . PUSH THE STACK AND MICOPS          COMPILR   1662
         SB6   B6-1                .  INTO THE NEW AREA                 COMPILR   1663
         BX7   X1                                                       COMPILR   1664
         SA7   A1+B7                                                    COMPILR   1665
         GE    B6,B0,BUMP4                                              COMPILR   1666
         SA1   PRGBASE                                                  COMPILR   1667
         SX7   X1+B7                                                    COMPILR   1668
         SA7   A1                                                       COMPILR   1669
         SB6   X6                                                       COMPILR   1670
         GE    B6,B0,BUMP5                                              COMPILR   1671
         SB7   B0-B7                                                    COMPILR   1672
BUMP5    SB6   B6+B7               . RESTORE MICOP ADDRESS              COMPILR   1673
         SB7   X0                  . RESTORE OPSIT                      COMPILR   1674
         SA1   NXTWRD                                                   COMPILR   1675
         NG    X1,BUMP                                                  COMPILR   1676
         SA2   MINHS               . RESTORE SOURCE STRING POINTER      COMPILR   1677
         SA2   X2+0                                                     COMPILR   1678
         BX6   X6-X6                                                    COMPILR   1679
         BX7   X2                                                       COMPILR   1680
         SA6   A2                                                       COMPILR   1681
         SA7   A1                                                       COMPILR   1682
         SA7   FRSTWRD                                                  COMPILR   1683
         EQ    BUMP                                                     COMPILR   1684
         TITLE PASS0                                                    COMPILR   1685
*                                                                       COMPILR   1686
P0EXIT   NG    B4,P0XFER           . NO CHARACTERS TO RETURN, GO AGAIN  COMPILR   1687
         SX0   -77B                . =HOLE 6                            COMPILR   1688
*                                                                       COMPILR   1689
PASS0    BSSZ  1                   . ENTRY/EXIT                         COMPILR   1690
P0XFER   SA2   P0STWD              . FETCH                              COMPILR   1691
         SB2   X2+0                .   CO-ROUTINE LINK                  COMPILR   1692
         JP    B2                  .     AND TRANSFER                   COMPILR   1693
*                                                                       COMPILR   1694
*                                                                       COMPILR   1695
*  LINE BEGINS A STATEMENT, COMMENT, OR DIRECTIVE.                      COMPILR   1696
*                                                                       COMPILR   1697
NEWUNIT0 RJ    PRINERR             . PRINT ANY PENDING ERROR MESSAGES   COMPILR   1698
NEWUNIT  STREAM INSTRM                                                  COMPILR   1699
         MX5   6                                                        COMPILR   1700
+        RJ    GETWD               . GET NEXT WORD IN X1 (SAVES X5)     COMPILR   1701
-        VFD   30/ENDPRG1          . END-OF-RECORD REACHED              COMPILR   1702
         SA4   P1ERFLG             . FLAG=0 => NO LIST                  COMPILR   1703
         BX2   X5*X1               . EXTRACT FIRST CHARACTER            COMPILR   1704
         LX2   6                   .   OF NEW LINE                      COMPILR   1705
         IFCH  *,COMMENT                                                COMPILR   1706
         IFCH  -,DIRECTIV                                               COMPILR   1707
*                                                                       COMPILR   1708
*  A NEW STATEMENT BEGINS.                                              COMPILR   1709
*                                                                       COMPILR   1710
         ZR    X4,INSTMT1          . DO NOT LIST THE STATEMENT NUMBER   COMPILR   1711
         BX0   X0-X0               . INITIALIZE CHAR COUNT = 0          COMPILR   1712
         BX6   X1                  . SAVE THE                           COMPILR   1713
         SA6   CURWD               .   SOURCE WORD                      COMPILR   1714
         SA1   RULENO              . CONVERT BINARY TO                  COMPILR   1715
         RJ    ICX1X6              .   LJZF CODED DECIMAL IN X6         COMPILR   1716
         SA1   P0FILLTB+X0         .     WITH LENGTH ADDED TO (X0)      COMPILR   1717
         BX5   X6+X1               . BLANK FILLED STATEMENT NO. TO X5   COMPILR   1718
         LX5   60-6                . LEFT JUSTIFY A BLANK FOR CARR. CTL.COMPILR   1719
         RJ    PUTFIRST            . LIST FIRST WORD OF THE NEW LINE    COMPILR   1720
         SA1   CURWD                                                    COMPILR   1721
         JP    INSTMT1                                                  COMPILR   1722
*                                                                       COMPILR   1723
         BSS   0                   . FORCE UPPER                        COMPILR   1724
P0FILLTB EQU   *-1                                                      COMPILR   1725
I        SET   9                                                        COMPILR   1726
         DUP   5                   . EXPECTED LOG10(STMT. NO.) [ 5      COMPILR   1727
B2DMIC   MICRO I,1,/123456789/     . CONVERT SYMBOL VALUE TO CHARACTER  COMPILR   1728
         DATA  'B2DMIC'R           . RIGHT-JUSTIFIED BLANKS             COMPILR   1729
I        SET   I-1                                                      COMPILR   1730
         ENDD                                                           COMPILR   1731
*                                                                       COMPILR   1732
*                                                                       COMPILR   1733
*  LIST A COMMENT LINE OF UP TO 90 CHARACTERS, PRECEDED BY 10 BLANKS.   COMPILR   1734
*                                                                       COMPILR   1735
COMMENT  ZR    X4,SKIPLINE         . NO LIST, SKIP THIS LINE            COMPILR   1736
         SA2   BLANKS                                                   COMPILR   1737
         BX7   X1                                                       COMPILR   1738
         BX5   X2                                                       COMPILR   1739
         SA7   CURWD               . SAVE FIRST WORD OF COMMENT LINE    COMPILR   1740
         NO                                                             COMPILR   1741
         SB4   B2                  . SAVE INPUT STREAM POINTER          COMPILR   1742
         RJ    PUTFIRST            . PRINT 10 SPACES                    COMPILR   1743
         SA1   CURWD                                                    COMPILR   1744
         SB3   9                   . (90 CHARS/LINE)/(10CHARS/WD)       COMPILR   1745
*                                  .                       = 9 WDS/LINE COMPILR   1746
         SX5   7777B                                                    COMPILR   1747
         SB5   B2+0                . SAVE OUTPUT STREAM PTR             COMPILR   1748
COMMENTL BX6   X1                                                       COMPILR   1749
         RJ    PUTWD                                                    COMPILR   1750
         SB3   B3-1                                                     COMPILR   1751
         BX1   X5*X6                                                    COMPILR   1752
         SB2   B4                  . RESTORE INPUT STREAM POINTER       COMPILR   1753
         ZR    X1,NEWUNIT          . END OF LINE IMAGE, ALL DONE        COMPILR   1754
         ZR    B3,COMMENTE         . PRINT EOL AND SKIP                 COMPILR   1755
+        RJ    GETWD                                                    COMPILR   1756
-        VFD   30/ENDPRG1          . END OF RECORD, OUTPUT END SYMBOL   COMPILR   1757
         SB2   B5                  . RESET STREAM TO OUTPUT             COMPILR   1758
         JP    COMMENTL                                                 COMPILR   1759
*                                                                       COMPILR   1760
COMMENTE BX6   X6-X6               . WORD WITH ZERO BYTE                COMPILR   1761
         SB2   B5                  . OUTPUT STREAM POINTER              COMPILR   1762
         RJ    PUTWD                                                    COMPILR   1763
         SB2   B4+0                . RESTORE INPUT STREAM POINTER       COMPILR   1764
*                                                                       COMPILR   1765
SKIPLINE RJ    SKIPWDS             . B2, X1 ARE SET TO STREAM, CUR. WORDCOMPILR   1766
-        VFD   30/ENDPRG1                                               COMPILR   1767
         JP    NEWUNIT                                                  COMPILR   1768
*                                                                       COMPILR   1769
*                                                                       COMPILR   1770
*  PROCESS A DIRECTIVE.                                                 COMPILR   1771
*                                                                       COMPILR   1772
DIRECTIV BX2   X1                                                       COMPILR   1773
         LX2   6                   . EXTRACT SECOND                     COMPILR   1774
         BX2   X5*X2               .   CHARACTER OF                     COMPILR   1775
         LX2   6                   .     INPUT WORD                     COMPILR   1776
*                                                                       COMPILR   1777
         IFCH  E,EJECT             . SKIP LISTING TO NEW PAGE           COMPILR   1778
         IFCH  S,SPACE             . PRINT BLANK LINE                   COMPILR   1779
         IFCH  U,UNLIST            . SUPPRESS LISTING                   COMPILR   1780
         IFCH  L,LIST              . SET LIST MODE                      COMPILR   1781
*                                                                       COMPILR   1782
         JP    COMMENT             . TREAT UNKNOWN DIRECTIVE AS A COMMENCOMPILR   1783
*                                                                       COMPILR   1784
EJECT    ZR    X4,SKIPLINE         . IGNORE DIRECTIVE IF LIST SUPPRESSEDCOMPILR   1785
         SX6   0                   . SET REMAINING LINES COUNT = 0,     COMPILR   1786
         SA6   LC                  .   FORCING NEXT OUTPUT TO NEW PAGE  COMPILR   1787
         JP    SKIPLINE            . SKIP REST OF DIRECTIVE LINE        COMPILR   1788
*                                                                       COMPILR   1789
SPACE    RJ    SKIPWDS                                                  COMPILR   1790
-        VFD   30/*+1                                                   COMPILR   1791
         ZR    X4,NEWUNIT          . IGNORE DIRECTIVE IF LIST SUPPRESSEDCOMPILR   1792
         STREAM OUTSTRM                                                 COMPILR   1793
         BX5   X5-X5                                                    COMPILR   1794
         RJ    PUTFIRST            . PRINT BLANK LINE                   COMPILR   1795
         JP    NEWUNIT                                                  COMPILR   1796
*                                                                       COMPILR   1797
UNLIST   SX6   0                   . FLAG VALUE FOR NO LIST             COMPILR   1798
         JP    LSTUNLST                                                 COMPILR   1799
*                                                                       COMPILR   1800
LIST     SX6   -1                  . FLAG VALUE FOR LIST                COMPILR   1801
LSTUNLST SB3   X4                  . RECALL X4 CONTAINS LIST FLAG       COMPILR   1802
         GT    B3,B0,SKIPLINE      . ERROR MODE, IGNORE LIST DIRECTIVE  COMPILR   1803
         SA6   A4                  . STORE NEW LIST MODE                COMPILR   1804
         JP    SKIPLINE            . SKIP REST OF DIRECTIVE LINE        COMPILR   1805
*                                                                       COMPILR   1806
*                                                                       COMPILR   1807
*  AT THE BEGINNING OF A CONTINUATION LINE.                             COMPILR   1808
*                                                                       COMPILR   1809
NEWLINE  RJ    PRINERR             . PRINT ANY PENDING ERROR MESSAGES   COMPILR   1810
         SA1   P1ERFLG             . FLAG IS ZERO FOR NO LIST           COMPILR   1811
         ZR    X1,NEWLINNL         . NO LIST                            COMPILR   1812
         SA2   BLANKS              . =10H                               COMPILR   1813
         BX5   X2                  . WE MUST NOT CLOBBER A5             COMPILR   1814
         RJ    PUTFIRST            . LIST 10 SPACES TO BEGIN NEW LINE   COMPILR   1815
NEWLINNL STREAM INSTRM                                                  COMPILR   1816
+        RJ    GETWD                                                    COMPILR   1817
-        VFD   30/400000B+*        . (EOR IS IMPOSSIBLE)                COMPILR   1818
         SB4   54-6                . TENTATIVE SHIFT COUNT              COMPILR   1819
         MX3   60-2*6                                                   COMPILR   1820
         BX4   -X3*X1                                                   COMPILR   1821
         NZ    X4,INSTMTCK         . X1 CONTAINS 9 OR 10 CHARS          COMPILR   1822
         SX5   PHYSEOL             . ZERO BYTE ENCOUNTERED              COMPILR   1823
         BX4   X1                                                       COMPILR   1824
         LX4   6                   . LEFT JUSTIFY  THE ACTUAL TEXT CHARSCOMPILR   1825
         STREAM OUTSTRM,2          . (DO NOT CLOBBER X1 NOW)            COMPILR   1826
         SX2   1                   . INITIALIZE COLUMN INCREMENT        COMPILR   1827
         JP    INSTMTZB            . GO PROCESS ZERO BYTE               COMPILR   1828
*                                                                       COMPILR   1829
*                                                                       COMPILR   1830
*  IN THE MIDST OF A LINE OF STATEMENTS.                                COMPILR   1831
*                                                                       COMPILR   1832
INSTMT   STREAM INSTRM                                                  COMPILR   1833
+        RJ    GETWD               . GET NEXT WORD IN X1                COMPILR   1834
-        VFD   30/*+1              . (END-OF-RECORD RETURNS X1 = 0)     COMPILR   1835
INSTMT1  SB4   54                  . TENTATIVE SHIFT COUNT              COMPILR   1836
INSTMTCK STREAM OUTSTRM,2          . (DO NOT CLOBBER X1 NOW)            COMPILR   1837
         BX4   X1                                                       COMPILR   1838
         SX2   10                  . TENTATIVE COLUMN INCREMENT         COMPILR   1839
         SX5   INSTMT              .   AND STATE                        COMPILR   1840
         MX3   60-6                . EXTRACT LAST                       COMPILR   1841
         BX3   -X3*X1              .   CHARACTER                        COMPILR   1842
         NZ    X3,INSTMT10         . 10 CHARACTERS PRESENT              COMPILR   1843
         MX3   60-2*6              . EXTRACT                            COMPILR   1844
         BX3   -X3*X1              .   LAST BYTE                        COMPILR   1845
         NZ    X3,INSTMT9          . NOT A ZERO BYTE                    COMPILR   1846
         SX5   PHYSEOL             . ZERO BYTE ENCOUNTERED              COMPILR   1847
         SX2   0                   . INITIALIZE COLUMN INCREMENT        COMPILR   1848
INSTMTZB MX3   6                                                        COMPILR   1849
         SB4   -6                                                       COMPILR   1850
ISZBL    BX6   X3*X4                                                    COMPILR   1851
         ZR    X6,INSTMT10         . X4 CONTAINS (B4+6)/6 CHARACTERS    COMPILR   1852
         LX4   6                                                        COMPILR   1853
         SB4   B4+6                                                     COMPILR   1854
         SX2   X2+1                                                     COMPILR   1855
         JP    ISZBL                                                    COMPILR   1856
*                                                                       COMPILR   1857
*  THE BUFFER WORD CONTAINS NINE CHARACTERS, PRESUMABLY INDICATING A    COMPILR   1858
*  NONSTANDARD, ODD-LENGTH SCOPE UNIT RECORD;  THE NEXT BUFFER WORD WILLCOMPILR   1859
*  THUS CONTAIN ALL ZEROS.                                              COMPILR   1860
*                                                                       COMPILR   1861
INSTMT9  LX4   60-6                . RIGHT JUSTIFY THE CHARACTERS,      COMPILR   1862
         SB4   B4-6                .   AND REDUCE THE SHIFT COUNT       COMPILR   1863
*                                                                       COMPILR   1864
INSTMT10 SA3   P0STWD                                                   COMPILR   1865
         UX3   B3,X3               . SET B3 = OLD COLUMN NUMBER         COMPILR   1866
         SB3   B3+X2                                                    COMPILR   1867
         SA2   P1ERFLG             . FLAG=0 => NO LIST                  COMPILR   1868
         SB5   B3-72                                                    COMPILR   1869
         BX6   X1                                                       COMPILR   1870
         PL    B5,LOGEOL           . LOGICAL END-OF-LINE REACHED        COMPILR   1871
         PX7   B3,X5               . PACK NEW COLUMN NUMBER, STATE      COMPILR   1872
         SA7   A3                  . STORE UPDATED STATE WORD           COMPILR   1873
         BX7   X4                                                       COMPILR   1874
         SA7   CURWD                                                    COMPILR   1875
         ZR    X2,P0EXIT           . NO LIST, ALL FINISHED              COMPILR   1876
         RJ    PUTWD               . (SAVES X4)                         COMPILR   1877
         JP    P0EXIT              . RETURN                             COMPILR   1878
*                                                                       COMPILR   1879
*                                                                       COMPILR   1880
*  THE PHYSICAL END-OF-LINE (ZERO BYTE) HAS BEEN REACHED.  IN THIS STATECOMPILR   1881
*  WE SUPPLY TRAILING BLANKS THROUGH COLUMN 72 IF PASS1 IS IN THE MIDST COMPILR   1882
*  OF A QUOTED LITERAL.  OTHERWISE LOGICAL EOL PROCESSING IS INITIATED. COMPILR   1883
*                                                                       COMPILR   1884
PHYSEOL  SA1   P1LTFLG             . FLAG=0 => NOT INSIDE A LITERAL     COMPILR   1885
         NZ    X1,PHYSEOLB         . SUPPLY TRAILING BLANKS             COMPILR   1886
         SB4   -6                  . SET B4,X4 TO INDICATE              COMPILR   1887
         SX4   0                   .   ZERO CHARACTERS, AND             COMPILR   1888
         JP    LOGEOLP             .     PROCESS LOGICAL EOL            COMPILR   1889
*                                                                       COMPILR   1890
*  IF TRAILING BLANKS ARE TO BE SUPPLIED, THEY ARE SENT 10 AT A TIME    COMPILR   1891
*  UNTIL COLUMN 72 IS REACHED.  NOTE THAT WHEN THE CODE BELOW TRANSFERS COMPILR   1892
*  INTO  LOGEOL , X4 CONTAINS NOT MORE THAN 8 CHARACTERS, LEAVING ROOM  COMPILR   1893
*  FOR THE  EOS  WHICH MAY BE APPENDED.                                 COMPILR   1894
*                                                                       COMPILR   1895
PHYSEOLB UX6   B3,X2               . RECALL X2 CONTAINS  P0STWD         COMPILR   1896
         SB5   B3+10               . INCREMENT COLUMN NUMBER            COMPILR   1897
         MX0   60-6                                                     COMPILR   1898
         SB4   54                  . TENTATIVE SHIFT COUNT              COMPILR   1899
         SA4   BLANKS                                                   COMPILR   1900
         SB3   B5-72                                                    COMPILR   1901
         GT    B3,B0,PHYSEOLX      . 10 BLANKS WOULD BE TOO MANY        COMPILR   1902
PHYSEOLC PX7   B5,X6                                                    COMPILR   1903
         SA7   P0STWD              . STORE UPDATED STATE WORD           COMPILR   1904
         BX6   X4                                                       COMPILR   1905
         SA6   CURWD                                                    COMPILR   1906
         JP    PASS0               . RETURN (B4 IS NON-NEGATIVE)        COMPILR   1907
*                                                                       COMPILR   1908
*  BEFORE TRANSFERRING INTO  LOGEOL  WE MUST COMPUTE THE SHIFT COUNT ANDCOMPILR   1909
*  CLEAR (AT LEAST) TWO POSITIONS IN X4 AS PER THE CLAIM MADE IN THE    COMPILR   1910
*  PREVIOUS COMMENT.                                                    COMPILR   1911
*                                                                       COMPILR   1912
PHYSEOLX SB2   B3-1                                                     COMPILR   1913
         ZR    B2,PHYSEOLY                                              COMPILR   1914
         SB3   B3+B3               . SET B3 = 2 * (NO. OF EXTRA CHARS.) COMPILR   1915
         SB5   B3+B3                                                    COMPILR   1916
         SB3   B5+B3               . 6 * N                              COMPILR   1917
         SB4   B4-B3               . NOW -6 [ B4 [ 36                   COMPILR   1918
         MX5   12                  . ENSURE ROOM                        COMPILR   1919
         BX4   -X5*X4              .   FOR A SUFFIXED  EOS              COMPILR   1920
         JP    LOGEOLP                                                  COMPILR   1921
*                                                                       COMPILR   1922
PHYSEOLY SB4   B4-6                                                     COMPILR   1923
         SB5   B5-1                                                     COMPILR   1924
         JP    PHYSEOLC                                                 COMPILR   1925
*                                                                       COMPILR   1926
*                                                                       COMPILR   1927
*  LOGICAL END-OF-LINE (COLUMN 72) REACHED.                             COMPILR   1928
*                                                                       COMPILR   1929
LOGEOL   SB3   X5-PHYSEOL          . SAVE HANDLE TO THE STATE           COMPILR   1930
         MX0   2*6                                                      COMPILR   1931
         BX4   X0*X1               . COLUMNS 71 AND 72                  COMPILR   1932
         BX5   -X0*X1              . COLS. 73 THROUGH 80                COMPILR   1933
         SB4   X2                  . SET B4 = LIST FLAG, ZERO => NO LISTCOMPILR   1934
         ZR    B4,LOGEOL1          . SKIP LISTING COLUMNS 71 AND UP     COMPILR   1935
         ZR    X5,LOGEOL72         . NO CHARACTERS PAST THE 72-ND       COMPILR   1936
         SA3   BLANKS              . =10H                               COMPILR   1937
         BX1   -X0*X3              . =8R                                COMPILR   1938
         BX3   X0*X3               . =2L                                COMPILR   1939
         BX6   X4+X1                                                    COMPILR   1940
         BX5   X3+X5                                                    COMPILR   1941
         RJ    PUTWD               . LIST COLS. 71,72 (SAVE B3,B4,X4,X5)COMPILR   1942
         BX6   X5                  . SET X6 = COLUMNS 73 THROUGH 80     COMPILR   1943
LOGEOL72 RJ    PUTWD               . LIST (X6)                          COMPILR   1944
LOGEOL1  ZR    B3,LOGEOL2          . END OF PHYSICAL LINE ALREADY SEEN  COMPILR   1945
         SB3   B2                  . SAVE OUTPUT STREAM POINTER         COMPILR   1946
         STREAM INSTRM                                                  COMPILR   1947
+        RJ    GETWD                                                    COMPILR   1948
-        VFD   30/LOGEOL2                                               COMPILR   1949
         BX6   X1                  . SAVE COLS. 81 THROUGH 90           COMPILR   1950
+        RJ    SKIPWDS             . MOVE UP TO ZERO BYTE               COMPILR   1951
-        VFD   30/*+1              . IGNORE END OF RECORD               COMPILR   1952
         ZR    B4,LOGEOL2          . NO LIST                            COMPILR   1953
         MX0   60-2*6                                                   COMPILR   1954
         BX5   -X0*X6                                                   COMPILR   1955
         SB2   B3                  . RESTORE OUTPUT STREAM POINTER      COMPILR   1956
         RJ    PUTWD               . LIST 81 THRU 90 AS 91 THRU 100     COMPILR   1957
         ZR    X5,LOGEOL2          . LAST WORD HAD ZERO BYTE            COMPILR   1958
         BX6   X6-X6                                                    COMPILR   1959
         RJ    PUTWD                                                    COMPILR   1960
LOGEOL2  LX4   12                                                       COMPILR   1961
         SB4   6                                                        COMPILR   1962
*                                                                       COMPILR   1963
*  NOW WE PEEK INTO THE BUFFER TO SEE WHETHER THE CURRENT LINE IS       COMPILR   1964
*  CONTINUED;  IF NOT AN  EOS  SYMBOL SHOULD BE APPENDED TO THE CURRENT COMPILR   1965
*  LINE.                                                                COMPILR   1966
*                                                                       COMPILR   1967
LOGEOLP  STREAM INSTRM                                                  COMPILR   1968
+        RJ    PEEKWD                                                   COMPILR   1969
-        VFD   30/LOGEOLEP         . END-OF-RECORD MEANS NOT CONTINUED  COMPILR   1970
         SX0   -77B                                                     COMPILR   1971
         LX1   6                                                        COMPILR   1972
         BX2   -X0*X1                                                   COMPILR   1973
         SX6   NEWLINE             . TENTATIVE NEXT STATE               COMPILR   1974
         IFCH  .,LOGEOLX           . YES, IT IS TO BE CONTINUED         COMPILR   1975
         IFCH  +,LOGEOLX           . ALTERNATE CONTINUATION CHARACTER   COMPILR   1976
         SX6   NEWUNIT0                                                 COMPILR   1977
LOGEOLNC LX4   6+6                                                      COMPILR   1978
*        SX7   P1EOS               .                       COMPILR   1979
*        BX4   X4+X7               . NOTE: SYMBOL = 0                   COMPILR   1980
         SB4   B4+6+6              . APPEND SYMBOL                      COMPILR   1981
LOGEOLX  PX6   B0,X6               . PACK COLUMN NUMBER = 0, STATE      COMPILR   1982
         BX7   X4                                                       COMPILR   1983
         SA6   P0STWD                                                   COMPILR   1984
         SA7   CURWD                                                    COMPILR   1985
         JP    P0EXIT              . RETURN                             COMPILR   1986
*                                                                       COMPILR   1987
LOGEOLEP SX6   ENDPRG              . NEXT STATE                         COMPILR   1988
         JP    LOGEOLNC            . APPEND  EOS                        COMPILR   1989
*                                                                       COMPILR   1990
*                                                                       COMPILR   1991
*  THE END OF THE SOURCE HAS BEEN REACHED.                              COMPILR   1992
*                                                                       COMPILR   1993
ENDPRG   RJ    PRINERR                                                  COMPILR   1994
ENDPRG1  SX4   P1END               .                       COMPILR   1995
         BX7   X4                                                       COMPILR   1996
         MX0   60-6                                                     COMPILR   1997
         SA7   CURWD                                                    COMPILR   1998
         SB4   6                                                        COMPILR   1999
*                                                                       COMPILR   2000
         SA1   INSTRM                                                   COMPILR   2001
         SA1   X1+FI.FET+FET.LFN                                        COMPILR   2002
         MX6   1                                                        COMPILR   2003
         LX6   60-FS.EOR                                                COMPILR   2004
         BX6   -X6*X1              . CLEAR END-OF-RECORD STATUS         COMPILR   2005
         SA6   A1                  .   FROM THE INPUT FILE              COMPILR   2006
*                                                                       COMPILR   2007
         JP    PASS0               . RETURN (B4 IS NON-NEGATIVE)        COMPILR   2008
*                                                                       COMPILR   2009
*                                                                       COMPILR   2010
*  HERE WE FETCH THE NEXT STRING WORD WHEN COMPILING VIA COMPILE().     COMPILR   2011
*                                                                       COMPILR   2012
GETNEXT  SA1   NXTWRD              . FETCH ADDRESS OF NEXT WORD         COMPILR   2013
         SB4   36                  . TENTATIVE RIGHT SHIFT COUNT        COMPILR   2014
         SA4   X1                  . FETCH THE WORD                     COMPILR   2015
         SX6   X4                                                       COMPILR   2016
         SA6   A1                  . UPDATE  NXTWRD                     COMPILR   2017
         MX0   60-6                                                     COMPILR   2018
         LX4   60-18                                                    COMPILR   2019
         NZ    X6,GETNEXTY         . NOT TO END OF STRING               COMPILR   2020
GETNEXTL BX1   -X0*X4                                                   COMPILR   2021
         NZ    X1,GETNEXTX         . THE CHARACTERS ARE RJZF            COMPILR   2022
         LX4   60-6                                                     COMPILR   2023
         SB4   B4-6                                                     COMPILR   2024
         EQ    GETNEXTL                                                 COMPILR   2025
*                                                                       COMPILR   2026
GETNEXTX SB4   B4+6+6                                                   COMPILR   2027
         SX7   P1EOSEND            .                    COMPILR   2028
         LX4   6+6                                                      COMPILR   2029
         BX4   X4+X7                                                    COMPILR   2030
GETNEXTY NO                                                             COMPILR   2031
         BX7   X4                                                       COMPILR   2032
         SA7   CURWD                                                    COMPILR   2033
         JP    PASS0               . RETURN                             COMPILR   2034
*                                                                       COMPILR   2035
*                                                                       COMPILR   2036
*  COMPILER INTERPASS TRACE ROUTINE.                                    COMPILR   2037
*                                                                       COMPILR   2038
TRC       DATA     0                                                    COMPILR   2039
          BX5      X1                                                   COMPILR   2040
          BX6      X6-X6                                                COMPILR   2041
         STREAM OUTSTRM                                                 COMPILR   2042
         SB3   X7                  . SAVE BLANK-WORD COUNT              COMPILR   2043
         RJ    PUTWD               . GUARANTEE ZERO BYTE                COMPILR   2044
          SA2      BLANKS                                               COMPILR   2045
          BX6      X2                                                   COMPILR   2046
         SX4   X5                                                       COMPILR   2047
TRC1      SB3      B3-1                                                 COMPILR   2048
         RJ    PUTWD                                                    COMPILR   2049
          NZ       B3,TRC1                                              COMPILR   2050
          MX0      57                                                   COMPILR   2051
         MX3   60-6                                                     COMPILR   2052
          SX2      1R%                                                  COMPILR   2053
         NG    X4,TRC3                                                  COMPILR   2054
TRC2     BX2   -X0*X4                                                   COMPILR   2055
         AX4   3                                                        COMPILR   2056
          SX2      X2+1R0                                               COMPILR   2057
TRC3     BX6   X3*X6                                                    COMPILR   2058
          BX6      X2+X6                                                COMPILR   2059
          LX6      54                                                   COMPILR   2060
         NZ    X4,TRC2                                                  COMPILR   2061
         RJ    PUTWD                                                    COMPILR   2062
          BX1      X5                                                   COMPILR   2063
          EQ       TRC                                                  COMPILR   2064
*                                                                       COMPILR   2065
*                                                                       COMPILR   2066
*  PUTFIRST  LISTS THE FIRST WORD OF A LINE OF THE COMPILATION LISTING. COMPILR   2067
*  IT INCREMENTS TEH LINE COUNTER AND, IF NECESSARY, STARTS A NEW PATE  COMPILR   2068
*  WITH THE HEADING.  THE GIVEN WORD IS OUTPUT, AND  CHKOUTB  IS CALLED COMPILR   2069
*  TO DECIDE WHETHER AN ASYNCHRONOUS WRITE COMMAND SHOULD BE ISSUED YET.COMPILR   2070
*                                                                       COMPILR   2071
*  PARAMETER: X5 = WORD TO BE LISTED                                    COMPILR   2072
*                                                                       COMPILR   2073
*  SAVES: A0,A5,B1,B4,B6,B7,X5                                          COMPILR   2074
*                                                                       COMPILR   2075
PUTFRST1 SX7   X2-1                . DECREMENT COUNT OF                 COMPILR   2076
         SA7   A2+0                .   LINES REMAINING, THIS PAGE       COMPILR   2077
PUTFRST2 RJ    PUTWD               . OUTPUT THE GIVEN WORD              COMPILR   2078
         RJ    CHKOUTB                                                  COMPILR   2079
PUTFIRST BSSZ  1                   . ENTRY/EXIT                         COMPILR   2080
         STREAM OUTSTRM            . SET B2 = OUTPUT FILE BLOCK WORD 0  COMPILR   2081
         BX6   X5                                                       COMPILR   2082
         SA2   LC                                                       COMPILR   2083
         NZ    X2,PUTFRST1         . ROOM FOR ANOTHER LINE EXISTS       COMPILR   2084
         SA1   PAGENO                                                   COMPILR   2085
         SX7   LINPPG-3            . RESET                              COMPILR   2086
         SA7   A2                  .   LINE COUNTER                     COMPILR   2087
         SX7   X1+1                . ADVANCE                            COMPILR   2088
         SA7   A1                  .   PAGE NUMBER                      COMPILR   2089
         SB5   TITLE-ENDTITL       . -(LENGTH OF TITLE)                 COMPILR   2090
         RJ    ICX1X6              . (SAVES B2,B5,X5)                   COMPILR   2091
         SA6   PAGE                . NOTE: (X6) ARE LJZF                COMPILR   2092
PUTFRSTL SA1   ENDTITL+B5          . PRINT                              COMPILR   2093
         BX6   X1                  .   TITLE"I!,                        COMPILR   2094
         SB5   B5+1                .     I = 1, 2, ..., N,              COMPILR   2095
         RJ    PUTWD               .       WHERE                        COMPILR   2096
         NG    B5,PUTFRSTL         .         N = ENDTITL-TITLE          COMPILR   2097
         BX6   X6-X6               . PRINT BLANK LINE                   COMPILR   2098
         RJ    PUTWD               .   AFTER HEADING                    COMPILR   2099
         BX6   X5                                                       COMPILR   2100
         JP    PUTFRST2                                                 COMPILR   2101
*                                                                       COMPILR   2102
*                                                                       COMPILR   2103
*  PRINERR                                                              COMPILR   2104
*                                                                       COMPILR   2105
PRINERR  BSSZ  1                   . ENTRY/EXIT                         COMPILR   2106
          SA1       ARROWM         . ARE THERE ANY ERROR MESSAGES       COMPILR   2107
          ZR        X1,PRINERR     . NO ERRORS TO PRINT                 COMPILR   2108
          SX6       B6             . B6 MUST BE SAVED                   COMPILR   2109
          PX6       B7,X6          . MUST ALSO SAVE B7                  COMPILR   2110
          SA6       SB6PR                                               COMPILR   2111
          SX6       A5             . A5 MUST BE SAVED                   COMPILR   2112
          PX6       B1,X6          . B1 MUST ALSO BE SAVED              COMPILR   2113
          SA6       SB1PR                                               COMPILR   2114
          BX5       X5-X5                                               COMPILR   2115
          RJ        PUTFIRST       . OUTPUT BLANK LINE                  COMPILR   2116
          SA5       =10H **ERROR**                                      COMPILR   2117
          RJ        PUTFIRST       . PRINT **ERROR**                    COMPILR   2118
          SB7       0                                                   COMPILR   2119
          SA1       ARROWM         . REFETCH FIRST ERROR MESSAGE        COMPILR   2120
PRERR     SB6       X1             . ADDRESS OF ERROR MESSAGE           COMPILR   2121
          AX1       18                                                  COMPILR   2122
          SB4       X1             . COLUMN WITHIN LAST WORD            COMPILR   2123
          AX1       18                                                  COMPILR   2124
          SB1       X1             . WHOLE WORDS                        COMPILR   2125
          NE        B7,PRERR2      . ACCOUNT FOR PRINTING **ERROR**     COMPILR   2126
          SB1       B1-10          . ACCOUNT FOR PRINTING  **ERROR**    COMPILR   2127
PRERR2    SB5       -B1                                                 COMPILR   2128
          SB5       B5+50          . PRINT ERROR MESSAGE FAR TO RIGHT   COMPILR   2129
          SA5       BLANKS         . WORD OF 10 BLANKS                  COMPILR   2130
          BX6       X5                                                  COMPILR   2131
PRERRB    LE        B1,PRERRA                                           COMPILR   2132
          RJ        PUTWD          . SEND APPROPRIATE NUMBER OF BLANKS  COMPILR   2133
          SB1       B1-10          . DECREMENT COUNT OF BLANK WORKS     COMPILR   2134
          EQ        PRERRB                                              COMPILR   2135
PRERRA    SA5       ARROW          . BLANKS ALL PRINTED                 COMPILR   2136
          LX6       B4,X5          . POSITION ARROW UNDER ERROR         COMPILR   2137
          RJ        PUTWD          . SEND THE ARROR                     COMPILR   2138
PRERRB2   LE        B5,PRERRM                                           COMPILR   2139
          SA5       BLANKS                                              COMPILR   2140
          BX6       X5                                                  COMPILR   2141
          RJ        PUTWD                                               COMPILR   2142
          SB5       B5-10                                               COMPILR   2143
          EQ        PRERRB2                                             COMPILR   2144
PRERRM    SA5       B6             . FETCH FIRST WORD OF MESSAGE        COMPILR   2145
          BX6       X5                                                  COMPILR   2146
          RJ        PUTWD                                               COMPILR   2147
          SA5       A5+1                                                COMPILR   2148
          BX6       X5                                                  COMPILR   2149
          RJ        PUTWD                                               COMPILR   2150
          SA5       A5+1                                                COMPILR   2151
          BX6       X5                                                  COMPILR   2152
          RJ        PUTWD                                               COMPILR   2153
          SA5       A5+1                                                COMPILR   2154
          BX6       X5                                                  COMPILR   2155
          RJ        PUTWD          . SEND LAST WORD OF MESSAGE          COMPILR   2156
          MX7       0                                                   COMPILR   2157
          SA7       ARROWM+B7      . ZERO THE ENTRY IN ERROR MESSAGE TABCOMPILR   2158
          SB7       B7+1           . LOOK FOR ANOTHER MESSAGE           COMPILR   2159
          SA1       ARROWM+B7                                           COMPILR   2160
          ZR        X1,PRERRE      . FINISHED WITH ERROR MESSAGES       COMPILR   2161
          PL        X1,PRERR       . MORE MESSAGES                      COMPILR   2162
PRERRE    BX5       X5-X5                                               COMPILR   2163
          RJ        PUTFIRST       . OUTPUT BLANK LINE                  COMPILR   2164
          RJ        PUTFIRST       . AND ANOTHER ONE                    COMPILR   2165
          SX6       1                                                   COMPILR   2166
          SA6       P1ERFLG                                             COMPILR   2167
          SA1       SB6PR                                               COMPILR   2168
          UX1       B7,X1          . RESTORE B7                         COMPILR   2169
          SB6       X1             . RESTORE B6                         COMPILR   2170
          SA1       SB1PR                                               COMPILR   2171
          UX1       B1,X1          . RESTORE B1                         COMPILR   2172
          SA5       X1             . LIKEWISE A5                        COMPILR   2173
          JP        PRINERR        . RETURN                             COMPILR   2174
*                                                                       COMPILR   2175
ERRCNT    DATA      0                                                   COMPILR   2176
SB1PR     BSSZ      1              . SAVE B1 WHILE PRINTING ERRORS      COMPILR   2177
SB6PR     BSSZ      1              . SAVE B6 WHILE PRINTING ERRORS      COMPILR   2178
ARROW     DATA      10H         @                                       COMPILR   2179
ARROWM    BSSZ      5              . TABLE FOR COMPILE TIME ERROR MESSAGCOMPILR   2180
          DATA      -1             . END OF TABLE                       COMPILR   2181
*                                                                       COMPILR   2182
WERRACT1  DIS       ,$ CHARACTER ALLOWED ONLY IN LITERALS  $            COMPILR   2183
WERRACT2  DIS       ,$ THIS OPERATOR CANNOT BE UNARY       $            COMPILR   2184
WERRACT3  DIS       ,$ ODD NUMBER OF QUOTES                $            COMPILR   2185
WERRCND1  DIS       ,$ ILLEGAL GOTO PART                   $            COMPILR   2186
WERRCND2  DIS       ,$ ILLEGAL COMBINATION IN GOTO PART    $            COMPILR   2187
WERRLBL   DIS       ,$ LABEL ALREADY DEFINED               $            COMPILR   2188
WOPRERR1  DIS       ,$ ERRONEOUS OPERATOR                  $            COMPILR   2189
WOPRERR2  DIS       ,$ BLANK OR DELIMITER IS MISSING       $            COMPILR   2190
WOPRERR3  DIS       ,$ LEFT OPERAND OF PATMAT IS NOT A VAR $            COMPILR   2191
WSYXERR   DIS       ,$ SYNTAX ERROR                        $            COMPILR   2192
WSYXERR1  DIS       ,$ UNBALANCED PARENS IN GOTO           $            COMPILR   2193
WSYXERR2  DIS       ,$ UNBALANCED PARENS IN EXPRESSION     $            COMPILR   2194
WSYXERR3  DIS       ,$ UNBALANCED BRACKETS                 $            COMPILR   2195
*                                                                       COMPILR   2196
*                                                                       COMPILR   2197
SCALL     VFD      18/3LMSG,42/SMESS                                    COMPILR   2198
TITLE     DATA     10H1CAL  S N                                         COMPILR   2199
         DATA  10HO B O L  M                                            COMPILR   2200
          DATA      10HK II.1C                                          COMPILR   2201
DATE     DATA  10HDD MMM YY                                             COMPILR   2202
TIME     DATA  10H  HH:MM:SS                                            COMPILR   2203
          DATA     10H     PAGE                                         COMPILR   2204
PAGE      DATA     0                                                    COMPILR   2205
ENDTITL  BSS   0                                                        COMPILR   2206
*                                                                       COMPILR   2207
*                                                                       COMPILR   2208
         END                                                            COMPILR   2209