*DECK INITS                                                              SYMPL
USETEXT   TSOURCE 
USETEXT   TSYMCNS 
USETEXT   TCOM37Q 
USETEXT   TCEXECQ 
USETEXT   TSYMC5Q 
USETEXT   TCEXEC
USETEXT   TSYMC5
USETEXT   TSTABLE 
      PROC INITS;                                                        SYMPL
      BEGIN  #INITS#                                                     SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
                                                                         SYMPL
      CONTROL EJECT;                                                     SYMPL
      XREF PROC PNAM;                                                    SYMPL
      XREF PROC POST;                                                    SYMPL
      XREF FUNC SPACE;                                                   SYMPL
      XREF ITEM EL;                                                      INITSC 
                                                                         SYMPL
                                                                         SYMPL
      ITEM I=0;                    #USED FOR INDEXING                  # SYMPL
      ITEM J;                                                            SYMPL
      ITEM TSCCN S:CLIST;                                                SYMPL
      ITEM TPCTP S:QPCTP;                                                SYMPL
      XDEF ITEM LOCALST I;         # INDEX OF FIRST SYMBOL TABLE ENTRY #
                                   # NOT POSTED BY INITS               #
      CONTROL EJECT;                                                     SYMPL
      PROC PC (V);                                                       SYMPL
      BEGIN  #PC#                                                        SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P C                                                    # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE PC (POST CONSTANT) POSTS CONSTANTS TO THE # SYMPL
#                  SYMBOL TABLE. THE REQUIRED CLAS'NAME' AND CLAS'CONS'# SYMPL
#                  ENTRIES ARE POSTED.                                 # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PNAM:     (EXT) TO POST CLAS'NAME' ENTRY FOR THE    # SYMPL
#                                  CONSTANT.                           # SYMPL
#                  POST:     (EXT) TO POST CLAS'CONS' ENTRY FOR THE    # SYMPL
#                                  CONSTANT.                           # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  V:        INTEGER ITEM WHOSE VALUE REPRESENTS THE   # SYMPL
#                            VALUE OF THE CONSTANT WHOSE POSTING IS    # SYMPL
#                            DESIRED.                                  # SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NSEC:     NAME SECTION POINTER.                     # SYMPL
#                  DSEC:     DATA SECTION SYMBOL TABLE LINK.           # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM V;                                                            SYMPL
      PNAM (V, CMPR12, NSEC);                                            SYMPL
      POST (NSEC, CNSWDS, DSEC);                                         SYMPL
      CLAS[DSEC]=S"CONS";                                                SYMPL
      TYPE[DSEC]=S"IGR";                                                 SYMPL
      NBIT[DSEC]=1;                                                      SYMPL
      END  #PC#                                                          SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC PCF (FN, TYPEA, TYPEB);                                       SYMPL
      BEGIN  #PCF#                                                       SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P C F                                                  # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE PCF (POST CONVERSION FUNCTION) CAUSES THE # SYMPL
#                  POSTING OF AN ENTRY OF CLAS'INSC' FOR ONE           # SYMPL
#                  OF THE TYPE-CONVERSION FUNCTIONS.                   # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PIF:      (INT) TO POST THE CLAS'INSC' ENTRY.       # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  FN:       FUNCTION NUMBER WHICH IDENTIFIES THE FUNC.# SYMPL
#                  TYPEA:    TYPE OF THE SOURCE OPERAND.               # SYMPL
#                  TYPEB:    TYPE OF THE DESTINATION OPERAND.          # SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  TCONVF:   SYMBOL TABLE LINK TO THE CONVERSION FUNC. # SYMPL
#                  DSEC:     DATA SECTION SYMBOL TABLE LINK.           # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM FN;                                                           SYMPL
      ITEM TYPEA;                                                        SYMPL
      ITEM TYPEB;                                                        SYMPL
      PIF (FN);                                                          SYMPL
      TCONVF[TYPEA, TYPEB]=DSEC;                                         SYMPL
      END  #PCF#                                                         SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC PCONDW (STRING, LENGTH, VALUE);                               SYMPL
      BEGIN  #PCONDW#                                                    SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P C O N D W                                            # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE PCONDW (POST CONDITIONAL WORD) POSTS THE  # SYMPL
#                  CONDITIONAL WORDS TO THE SYMBOL TABLE.              # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PNAM:     (EXT) TO POST THE CLAS'NAME' ENTRY FOR THE# SYMPL
#                                  CONDITIONAL WORD.                   # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  STRING:   THE CONDITIONAL WORD ITSELF.              # SYMPL
#                  LENGTH:   LENGTH IN CHARS. OF THE CONDITIONAL WORD. # SYMPL
#                  VALUE:    THE CONSTRUCT NUMBER FROM STATUS LIST CND.# SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NSEC:     NAME SECTION POINTER.                     # SYMPL
#                  CNDLNK:   CONDITIONAL WORD TABLE LINK.              # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM STRING;                                                       SYMPL
      ITEM LENGTH;                                                       SYMPL
      ITEM VALUE;                                                        SYMPL
                                                                         SYMPL
      PNAM (STRING, LENGTH, NSEC);                                       SYMPL
      CNDLNK[VALUE]=NSEC;                                                SYMPL
      END  #PCONDW#                                                      SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC PDLTR (L, S, T);                                              SYMPL
      BEGIN  #PDLTR#                                                     SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P D L T R                                              # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE PDLTR (POST DESCRIPTOR LETTER) POSTS A    # SYMPL
#                  SINGLE-LETTER ABBREVIATION TO THE SYMBOL TABLE AND  # SYMPL
#                  RECORDS ITS LOCATION.                               # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PNAM:     (EXT) TO POST THE CLAS'NAME' ENTRY FOR THE# SYMPL
#                  LETTER.                                             # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  L:        THE LETTER TO BE POSTED.                  # SYMPL
#                  S:        THE SLOT IN THE DESCRIPTOR TABLE TO BE    # SYMPL
#                            MODIFIED BY THE CALL (REFERS TO DLTR AND  # SYMPL
#                            DLTT).                                    # SYMPL
#                  T:        TYPE CORRESPONDING TO THE SINGLE LETTER.  # SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NSEC:     NAME SECTION POINTER.                     # SYMPL
#                  DLTR:     DESCRIPTOR LETTER INDEX IN DESC. TABLE    # SYMPL
#                  DLTT:     DESCRIPTOR TYPE INDEX IN DESC. TABLE      # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM L  C(1);                                                      SYMPL
      ITEM S;                                                            SYMPL
      ITEM T;                                                            SYMPL
                                                                         SYMPL
      PNAM (L, 1, NSEC);                                                 SYMPL
      DLTR[S]=NSEC;                                                      SYMPL
      DLTT[S]=T;                                                         SYMPL
      END  #PDLTR#                                                       SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC PIF (FN);                                                     SYMPL
      BEGIN  #PIF#                                                       SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P I F                                                  # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE PIF (POST INTRINSIC FUNCTION) CAUSES      # SYMPL
