*COMDECK  COMSSYM - SYMBOL NAME AND ATTRIBUTE DISCRIPTIORS. 
 COMSSYM  TITLE  COMSSYM - SYMBOL NAME AND ATTRIBUTE DESCRIPTORS. 
 COMSSYM  SPACE  4,8
***       COMSSYM - SYMBOL NAME AND ATTRIBUTE DESCRIPTORS.
* 
*         THIS COMDECK CONTAINS SYMBOL DEFINITIONS FOR THE
*         FORTRAN 5 SYMBOL TABLE. 
 T.SYM    SPACE  4,8
***       T.SYM - SYMBOL NAMES AND ATTRIBUTES.
* 
*         THE SYMBOL TABLE CONTAINS ALL SYMBOLS REFERENCED BY THE 
*         PROGRAMMER OR INVENTED BY THE COMPILER, AS WELL AS ALL
*         STATEMENT LABELS. 
* 
*         A SYMBOL TABLE ENTRY CONSISTS OF 3 WORDS, CALLED THE
*         (WA.), (WB.), AND (WC.) WORDS.  THE FIRST WORD IS 
*         THE SAME FOR SYMBOLS AND STATEMENT LABELS.  INTERPRETATION
*         OF THE SECOND AND THIRD WORDS DEPENDS ON WB.LAB -- IT IS ZERO 
*         FOR A SYMBOL, AND ONE FOR A LABEL.  THE FIELDS CONTAINED IN A 
*         SYMBOL ENTRY ARE DESCRIBED BELOW, FOLLOWED BY THE DESCRIPTION 
*         OF A LABEL ENTRY. 
* 
* 
*         SYMBOL TABLE - SYMBOL FORMAT
* 
* 
*         1ST WORD - WA.
* 
*         +-----------------------------------------+-----------------+ 
*         +                                         +                 + 
*         +      S  Y  M  B  O  L                   +  HASH POINTER   + 
*         +                                         +                 + 
*         +-----------------------------------------+-----------------+ 
*                             42                             18 
* 
* 
*         2ND WORD - WB.
* 
*         +------------+--+-----------+-----------------------+-+-+---+ 
*         +            + L+    BASE   +                       +C+L+ M + 
*         +   POINTER  + E+ --------- +   C L A S S   B I T S +G+A+ O + 
*         +            + V+    FPNO   +                       +S+B+ D + 
*         +------------+--+-----------+-----------------------+-+-+---+ 
*               13       2      12                28           1 1  3 
* 
* 
*         3RD WORD - WC.
* 
*         +----------+-----------------+-+-+---+----------------------+ 
*         +   FUNI   +   CHAR LENGTH   +C+/+ B +                      + 
*         + -------- + --------------- +T+/+ C +         RA           + 
*         + REL BLK  +    ENTRY GL     +Y+/+ P +                      + 
*         +----------+-----------------+-+-+---+----------------------+ 
*              12             18        1 1  4           24 
* 
* 
* 
*         SYMBOL TABLE - STATEMENT LABEL FORMAT 
* 
* 
*         1ST WORD - WA.
* 
*         +-----------------------------------------+-----------------+ 
*         +                                         +                 + 
*         +   S T A T E M E N T       L A B E L     +   HASH POINTER  + 
*         +                                         +                 + 
*         +-----------------------------------------+-----------------+ 
*                             42                             18 
* 
* 
*         2ND WORD - WB. (NON FORMAT LABEL) 
* 
*         +------------------+--------+------------------------+-+-+--+ 
*         +    LINE NUMBER   +////////+                        +C+L+//+ 
*         +    OF FIRST      +////////+         CLASS          +G+A+//+ 
*         +    REFERENCE     +////////+                        +S+B+//+ 
*         +------------------+--------+------------------------+-+-+--+ 
*                   18           9               28              1 1  3 
  
*         2ND WORD - WB. (FORMAT LABEL) 
  
