*DECK EXSYNTX 
PROC EXSYNTX
ALL                                 0010                                 AS 
ALL-ENTRIES                         0020                                 AS 
AREA                                0030                                 AS 
CLAUSES                             0040                                 AS 
CONSTRAINT                          0050                                 AS 
EXHIBIT                             0060                                 AS 
ITEM                                0070                                 AS 
NAMES                               0100                                 AS 
OF                                  0110                                 AS 
ONLY                                0120                                 AS 
RECORD                              0130                                 AS 
RELATION                            0140                                 AS 
SCHEMA                              0150                                 AS 
+ 
ARCLAUSE            EXHIBIT AN AREA ENTRY 
ARNAME              MOVES AREA NAME AND DDL SYNTAX INTO OUTPUT BUFFER TH
CHKEXH              CHECKS IF THE ENTRY FLAG IS SET. IF SET 
                    STDYES, ELSE STDNO. 
CKALL               CHECKS IF THE ALL FLAG IS SET AND IF SO RETURN TO 
                    STDYES ELSE TO STDNO
CKONLY              CHECK IF THE ONLY FLAG IS SET.IF SO RETURN TO 
                    STDYES ELSE TO STDNO
CSCLAUSE            OUTPUTS THE ASSOCIATED DBIS AND THEIR CORRESPONDING  AT 
                    ATTIBUTES FOR A CONSTRAINT ENTRY.                    AT 
CSNAME              MOVES CONSTRAINT NAME TO OUTPUT BUFFER.              AT 
DATACONTR           EXHIBIT THE DATACONTROL ENTRY IF ANY
ENDEXH              TERMINATES EXHIBITS RUN.
EXHANYNAME          EXHIBIT AN ENTRY NAME 
EXHANYCLAUSE        EXHIBIT AN ENTRY CLAUSES
EXHIBITSTRT         STORES THE SCHEMA CONTROL WORDS AND 
                    MOVES HASH INDEX INTO WSA AND STORES ITS ADDRESS AND
                    RETURN IS TO STDNO. 
ITEMNAME            EXHIBIT AN ITEM NAME
ITEMCLAUSE          EXHIBIT AN ITEM ENTRY 
RECDNAME            OUTPUTS RECORD NAME AS WELL AS ALL OF ITEM ENTRIES
                    SPECIFIED.
RECDCLAUSE          EXHIBIT A RECORD ENTRY
RELNAME             MOVES RELATION NAME AND DDL SYNTAX INTO OUTPUT
                    BUFFER. 
RELCLAUSE           OUTPUTS THE ASSOCIATED JOIN DBIS AND THEIR CORRES-
                    PONDING ATTRIBUTES ALONG WITH THE DDL SYNTAX. 
SAVNAM              SAVES THE ITEM NAME IN CASE IT IS QUALIFIED 
SEARCH              SEARCHES THRU THE DIRECTORY FOR VARIOUS ENTRIES.
SEARCHCS            CHECKS IF CONSTRAINT ENTRIES PRESENT IN THE          AT 
                    DIRECTORY. IF PRESENT, RETURN TO STDYES, ELSE STDNO  AT 
SEARCHCSTR          SEARCHES FOR NEXT CONSTRAINT ENTRY. RETURN IS        AT 
                    EITHER TO STDNO OR STDYES DEPENDING ON THE RESULT.   AT 
SEARCHENTRY         SEARCHES THROUGH THE DIRECTORY FOR THE SPECIFIED
                    NAME.      IF FOUND, RETURNS TO STDYES, ELSE STDNO. 
SEARCHFST           SEARCHES THE FIRST ENTRY IN THE DIRECTORY AND RETURN
                    TO STDYES.IF THERE IS NO ENTRY RETURN TO STDNO
SEARCHI             SEARCHES THE ITEM ENTRIES IN A RECORD.RETURN TO 
                    STDYES.WHEN THERE IS NO MORE ENTRIES RETURN TO
                    STDNO.
SEARCHNXT           SEARCHES THE NEXT ENTRY IN THE DIRECTORY,SETS THE 
                    TYPE.RETURNS TO STDYES OR TO STDNO WHEN NO MORE 
                    ENTRIES.
SEARCHQI            SEARCHES AN ITEM ENTRY OF THE QUALIFIED NAME. 
                    RETURNS TO STDYES OR TO STDNO WHEN NO SUCH ENTRY
                    EXISTS. 
SEARCHREL           SEARCHES FOR NEXT RELATION ENTRY. RETURN IS 
                    EITHER TO STDYES OR STDNO DEPENDING ON THE SEARCH.
SEARCHRL            CHECKS IF RELATION ENTRIES PRESENT IN THE DIRECTORY 
                    IF PRESENT, RETURN IS TO STDYES, ELSE STDNO.