#                            CLAS'INSC' ENTRIES TO BE POSTED TO THE    # SYMPL
#                            SYMBOL TABLE.                             # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                  PCF                                                 # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  POST:     (EXT) TO POST THE CLAS'INSC' ENTRY TO THE # SYMPL
#                                  SYMBOL TABLE.                       # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  FN:       FUNCTION NUMBER WHICH IDENTIFIES THE FUNC.# SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NONAM:    POINTER TO NO NAME ENTRY.                 # SYMPL
#                  INSWDS:   WORD SIZE OF INTRINSIC FUNCTION ENTRY.    # SYMPL
#                  DSEC:     DATA SECTION SYMBOL TABLE LINK.           # SYMPL
#                  CLAS:     CLASS OF SYMBOL TABLE ENTRY.              # SYMPL
#                  FNBR:     FUNCTION NUMBER OF INTRINSIC FUNCTION.    # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM FN;                                                           SYMPL
                                                                         SYMPL
      POST (NONAM, INSWDS, DSEC);                                        SYMPL
      CLAS[DSEC]=S"INSC";                                                SYMPL
      FNBR[DSEC]=FN;                                                     SYMPL
      END  #PIF#                                                         SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC POSTAT (STRING, LENGTH, VALUE);                               SYMPL
      BEGIN  #POSTAT#                                                    SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P O S T A T                                            # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE POSTAT (POST ATTRIBUTE) POSTS ATTRIBUTES  # SYMPL
#                  (OF VARIABLES) SPECIFICATIONS TO THE SYMBOL TABLE.  # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PNAM:     (EXT) TO POST CLAS'NAME' ENTRY FOR THE    # SYMPL
#                                  ATTRIBUTE.                          # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  STRING:   THE ATTRIBUTE ITSELF.                     # SYMPL
#                  LENGTH:   LENGTH IN CHARS. OF THE ATTRIBUTE KEYWORD.# SYMPL
#                  VALUE:    THE CONSTRUCT NUMBER FROM STATUS LIST     # SYMPL
#                            QATTRIBUTE.                               # SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NSEC:     NAME SECTION POINTER.                     # SYMPL
#                  ATTRLNK:  ATTRIBUTE TABLE LINK.                     # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM STRING;                                                       SYMPL
      ITEM LENGTH;                                                       SYMPL
      ITEM VALUE;                                                        SYMPL
                                                                         SYMPL
      PNAM (STRING, LENGTH, NSEC);                                       SYMPL
      ATTRLNK[VALUE]=NSEC;                                               SYMPL
      END  #POSTAT#                                                      SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC POSTCW (STRING, LENGTH, VALUE);                               SYMPL
      BEGIN  #POSTCW#                                                    SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P O S T C W                                            # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE POSTCW (POST CONTROL WORD) POSTS CONTROL  # SYMPL
#                  KEYWORDS TO THE SYMBOL TABLE.                       # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PNAM:     (EXT) TO POST CLAS'NAME' ENTRY FOR THE    # SYMPL
#                                  CONTROL KEYWORD.                    # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  STRING:   THE CONTROL KEYWORD ITSELF.               # SYMPL
#                  LENGTH:   LENGTH IN CHARS. OF THE CONTROL KEYWORD.  # SYMPL
#                  VALUE:    CONSTRUCT NUMBER FROM STATUS LIST CNTRL   # SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NSEC:     NAME SECTION POINTER.                     # SYMPL
#                  CNTLNK:   CONTROL KEYWORD TABLE LINK.               # SYMPL
#                  NRCNTR:   COUNTS THE NUMBER OF CONTROL KEYWORDS.    # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM STRING;                                                       SYMPL
      ITEM LENGTH;                                                       SYMPL
      ITEM VALUE;                                                        SYMPL
                                                                         SYMPL
      PNAM (STRING, LENGTH, NSEC);                                       SYMPL
      CNTLNK[VALUE]=NSEC;                                                SYMPL
      NRCNTR=NRCNTR + 1;           #COUNT CONTROL WORDS                # SYMPL
      END  #POSTCW#                                                      SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC POSTRW (STRING, LENGTH, CONSTR);                              SYMPL
      BEGIN  #POSTRW#                                                    SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P O S T R W                                            # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE POSTRW (POST RESERVED WORD) POSTS         # SYMPL
#                  RESERVED WORDS TO THE SYMBOL TABLE.                 # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PNAM:     (EXT) TO POST CLAS'NAME' ENTRY FOR THE    # SYMPL
#                                  RESERVED WORD.                      # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  STRING:   THE RESERVED WORD ITSELF.                 # SYMPL
#                  LENGTH:   LENGTH IN CHARACTERS OF THE RESERVED WORD.# SYMPL
#                  CONSTR:   CONSTRUCT NUMBER FROM STATUS LIST CLIST.  # SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NSEC:     THE NAME SECTION POINTER.                 # SYMPL
#                  NMCSTR:   CONSTRUCT NUMBER IN LOOKUP.               # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM STRING C(6);                                                  SYMPL
      ITEM LENGTH;                                                       SYMPL
      ITEM CONSTR;                                                       SYMPL
      PNAM (STRING, LENGTH, NSEC);                                       SYMPL
      NMCSTR[NSEC]=CONSTR;         #SET CONSTRUCT NUMBER               # SYMPL
      END  #POSTRW#                                                      SYMPL
      CONTROL EJECT;                                                     SYMPL
      PROC PSLC (N, L, T);                                               SYMPL
      BEGIN  #PSLC#                                                      SYMPL