*         +--------------+------------+------------------------+-+-+--+ 
*         +//////////////+   FORMAT   +                        +C+L+//+ 
*         +//////////////+   LENGTH   +         CLASS          +G+A+//+ 
*         +//////////////+            +                        +S+B+//+ 
*         +--------------+------------+------------------------+-+-+--+ 
*                15            12                28              1 1  3 
* 
* 
*         3RD WORD - WC.
* 
*         +-----------+-----------------+-----+-----------------------+ 
*         +           +                 +/////+                       + 
*         +  REL BLK  +  LINE NUMBER    +/////+         RA            + 
*         +           +                 +/////+                       + 
*         +-----------+-----------------+-----+-----------------------+ 
*              12             18           6            24
  
  
 PSYM     EQU    7           LOG(2) OF SYMBOL TABLE HASH BASE 
 PSYM     DECMIC PSYM        ( = NUMBER OF BITS TO HASH)
 Z.HASH   EQU    1S"PSYM"    LENGTH OF HASH TABLE 
  
 Z=SYM    EQU    3           WORDS PER ENTRY
 CHAR     EQU    6
  
  
          DESCRIBE WA.,,,0
  
 SYM      DEFINE 7*CHAR      SYMBOL NAME     (-0L- FORMAT)
 NAME     DEQU   SYM
          REDEF  SYM
          DEFINE 1*CHAR 
 STL      DEFINE 5*CHAR      STATEMENT LABEL (-0R- FORMAT)
          DEFINE 1*CHAR 
 NFP      DEFINE 1           CANNOT BE AN FP
          DEFINE 5
 HASH     DEFINE 12 
          REDEF  HASH 
 BN       DEFINE 12 
  
  
 VERR.    MICRO  1,, ILL-SYM       NO SUCH USER SYMBOL
 SYM/WB   SPACE  4,30 
**        SYM/WB - ATTRIBUTE WORD.
  
  
          DESCRIBE WB.,,,1
  
 FR       DEFINE 18          (LAB) = LINE NUMBER OF FIRST REFERENCE 
  
          REDEF  FR 
 STFP     DEFINE 15          (STF) = T.STF INDEX OF DEFINITION SKELETON 
 DI       DEQU   STFP        (DOGL) DO INDEX VARIABLE ORDINAL 
  
          REDEF  STFP 
 PNT      DEFINE 13          (ARY)  = T.DIM INDEX OF DIMS 
                             (NLST GRP NAME) = T.NLST INDEX OF GROUP
 JPF      DEQU   PNT,9       (INTF) = F.INTF INDEX
 LEVN     DEFINE 2           LEVEL NUMBER 
 BASE     DEFINE 12          SYMORD OF EQUIVALENCE CLASS BASE MEMBER
 FPNO     DEQU   BASE,9      FORMAL PARAMETER NUMBER
 FPO      DEQU   FPNO 
 FMTL     DEQU   BASE        (FDEF) = FORMAT LENGTH, CHARACTERS 
 TL       DEQU   BASE        (DOGL) ORDINAL OF DO TERMINAL LABEL
 CLAS     DEFINE 28          SYMBOL CLASS BITS (SEE BELOW)
 CGS      DEFINE             COMPILER GENERATED SYMBOL
 LAB      DEFINE             = 0 FOR A SYMBOL 
                             = 1 FOR A LABEL   (SEE BELOW)
 MODE     DEFINE 3           MODE (TYPE)       (SEE BELOW)
  
          REDEF  PNT,8       *PROPERTY* BITS FOR FILES
 FMT      DEFINE             A FORMATTED OPERATION APPEARED 
 BIN      DEFINE             A NON-FORMATTED OPERATION APPEARED 
 DIR      DEFINE             A DIRECT-ACCESS OPERATION APPEARED 
 SEQ      DEFINE             A SEQUENTIAL OPERATION APPEARED
 BUF      DEFINE             A BUFFER-IN OR BUFFER-OUT OPERATION
 EQU      DEFINE             AN EQUIVALENCED FILE 
 AUX      DEFINE             AN AUXILLARY I/O OPERATION APPEARED
 UDC      DEFINE             FILE UNIT DESIGNATOR IS CONSTANT 
 WB.CLAS  SPACE  4,8