SEARCHRI            SETS TYPE TO RECORD THEN GOTO SEARCH
SETALL              TURNS THE ALL FLAG ON. RETURN TO STDNO. 
SETALLS             SETS SEARCH TYPE TO ALL-ENTRIES.RETURN TO STDNO.
SETAREA             SETS SEARCH TYPE TO AREA.RETURN TO STDNO. 
SETCLAUSES          TURNS THE CLAUSE FLAG ON. RETURN TO STDNO.
SETCSTR             SETS SEARCH TYPE TO CONSTRAINT. RETURNS TO STDNO.    AT 
SETITEM             SETS SEARCH TYPE TO ITEM. RETURN STDNO. 
SETONLY             SETS THE ONLY FLAG AND RETURNS TO STCNO.
SETRECD             SETS SEARCH TYPE TO RECORD.   STDNO.
SETREL              SETS SEARCH TYPE TO RELATION. RETURN IS TO STDNO. 
STRTSC              MOVES INTO WORKBUF FIRST ENTRY OF SCHEMA. 
+ 
:START:05   STRTEXH 
:STRTEXH:05 $EXHIBIT   D402  *ENDEXH
         /  *EXHIBITSTRT   D403   *ENDEXH 
          / $SCHEMA    D402  *ENDEXH
      :10 / *STRTSC 
            $AREA      15 
          / EXHAREA    10 
      :15   $RECORD    20 
          / EXHRECD    10 
      :20   $ITEM      25 
          / EXHITEM    10 
      :25   $RELATION   30
          / EXHREL    10
      :30   $CONSTRAINT    33                                            AS 
          / EXHCSTR        10                                            AS 
      :33   $ALL-ENTRIES   35                                            AS 
       /    EXHALL  10
      :35   +EOT
            *CHKEXH   D400  *ENDEXH 
          / *ENDEXH 
:EXHAREA:05 *SETAREA
            $ALL       10 
          / *SETALL    15 
      :10   +NAME      D400  *ENDEXH
          / *SEARCHENTRY   D401  *ENDEXH
        /   *SETCLAUSES    25 
      :15   $CLAUSES   20 
          / *SETCLAUSES 
      :20   -NAMES
      :22   *SEARCH    NO 
      :25   *ARNAME 
            *ARCLAUSE 
        /   *CKALL  NO
        /   22
:EXHCSTR :05                                                             AS 
            *SETCSTR                                                     AS 
            $ALL           10                                            AS 
          / *SETALL        15                                            AS 
      :10   +NAME          D400   *ENDEXH                                AS 
          / *SEARCHENTRY   D401   *ENDEXH                                AS 
          / *SETCLAUSES    30                                            AS 
      :15   $CLAUSES       20                                            AS 
          / *SETCLAUSES                                                  AS 
      :20   -NAMES                                                       AS 
            *SEARCHCS      D405   *ENDEXH                                AS 
      :25   *SEARCHCSTR    NO                                            AV 
      :30   *CSNAME                                                      AS 
            *CSCLAUSE                                                    AS 
          / *CKALL         NO                                            AS 
          / 25                                                           AS 
:EXHITEM:05 *SETITEM
            $ALL   10 
          / *SETALL 25
      :10   +NAME   D400  *ENDEXH 
         /  *SETCLAUSES 
            *SAVNAM 
            $OF     15
         /  +NAME   D400   *ENDEXH
          / *SEARCHQI  D401 *ENDEXH 
          / 20
      :15   *SEARCHENTRY D401 *ENDEXH 
      :20 / *ITEMNAME 
            *ITEMCLAUSE 
            NO
      :25   $CLAUSES  30
        /   *SETCLAUSES 
      :30   -NAMES
        :35 *SEARCHRI   NO
          / EXHITREC
      /   *CKALL  NO
      /   35
:EXHITREC:05 *SEARCHI  NO 
        /   *ITEMNAME 
            *ITEMCLAUSE 
        /   05
:EXHRECD:05 *SETRECD
            $ONLY      10 
          / *SETONLY
      :10   $ALL       15 
          / *SETALL    20 
      :15   +NAME      D400  *ENDEXH
          / *SEARCHENTRY  D401 *ENDEXH
        /   *SETCLAUSES  35 
      :20   $CLAUSES   25 
        /   *SETCLAUSES 
      :25   -NAMES
      :30   *SEARCH  NO 
      :35   *RECDNAME 
            *RECDCLAUSE 
        /   *CKONLY 
            EXHITREC
        /   *CKALL     NO 
        /   30
:EXHREL:05  *SETREL 
            $ALL     10 
         /  *SETALL  15 
       :10  +NAME   D400  *ENDEXH 
         /  *SEARCHENTRY  D401  *ENDEXH 
         /  *SETCLAUSES  25 
       :15  $CLAUSES  20
         /  *SETCLAUSES 
       :20  -NAMES
            *SEARCHRL    D404   *ENDEXH 
      :22   *SEARCHREL    NO
      :25   *RELNAME
            *RELCLAUSE
         /  *CKALL   NO 
         /  22
:EXHALL:05  *SETALLS
            $ALL
         /  *SETALL   30
       :30  $CLAUSES  35
         /  *SETCLAUSES 
       :35  -NAMES
      :40   *SEARCHFST  60
         /  50
      :45   *SEARCHNXT  60
       :50  *EXHANYNAME 
            *EXHANYCLAUSE 
         /  45
      :60   *DATACONTR
      :62   *SEARCHCS      65                                            BB 
      :63   *SEARCHCSTR    65                                            BB 
          / *CSNAME                                                      BB 
            *CSCLAUSE                                                    BB 
          / 63                                                           BB 
      :65   *SEARCHRL    NO 
      :70   *SEARCHREL    NO
          / *RELNAME
            *RELCLAUSE
          / 70
END                                                                      AS 
