*DECK SYNGN11 
PROC SYNGN11
*CALL LEXID 
          + 
*CALL SUB11 
          + 
*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   :01 
            WRONGOVERLAY     / YES
  
      :DELETE   :01 
            WRONGOVERLAY     / YES
  
      :DESCRIBE :01 
            WRONGOVERLAY     / YES
  
      :DETAIL   :01 
            WRONGOVERLAY     / YES
  
      :DIRECTORY  :01              #------D I R E C T O R Y------------#
                                   #                                   #
                                   # THE *DIRECTORY* COMMAND SPECIFIES #
                                   # WHETHER OR NOT TO BUILD A DIREC-  #
                                   # TORY FOR THE FILES BUILT BY THE   #
                                   # *DISPLAY* OR *EXTRACT* COMMANDS.  #
                                   #                                   #
            $ON           05 /     # KEYWORD *ON* OR *OFF* REQUIRED    #
            *STDIRON         / 10  # SET FLAG FOR DIRECTORY ON         #
                                   #                                   #
        :05 $OFF                   #                                   #
            D426                   # ERROR IF *ON*/*OFF* MISSING       #
            LOST          NO /     #                                   #
            *STDIROFF        /     # SET FLAG FOR DIRECTORY OFF        #
                                   #                                   #
        :10 $ON                    # ERROR IF *ON*/*OFF* REPEATED      #
            $OFF          15 /     #                                   #
            D426                   #                                   #
            LOST          NO / NO  #                                   #
                                   #                                   #
        :15 -FOR                   # KEYWORD *FOR* IS OPTIONAL         #
            $DISPLAY      20 /     # IF DIRECTIVE OPTION IS *DISPLAY*  #
            *SETDISPDIR      / YES # TURN DISPLAY DIRECTORY ON/OFF     #
                                   #                                   #
        :20 $EXTRACT      25 /     # IF DIRECTIVE OPTION IS *EXTRACT*  #
            *SETEXTRDIR      / YES # TURN EXTRACT DIRECTORY ON/OFF     #
                                   #                                   #
        :25 D427                   # ERROR IF *DIS*/*EXTRACT* MISSING  #
            LOST          NO / NO  #                                   #
                                   #                                   #
                                   #---E N D---D I R E C T O R Y-------#
  
      :DISPLAY  :01 
            WRONGOVERLAY     / YES
  
      :DUPLICATE   :01
            WRONGOVERLAY     / YES
  
      :ERASE    :01 
            WRONGOVERLAY     / YES
  
      :EVALUATE :01 
            WRONGOVERLAY     / YES
  
      :EXECUTE   :01               #-----E X E C U T E-----------------#
                                   # THIS SECTION CRACKS THE SYNTAX FOR#
                                   # AN *EXECUTE* DIRECTIVE. IF NOT IN #
                                   # THE PROCESS OF RECORDING, *LODXEQ*#
                                   # WILL LOAD THE (6,0) OVERLAY, THUS #
                                   # CONTROL NEVER RETURNS.            #
  
            +NAME         NO /     # MUST HAVE ENTRY POINT NAME        #
            *STOREPN               # STORE PROCEDURE NAME              #
            $USING        10 /     # CHECK FOR LIST OF PARAMETERS      #
            DATA-ATTRIB            # CHECK ATTRIBUTES OF FIRST PARAM   #
            D211 LOST     NO /     # DIAGNOSE EMPTY PARAMETER LIST     # QU3A334
            *STORPAR               # STORE PARAMETER                   #
            D362 LOST     NO /     # NOT LITERAL OR DEFINED ITEM       # QU3A334
  
        :05 DATA-ATTRIB   10 /     # CHECK ATTRIBUTES OF NEXT PARAM    #
            *STORPAR               # STORE PARAMETER                   # QU3A334
            D362 LOST     NO / 05  # NOT LITERAL OR DEFINED ITEM       # QU3A334
  
        :10 $FROM         99 /     # CHECK FOR LOCAL FILE NAME         #
            LFN           NO /     # VALIDATE LFN                      #
            *STORLFN         / 99  # STORE THE LFN                     #
  
        :99 *LODXEQ          /YES  # LOAD AND EXECUTE THE PROCEDURE.   #
                                   #                                   #
                                   #---E N D----E X E C U T E----------#
  
      :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
                                                                        002450
      :INVOKE   :01                                                     002460
            WRONGOVERLAY     / YES                                      002470
  
      :LOOKUP   :01                #------L O O K U P------------------#
                                   #                                   #
                                   # THE *LOOKUP* COMMAND SPECIFIES    #
                                   # WHETHER TO SEARCH FOR DATANAMES   #
                                   # IN THE DATABASE BEFORE FILES OR   #
                                   # VICE VERSA. IT MAY ALSO SPECIFY   #
                                   # TO SEARCH ONLY ONE SOURCE. THE    #
                                   # VARIABLE *LOOKORDER* IS SET TO    #
                                   # INDICATE THE OPTION CHOSEN.       #
                                   #                                   #
            -NAMES                 # KEYWORD *NAMES* IS OPTIONAL       #
            -IN                    # KEYWORD *IN* IS OPTIOANL          #
                                   #                                   #
            $DATABASE     10 /     # MUST SPEC *DATABASE* OR *FILES*   #
            $FIRST        05 /     # MUST SPECIFY *FIRST* OR *ONLY*    #
            *SETDBFIRST      / 25  # SET *LOOKORDER* TO DB FIRST       #
                                   #                                   #
        :05 $ONLY         20 /     #                                   #
            *SETDBONLY       / 25  # SET *LOOKORDER* TO DB ONLY        #
                                   #                                   #
        :10 $FILES                 #                                   #
            D428                   # ERROR - *DATABASE*/*FILES* MISSING#
            LOST          NO /     #                                   #
            $FIRST        15 /     #                                   #
            *SETFFIRST       / 25  # SET *LOOKORDER* TO FILES FIRST    #
                                   #                                   #
        :15 $ONLY         20 /     #                                   #
            *SETFONLY        / 25  # SET *LOOKORDER* TO FILES ONLY     #
                                   #                                   #
        :20 $DATABASE              # ERROR IF *FIRST*/*ONLY* MISSING   #
            $FILES                 #                                   #
            D429                   #                                   #
            LOST          NO /     #                                   #
            D428                   # ERROR IF *DATABASE*/*FILES*       #
            LOST          NO / NO  #   REPEATED                        #
                                   #                                   #
        :25 $FIRST                 #                                   #
            $ONLY         YES/     #                                   #
            D429                   # ERROR IF *FIRST*/*ONLY* REPEATED  #
            LOST          NO / NO  #                                   #
                                   #                                   #
                                   #---E N D---L O O K U P-------------#
  
      :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                    # SYNTAX FOR SORT DIRECTIVE         #
            *ENDBASC               # END BASIC TABLES                  #
            LOST           NO/
            LFN            NO/     # MUST HAVE FIRST LFN               #
            *SORTIN   D325 50/
  
        :05 +EOT           10/90   # IF END OF TRANSMISSION            #
  
        :10 $UPON          15/     # IF KEY WORD -UPON-                #
            *SORTLFN  D350 50/     # PRE CHECK FOR DUPLICATE -UPON-    #
            LFN            50/     # MUST BE A LEGAL LFN               #
            *SORTOUT         /05   # STORE THE LFN FOR SORTING         #
  
        :15 $USING         25/     # IF KEYWORD -USING-                #
            *SORTSEQ  D351 50/     # PRE CHECK FOR SEQUENCE SPECIFIED  #
            +LIT           20/     # IF A LITERAL SEQUENCE             #
            *LITSEQ          /05   # STORE THE LITERAL SEQUENCE        #
  
        :20 +NAME     D134 50/     # COLLATING SEQUENCE NAME           #
            *COLSEQ   D138 50/05   # STORE THE COLL. SEQ. IDENTIFIED   #
  
        :25 $UNIQUE        30/     # IF KEYWORD -UNIQUE-               #
            *SETUNIQUE D352  /05   # SET INDICATOR FOR -UNIQUE-        #
  
        :30 $ON            45/     # IF KEYWORD -ON-                   #
            *STARTKEY D353 50/     # PRECHECK FOR KEY ALREADY SPECIFIED#
            DATA-ATTRIB            # CHECK FOR DATA ATTRIBUTES         #
                     D135 50 / 37  # MUST HAVE AT LEAST ONE KEY WITH ON# QU3A334
  
        :35 DATA-ATTRIB    05/     # CHECK FOR ANOTHER ITEM FOR KEY    #
  
        :37 *SORTDES               # CHECK IF DESCRIBED ITEM           # QU3A334
                     D363 50 /     # NOT ON FILE TO BE SORTED          # QU3A334
        :40 *SORTKEY  D152   /     # STORE THIS KEY                    #
            $DESCENDING    35/     # IF KEYWORD -DESCENDING-           #
            *SORTORD         /35   # STORE DESCENDING KEY SORT ATTRIB  #
  
        :45           D354   /     # THIS TOKEN DID NOT FIT SORT SYNTAX#
  
        :50 *ENDSORT         /     # FREE CM FOR NON-EXECUTING SORT DIR#
            LOST           NO/NO
  
        :90 *LODSORT         /YES  # LOAD (3,0) IF NOT RECORDING       #
  
      :SPECIFY  :01 
            WRONGOVERLAY     / YES
  
      :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                                         #
#                                                                      #
#----------------------------------------------------------------------#
  
END 