**        WB.CLAS - CLASSIFICATION OF SYMBOL. 
* 
*         WHEN (WB.LAB) = 0, THE (WB.CLAS) IS INTERPRETED AS FOLLOWS -- 
* 
*         IF ANY OF THESE ARE SET, (WB.VAR) WILL BE SET --
*                BMEM, EQV, ARY, COM, MAT, SAVE, LCM, LEV, VDS
*         IF ANY OF THESE ARE SET, (WB.NVAR) WILL BE SET -- 
*                INTF, GENF, XTER, DEXT, SUB, FUN, NLST, ENT, PARM
*         ATTRIBUTE OR PROPERTY.
  
  
          REDEF  CLAS 
 SFA      DEFINE             STATEMENT FUNCTION DUMMY ARGUMENT
 1REF     DEFINE             STRAY NAME 
 MAT      DEFINE             MATERIALIZED, STORAGE REQUIRED 
 SAVE     DEFINE             DECLARED *SAVE*
 NLST     DEFINE             NAMELIST GROUP NAME
  
*         DATR - ATTRIBUTES DURING DECLARATIVES 
 LEV      DEFINE             LEVELED -- (WB.LEVN) = LEVEL NUMBER
 VDS      DEFINE             VARIABLE DIMENSION MUST BE INTEGER, FP/COM 
 TYP      DEFINE             WAS EXPLICITLY TYPED 
 AGN      DEFINE             VARIABLE APPEARED IN *ASSIGN* STATEMENT
  
 INTF     DEFINE             DECLARED *INTRINSIC* 
 DEXT     DEFINE             DECLARED *EXTERNAL*
 GENF     DEFINE             GENERIC FUNCTION NAME
 LDO      DEFINE             LOAD-ONLY VARIABLE                (CCG DAP)
 SFX      DEQU   LDO         USED WHILE PARSING ST. FUNCTIONS 
 AGO2     DEQU   LDO         VARIABLE WAS OBJECT OF ASSIGNED GOTO 
 AL       DEQU   LDO         LEVN SET AUTOMATICALLY(DECL PHASE ONLY)
 BMEM     DEFINE             BASE MEMBER OF AN EQUIVALENCE CLASS
 LOCF     DEFINE             IRREDUCIBLE REFS                  (CCG DAP)
  
 CCGV     DEFINE 5           ORDERED FIELD                     (CCG DAP)
          REDEF  CCGV 
 LCM      DEFINE             RESIDES IN LARGE CORE
 FP       DEFINE             IS A FORMAL PARAMETER
 AET      DEQU   FP,2 
 COM      DEFINE             IS IN A /COMMON/ BLOCK 
 EXT      DEFINE             EXTERNAL NAME
 ENT      DEFINE             ENTRY POINT
  
 FUN      DEFINE             FUNCTION = SEE (WC.FUNT) 
 SUB      DEFINE             SUBROUTINE 
 ARY      DEFINE             ARRAY
 EQV      DEFINE
 PARM     DEFINE             NAME IS A *PARAMETER*
 MDF      DEQU   PARM        *MUST DEFINE* FLAG (VALUE. SYMBOLS ONLY) 
 DEF      DEFINE             (VAR) = GETS STORED INTO 
                             (SUB, FUN) = ARG COUNT DETERMINED
 NVAR     DEFINE             NOT A VARIABLE 
 VAR      DEFINE             IS A VARIABLE
  
 M.SYSXT  MICRO  1,, NVAR,EXT,CGS  ATTRIBUTES FOR FCL ROUTINES
 WB.MODE  SPACE  4,8
**        WB.MODE - FORTRAN TYPE OF SYMBOL. 
  
  
 MD.MODE  EQU    7           UPPER LIMIT VALUE OF MODE
  
 M.BOOL   EQU    0           BOOLEAN
 M.LOG    EQU    1           LOGICAL
 M.INT    EQU    2           INTEGER
 M.REAL   EQU    3           REAL 
 M.DBL    EQU    4           DOUBLE PRECISION 
 M.CPLX   EQU    5           COMPLEX
          ERRNZ  M.DBL+1-M.CPLX 
 M.CHAR   EQU    6           CHARACTER
  
 N.TYPE   EQU    M.CHAR+1    NUMBER OF TYPES
 LABELS   SPACE  4,8
