*COMDECK MACEXPN
          CONTROL NOLIST;    #MACEXPN#
      DEF CHNINE #O"44"#;          # DISPLAY CODE FOR CHARACTER 9      #
      DEF DEFPARCHAR #O"71"#;      # DEF PARAM NAME RIGHTMOST CHAR (?) #
      DEF DFMBRKD #7#;             # DEPTH OF BRACKETS WITH NO QUOTES  #
      DEF L$DPN #5#;               # LENGTH OF DEF PARAMETER NAME      #
      DEF ENDDEF #O"101"#;         # END-OF-MACRO CHARACTER            #
      DEF ENDPARAM #O"100"#;       # END-OF-PARAMETER CHARACTER        #
      DEF NBRK #3#;                # KINDS OF BRACKETS                 #
      DEF NPMAX #64#;              # MAX NUM OF MACRO PARAMS PER CALL  #
  
  
      COMMON MACEXPN; 
      BEGIN 
  
      ITEM AWAITSEMI B = FALSE; 
      ITEM CONDPTH   I; 
      ITEM CURMAC    I; 
      ITEM CURPAR    I; 
      ITEM MACRO     B; 
      ITEM NADPN     U = O"01010101715555555555";  # NEXT AVAILABLE    #
                                                   # DEF PARAM NAME    #
      ITEM NPAR      I; 
      ITEM SETCNTL   B; 
      ITEM TMP1      I; 
      ITEM TMP2      I; 
      ITEM TMP3      I; 
  
      ARRAY [1:NBRK] P(1);         # BRACKET TABLE                     #
        BEGIN 
        ITEM LBRK I(0,0,7) = [O"51",O"61",O"72"];  # DISPLAY CODE FOR  #
                                                   #  (  [  <          #
        ITEM RBRK I(0,7,7) = [O"52",O"62",O"73"];  # DISPLAY CODE FOR  #
                                                   #  )  ]  >          #
        END 
  
      ARRAY [1:DFMBRKD] P(1); 
        BEGIN 
        ITEM RBRKT I(0,0,60); 
        END 
  
      ARRAY [1:NPMAX] P(1);        # ARTIFICIAL NAME/ACTUAL NAME TABLE #
        BEGIN 
        ITEM DPGEN I(00,00,30); 
        ITEM DPNAM I(00,30,30); 
        END 
  
      END 
          CONTROL LIST;      #MACEXPN#
