*DECK SYNGN04 
PROC SYNGN04
*CALL LEXID 
          + 
*CALL SUB04 
          + 
*CALL SYNGN00 
      :ACCESS   :01 
            WRONGOVERLAY     / YES
  
      :ALTER    :01 
            WRONGOVERLAY     / YES
  
      :BREAK    :01 
            WRONGOVERLAY     / YES
  
      :COMPILE  :01 
            WRONGOVERLAY     / YES
  
      :CREATE   :01 
            WRONGOVERLAY     / YES
  
      :DATE     :01 
            WRONGOVERLAY     / YES
  
       :DEFINE  :1, *ENDBASC, LOST, NO / *INIDEF
                  +INT                20/ # CHECK FOR ARRAY DEF AS IN- #
              *INTDEDE D334 99 /          # DICATED BY AN ITEM COUNT   #
                  $ITEMS D022         99/ # EXCEEDING 1.               #
              $DEPENDING,-FOR,20,/,-ON,+NAME,D22,NO,/,*AMBIGNAME,D46,99,002140
               /,*DEPON,D181,99,/,-FOR                                  002150
             :20,+NAME,+SNW,D064,99,/,  #DATANAME IS NOT OPTIONAL      #
             *RESETNAM,/,*ITMNAM,NO,/,
                         *DN2DEDE         # CHECK NAME FOR DUPLICATION #
                         D045         99/ # AND ALLOCATE ENTRY IN THE  #
                                          # DEFINE LIST.               #
                  $AS                 40/ # CHECK FOR OPTIONAL DATATYPE#
                  $INTEGER,$FLOATING,     # SPECIFICATION (DEFAULT =   #
                  $CHARACTER,$DOUBLE,     # FLOATING).                 #
                  $LOGICAL,$COMPLEX 
                  $NUMERIC
                         D093         98/ 
                         *TYPDEDE         # STORE TYPE IN LIST ENTRY.  #
              :40 $BY                 50/ # CHECK FOR OPTIONAL PICTURE #
                         PICTURE      98  # SPECIFICATION (EACH TYPE   #
              :50 $VALUE              60/ # HAS A DEFAULT PICTURE).    #
                  -IS                 70  # CHECK FOR VALUE OR EVALUA- #
              :60 $=                  80  # TION TECHNIQUE IN FORM OF  #
              :70        ARITHEXPRESS 98  # AN ARITHMETIC EXPRESSION.  #
              :80        *XEQDEF          # COMPLETE BUILDING DEFINE   #
                  YES                     # LIST ENTRY.                #
             :82,    *CHKNXID,84
             :83,*RESTARR,YES 
             :84,ARITHEXPRESS,D176,83,/,*NEXTARR,D176,83,/,82 
              :98        *RETENTRY        # RETURN ENTRY TO FREE SPACE.#
              :99        LOST         NO
  
      :DELETE   :01 
            WRONGOVERLAY     / YES
  
       :DESCRIBE  :1, *ENDBASC, LOST, NO / LFN, 99 /
                  $AND   D090         99/ # "AND" REQUIRED BY SYNTAX.  #
                         *INIDESC         # INIT DESCRIBE LIST BY "FOR-#
                         # GETTING" ANY PREVIOUSLY DESCRIBED FILE.     #
              :20 +INT                30/ # CHECK FOR FIXED-LENGTH     #
             *INTDEDE D334    99/ 
             $ITEMS D022      99/ 
             $DEPENDING, -FOR 30/ 
             -ON,+NAME,D22,NO,/,*AMBIGNAME,D46,99,/,*DEPON,D181,99,/,   002060
             -FOR                                                       002070
          :30,                                                          002080
                  +NAME  D022         99  # DESCRIBED NAME MUST FOLLOW.#
          :50,*RESETNAM,/,*ITMNAM,NO,/,*DN2DEDE 
                         D045         99/ # AND ALLOCATE DESCRIBE ENTRY#
                  $AS    D091         99/ # MUST HAVE DATA TYPE CLASS. #
                  $DISPLAY            60/ 
                         *DISDATA         # FLAG DATA AS DISPLAY-CODED.#
              :60 $CHARACTER,$NUMERIC,$INTEGER
                  $FLOATING,$FIXED
                  $DOUBLE,$COMPLEX,$LOGICAL 
                         D093         99/ 
                         *TYPDEDE         # STORE DATA TYPE CODE       #
                                      99/ # INTEGER, FIXED, ETC. NOT   #
                                          # WORD ALIGNED               #
                  $BY    D092         99/ # BY IS MANDATORY.           #
                         PICTURE      99/ # PICTURE IS MANDATORY.      #
                  $AND                    # CHECK FOR SUCCEEDING FIELD #
                 70 ,/     #CHECK FOR SUCCEEDING FIELD                 #
                                      20
          :70, $OR, *LINKDESLFN, YES / *RSETDES, 20 
                               #BIT POSITION                           #
              :99        *INIDESC         # RETURN DESLIST TO FREESPACE#
                         LOST          NO 
  
      :DETAIL   :01 
            WRONGOVERLAY     / YES
  
      :DIRECTORY  :01 
            WRONGOVERLAY     / YES
  
      :DISPLAY  :01 
            WRONGOVERLAY     / YES
  
      :DUPLICATE   :01
            WRONGOVERLAY     / YES
  
      :ERASE    :01 
            WRONGOVERLAY     / YES
  
      :EVALUATE :01 
            WRONGOVERLAY     / YES
  
      :EXECUTE  :01 
            WRONGOVERLAY     / YES
  
      :EXHIBIT  :01 
            WRONGOVERLAY     / YES
  
      :EXTRACT  :01 
            WRONGOVERLAY     / YES
  
      :FOLLOW   :01 
            WRONGOVERLAY     / YES
  
      :FOOTING  :01 
            WRONGOVERLAY     / YES
  
      :FORMAT   :01 
            WRONGOVERLAY     / YES
  
      :HEADING  :01 
            WRONGOVERLAY     / YES
  
      :IF       :01 
            WRONGOVERLAY     / YES
  
      :INSERT   :01 
            WRONGOVERLAY     / YES
                                                                        001680
      :INVOKE   :01                                                     001690
            WRONGOVERLAY     / YES                                      001700
  
      :LOOKUP   :01 
            WRONGOVERLAY     / YES
  
      :MODIFY   :01 
            WRONGOVERLAY     / YES
  
      :MOVE     :01 
            WRONGOVERLAY     / YES
  
      :OS       :01 
            WRONGOVERLAY     / YES
  
      :PAGE-NUMBER  :01 
            WRONGOVERLAY     / YES
  
      :PAGE-SIZE:01 
            WRONGOVERLAY     / YES
  
      :PERFORM :01                 #-------P E R F O R M---------------#
                                   #                                   #
                                   # THIS SECTION HANDLES ONLY THE     #
                                   # CONTINUATION OF A *PERFORM* WHICH #
                                   # IS RETURNING FROM AN EXECUTION    #
                                   # OVERLAY.  IF A REAL *PERFORM* IS  #
                                   # ENCOUNTERED, *WRONGOVERLAY* WILL  #
                                   # SEND US TO THE OVERLAY QUALIFIED  #
                                   # TO CRACK A *PERFORM* DIRECTIVE.   #
  
            *ENDBASC               # RELEASE BASIC-TABLE SPACE         #
            LOST          NO /
            *PERINIT      05 /     # INITIALIZE FOR *PERFORM*          #
            WRONGOVERLAY     /YES  # LOAD REAL *PERFORM* OVERLAY       #
  
        :05 *PERBEGIN     YES/     # CONTINUE A *PERFORM*              #
            PERLOOP          /YES  # ENTER *PERFORM* LOOP              #
                                   #                                   #
                                   #----E N D-----P E R F O R M--------#
  
      :PREFACE  :01 
            WRONGOVERLAY     / YES
  
      :PREPARE  :01 
            WRONGOVERLAY     / YES
  
      :PREVIEW  :01 
            WRONGOVERLAY     / YES
  
      :RECAP    :01 
            WRONGOVERLAY     / YES
  
      :RECORDING  :01 
            WRONGOVERLAY     / YES
  
      :RECOVERY :01 
            WRONGOVERLAY     / YES
  
      :REMOVE   :01 
            WRONGOVERLAY     / YES
  
      :RETURN   :01 
            WRONGOVERLAY     / YES
  
      :REWIND   :01 
            WRONGOVERLAY     / YES
  
      :SELECT   :01 
            WRONGOVERLAY     / YES
  
      :SEPARATOR  :01 
            WRONGOVERLAY     / YES
  
      :SORT     :01 
            WRONGOVERLAY     / YES
  
       :SPECIFY :1, *ENDBASC, LOST, NO /
                :10  +NAME  D022  99 /
               *RESETNAM,/,*ITMNAM,NO,/,
                         *INISPECIFY      # CHECK NAME FOR DUPLICATION #
                         D045         99/ # AND DIAGNOSE DUPES.        #
                  $AS    D047         98/ # DIAGNOSE MISSING "AS".     #
                         CONDITION    98/ # CRACK EXPRESSION.          #
                         *XEQSPECIFY      # COMPLETE SPECIFY LIST ENTRY#
                         D048         98/ # DIAGNOSE MISSING EXPRESSION#
                  YES 
              :98        *RETENTRY        # FREE ENTRY SPACE.          #
              :99       LOST         NO 
  
      :STORE    :01 
            WRONGOVERLAY     / YES
  
      :SUMMARY  :01 
            WRONGOVERLAY     / YES
  
      :TABS     :01 
            WRONGOVERLAY     / YES
  
      :TIME     :01 
            WRONGOVERLAY     / YES
  
      :TITLE    :01 
            WRONGOVERLAY     / YES
  
      :UNIVERSAL  :01 
            WRONGOVERLAY     / YES
  
      :UPDATE   :01 
            WRONGOVERLAY     / YES
  
      :USE  :01 
            WRONGOVERLAY     / YES
  
      :VERIFY   :01 
            WRONGOVERLAY     / YES
  
      :VERSION  :01 
            WRONGOVERLAY     / YES
  
      :VETO     :01 
            WRONGOVERLAY     / YES
  
      :VIA      :01 
            WRONGOVERLAY     / YES
  
      :WHERE    :01                #----W H E R E----------------------#
            *ISIT77                # IF WE ARE NOT PROCESSING RESTRICTS#
            D077          NO /YES  # THEN THIS IS A USER INITIATED CALL#
                                   # FOR *WHERE* WHICH IS ILLEGAL.     #
                                   #----E N D----W H E R E-------------#
  
#----------------------------------------------------------------------#
#                                                                      #
#        O T H E R   S Y N T A X   S E C T I O N S                     #
#        IN ALPHABETICAL ORDER                                         #
#                                                                      #
#----------------------------------------------------------------------#
  
      :PICTURE  :01                #-----P I C T U R E-----------------#
            +LIT                   # PICTURE MUST BE A LITERAL         #
            +SNW                   # MOVE PICTURE TO CURWORD FOR DIAG  #
            D095          NO /     #                                   #
            *PICDEDE               # CRACK PICTURE FOR DEFINE AND      #
            D095          NO /YES  # DESCRIBE                          #
                                   #-----E N D---P I C T U R E---------#
END 