**        WB.CLAS - CLASSIFICATION OF STATEMENT LABEL.
* 
*         WHEN (WB.LAB) = 1, THE (WB.CLAS) IS INTERPRETED AS FOLLOWS -- 
  
  
          REDEF  CLAS 
          DEFINE             (RESERVED FOR UNTERM DO LAB) 
 1REF     DEFINE             STRAY NAME 
 ALRN     DEFINE 1           LABEL REFERENCED BY A *ALTERNATE RETURN* 
 GOTO     DEFINE 1           LABEL REFERENCED(NOT AN *ALTERNATE RETURN*)
 INDO     DEFINE             LABEL IN DO WHICH HAS EXIT 
 NIN      DEFINE             DO LOOP HAS (POSSIBLE) NEG. INCREMENT
 DLPE     DEFINE             LABEL IS POSSIBLE ENTRY OF DO LOOP 
 DLC      DEFINE             DO LOOP HAS BEEN CLOSED
 LC       DEFINE             CCG INTERNAL                      (CCG DAP)
 NDEF     DEFINE             APPEARED AS LABEL ON NON-EXECUTABLE
 UDEF     DEFINE             UNDEFINED
  
*                                  (ATTRIBUTES OF FORMATS)
 FREF     DEFINE             REFERENCED AS FORMAT 
 FDEF     DEFINE             DEFINED AS FORMAT
 PRD      DEFINE             DO PARAMETER RE-DEFINED IN THIS LOOP 
  
*                                  (DO-LOOP PROPERTIES) 
 DLNO     DEFINE 5           (CCG)  LOOP IS NOT OPTIMIZABLE 
          REDEF  DLNO 
 DLBB     DEFINE             LOOP CONTAINS A BACKWARD BRANCH
 DLEN     DEFINE             LOOP CONTAINS AN ENTRY 
 DLEX     DEFINE             LOOP HAS AN EXIT 
 DLNI     DEFINE             LOOP IS NOT INNERMOST
 DLER     DEFINE             LOOP CONTAINS EXTERNAL REFERENCES
 DOGL     DEFINE             GENERATED LABEL FOR DO-TOP 
 DMAT     DEFINE             (CCG)  LOOP INDEX TO BE MATERIALIZED 
 ACT      DEFINE             LABEL IS ACTIVE (WILL BE EXECUTED) 
 INA      DEFINE             LABEL IS INACTIVE (CANNOT BE REFERENCED) 
  
*                                  (NORMAL STATEMENT LABELS)
 SLEN     DEFINE             IS ENTRY TO A DO-LOOP
 SLEX     DEFINE             IS EXIT FROM A DO-LOOP 
 DEF      DEFINE             INSURE SAME POSITION 
 SDEF     DEQU   DEF         DEFINED AS EXECUTABLE LABEL
 SREF     DEFINE             REFERENCED AS EXECUTABLE LABEL 
 DOT      DEFINE             LABEL IS A DO-TERMINAL 
  
          ERRNZ  WB.DOTP-WB.CLASP 
 SYM/WC   SPACE  4,8
