*DECK SYNGN14 
PROC SYNGN14
*CALL LEXID 
          + 
*CALL SUB14 
          + 
*CALL SYNGN00 
      :ACCESS :01                  #----A C C E S S--------------------#
                                   #                                   #
                                   # THIS DIRECTIVE SPECIFIES THE KEYS #
                                   # WHICH WILL ALLOW ACCESS TO A CDCS #
                                   # AREA OR CATALOG FILE WHICH HAS AN #
                                   # ACCESS-CONTROL LOCK ASSIGNED TO   #
                                   # IT BY THE SUB-SCHEMA.             #
                                   #                                   #
            -KEY                   # *KEY* IS OPTIONAL.                #
            +EOT          10 /     # IMMEDIATE EOT MEANS TO PROMPT FOR #
                                   # *IS* CLAUSES.                     #
            *SETPR        YES/     # SET PROMPT FLAG AND READ FIRST    #
                                   # *IS* CLAUSE(S).                   #
        :10 -IS                    # THE *IS* IS OPTIONAL.             #
            DATA-ATTRIB            # ACCESS KEY MUST BE A LITERAL      #
                                   # OR SAVED IN A DATA-NAME.          #
            *RESETPR               # RESET *PROMPT* TO FALSE           #
            LOST          NO /     # INVALID LITERAL OR DATA-NAME.     #
            *SAVKEY                # SAVE ADDRESS OF ACCESS KEY.       #
            LOST          NO /     # INVALID ACCESS KEY.               #
            -ON                    # *ON* KEYWORD AND CLAUSE BOTH      #
                                   # OPTIONAL.                         #
        :15 $INPUT                 # VALUE MAY BE ANY COMBINATION      #
            $I-O                   # OF INPUT AND OUTPUT.              #
            $OUTPUT                #                                   #
            *SETIO        20 /     # IF *ON* CLAUSE MISSING, I-O IS    #
                                   # DEFAULT.                          #
            *SAVIO           / 15  # SET SPECIFIED INPUT/OUTPUT BITS.  #
        :20 $FOR                   # *FOR* CLAUSE IS OPTIONAL.         #
            *SAVALL       40 /     # DEFAULT IS ALL AREAS AND CATALOG. #
        :25 $AREA         45 /     # IF ACCESS KEY IS FOR AN AREA,     #
            +NAME                  # AREA-NAME MUST BE GIVEN.          #
            D380          35 /     # AREA-NAME NOT SUPPLIED.           #
        :30 *SAVAREA         /     # MAKE SURE AREA-NAME IS VALID, AND #
                                   # SAVE ITS KEY.                     #
            +NAME         35 / 30  # NOT LIMITED TO ONE AREA-NAME.     #
        :35 $FOR          40 / 25  # NOT LIMITED TO ONE *FOR* CLAUSE   #
                                   # END OF *IS* CLAUSE.               #
        :40 +EOT          10 /     # EITHER EOT OR NEW *IS* CLAUSE EXP.#
            *READIS       YES/ 10  # IF EOT, SEE IF NEED TO PROMPT FOR #
                                   # NEXT *IS* CLAUSE. IF SO, READ IT. #
        :45 $CATALOG      50 /     # IF ACCESS KEY IS FOR CATALOG,     #
            +NAME                  # NAME IS OPTIONAL.                 #
            *CATNAM          /     # SAVE FLAG THAT CATALOG NOT NAMED. #
            *SAVCAT          / 35  # SAVE VALID CATALOG"S ACCESS KEY.  #
        :50 $AREAS                 # IF *FOR* CLAUSE PRESENT, ONE      #
                                   # OPTION MUST ACCOMPANY IT.         #
            D383          35 /     # INCOMPLETE *FOR* CLAUSE.          #
            *SAVARES      35 /     # IF *AREAS* SPECIFIED, ACCESS KEY  #
                                   # IS FOR ALL AREAS.                 #
                                   #                                   #
                                   #----E N D   A C C E S S------------#
  
      :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 
            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
                                                                        002570
      :INVOKE   :01                                                     002580
            WRONGOVERLAY     / YES                                      002590
  
      :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                #----R E C O V E R Y----------------#
                                   #                                   #
                                   # THIS DIRECTIVE TELLS CDCS TO LOG  #
                                   # A RECOVERY POINT ON THE LOG FILE. #
                                   # THE USER SPECIFYING THE RECOVERY  #
                                   # POINT IS SUSPENDED AND ALL CDCS   #
                                   # ACTIVITY IS HALTED FOR ALL USERS  #
                                   # UNTIL ALL I/O BUFFERS FOR DATA    #
                                   # BASE AREAS ARE FLUSHED, A RECOVERY#
                                   # POINT LOG RECORD IS WRITTEN TO THE#
                                   # LOG FILE FOR THE DATA BASE, AND   #
                                   # THE QUICK RECOVERY FILE FOR THE   #
                                   # DATA BASE IS EMPTIED.             #
                                   #                                   #
            -POINT                 # *POINT* IS OPTIONAL               #
            $USING                 # *USING* ALWAYS REQUIRED           #
            D022                   # DIAGNOSE INVALID SYNTAX           #
            LOST          NO/      #                                   #
            DATA-ATTRIB            # FIRST PARAMETER MUST BE A DATANAME#
            D387                   # 1ST PARAM MUST BE A DEFINED INTEGR#
            LOST          NO/      # INVALID DATA-NAME                 #
            *SAVRP1                # CHECK FOR DEFINED INTEGER AND SAVE#
                                   # IT FOR RCVRYPT                    #
            LOST          NO/      # INVALID DATA-NAME                 #
            DATA-ATTRIB            # CHECK FOR DATA-NAME OR LITERAL    #
            D388                   # 2ND PARAM MUST BE 1-30 CHARACTERS #
            LOST          NO/      # INVALID DATA-NAME OR LITERAL      #
            *RCVRYPT               # IF 2ND PARAMETER IS 1-30 CHAR ITEM#
                                   # CALL DB$RPT PASSING BOTH PARAMETRS#
            LOST          NO/YES   # INVALID DATA-NAME OR LITERAL      #
                                   #                                   #
                                   #---E N D---R E C O V E R Y---------#
  
      :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  :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-------------#
  
END 