#----------------------------------------------------------------------# SYMPL
#                                                                      # SYMPL
#     P R O C   P S L C                                                # SYMPL
#                                                                      # SYMPL
#     DESCRIPTION:                                                     # SYMPL
#                  PROCEDURE PSLC (POST SLC ENTRIES) POSTS SLC (SECTION# SYMPL
#                  LOCATION COUNTERS) ENTRIES INTO THE SYMBOL TABLE.   # SYMPL
#                                                                      # SYMPL
#     CALLED BY:                                                       # SYMPL
#                  INITS                                               # SYMPL
#                                                                      # SYMPL
#     CALLS:                                                           # SYMPL
#                  PNAM:     (EXT) TO POST CLAS'NAME' ENTRY FOR THE SLC# SYMPL
#                                  ENTRY.                              # SYMPL
#                  POST:     (EXT) TO POST CLAS'SLC' ENTRY FOR THE SLC # SYMPL
#                                  ENTRY.                              # SYMPL
#                                                                      # SYMPL
#     PARAMETERS:                                                      # SYMPL
#                  N:        THE NAME OF THE SLC ENTRY.                # SYMPL
#                  L:        THE LENGTH IN CHARS. OF THE SLC ENTRY.    # SYMPL
#                  T:        THE TYPE OF THE SLC ENTRY.                # SYMPL
#                                                                      # SYMPL
#     VARIABLES:                                                       # SYMPL
#                  NSEC:     NAME SECTION POINTER.                     # SYMPL
#                  DSEC:     DATA SECTION SYMBOL TABLE LINK.           # SYMPL
#                  SLCWDS:   WORD SIZE OF THE SLC-WORD ENTRY.          # SYMPL
#                  CLAS:     CLASS OF THE SYMBOL TABLE ENTRY.          # SYMPL
#                  ESDC:     EXTERNAL DICTIONARY.                      # SYMPL
#                                                                      # SYMPL
#                                                                      # SYMPL
#----------------------------------------------------------------------# SYMPL
                                                                         SYMPL
      ITEM N;                      #NAME                               # SYMPL
      ITEM L;                      #LENGTH OF NAME                     # SYMPL
      ITEM T;                      #TYPE                               # SYMPL
      PNAM (N, L, NSEC);                                                 SYMPL
      POST (NSEC, SLCWDS, DSEC);                                         SYMPL
      CLAS[DSEC]=S"SLC";                                                 SYMPL
      ESDC[DSEC]=T;                                                      SYMPL
      END  #PSLC#                                                        SYMPL
      CONTROL EJECT;                                                     SYMPL
                                                                         SYMPL
      CCHAR=0;                     #CURRENT CHARACTER IN DISPLAY CODE  # SYMPL
      CSTAKP=0;                    #CURRENT CHAR. STACK ARRAY POINTER  # SYMPL
      CWORDP=0;                    #CURRENT CARD IMAGE WORD POINTER    # SYMPL
                                                                         SYMPL
#     INITIALIZE VARIABLES IN THE SYMPL COMMON BLOCK TO ZERO           # SYMPL
  
      FOR J=0 STEP 1                                                     SYMPL
        UNTIL CSTKCP                                                     SYMPL
      DO                                                                 SYMPL
        BEGIN                                                            SYMPL
        CSTAK[J]=0;                                                      SYMPL
        END                                                              SYMPL
      FOR J = 0 STEP 1
        UNTIL LOC(SYMPLEND) - LOC(SYMPLSTART)                            SYMPL
      DO                                                                 SYMPL
        BEGIN                                                            SYMPL
        SYMPLITEM[J] = 0; 
        END                                                              SYMPL
                                                                         SYMPL
  
#     SET OPTION FLAGS                                                 #
  
      COMPRS=B<43>OPTION EQ 1;     #STD. P OPTION-PRESET COMMON BLOCKS # SYMPLA 
      DEBCOD=B<54>OPTION;          #STD. E OPTION-COMPILE $BEGIN/$END  # SYMPLA 
                                                                         SYMPLA 
      $BEGIN                                                             SYMPL
      DEBFLG=B<32>INTOPS;          #TURNS ON ANZS TRACE (*=6)          # SYMPL
      DMPFLG=B<26>INTOPS;          #TURNS ON GENESIS TRACE (*=0)       # SYMPL
      DUMPIL=B<33>INTOPS EQ 1;     #TURNS ON ANZS IL DUMP (*=7)        # SYMPL
      COMPRS=B<30>INTOPS EQ 1                                            SYMPL
             OR B<43>OPTION EQ 1;  #STD. P OPTION-PRESET COMMON BLOCKS # SYMPL
      $END                                                               SYMPL
                                                                         SYMPL
#     POST THE ORIGINAL UNNAMED ENTRY TO WHICH ALL SIMILAR ENTRIES     # SYMPL
#     WHICH ARISE DURING THE COMPILATION ARE CHAINED                   # SYMPL
                                                                         SYMPL
      NONAM=SPACE(INSWDS);         #NONAM=LINK TO NO NAME ENTRY IN S.T.# SYMPL
      CLAS[NONAM]=S"INSC";                                               SYMPL
      NNAM[NONAM]=TRUE;                                                  SYMPL
      NLNK[NONAM]=NONAM;                                                 SYMPL
                                                                         SYMPL
      SCPN[0]=NONAM;
                                                                         SYMPL
#     SCMAC COMMON BLOCK INITIALIZATION                                # SYMPL
#     SET UP INITIAL CIRCULAR LINKING OF THE ENTRIES OF THE CONSTRUCT  # SYMPL
#     STRING ARRAY.                                                    # SYMPL
                                                                         SYMPL
      EOFI=0;                      #END-OF-FILE FLAG SET TO FALSE      # SYMPL
      J=CSTCP / CSOFST * CSOFST;                                         SYMPL
      FOR I=0 STEP CSOFST                                                SYMPL
        UNTIL J                                                          SYMPL
      DO                                                                 SYMPL
        BEGIN                                                            SYMPL
        CST0[I]=0;                                                       SYMPL
        FLNK[I]=I + CSOFST;                                              SYMPL
        BLNK[I]=I - CSOFST;                                              SYMPL
        END                                                              SYMPL
      FLNK[J]=0;                                                         SYMPL
      BLNK[0]=J;                                                         SYMPL
      FCON=0;                                                            SYMPL
                                                                         SYMPL
                                                                         SYMPL
      DEBBRK=0;                    #DEBUG CODE INHIBIT FLAG            # SYMPL
      DCXFLG=0;                    #DECLARATIVE CONTEXT FLAG           # SYMPL
      SCXFLG=0;                    #STATUS CONSTANT CONTEXT FLAG       # SYMPL
      DESFLG=0;                    #DESCRIPTOR CONTEXT FLAG            # SYMPL
      BRKLEV=0;                    #CURRENT PAREN/SQUARE BRACKET DEPTH # SYMPL
      PGIX=0;                      #PRECOGNITION INDEX                 # SYMPL
      PVDF=0;                      #LINK TO PRIOR VALID DECL THIS NAME # SYMPL
      ENDM[0]=TRUE;                #SCOPE CLOSED FLAG                  # SYMPL
                                                                         SYMPL
                                                                         SYMPL