**        SYM/WC - THIRD WORD.
  
  
          DESCRIBE WC.,,,2
  
 FUNI     DEFINE 12          FUNCTION INFO         (SEE BELOW)
 RLRB     DEQU   FUNI        RELOCATION GROUP      (SEE BELOW)
 CLIF     DEFINE 19          CHARACTER LENGTH INFORMATION 
          REDEF  CLIF 
 CLEN     DEFINE 18          CHARACTER LENGTH 
 LINE     DEQU   CLEN        (LAB) = LINE NUMBER OF DEFINITION
 DVP      DEQU   CLEN        DATA VALUE POINTER (TO T.DVV)
 MRL      DEQU   CLEN        FILE MAXIMUM RECORD LENGTH 
 EGL      DEQU   CLEN,15     GL FOR ENTRY POINT 
 CTYP     DEFINE             CHARACTER LENGTH TYPE
                             0 = CONSTANT LENGTH
                             1 = *
          DEFINE
 BCP      DEFINE 4           BEGINNING CHARACTER POSITION 
 RA       DEFINE 24          BLOCK-RELATIVE ADDRESS 
 BRAD     DEQU   RA,18       BRANCH ADDRESS FOR DO. (CONRED/*SED*)
 BFL      DEQU   RA,18       FILE BUFFER LENGTH 
 IEF      DEQU   RA,18       SYMTAB INDEX OF EQUIVALENCED FILE
 LDTL     DEQU   RA,13       LINK (SYMORD) TO DO-TOP LABEL (LABELS ONLY)
 WC.FUNI  SPACE  4,8
**        WC.FUNI - FUNCTION INFORMATION. 
* 
*         INTERPRET WHEN (WB.FUN) SET.
  
  
          REDEF  FUNI 
 FUNT     DEFINE 3           FUNCTION TYPE  (SEE MF.XXX)
 ARGC     DEFINE 9
  
 MF.USER  EQU    0           USER EXTERNAL FUNCTION 
 MF.STF   EQU    1           USER STATEMENT FUNCTION
 MF.LIB   EQU    2           LIBRARY FUNCTION   (..QQ..)
 MF.BEF   EQU    3           INTRINSIC EXTERNAL FUNCTION
 MF.INL   EQU    4           INTRINSIC INLINE FUNCTION
  
  
*         FOR AN EXTERNAL INTRINSIC (MF.BEF), THE FOLLOWING 
*         FIELDS ARE ALSO USED. 
  
  
          REDEF  RA 
 SHC      DEFINE 6           SHIFT COUNT FOR APPENDING SUFFIX 
          DEFINE 10 
 BRP      DEFINE 8           +/ 2**(B-REG PRESERVED)
 WC.RLRB  SPACE  4,8
**        WC.RLRB - RELOCATION GROUP INFO.
* 
*         THIS FIELD PER CCG SPEC.
  
  
          REDEF  RLRB 
 RL       DEFINE 2           RELOCATION TYPE       (SEE ML.XXX) 
 RB       DEFINE 10          RELOCATION BASE = BLOCK INDEX
  
 ML.ABS   EQU    0           ABSOLUTE 
 ML.PROG  EQU    1           PROGRAM
 ML.COM   EQU    2           COMMON 
 ML.EXT   EQU    3           EXTERNAL 
 VARDIM   SPACE  4,8
**        VD. - VARDIM TABLE. 
*         DEFINE VD. (FORMAT OF VARDIM INFORMATION TABLE) 
  
  
*         +-+-+----+----------------+----------------+----------------+ 
*         +M+A+////+   INDEX (FE)   +     FIRST      +     NUMBER     + 
*         +A+L+////+----------------+     TURPLE     +       OF       + 
*         +T+O+////+   BIAS  (CG)   +     ORDINAL    +     TURPLES    + 
*         +-+-+----+----------------+----------------+----------------+ 
*          1 1   4         18               18               18 
  
  
          DESCRIBE VD.
 MAT      DEFINE 1           THIS VD. CELL USED BY GEN. CODE
 ALO      DEFINE 1           THIS CELL ALLOWED IN THIS ENTRY (*OTC*/*OVC
 MA       DEQU   ALO,2
          DEFINE 4
 CA       DEFINE 18          ACTUAL BIAS FOR THIS CELL (CODE GENERATOR) 
 IND      DEQU   CA          INDEX OF VD. STORE OPERAND (FRONT END) 
 PNT      DEFINE 18          ORDINAL TO VARDIM TURPLE TABLE 
 LEN      DEFINE 18          NUMBER OF TURPLES
 FORPAR   SPACE  4,8
**        FP. - FORMAL PARAMETER TABLE. 
*         DEFINE FP. (FORMAT OF FORMAL PARAMETER INFORMATION TABLE).
  
  
*         +-+-+-+-+-----+-------------+-----------------+--------------+
*         +V+L+V+L+     +             +                 +              +
*         +D+C+D+E+ CA  +     LEN     +       SUB0      +     PNT      +
*         +S+ + +V+     +             +                 +              +
*         +-+-+-+-+-----+-------------+-----------------+--------------+
*          1 1 1 1   6         14              18              18 
  
  
          DESCRIBE FP.
 VDS      DEFINE 1           USED IN VARDIM 
 LC       DEFINE 1           IF CCG MADE LOCAL COPY 
 VD       DEFINE 1           USED IN ISSUED VARDIM
 LEV0     DEFINE 1           IF LEVEL 0 F.P.
 CA       DEFINE 6           BIAS OF LOCAL COPY (CCG ASSIGNED)
 LEN      DEFINE 14          NUMBER OF SUB REFERENCES FOR THIS FP 
 SUB      DEQU   LEN         INDEX INTO SUB TABLE 
 SUB0     DEFINE 18          NUMBER OF LEVEL 0 REFERENCES 
 PNT      DEFINE 18          SYMBOL TABLE ORDINAL OF THIS FP. 
 T.BLKS   SPACE  4,8
***       T.BLKS - COMMON BLOCK NAME TABLE. 
* 
*         CONTAINS COMMON BLOCK NAMES AND LENGTHS.
*         ZEROTH ENTRY IS NOT USED:  IT IS A PSUEDO-BLOCK FOR PROGRAM-
*                RELATIVE ADDRESS GAMES.
* 
*         THERE IS 1 POINTER WORD FOR EACH ECS/LCM COMMON BLOCK.  IT
*                IS REFERENCED VIA THE LCA TAG STORED IN *CB.TAG*.
*         THE CNFL BIT IS ON IF NAMES IN THE COMMON BLOCK ARE ASSIGNED
*                TO CONFLICTING LEVELS. 
*         THE DFLT BIT IS ON IF ONE OR MORE NAMES ARE DEFAULTED TO THE
*                LEVEL ESTABLISHED FOR THE BLOCK. 
*         THE CHAR BIT IS ON IF FIRST MEMBER OF THE COMMON BLOCK IS 
*                DECLARED MODE CHARACTER. 
*         THE NAC BIT IS ON IF SUBSEQUENT NAMES IN THE COMMON BLOCK 
*                HAVE CONFLICTING CHAR/ NON-CHAR MODES WITH THE FIRST.
* 
* 
*         1ST WORD - CA.
* 
*         +--------------------------------------+-+-+----+-----------+ 
*         +                                      +C+N+ L  +   LAST    + 
*         +                BLOCK NAME            +H+A+ V  +  MEMBER   + 
*         +                                      +R+C+ L  +   INDEX   + 
*         +--------------------------------------+-+-+----+-----------+ 
*                              42                 1 1  4        12
* 
* 
*         2ND WORD - CB.
* 
*         +-+-+----+-----------+---------------+----------------------+ 
*         +L+S+  R +   FIRST   +      LCM      +                      + 
*         +C+A+  N +   MEMBER  +    POINTER    +       LENGTH         + 
*         +M+V+  C +   INDEX   +      TAG      +                      + 
*         +-+-+----+-----------+---------------+----------------------+ 
*          1 1   4       12            18                24 
  
  
 Z=BLKS   EQU    2           WORDS PER BLOCK TABLE ENTRY
  
  
          DESCRIBE CA.,,,0
 BNAM     DEFINE 7*6         BLOCK NAME 
 CHAR     DEFINE 1           BLOCK HAS CHARACTER ENTITIES 
 NAC      DEFINE 1           CHARACTER CONFLICT 
 LVL      DEFINE 4           LEVEL FIELDS 
          REDEF  LVL
 CNFL     DEFINE 1           LEVEL CONFLICT 
 DFLT     DEFINE 1           LEVEL DEFAULT
 BLVL     DEFINE 2           BLOCK LEVEL
 LMI      DEFINE 12          INDEX OF LAST MEMBER OF BLOCK IN T.COMM
  
  
          DESCRIBE CB.,,,1
 LCM      DEFINE 1           BLOCK RESIDES IN ECS/LCM 
 SAVE     DEFINE 1           BLOCK APPEARED IN SAVE DECLARATION 
 RNC      DEFINE 4           REMAIN. CHAR CNT BEFORE ROUNDING BLK LEN 
 FMI      DEFINE 12          INDEX OF FIRST MEMBER OF BLOCK IN T.COMM 
 TAG      DEFINE 18          ECS/LCM POINTER TAG (K=LC) 
 BLEN     DEFINE 24          LENGTH (WORDS IN BLOCK, ROUNDED) 
