*COMDECK  COMSSYC - NAMES OF SYMBOL CLASS BITS. 
 COMSSYC  CTEXT  COMSSYC - NAMES OF SYMBOL CLASS BITS.
  
  
***              COMSSYC PROVIDES HOLLERITH NAMES OF SYMTAB CLASS BITS. 
* 
*         THE NAMES ARE SAVED IN A MICRO STRING AND THEN FED TO THE 
*         USERS MACRO IN REVERSE ORDER (LOWEST BIT NUMBER FIRST). 
*         THE USER MUST MATERIALIZE THE SAVED DEFINITIONS WITH A
*                "CLASS  HERE"
*         INSTRUCTION, AFTER CALLING THIS COMDECK.
 CLASS    SPACE  4,10 
***       CLAS - USER MACRO TO MATERIALIZE NAMES. 
* 
*         CLAS   ADDR,NAME
 CL=NAM   SPACE  4,10 
**        CL=NAM - MACRO TO NAME SYMBOL CLASS BITS. 
* 
* SYM     CL=NAM NAM
* 
*         ENTRY  SYM = SUFFIX OF (WB.) FOR THIS BIT.
*                NAM = EXTERNAL NAME, FOR ERROR MESSAGES AND MAP. 
  
  
          MACRO  CL=NAM,SYM,NAM 
          LOCAL  ADDR 
 CLAS1    MICRO  1,, ADDR-WB.SYM
* 
 CL=BIT   SET    CL=BIT-1 
   IFC    NE, SYM  ,1 
   ERRNZ  CL=BIT-WB.SYM_P    ERRLIT OUT OF SYNCH   ["SEQUENCE"]_________
* 
 CL=MIC   MICRO  1,,)ADDR,NAM "CL=MIC") 
 CL=NAM   ENDM
  
  
 CL=BIT   SET    WB.CLASP+WB.CLASL
 CL=MIC   MICRO 
  
  
 CLASS    RMT                CALL USER MACRO TO MATERIALIZE NAMES 
 CL=.1    DUP    WB.CLASL+2 
 CL=N     MICRO  1,, "CL=MIC" 
 CL=L     MICCNT CL=N 
 CL=MIC   MICRO  CL=L+2,,)"CL=MIC") 
          CLAS   "CL=N" 
 CL=.1    ENDD
 CLASS    RMT 
 ERRLIT   SPACE  4,10 
****      ERROR LITERALS FOR CLASS BITS --
* 
*         NOTE   ANY CHANGES TO THE CLASS BIT DEFINITIONS IN (COMSSYM)
*                MUST ALSO BE REFLECTED IN THE ORDER OF THE FOLLOWING 
*                VECTOR.
  
  
 SFA      CL=NAM STF-DARG    STATEMENT FUNCTION DUMMY ARGUMENT
 1REF     CL=NAM STRAY       STRAY NAME 
 MAT      CL=NAM MATERIAL    STORAGE REQUIRED 
 SAVE     CL=NAM SAVE        DECLARED *SAVE*
 NLST     CL=NAM NAMELIST    NAMELIST GROUP NAME
  
*         DATR - ATTRIBUTES DURING DECLARATIVES 
 LEV      CL=NAM LEVELED     LEVELED -- (WB.LEVN) = LEVEL NUMBER
 VDS      CL=NAM TY=INTEGER  MUST BE INTEGER
 TYP      CL=NAM TYPED       WAS EXPLICITLY TYPED 
 AGN      CL=NAM ASSIGN      VARIABLE APPEARED IN ASSIGN STATEMENT
 INTF     CL=NAM INTRINSIC   DECLARED *INTRINSIC* 
 DEXT     CL=NAM EXTERNAL    DECLARED *EXTERNAL*
 GENF     CL=NAM GENERIC     GENERIC FUNCTION NAME
 LDO      CL=NAM LOAD-ONLY   LOAD-ONLY VARIABLE                (CCG DAP)
 BMEM     CL=NAM EQUIV-BASE  BASE MEMBER OF AN EQUIVALENCE CLASS
 LOCF     CL=NAM LOCF        IRREDUCIBLE REFS                  (CCG DAP)
  
* CCGV    CL=NAM             ORDERED FIELD                     (CCG DAP)
*         REDEF  CCGV 
 LCM      CL=NAM "LCM"       RESIDES IN LARGE CORE
 FP       CL=NAM DUMMY-ARG   IS A FORMAL PARAMETER
 COM      CL=NAM COMMON      IS IN A /COMMON/ BLOCK 
 EXT      CL=NAM EXTERNAL.   EXTERNAL NAME
 ENT      CL=NAM ENTRY
  
 FUN      CL=NAM FUNCTION    SEE (WC.FUNT)
 SUB      CL=NAM SUBROUTINE 
 ARY      CL=NAM ARRAY
 EQV      CL=NAM EQUIV.      NON-BASE MEMBER
 PARM     CL=NAM PARAMETER   NAME IS A *PARAMETER*
 DEF      CL=NAM DEFINED     (VAR) = GETS STORED INTO 
                             (SUB, FUN) = ARG COUNT DETERMINED
 NVAR     CL=NAM NOT-VAR     NOT A VARIABLE 
 VAR      CL=NAM VARIABLE    IS A VARIABLE
 CGS      CL=NAM -INTERNAL-  COMPILER GENERATED SYMBOL
 LAB      CL=NAM LABEL       IS A STATEMENT LABEL 
****
          PURGMAC CL=NAM
  
 COMSSYC  ENDX