#     COMPUTE THE POWERS-OF-TWO TABLE                                  # SYMPL
                                                                         SYMPL
      POWER2[0]=1;                                                       SYMPL
      FOR TPYA=1 STEP 1                                                  SYMPL
        UNTIL CMPR17                                                     SYMPL
      DO                                                                 SYMPL
        BEGIN                                                            SYMPL
        POWER2[TPYA]=POWER2[TPYA - 1] * 2;                               SYMPL
        END                                                              SYMPL
                                                                         SYMPL
#     INITIALIZE SCOPE TABLE                                           # SYMPL
                                                                         SYMPL
      FOR TPYA=1 STEP 1                                                  SYMPL
        UNTIL NSCPLV                                                     SYMPL
      DO                                                                 SYMPL
        BEGIN                                                            SYMPL
        ENDM[TPYA]=FALSE;                                                SYMPL
        FLCHED[TPYA]=1;            #SET FORMAL LABEL CHAIN HEAD EMPTY  # SYMPL
        END                                                              SYMPL
                                                                         SYMPL
      SCOPE=1;                     #CURRENT SCOPE IDENTIFYING ORDINAL  # SYMPL
      SCPLEV=1;                    #CURRENT SCOPE NESTING DEPTH        # SYMPL
      NXTBN=1;                     #NEXT ORDINAL SCOPE NUMBER TO ASSIGN# SYMPL
      LOOPCW=0;                    #CONTROL WORD FOR LOOP TABLE        # SYMPL
                                                                         SYMPL
                                                                         SYMPL
#     SET THE COMPILING MACHINE CHARACTER CODES                        # SYMPL
#     W A R N I N G: SCCN AND SCON REFER TO THE SAME FIELD.            # SYMPL
#     SCON IS INITIALIZED AS THE LAST ENTRY IN COMMON BLOCK GENTBS     # SYMPL
                                                                         SYMPL
      CCPRIM="""";                 #PRIME                              # SYMPL
      CCSEMI=";";                  #SEMICOLON                          # SYMPL
      CCQUOT="#";                  #QUOTE MARK                         # SYMPL
                                                                         SYMPL
      ARG=FLNK[0];                                                       SYMPL
      CSTAKP=0;                    #CURRENT CHAR. STACK ARRAY POINTER  # SYMPL
      CWORDP=CMPAR9;               #CMPAR9 IS NUMBER OF WORDS/CARD - 1 # SYMPL
                                                                         SYMPL
      FOR TPYA=0 STEP 1                                                  SYMPL
        UNTIL CMPR10                                                     SYMPL
      DO                                                                 SYMPL
        BEGIN                                                            SYMPL
        IF SCCN[TPYA] EQ 0                                               SYMPL
        THEN                                                             SYMPL
          BEGIN                                                          SYMPL
          SCCN[TPYA]=S"FUNNY";     #UNUSED SLOTS                       # SYMPL
          END                                                            SYMPL
        TSCCN=SCCN[TPYA];                                                SYMPL
                                                                         SYMPL
        IF TSCCN EQ S"ODIGIT"                                            SYMPL
        THEN                                                             SYMPL
          BEGIN                                                          SYMPL
          TPCTP=S"DGT";                                                  SYMPL
          END                                                            SYMPL
        ELSE                                                             SYMPL
          IF TSCCN EQ S"PLTR"                                            SYMPL
          THEN                                                           SYMPL
            TPCTP=S"LTR";                                                SYMPL
        ELSE                                                             SYMPL
          IF TSCCN EQ S"BLANK"                                           SYMPL
          THEN                                                           SYMPL
            TPCTP=S"BLK";                                                SYMPL
        ELSE                                                             SYMPL
          IF TSCCN EQ S"XDIGIT"                                          SYMPL
          THEN                                                           SYMPL
            TPCTP=S"LTR";                                                SYMPL
        ELSE                                                             SYMPL
          IF TSCCN EQ S"DDIGIT"                                          SYMPL
          THEN                                                           SYMPL
            TPCTP=S"DGT";                                                SYMPL
        ELSE                                                             SYMPL
          TPCTP=S"SPC";                                                  SYMPL
                                                                         SYMPL
        PCTP[TPYA]=TPCTP;                                                SYMPL
        END                                                              SYMPL
                                                                         SYMPL
      SCCN[64]=S"PLTR";                                                  SYMPL
      PCTP[64]=S"PAM";             #PARAMETER SPECIAL CHARACTER        # SYMPL
      PCTP[65]=S"PAM";                                                   SYMPL
      SCCN[65]=S"BLANK";                                                 SYMPL
                                                                         SYMPL
#     SET UP THE VALUES OF THE CHARACTERS FOR PRECOGNITION             # SYMPL
                                                                         SYMPL
      SCVL["0"]=0;                                                       SYMPL
      SCVL["1"]=1;                                                       SYMPL
      SCVL["2"]=2;                                                       SYMPL
      SCVL["3"]=3;                                                       SYMPL
      SCVL["4"]=4;                                                       SYMPL
      SCVL["5"]=5;                                                       SYMPL
      SCVL["6"]=6;                                                       SYMPL
      SCVL["7"]=7;                                                       SYMPL
      SCVL["8"]=8;                                                       SYMPL
      SCVL["9"]=9;                                                       SYMPL
      SCVL["A"]=10;                                                      SYMPL
      SCVL["B"]=11;                                                      SYMPL
      SCVL["C"]=12;                                                      SYMPL
      SCVL["D"]=13;                                                      SYMPL
      SCVL["E"]=14;                                                      SYMPL
      SCVL["F"]=15;                                                      SYMPL
                                                                         SYMPL
      PSTCS=0;                     #CLEAR PRESTATEMENT CODE STACKER    # SYMPL
      PSTLS=0;                     #CLEAR PRESTATEMENT LABEL STACKER   # SYMPL
      CONTROL EJECT;                                                     SYMPL
      POSTRW(  "CONTROL"  ,    7  ,CLIST"CONTRL"   );                    SYMPL
      POSTRW(  "$BEGIN"   ,    6  ,CLIST"SPBEGN"   );                    SYMPL
      POSTRW(  "$END"     ,    4  ,CLIST"SPEND"    );                    SYMPL
      POSTRW(  "EQ"       ,    2  ,CLIST"EQ"       );                    SYMPL
      POSTRW(  "NQ"       ,    2  ,CLIST"NQ"       );                    SYMPL
      POSTRW(  "GR"       ,    2  ,CLIST"GR"       );                    SYMPL
      POSTRW(  "GQ"       ,    2  ,CLIST"GQ"       );                    SYMPL
      POSTRW(  "LS"       ,    2  ,CLIST"LS"       );                    SYMPL
      POSTRW(  "LQ"       ,    2  ,CLIST"LQ"       );                    SYMPL
      POSTRW(  "AND"      ,    3  ,CLIST"AND"      );                    SYMPL
      POSTRW(  "OR"       ,    2  ,CLIST"OR"       );                    SYMPL
      POSTRW(  "NOT"      ,    3  ,CLIST"NOT"      );                    SYMPL
      POSTRW(  "LAN"      ,    3  ,CLIST"LAN"      );                    SYMPL
      POSTRW(  "LOR"      ,    3  ,CLIST"LOR"      );                    SYMPL
      POSTRW(  "LNO"      ,    3  ,CLIST"LNO"      );                    SYMPL
      POSTRW(  "LXR"      ,    3  ,CLIST"LXR"      );                    SYMPL
      POSTRW(  "LIM"      ,    3  ,CLIST"LIM"      );                    SYMPL
      POSTRW(  "LQV"      ,    3  ,CLIST"LQV"      );                    SYMPL
      POSTRW(  "BEGIN"    ,    5  ,CLIST"BEGIN"    );                    SYMPL
      POSTRW(  "END"      ,    3  ,CLIST"END"      );                    SYMPL
      POSTRW(  "TERM"     ,    4  ,CLIST"TERM"     );                    SYMPL
      POSTRW(  "PRGM"     ,    4  ,CLIST"PRGM"     );                    SYMPL
      POSTRW(  "IF"       ,    2  ,CLIST"IF"       );                    SYMPL
      POSTRW(  "THEN"     ,    4  ,CLIST"THEN"     );                    SYMPL
      POSTRW(  "ELSE"     ,    4  ,CLIST"ELSE"     );                    SYMPL
      POSTRW(  "GOTO"     ,    4  ,CLIST"GOTO"     );                    SYMPL
      POSTRW(  "FOR"      ,    3  ,CLIST"FOR"      );                    SYMPL
      POSTRW(  "STEP"     ,    4  ,CLIST"STEP"     );                    SYMPL
      POSTRW(  "WHILE"    ,    5  ,CLIST"WHILE"    );                    SYMPL
      POSTRW(  "UNTIL"    ,    5  ,CLIST"UNTIL"    );                    SYMPL
      POSTRW(  "DO"       ,    2  ,CLIST"DO"       );                    SYMPL
      POSTRW(  "TEST"     ,    4  ,CLIST"TEST"     );                    SYMPL
      POSTRW(  "STOP"     ,    4  ,CLIST"STOP"     );                    SYMPL
      POSTRW(  "RETURN"   ,    6  ,CLIST"RETURN"   );                    SYMPL
      POSTRW(  "LOC"      ,    3  ,CLIST"LOC"      );                    SYMPL
      POSTRW(  "ABS"      ,    3  ,CLIST"ABS"      );                    SYMPL
      POSTRW(  "TRUE"     ,    4  ,CLIST"TRUE"     );                    SYMPL
      POSTRW(  "FALSE"    ,    5  ,CLIST"FALSE"    );                    SYMPL
      POSTRW(  "ITEM"     ,    4  ,CLIST"ITEM"     );                    SYMPL
      POSTRW(  "ARRAY"    ,    5  ,CLIST"ARRAY"    );                    SYMPL
      POSTRW(  "SWITCH"   ,    6  ,CLIST"SWITCH"   );                    SYMPL
      POSTRW(  "PROC"     ,    4  ,CLIST"PROC"     );                    SYMPL
      POSTRW(  "FUNC"     ,    4  ,CLIST"FUNC"     );                    SYMPL
      POSTRW(  "ENTRY"    ,    5  ,CLIST"ENTRY"    );                    SYMPL
      POSTRW(  "STATUS"   ,    6  ,CLIST"STATUS"   );                    SYMPL
      POSTRW(  "XDEF"     ,    4  ,CLIST"XDEF"     );                    SYMPL
      POSTRW(  "XREF"     ,    4  ,CLIST"XREF"     );                    SYMPL
      POSTRW(  "BASED"    ,    5  ,CLIST"BASED"    );                    SYMPL
      POSTRW(  "COMMON"   ,    6  ,CLIST"COMMON"   );                    SYMPL
      POSTRW(  "LABEL"    ,    5  ,CLIST"LABEL"    );                    SYMPL
      POSTRW(  "FPRC"     ,    4  ,CLIST"FPRC"     );                    SYMPL
      POSTRW(  "DEF"      ,    3  ,CLIST"DEF"      );                    SYMPL
      IF EL EQ QERLEV"MCHDEP"      # IF MACHINE DEPENDENT ERROR LEVEL  # INITSC 
      THEN                         # SELECTED POST NEW SYMPL 2 RESERVED# INITSC 
        BEGIN  # POST NEW #        # WORDS IN SYMBOL TABLE             # INITSC 
        POSTRW(  "FASTFOR"   ,    7  ,CLIST"FASTFR"    );                INITSC 
        POSTRW(  "MODULE"    ,    6  ,CLIST"MODULE"    );                INITSC 
        END  # POST NEW #                                                INITSC 
      CONTROL EJECT;                                                     SYMPL
      NRCNTR=0;                    #INITIALIZE NUMBER OF CONTROL WORDS#  SYMPL
                                                                         SYMPL
#     POST THE CONTROL WORDS                                           # SYMPL
                                                                         SYMPL
      POSTCW(  "LIST"     ,    4  ,CNTRL"LIST"     );                    SYMPL
      POSTCW(  "NOLIST"   ,    6  ,CNTRL"NOLIST"   );                    SYMPL
      POSTCW(  "EJECT"    ,    5  ,CNTRL"EJECT"    );                    SYMPL
      POSTCW(  "FTNCALL"  ,    7  ,CNTRL"FTNCALL"  );                    SYMPL
      POSTCW(  "TRACEBACK",    9  ,CNTRL"TRACEBACK");                    SYMPL
      POSTCW(  "PACK"     ,    4  ,CNTRL"PACK"     );                    SYMPL
      POSTCW(  "PRESET"   ,    6  ,CNTRL"PRESET"   );                    SYMPL
      POSTCW(  "OBJLIST"  ,    7  ,CNTRL"OBJLIST"  );                    SYMPL
      POSTCW(  "FI"       ,    2  ,CNTRL"FI"       );                    SYMPL
      POSTCW(  "ENDIF"    ,    5  ,CNTRL"ENDIF"    );                    SYMPL
      POSTCW(  "FASTLOOP" ,    8  ,CNTRL"FASTLOOP" );                    SYMPL
      POSTCW(  "SLOWLOOP" ,    8  ,CNTRL"SLOWLOOP" );                    SYMPL
      POSTCW(  "STEXT"    ,    5  ,CNTRL"STEXT"    ); 
                                                                         SYMPL
#     POST THE CONDITIONAL WORDS                                       # SYMPL
                                                                         SYMPL
      PCONDW(  "IFEQ"     ,    4  ,CND"IFEQ"       );                    SYMPL
      PCONDW(  "IFLS"     ,    4  ,CND"IFLS"       );                    SYMPL
      PCONDW(  "IFLQ"     ,    4  ,CND"IFLQ"       );                    SYMPL
      PCONDW(  "IFGR"     ,    4  ,CND"IFGR"       );                    SYMPL
      PCONDW(  "IFGQ"     ,    4  ,CND"IFGQ"       );                    SYMPL
      PCONDW(  "IFNQ"     ,    4  ,CND"IFNQ"       );                    SYMPL
                                                                         SYMPL
#     POST THE ATTRIBUTE WORDS                                         # SYMPL
                                                                         SYMPL
      POSTAT(  "REACTIVE" ,    8  ,QATTRIBUTE"REACTIVE"    );            SYMPL
      POSTAT(  "INERT"    ,    5  ,QATTRIBUTE"INERT"       );            SYMPL
      POSTAT(  "OVERLAP"  ,    7  ,QATTRIBUTE"BADLYBEHAVED");            SYMPL
      POSTAT(  "DISJOINT" ,    8  ,QATTRIBUTE"WELLBEHAVED" );            SYMPL
      POSTAT(  "LEVEL1"   ,    6  ,QATTRIBUTE"LEV1"        );            SYMPL
      POSTAT(  "LEVEL2"   ,    6  ,QATTRIBUTE"LEV2"        );            SYMPL
      POSTAT(  "LEVEL3"   ,    6  ,QATTRIBUTE"LEV3"        );            SYMPL
      POSTAT(  "WEAK"     ,    4  ,QATTRIBUTE"WEAK"        );            SYMPL
                                                                         SYMPL
#     POST THE CONSTANTS ZERO AND ONE                                  # SYMPL
                                                                         SYMPL
      PC (0);                                                            SYMPL
      ZERO$=DSEC;                                                        SYMPL
      PC (1);                                                            SYMPL
      ONE$=DSEC;                                                         SYMPL
      NAUP$=1;                                                           SYMPL
      IF NAUP$ NQ NAUPWD                                                 SYMPL
      THEN                                                               SYMPL
        BEGIN                                                            SYMPL
        PC (NAUPWD);               #KLUDGE FOR S77                     # SYMPL
        END                                                              SYMPL
                                                                         SYMPL
      NAUP$=DSEC;                  #EVENTUALLY SETS UPD ADDR. CONSTANT # SYMPL
                                                                         SYMPL
#     POST THE INTRINSIC FUNCTIONS                                     # SYMPL
                                                                         SYMPL
      PIF (QFNBR"BIT" );                                                 SYMPL
      INIFT[QFNBR"BIT" ]=DSEC;                                           SYMPL
                                                                         SYMPL
      PIF (QFNBR"BYTE");                                                 SYMPL
      INIFT[QFNBR"BYTE"]=DSEC;                                           SYMPL
                                                                         SYMPL
      PIF (QFNBR"LOC" );                                                 SYMPL
      INIFT[QFNBR"LOC" ]=DSEC;                                           SYMPL
                                                                         SYMPL
      PIF (QFNBR"PFUN");                                                 SYMPL
      INIFT[QFNBR"PFUN"]=DSEC;                                           SYMPL
                                                                         SYMPL
                                                                         SYMPL
      PCF(QFNBR"CIX" ,  QOPTYP"CHAR",  QOPTYP"IC"  );                    SYMPL
      TCONVF[ QOPTYP"CHAR",  QOPTYP"USI" ]=DSEC;                         SYMPL
      TCONVF[ QOPTYP"CHAR",  QOPTYP"IGR" ]=DSEC;                         SYMPL
      PCF(QFNBR"CRX" ,  QOPTYP"CHAR",  QOPTYP"REAL");                    SYMPL
      PCF(QFNBR"ICX" ,  QOPTYP"IC"  ,  QOPTYP"CHAR");                    SYMPL
      TCONVF[ QOPTYP"USI" ,  QOPTYP"CHAR"]=DSEC;                         SYMPL
      TCONVF[ QOPTYP"IGR" ,  QOPTYP"CHAR"]=DSEC;                         SYMPL
      PCF(QFNBR"IRX" ,  QOPTYP"IC"  ,  QOPTYP"REAL");                    SYMPL
      TCONVF[ QOPTYP"USI" ,  QOPTYP"REAL"]=DSEC;                         SYMPL
      TCONVF[ QOPTYP"IGR" ,  QOPTYP"REAL"]=DSEC;                         SYMPL
      PCF(QFNBR"RCX" ,  QOPTYP"REAL",  QOPTYP"CHAR");                    SYMPL
      PCF(QFNBR"RIX" ,  QOPTYP"REAL",  QOPTYP"IC"  );                    SYMPL
      TCONVF[ QOPTYP"REAL",  QOPTYP"USI" ]=DSEC;                         SYMPL
      TCONVF[ QOPTYP"REAL",  QOPTYP"IGR" ]=DSEC;                         SYMPL
                                                                         SYMPL
#     POST THE LOCATION COUNTERS                                       # SYMPL
                                                                         SYMPL
      PSLC(CODNAM, CODNML, QESDC"CODE");                                 SYMPL
      CPLC=DSEC;                                                         SYMPL
      SPLC=DSEC;                                                         SYMPL
                                                                         SYMPL
      PSLC(DATNAM, DATNML, QESDC"DATA");                                 SYMPL
      DPLC=DSEC;                                                         SYMPL
      ASEQ[CPLC]=DSEC;                                                   SYMPL
                                                                         SYMPL
      POST (NONAM, LABWDS, DSEC);  #DUMMY FIRST LABEL                  # SYMPL
      CLAS[DSEC]=S"LABL";                                                SYMPL
      BABY[CPLC]=DSEC;                                                   SYMPL
      LENT[CPLC]=DSEC;                                                   SYMPL
                                                                         SYMPL
      POST (NONAM, DATWDS, DSEC);  #DUMMY FIRST DATA                   # SYMPL
      CLAS[DSEC]=S"DATA";                                                SYMPL
      BABY[DPLC]=DSEC;                                                   SYMPL
      LENT[DPLC]=DSEC;                                                   SYMPL
      PSLC (ADCNAM, ADCNML, QESDC"ADCN");                                SYMPL
      APLC=DSEC;                                                         SYMPL
      ASEQ[DPLC]=DSEC;                                                   SYMPL
      ESPLC=DSEC;                                                        SYMPL
      XPLC=0;                      #INITIALIZE XTRN CHAIN              # SYMPL
                                                                         SYMPL
#     SET UP THE LOGICAL OPERATORS                                     # SYMPL
                                                                         SYMPL
      LOGOPR[   QOP"LNO"]=    QILOP"COMP";                               SYMPL
      LOGOPR[   QOP"LAN"]=    QILOP"LAND";                               SYMPL
      LOGOPR[   QOP"LOR"]=    QILOP"LOR" ;                               SYMPL
      LOGOPR[   QOP"LXR"]=    QILOP"LXOR";                               SYMPL
      LOGOPR[   QOP"LIM"]=    QILOP"LIMP";                               SYMPL
      LOGOPR[   QOP"LQV"]=    QILOP"LEQV";                               SYMPL
                                                                         SYMPL
#     SET UP THE MIS OVERLAY TABLE                                     # MIS
                                                                         MIS
      OVLAY[   QTYPE"IGR" ]= QOVLAY"BIT" ;                               MIS
      OVLAY[   QTYPE"USI" ]= QOVLAY"BIT" ;                               MIS
      OVLAY[   QTYPE"BOOL"]= QOVLAY"BIT" ;                               MIS
      OVLAY[   QTYPE"STTS"]= QOVLAY"BIT" ;                               MIS
      OVLAY[   QTYPE"EBCD"]= QOVLAY"BYTE";                               MIS
      OVLAY[   QTYPE"REAL"]= QOVLAY"WORD";                               MIS
                                                                         MIS
#     SET UP THE TYPE TABLE                                            # SYMPL
                                                                         SYMPL
      OPTYP[   QTYPE"IGR" ]= QOPTYP"IGR" ;                               SYMPL
      OPTYP[   QTYPE"USI" ]= QOPTYP"USI" ;                               SYMPL
      OPTYP[   QTYPE"STTS"]= QOPTYP"USI" ;                               SYMPL
      OPTYP[   QTYPE"EBCD"]= QOPTYP"CHAR";                               SYMPL
      OPTYP[   QTYPE"REAL"]= QOPTYP"REAL";                               SYMPL
                                                                         SYMPL
#     SET UP THE ARITHMETIC AND RELATIONAL OPERATORS                   # SYMPL
                                                                         SYMPL
      AOPR[ QOP"ABS"   ,QOPTYP"IC"  ]=  QILOP"IABS" ;                    SYMPL
      AOPR[ QOP"ABS"   ,QOPTYP"USI" ]=  QILOP"IABS" ;                    SYMPL
      AOPR[ QOP"ABS"   ,QOPTYP"IGR" ]=  QILOP"IABS" ;                    SYMPL
      AOPR[ QOP"ABS"   ,QOPTYP"REAL"]=  QILOP"RABS" ;                    SYMPL
      AOPR[ QOP"PLUS"  ,QOPTYP"IC"  ]=  QILOP"IPLUS";                    SYMPL
      AOPR[ QOP"PLUS"  ,QOPTYP"USI" ]=  QILOP"IPLUS";                    SYMPL
      AOPR[ QOP"PLUS"  ,QOPTYP"IGR" ]=  QILOP"IPLUS";                    SYMPL
      AOPR[ QOP"PLUS"  ,QOPTYP"REAL"]=  QILOP"RPLUS";                    SYMPL
      AOPR[ QOP"MINUS" ,QOPTYP"IC"  ]=  QILOP"ISUB" ;                    SYMPL
      AOPR[ QOP"MINUS" ,QOPTYP"USI" ]=  QILOP"ISUB" ;                    SYMPL
      AOPR[ QOP"MINUS" ,QOPTYP"IGR" ]=  QILOP"ISUB" ;                    SYMPL
      AOPR[ QOP"MINUS" ,QOPTYP"REAL"]=  QILOP"RSUB" ;                    SYMPL
      AOPR[ QOP"UMINUS",QOPTYP"IC"  ]=  QILOP"IMNUS";                    SYMPL
      AOPR[ QOP"UMINUS",QOPTYP"USI" ]=  QILOP"IMNUS";                    SYMPL
      AOPR[ QOP"UMINUS",QOPTYP"IGR" ]=  QILOP"IMNUS";                    SYMPL
      AOPR[ QOP"UMINUS",QOPTYP"REAL"]=  QILOP"RMNUS";                    SYMPL
      AOPR[ QOP"STAR"  ,QOPTYP"IC"  ]=  QILOP"IMUL" ;                    SYMPL
      AOPR[ QOP"STAR"  ,QOPTYP"USI" ]=  QILOP"IMUL" ;                    SYMPL
      AOPR[ QOP"STAR"  ,QOPTYP"IGR" ]=  QILOP"IMUL" ;                    SYMPL
      AOPR[ QOP"STAR"  ,QOPTYP"REAL"]=  QILOP"RMUL" ;                    SYMPL
      AOPR[ QOP"SLASH" ,QOPTYP"IC"  ]=  QILOP"IDIV" ;                    SYMPL
      AOPR[ QOP"SLASH" ,QOPTYP"USI" ]=  QILOP"IDIV" ;                    SYMPL
      AOPR[ QOP"SLASH" ,QOPTYP"IGR" ]=  QILOP"IDIV" ;                    SYMPL
      AOPR[ QOP"SLASH" ,QOPTYP"REAL"]=  QILOP"RDIV" ;                    SYMPL
      AOPR[ QOP"EQ"    ,QOPTYP"CHAR"]=  QILOP"CEQU" ;                    SYMPL
      AOPR[ QOP"EQ"    ,QOPTYP"IC"  ]=  QILOP"IEQU" ;                    SYMPL
      AOPR[ QOP"EQ"    ,QOPTYP"USI" ]=  QILOP"IEQU" ;                    SYMPL
      AOPR[ QOP"EQ"    ,QOPTYP"IGR" ]=  QILOP"IEQU" ;                    SYMPL
      AOPR[ QOP"EQ"    ,QOPTYP"REAL"]=  QILOP"REQU" ;                    SYMPL
      AOPR[ QOP"NQ"    ,QOPTYP"CHAR"]=  QILOP"CNEQ" ;                    SYMPL
      AOPR[ QOP"NQ"    ,QOPTYP"IC"  ]=  QILOP"INEQ" ;                    SYMPL
      AOPR[ QOP"NQ"    ,QOPTYP"USI" ]=  QILOP"INEQ" ;                    SYMPL
      AOPR[ QOP"NQ"    ,QOPTYP"IGR" ]=  QILOP"INEQ" ;                    SYMPL
      AOPR[ QOP"NQ"    ,QOPTYP"REAL"]=  QILOP"RNEQ" ;                    SYMPL
      AOPR[ QOP"LS"    ,QOPTYP"CHAR"]=  QILOP"CLES" ;                    SYMPL
      AOPR[ QOP"LS"    ,QOPTYP"IC"  ]=  QILOP"ILES" ;                    SYMPL
      AOPR[ QOP"LS"    ,QOPTYP"USI" ]=  QILOP"ILES" ;                    SYMPL
      AOPR[ QOP"LS"    ,QOPTYP"IGR" ]=  QILOP"ILES" ;                    SYMPL
      AOPR[ QOP"LS"    ,QOPTYP"REAL"]=  QILOP"RLES" ;                    SYMPL
      AOPR[ QOP"GR"    ,QOPTYP"CHAR"]=  QILOP"CGRT" ;                    SYMPL
      AOPR[ QOP"GR"    ,QOPTYP"IC"  ]=  QILOP"IGRT" ;                    SYMPL
      AOPR[ QOP"GR"    ,QOPTYP"USI" ]=  QILOP"IGRT" ;                    SYMPL
      AOPR[ QOP"GR"    ,QOPTYP"IGR" ]=  QILOP"IGRT" ;                    SYMPL
      AOPR[ QOP"GR"    ,QOPTYP"REAL"]=  QILOP"RGRT" ;                    SYMPL
      AOPR[ QOP"GQ"    ,QOPTYP"CHAR"]=  QILOP"CGRQ" ;                    SYMPL
      AOPR[ QOP"GQ"    ,QOPTYP"IC"  ]=  QILOP"IGRQ" ;                    SYMPL
      AOPR[ QOP"GQ"    ,QOPTYP"USI" ]=  QILOP"IGRQ" ;                    SYMPL
      AOPR[ QOP"GQ"    ,QOPTYP"IGR" ]=  QILOP"IGRQ" ;                    SYMPL
      AOPR[ QOP"GQ"    ,QOPTYP"REAL"]=  QILOP"RGRQ" ;                    SYMPL
      AOPR[ QOP"LQ"    ,QOPTYP"CHAR"]=  QILOP"CLEQ" ;                    SYMPL
      AOPR[ QOP"LQ"    ,QOPTYP"IC"  ]=  QILOP"ILEQ" ;                    SYMPL
      AOPR[ QOP"LQ"    ,QOPTYP"USI" ]=  QILOP"ILEQ" ;                    SYMPL
      AOPR[ QOP"LQ"    ,QOPTYP"IGR" ]=  QILOP"ILEQ" ;                    SYMPL
      AOPR[ QOP"LQ"    ,QOPTYP"REAL"]=  QILOP"RLEQ" ;                    SYMPL
                                                                         SYMPL
#     NOW CAUSE THE ARRAY DLTR TO BE SET UP FOR SINGLE LETTER RECOG.   # SYMPL
                                                                         SYMPL
      PDLTR(   "I",  0,  QTYPE"IGR" );                                   SYMPL
      PDLTR(   "R",  1,  QTYPE"REAL");                                   SYMPL
      PDLTR(   "B",  3,  QTYPE"BOOL");                                   SYMPL
      PDLTR(   "C",  4,  QTYPE"EBCD");                                   SYMPL
      PDLTR(   "S",  5,  QTYPE"STTS");                                   SYMPL
      PDLTR(   "U",  9,  QTYPE"USI" );                                   SYMPL
      PDLTR(   "P",  6,0);                                               SYMPL
      PDLTR(   "O",  7,0);                                               SYMPL
      PDLTR(   "X",  8,0);                                               SYMPL
      PDLTR(   "A", 10,0);                                               MIS
                                                                         SYMPL
#     SET TTORIGIN AND LOCALST FOR SYMPL TEXT PROCESSING               #
  
      TTORIGIN = NXTAV;            # TTORIGIN AND LOCALST ARE          #
      LOCALST = NXTAV;             # INITIALIZED TO THE INDEX OF       #
                                   # THE FIRST SYMBOL TABLE ENTRY      #
                                   # NOT POSTED BY INITS               #
  
                                                                         SYMPL
END                                                                      SYMPL
TERM                                                                     SYMPL
