*DECK GTXTDMP                                                            GTXTDMP
USETEXT CCTTEXT 
USETEXT DNTEXT
          PROC GTXTDMP(STARTNUM,ENDNUM,HEADER,START$LINE,END$LINE); 
                                                                         GTXTDMP
 #                                                                       GTXTDMP
*****  THIS IS A DRIVER ROUTINE                                          GTXTDMP
*****  THIS ROUTINE NEED NOT BE COMPILED UNLESS ROUTINE CGEN IS          GTXTDMP
*****  COMPILED WITH THE E OPTION ON THE SYMPL CALL CARD.                GTXTDMP
*      USE SYMPL COMPILER WITH F OPTION, ALSO E OPTION FOR DEBUGGING     GTXTDMP
 #                                                                       GTXTDMP
                                                                         GTXTDMP
                                                                         GTXTDMP
                                                                         GTXTDMP
 #** PURPOSE                                                             GTXTDMP
          THIS PROCEDURE DUMPS THE GTEXT IN FORMATTED FORM               GTXTDMP
 #                                                                       GTXTDMP
                                                                         GTXTDMP
 #** INPUT #                                                             GTXTDMP
                                                                         GTXTDMP
         BEGIN                                                           GTXTDMP
                                                                         GTXTDMP
          ITEM   STARTNUM          I                                     GTXTDMP
          ,      ENDNUM            I                                     GTXTDMP
          ,      B                 I                                     GTXTDMP
          ,      HEADER            I                                     GTXTDMP
            ,    STARTLINE   I
            ,    ENDLINE   I
          ,      START$LINE  I
          ,      END$LINE    I
            ,    LINENBR   I
          ;                                                              GTXTDMP
          $BEGIN
                                                                         GTXTDMP
 #** SUBROUTINES CALLED #                                                GTXTDMP
                                                                         GTXTDMP
          XREF PROC CBLIST ;                                             GTXTDMP
          XREF FUNC DEC            C ( 10 ) ;                            GTXTDMP
          XREF FUNC OCT            C ( 40 ) ;                            GTXTDMP
          XREF PROC TMRECL; 
          XREF PROC TMREOP; 
          XREF FUNC VIRTUAL;
                                                                         GTXTDMP
          DEF    CALL              # # ;                                 GTXTDMP
          DEF    LT                #LS# ;                                GTXTDMP
          DEF    GT                #GR# ;                                GTXTDMP
          DEF    GE                #GQ# ;                                GTXTDMP
          DEF    LE                #LQ# ;                                GTXTDMP
          DEF    NE                #NQ# ;                                GTXTDMP
  
  
  
                                                                         GTXTDMP
 #     DUMMY ARRAY TO PIC UP GTEXT ATOMS  # 
          COMMON GTEXTCOMM; 
              BASED ARRAY GTEXTAR  [0:1] S(1);
                  ITEM GTEXTARITEM  U(0,0,60);
 # COPY CCT. #                                                           GTXTDMP
                                                                         GTXTDMP
                                                                         GTXTDMP
          DEF    SSF               #1# ;                                 GTXTDMP
          DEF    EJECTF            #3# ;                                 GTXTDMP
          DEF    TITLEF            #4# ;                                 GTXTDMP
          DEF    STITLEF           #5# ;                                 GTXTDMP
          DEF    OPENF             #8# ;                                 GTXTDMP
          DEF    CLOSEF            #9# ;                                 GTXTDMP
                                                                         GTXTDMP
 # COPY RW. #                                                            GTXTDMP
                                                                         GTXTDMP
*CALL RW                                                                 GTXTDMP
                                                                         GTXTDMP
 # COPY DNAT. #                                                          GTXTDMP
                                                                         GTXTDMP
  
 #     COPY PNAT. # 
  
*CALL PNAT1 
                                                                         GTXTDMP
 # COPY GTEXT. #                                                         GTXTDMP
                                                                         GTXTDMP
*CALL GTEXT                                                              GTXTDMP
*CALL TABLETYP
                                                                         GTXTDMP
 # WORKING-STORAGE SECTION. #                                            GTXTDMP
                                                                         GTXTDMP
         ITEM RANGE;
          ITEM   GTEXTINDEX        I                                     GTXTDMP
          ,      DNATINDEX         I                                     GTXTDMP
          ,      LATINDEX          I                                     GTXTDMP
          ,      PNATINDEX         I                                     GTXTDMP
          ,      FNATINDEX         I                                     GTXTDMP
          ,      STARTORD          I                                     GTXTDMP
          ,      ENDORD            I                                     GTXTDMP
          ,       ENDCTL           I                                     GTXTDMP
          ,      VD                I                                     GTXTDMP
          ,      TEMP              I                                     GTXTDMP
          ,      TEMP3             I                                     GTXTDMP
          ,      SUBCALCFLAG       I
          ,      INDEX       I
         ;                                                               GTXTDMP
                                                                         GTXTDMP
*CALL REGTABL 
                                                                         GTXTDMP
          ARRAY  [20] S(2);                                              GTXTDMP
            ITEM WORDCODE    C(0,0,20);                                  GTXTDMP
                                                                         GTXTDMP
          ARRAY  [ 255 ] S ( 2 ) ;                                       GTXTDMP
          ITEM   WORDSCODE         C (0,0,20);                           GTXTDMP
                                                                         GTXTDMP
          ARRAY  [100] S(2);                                             GTXTDMP
            ITEM WORDSCODER  C(0,0,20);                                  GTXTDMP
                                                                         GTXTDMP
          ARRAY  [2]   S(2);                                             GTXTDMP
            ITEM WORDSCODEC  C(0,0,20);                                  GTXTDMP
                                                                         GTXTDMP
          ARRAY  [2]    S(2);                                            GTXTDMP
            ITEM WORDSCODES  C(0,0,20);                                  GTXTDMP
                                                                         GTXTDMP
          ARRAY  [ 512 ] S ( 2 ) ;                                       GTXTDMP
              ITEM WORDPTR  C(0,0,20);                                   GTXTDMP
                                                                         GTXTDMP
          ARRAY  [ 0 ] S ( 14 ) ;                                        GTXTDMP
          BEGIN                                                          GTXTDMP
            ITEM PRINTGROUP        C(0,0,132);                           GTXTDMP
            ITEM ATOMHEAD          C(0,0,7);                             GTXTDMP
            ITEM ATOMINDEX         C(0,42,5);                            GTXTDMP
            ITEM W                 C(0,42,5);                            GTXTDMP
            ITEM OCTALHEAD         C(1,12,8);                            GTXTDMP
            ITEM FILLER1           C(1,48,2);                            GTXTDMP
            ITEM ATOMOCTAL         C(2,0,10);                            GTXTDMP
            ITEM V                 C(2,0,10);                            GTXTDMP
            ITEM FILLER2           C(3,0,2);                             GTXTDMP
            ITEM ATOMGCODE         C(3,12,18);                           GTXTDMP
            ITEM X                 C(3,12,18);                           GTXTDMP
            ITEM FILLER3           C(5,0,12);                            GTXTDMP
            ITEM ATOMPTRHEAD       C(5,12,18);                           GTXTDMP
            ITEM Y                 C(5,12,18);                           GTXTDMP
            ITEM FILLER4           C(7,0,2);                             GTXTDMP
            ITEM ATOMPTR           C(7,12,6);                            GTXTDMP
            ITEM U                 C(7,12,6);                            GTXTDMP
            ITEM FILLER5           C(7,48,2);                            GTXTDMP
            ITEM ATOMSCODEHED      C(8,0,20);                            GTXTDMP
            ITEM Z                 C(8,0,20);                            GTXTDMP
            ITEM FILLER6           C(10,0,2);                            GTXTDMP
            ITEM ATOMSCODE         C(10,12,8);                           GTXTDMP
            ITEM T                 C(10,12,8);                           GTXTDMP
            ITEM FILLER7           C(11,30,2);
            ITEM OCTALGCODE        C(11,42,3);
            ITEM OCTALSLASH1       C(12,00,1);
            ITEM OCTALGPTR         C(12,06,5);
            ITEM OCTALSLASH2       C(12,36,1);
            ITEM OCTALGSCODE       C(12,42,3);
          END                                                            GTXTDMP
          ARRAY [0] S(14);
          BEGIN 
            ITEM SUBTITLE    C(0,0,132);
            ITEM ATOM1       C(0,0,10) = ["ATOM NUMBE"];
            ITEM ATOM2       C(1,0,10) = ["R      ATO"];
            ITEM ATOM3       C(2,0,10) = ["M OCTAL   "];
            ITEM ATOM4       C(3,0,10) = ["    GCODE "];
            ITEM ATOM5       C(4,0,10) = ["          "];
            ITEM ATOM6       C(5,0,10) = ["    GPTR  "];
            ITEM ATOM7       C(6,0,10) = ["          "];
            ITEM ATOM8       C(7,0,10) = ["          "];
            ITEM ATOM9       C(8,0,10) = ["  GSCODE  "];
            ITEM ATOM10      C(9,0,10) = ["          "];
            ITEM ATOM11     C(10,0,10) = ["          "];
            ITEM ATOM12     C(11,0,10) = ["        AT"];
            ITEM ATOM13     C(12,0,10) = ["OM FIELDS "];
            ITEM ATOM14     C(13,0,10) = ["  "];
          END 
  
CONTROL EJECT;
 # INITIALIZATION #                                                      GTXTDMP
                                                                         GTXTDMP
                                                                         GTXTDMP
          WORDCODE   [GDATAREF] =  "    DATA-REF";
          WORDCODE   [GFILEREF] =  "    FILE-REF";
          WORDCODE   [GLABLREF] =  "    LABEL-REF"; 
          WORDCODE   [GLITREF]  =  "    LIT-REF"; 
          WORDCODE   [GPROCREF] =  "    PROC-REF";
          WORDCODE   [GSUBATOM] =  "    SUB-ATOM";
          WORDCODE   [GSUBVERB] =  "    SUB-VERB";
          WORDCODE   [GSYSREF]  =  "    SYS-NAME-REF";
          WORDCODE   [GVERB]    =  "VERB";                               GTXTDMP
  
          WORDSCODE  [GABOR]    =  "ABORT";                              GTXTDMP
          WORDSCODE  [GACCEPT]  =  "ACCEPT";                             GTXTDMP
          WORDSCODE  [GACCMESS] =  "ACCEPT-MESSAGE";                     GTXTDMP
          WORDSCODE  [GADD]     =  "ADD";                                GTXTDMP
          WORDSCODE  [GADDRND]  =  "ADD-ROUND";                          GTXTDMP
          WORDSCODE  [GALPHA]   =  "ALPHABETIC";                         GTXTDMP
          WORDSCODE  [GALTER]   =  "ALTER";                              GTXTDMP
          WORDSCODE  [GATEND]   =  "AT-END";                             GTXTDMP
          WORDSCODE  [GCALL]    =  "CALL";                               GTXTDMP
          WORDSCODE  [GCANCEL]  =  "CANCEL";                             GTXTDMP
          WORDSCODE  [GCLOSE]   =  "CLOSE";                              GTXTDMP
          WORDSCODE  [GCLOSRL]  =  "CLOSE-REEL";                         GTXTDMP
          WORDSCODE  [GCOMPARE] =  "COMPARE";                            GTXTDMP
          WORDSCODE  [GCORREND] =  "CORR-END";                           GTXTDMP
          WORDSCODE  [GDELETE]  =  "DELETE";                             GTXTDMP
          WORDSCODE  [GDELIMBY] =  "DELIMITED-BY";                       GTXTDMP
          WORDSCODE  [GDISABLE] =  "DISABLE";                            GTXTDMP
          WORDSCODE  [GDISPLAY] =  "DISPLAY";                            GTXTDMP
          WORDSCODE  [GDIV]     =  "DIVIDE";                             GTXTDMP
          WORDSCODE  [GDIVRND]  =  "DIVIDE-ROUND";                       GTXTDMP
          WORDSCODE  [GREM]     =  "DIVIDE-REMAINDER";                   GTXTDMP
          WORDSCODE  [GREMRND]  =  "DIVIDE-ROUND-REMAINDER";             GTXTDMP
          WORDSCODE  [GENABLE]  =  "ENABLE";                             GTXTDMP
          WORDSCODE  [GEND]     =  "END";                                GTXTDMP
          WORDSCODE  [GENTER]   =  "ENTER";                              GTXTDMP
          WORDSCODE  [GEQUAL]   =  "EQUAL";                              GTXTDMP
          WORDSCODE  [GEXAMINE] =  "EXAMINE";                            GTXTDMP
          WORDSCODE  [GEXIT]    =  "EXIT";                               GTXTDMP
          WORDSCODE  [GEXITP]   =  "EXIT-PROGRAM";                       GTXTDMP
          WORDSCODE  [GEXPON]   =  "EXPONENTIATION";                     GTXTDMP
          WORDSCODE  [GGOTO]    =  "GO-TO";                              GTXTDMP
          WORDSCODE  [GGOTODEP] =  "GO-TO-DEPENDING";                    GTXTDMP
          WORDSCODE  [GGREATER] =  "GREATER";                            GTXTDMP
          WORDSCODE  [GINSPECM] =  "INSPECT-MULTIPLE";                   GTXTDMP
          WORDSCODE  [GINSPS]   =  "INSPECT-SINGLE";                     GTXTDMP
          WORDSCODE  [GINTO]    =  "INTO";                               GTXTDMP
          WORDSCODE  [GIOSUCC]  =  "IO-SUCCESS";                         GTXTDMP
          WORDSCODE  [GINVKEY]  =  "INVALID-KEY";                        GTXTDMP
          WORDSCODE  [GKEYPT]   =  "KEYPOINT";                           GTXTDMP
          WORDSCODE  [GLABEL]   =  "LABEL-DEFINITION";
          WORDSCODE  [GLESS]    =  "LESS";                               GTXTDMP
          WORDSCODE  [GMERGE]   =  "MERGE";                              GTXTDMP
          WORDSCODE  [GMOVE]    =  "MOVE";                               GTXTDMP
          WORDSCODE  [GMOVERND] =  "MOVE-ROUND";                         GTXTDMP
          WORDSCODE  [GMULT]    =  "MULTIPLY";                           GTXTDMP
          WORDSCODE  [GMULTRND] =  "MULTIPLY-ROUND";                     GTXTDMP
          WORDSCODE  [GNOTALPH] =  "NOT-ALPHABETIC";                     GTXTDMP
          WORDSCODE  [GNOTEQ]   =  "NOT-EQUAL";                          GTXTDMP
          WORDSCODE  [GNOTGT]   =  "NOT-GREATER";                        GTXTDMP
          WORDSCODE  [GNOTLT]   =  "NOT-LESS";                           GTXTDMP
          WORDSCODE  [GNOTNUM]  =  "NOT-NUMERIC";                        GTXTDMP
          WORDSCODE  [GNOOP]    =  "NO-OP";                              GTXTDMP
          WORDSCODE  [GOPEN]    =  "OPEN";                               GTXTDMP
          WORDSCODE  [GOVERFLO] =  "OVER-FLOW";                          GTXTDMP
          WORDSCODE  [GPARAM]   =  "PARAMETER";                          GTXTDMP
          WORDSCODE  [GPERFORM] =  "PERFORM";                            GTXTDMP
          WORDSCODE  [GPERFACT] =  "PERFORM-ACTIVATE";                   GTXTDMP
          WORDSCODE  [GPERFCPX] =  "PERFORM-COMPLEX";                    GTXTDMP
          WORDSCODE  [GPERFEND] =  "PERFORM-END";                        GTXTDMP
          WORDSCODE  [GPERFIO]  =  "PERFORM-IO-PROC";                    GTXTDMP
          WORDSCODE  [GPERIP]   =  "PERFORM-IP-PROC";                    GTXTDMP
          WORDSCODE  [GPEROP]   =  "PERFORM-OP-PROC";                    GTXTDMP
          WORDSCODE  [GPEROM]   =  "PERFORM-OPEN-MODE";                  GTXTDMP
          WORDSCODE  [GPERFTM]  =  "PERFORM-TIMES";                      GTXTDMP
          WORDSCODE  [GPROC]    =  "PROCEDURE-DEFINITION";               GTXTDMP
          WORDSCODE  [GREADKEY] =  "READ-KEYED";                         GTXTDMP
          WORDSCODE  [GREADNXT] =  "READ-NEXT";                          GTXTDMP
          WORDSCODE  [GREADST]  =  "READ-START";                         GTXTDMP
          WORDSCODE  [GRECEIVE] =  "RECEIVE";                            GTXTDMP
          WORDSCODE  [GRELEASE] =  "RELEASE";                            GTXTDMP
          WORDSCODE  [GREPLACE] =  "REPLACE";                            GTXTDMP
          WORDSCODE  [GRETURN]  =  "RETURN";                             GTXTDMP
          WORDSCODE  [GRETATND] =  "RETURN-AT-END";                      GTXTDMP
          WORDSCODE  [GREWRITE] =  "REWRITE";                            GTXTDMP
          WORDSCODE  [GSEND]    =  "SEND";                               GTXTDMP
          WORDSCODE  [GSEPARAT] =  "SEPARATOR";                          GTXTDMP
          WORDSCODE  [GSET]     =  "SET";                                GTXTDMP
          WORDSCODE  [GSETSWIT] = "SET-SWITCH"; 
          WORDSCODE  [GSETALPH] =  "SET-ALPHABET";
          WORDSCODE  [GSIZEND]  =  "SIZE-END";                           GTXTDMP
          WORDSCODE  [GSIZERR]  =  "SIZE-ERROR";                         GTXTDMP
          WORDSCODE  [GSIZEIR]  =  "SIZE-ERROR-IR";                      GTXTDMP
          WORDSCODE  [GSORT]    =  "SORT";                               GTXTDMP
          WORDSCODE  [GSTAR]    =  "START";                              GTXTDMP
          WORDSCODE  [GSTOP]    =  "STOP";                               GTXTDMP
          WORDSCODE  [GSTRING]  =  "STRING";                             GTXTDMP
          WORDSCODE  [GSTRDEL]  =  "STRING-DELIMITED";                   GTXTDMP
          WORDSCODE  [GSTROP]   =  "STRING-OPERATOR";                    GTXTDMP
          WORDSCODE [GSUBCALC] = "SUBSCRIPT-CALCULATE"; 
          WORDSCODE  [GSUB]     =  "SUBTRACT";                           GTXTDMP
          WORDSCODE[GSUBLIT] = "SUBSCRIPT-LITERAL"; 
          WORDSCODE[GRELSUB] = "RELATIVE-SUBSCRIPT";
          WORDSCODE  [GSUBRND]  =  "SUBTRACT-AROUND";                    GTXTDMP
          WORDSCODE  [GTALLY]   =  "TALLY";                              GTXTDMP
          WORDSCODE  [GTASKTIM] =  "TASK-TIMER";                         GTXTDMP
          WORDSCODE  [GUNSTRNG] =  "UNSTRING";                           GTXTDMP
          WORDSCODE  [GVERBDES] =  "VERB-DESCRIPTION";                   GTXTDMP
          WORDSCODE  [GWRITE]   =  "WRITE";                              GTXTDMP
          WORDSCODE  [GWRITKEY] =  "WRITE-KEYED";                        GTXTDMP
          WORDSCODE  [GNUMERIC] = "NUMERIC";                             GTXTDMP
          WORDSCODE [GPURGE] = "PURGE"; 
          WORDSCODE [GENTRY] = "ENTRY"; 
          WORDSCODE [GFORMPAR] = "FORMAL-PARAMETER";
          WORDSCODE  [GPOSITV]  =  "POSITIVE";                           GTXTDMP
          WORDSCODE  [GNEGATV]  =  "NEGATIVE";                           GTXTDMP
          WORDSCODE  [GNOTPOS]  =  "NOT-POSITIVE";                       GTXTDMP
          WORDSCODE  [GNOTNEG]  =  "NOT-NEGATIVE";                       GTXTDMP
          WORDSCODE  [GSWITCH]  =  "SWITCH";                             GTXTDMP
          WORDSCODE  [GNOTSSW]  =  "NOT-SWITCH";                         GTXTDMP
          WORDSCODE [GSUFETCH] = "SUBSCRIPT-FETCH"; 
          WORDSCODE [GSUBSUM] = "SUBSCRIPT-SUM";
          WORDSCODE [GMOVAS] = "MOVE AS IS";
          WORDSCODE [GNOOVERF] = "NOOVERFLOW";
         WORDSCODE [GRANGE] = "RANGE-CHECK";
         WORDSCODE [GREFLCP] = "REF MOD LCP"; 
         WORDSCODE [GREFLEN] = "REF MOD LENGTH";
         WORDSCODE [GREFCHK] = "REF MOD RANGE CHECK"; 
         WORDSCODE [GSUBSREF] = "SUBSCRIPT REFERENCE";
         WORDSCODE [GBOOLAND] = "BOOLEAN AND";
          WORDSCODE [GBOOLOR] = "BOOLEAN OR"; 
          WORDSCODE [GBOOLXOR] = "BOOLEAN EXOR";
          WORDSCODE [GBOOLNOT] = "BOOLEAN NOT"; 
                                                                         GTXTDMP
          WORDSCODER [GAFTER]   =  "AFTER";                              GTXTDMP
          WORDSCODER [GALL]     =  "ALL";                                GTXTDMP
          WORDSCODER [GBEFORE]  =  "BEFORE";                             GTXTDMP
          WORDSCODER [GCHARS]   =  "CHARACTERS";                         GTXTDMP
          WORDSCODER [GCOUNT]   =  "COUNT";                              GTXTDMP
          WORDSCODER [GDATE]    =  "DATE";                               GTXTDMP
          WORDSCODER [GDAY]     =  "DAY";                                GTXTDMP
          WORDSCODER [GDAYOFWK] =  "DAY-OF-WEEK";                        GTXTDMP
          WORDSCODER [GDUPLCTS] =  "DUPLICATES";
          WORDSCODER [GEGI]     =  "EGI";                                GTXTDMP
          WORDSCODER [GEMI]     =  "EMI";                                GTXTDMP
          WORDSCODER [GESI]     =  "ESI";                                GTXTDMP
          WORDSCODER [GEXCEPT]  =  "EXCEPTION";                          GTXTDMP
          WORDSCODER [GEXTEND]  =  "EXTEND";                             GTXTDMP
          WORDSCODER [GFIRST]   =  "FIRST";                              GTXTDMP
          WORDSCODER [GINPUT]   =  "INPUT";                              GTXTDMP
          WORDSCODER [GIO]      =  "I-O";                                GTXTDMP
          WORDSCODER [GKEYEQ]   =  "KEY-EQUAL";                          GTXTDMP
          WORDSCODER [GKEYGR]   =  "KEY-GREATER";                        GTXTDMP
          WORDSCODER [GKEYNLSS] =  "KEY-NOT-LESS";                       GTXTDMP
          WORDSCODER [GLEADING] =  "LEADING";                            GTXTDMP
          WORDSCODER [GLOCK]    =  "LOCK";                               GTXTDMP
          WORDSCODER [GMESSAGE] =  "MESSAGE";                            GTXTDMP
          WORDSCODER [GNODATA]  =  "NO-DATA";                            GTXTDMP
          WORDSCODER [GNOREWND] =  "NO-REWIND";                          GTXTDMP
          WORDSCODER [GNULL]    =  "NULL";                               GTXTDMP
          WORDSCODER [GOUTPUT]  =  "OUTPUT";                             GTXTDMP
          WORDSCODER [GPAGE]    =  "PAGE";                               GTXTDMP
          WORDSCODER [GREMOVE]  =  "REMOVE";                             GTXTDMP
          WORDSCODER [GREPL]    =  "REPLACING";                          GTXTDMP
          WORDSCODER [GREVERSE] =  "REVERSED";                           GTXTDMP
          WORDSCODER [GRUN]     =  "RUN";                                GTXTDMP
          WORDSCODER [GSEGMENT] =  "SEGMENT";                            GTXTDMP
          WORDSCODER [GSIZE]    =  "SIZE";                               GTXTDMP
          WORDSCODER [GTALLYNG] =  "TALLYING";                           GTXTDMP
          WORDSCODER [GTERMIN]  =  "TERMINAL";                           GTXTDMP
          WORDSCODER [GTIME]    =  "TIME";                               GTXTDMP
          WORDSCODER [GUNTIL]   =  "UNTIL";                              GTXTDMP
          WORDSCODER [GSETTO]   =  "SET-TO";
          WORDSCODER [GSETUPBY] =  "SET-UP-BY"; 
          WORDSCODER [GSETDOWN] =  "SET-DOWN-BY"; 
          WORDSCODER [GSETSORT] =  "SET-SORT";
          WORDSCODER [GSETMERG] =  "SET-MERGE"; 
          WORDSCODER [GSETSOMR] =  "SET-SORT-MERGE";
          WORDSCODER [GSETPROG] =  "SET-PROGRAM"; 
          WORDSCODER [GSETCODE] =  "SET-CODE";
          WORDSCODER [GSETON]   =  "SET-ON";
          WORDSCODER [GINVKEY] = "INVALID-KEY"; 
          WORDSCODER [GSTROVER] = "STRING-OVERFLOW";
          WORDSCODER [GUNSOVER] = "UNSTRING-OVERFLOW";
          WORDSCODER [GFORTRNR] = "FORTRAN-R";
          WORDSCODER [GFORTRNX] = "FORTRAN-X";
          WORDSCODER [GNOADV] = "NO-ADVANCING"; 
          WORDSCODER [GDUPLCTS] = "DUPLICATES"; 
          WORDSCODER [GDFILE] = "DELETE-FILE";
          WORDSCODER [GFTN5] = "FTN5";
          WORDSCODER [GSETOFF]  =  "SET-OFF"; 
          WORDSCODER [GDBGSWIT] =  "DEBUG-SWITCH-ATOM"; 
                                                                         GTXTDMP
          WORDSCODEC [GFALSE]   =  "FALSE";                              GTXTDMP
          WORDSCODEC [GTRUE]    =  "TRUE";                               GTXTDMP
                                                                         GTXTDMP
          WORDSCODES [GADDLIT]  =  "PLUS-LITERAL";                       GTXTDMP
                                                                         GTXTDMP
          WORDPTR [ RWACCEPT ] = "ACCEPT" ;                              GTXTDMP
          WORDPTR [ RWADD ] = "ADD" ;                                    GTXTDMP
          WORDPTR [ RWALTER ] = "ALTER" ;                                GTXTDMP
          WORDPTR [ RWCALL ] = "CALL" ;                                  GTXTDMP
          WORDPTR [ RWCANCEL ] = "CANCEL" ;                              GTXTDMP
          WORDPTR [ RWCLOSE ] = "CLOSE" ;                                GTXTDMP
          WORDPTR [ RWCOMPUTE ] = "COMPUTE" ;                            GTXTDMP
          WORDPTR [ RWDISABLE ] = "DISABLE" ;                            GTXTDMP
          WORDPTR [ RWDISPLAY ] = "DISPLAY" ;                            GTXTDMP
          WORDPTR [ RWDIVIDE ] = "DIVIDE" ;                              GTXTDMP
          WORDPTR [ RWENABLE ] = "ENABLE" ;                              GTXTDMP
          WORDPTR [ RWEXIT ] = "EXIT" ;                                  GTXTDMP
          WORDPTR [ RWGENERATE ] = "GENERATE" ;                          GTXTDMP
          WORDPTR [ RWGO ] = "GO" ;                                      GTXTDMP
          WORDPTR [ RWIF ] = "IF" ;                                      GTXTDMP
          WORDPTR [ RWINITIATE] = "INITIATE" ;                           GTXTDMP
          WORDPTR [ RWINSPECT ] = "INSPECT" ;                            GTXTDMP
          WORDPTR [ RWMERGE ] = "MERGE" ;                                GTXTDMP
          WORDPTR [ RWMOVE ] = "MOVE" ;                                  GTXTDMP
          WORDPTR [ RWMULTIPLY ] = "MULTIPLY" ;                          GTXTDMP
          WORDPTR [ RWOPEN ] = "OPEN" ;                                  GTXTDMP
          WORDPTR [ RWPERFORM ] = "PERFORM" ;                            GTXTDMP
          WORDPTR [ RWREAD ] = "READ" ;                                  GTXTDMP
          WORDPTR [ RWRECEIVE ] = "RECEIVE" ;                            GTXTDMP
          WORDPTR [ RWRELEASE ] = "RELEASE" ;                            GTXTDMP
          WORDPTR [ RWRETURN ] = "RETURN" ;                              GTXTDMP
          WORDPTR [ RWSEARCH ] = "SEARCH" ;                              GTXTDMP
          WORDPTR [ RWSEND ] = "SEND" ;                                  GTXTDMP
          WORDPTR [ RWSET ] = "SET" ;                                    GTXTDMP
          WORDPTR [ RWSORT ] = "SORT" ;                                  GTXTDMP
          WORDPTR [ RWSTART ] = "START" ;                                GTXTDMP
          WORDPTR [ RWSTOP ] = "STOP" ;                                  GTXTDMP
          WORDPTR [ RWSTRING ] = "STRING" ;                              GTXTDMP
          WORDPTR [ RWSUBTRACT ] = "SUBTRACT" ;                          GTXTDMP
          WORDPTR [ RWTERMINATE ] = " TERMINATE" ;                       GTXTDMP
          WORDPTR [ RWUNSTRING ] = "UNSTRING" ;                          GTXTDMP
          WORDPTR [ RWWRITE ] = "WRITE" ;                                GTXTDMP
                                                                         GTXTDMP
          LINENBR = 0;
          STARTLINE = START$LINE; 
          ENDLINE = END$LINE; 
          TMREOP (TABLETYPE "GTEXT$");   #RE-OPEN THA TABLE IF CLOSED#
          IF HEADER NE 0 THEN BEGIN                                      GTXTDMP
          CALL CBLIST ( OPENF , "GTXTDMP" , 7 ) ;                        GTXTDMP
          CALL CBLIST ( TITLEF , "G T E X T D U M P" , 17 ) ;            GTXTDMP
          CALL CBLIST (STITLEF, SUBTITLE [0], 132); 
          CALL CBLIST ( EJECTF ) ;                                       GTXTDMP
          END                                                            GTXTDMP
                                                                         GTXTDMP
          STARTORD = STARTNUM ;                                          GTXTDMP
          IF STARTORD LT 0  THEN                                         GTXTDMP
            STARTORD = 0;                                                GTXTDMP
                                                                         GTXTDMP
          ENDCTL = ENDNUM ;                                              GTXTDMP
                                                                         GTXTDMP
          ENDORD = ENDNUM ;                                              GTXTDMP
          IF ENDORD EQ -1                                                GTXTDMP
            OR ENDORD EQ 0
                 OR ENDORD EQ -2                                         GTXTDMP
                 THEN                                                    GTXTDMP
          ENDORD = CCTGTEXTLEN ;                                         GTXTDMP
          ELSE                                                           GTXTDMP
          IF ENDORD LT STARTORD THEN                                     GTXTDMP
          ENDORD = STARTORD ;                                            GTXTDMP
                                                                         GTXTDMP
          IF ENDLINE EQ 0 
          THEN
              ENDLINE = 999999; 
          VD = -9 ;                                                      GTXTDMP
                                                                         GTXTDMP
# MAIN PRINT LOOP #                                                      GTXTDMP
                                                                         GTXTDMP
          FOR GTEXTINDEX = STARTORD STEP 1                               GTXTDMP
                 WHILE GTEXTINDEX LE ENDORD                              GTXTDMP
                 AND ENDCTL NE -3                                        GTXTDMP
                 DO BEGIN                                                GTXTDMP
                                                                         GTXTDMP
          PRINTGROUP [ 0 ] = " " ;                                       GTXTDMP
                                                                         GTXTDMP
          TEMP = GTEXTINDEX / 2 ;                                        GTXTDMP
          GATOM [0] = GTEXTARITEM[VIRTUAL(TABLETYPE"GTEXT$",TEMP)]; 
          IF 0 EQ GTEXTINDEX - 2 * TEMP THEN                             GTXTDMP
          TEMP3 = GATOM1 [ 0 ] ;                                         GTXTDMP
          ELSE                                                           GTXTDMP
          TEMP3 = GATOM2 [ 0 ] ;                                         GTXTDMP
          REGGATOM1 [ 0 ] = TEMP3 ;                                      GTXTDMP
                                                                         GTXTDMP
          ATOMHEAD [0] = "ATOM # ";                                      GTXTDMP
          OCTALHEAD [0] = "  OCTAL ";                                    GTXTDMP
          W [ 0 ] = DEC ( GTEXTINDEX ) ;                                 GTXTDMP
          V [0] = OCT (TEMP3, 10, 10);                                   GTXTDMP
          TEMP = REGGCODE [0];
          OCTALGCODE [0] = OCT (TEMP,17,3); 
          OCTALSLASH1 [0] = "/";
          TEMP = REGGPTR [0]; 
          OCTALGPTR [0] = OCT (TEMP,15,5);
          OCTALSLASH2 [0] = "/";
          TEMP = REGGSCODE [0]; 
          OCTALGSCODE [0] = OCT (TEMP,17,3);
          X[0] = WORDCODE [REGGCODE [0]];                                GTXTDMP
                                                                         GTXTDMP
 # GDATAREF #                                                            GTXTDMP
                                                                         GTXTDMP
          IF REGGCODE [ 0 ] EQ GDATAREF THEN BEGIN                       GTXTDMP
                                                                         GTXTDMP
          Y [ 0 ] = "DNAT = " ;                                          GTXTDMP
          DNATINDEX = REGGPTR [ 0 ] ;                                    GTXTDMP
          U [ 0 ] = DEC ( DNATINDEX ) ;                                  GTXTDMP
          IF REGGSCODE [ 0 ] EQ 0 THEN                                   GTXTDMP
          Z [ 0 ] = " " ;                                                GTXTDMP
          ELSE BEGIN                                                     GTXTDMP
          IF SUBCALCFLAG EQ 1  THEN 
            Z [0] = "SUBSC DEPTH = "; 
          ELSE
          Z [0] = "MNEMONIC NUM ="; 
          TEMP = REGGSCODE [ 0 ] ;                                       GTXTDMP
          T [ 0 ] = DEC ( TEMP ) ;                                       GTXTDMP
          END                                                            GTXTDMP
          IF SUBCALCFLAG GT 0  THEN 
            SUBCALCFLAG = SUBCALCFLAG - 1;
          END                      # GDATAREF #                          GTXTDMP
                                                                         GTXTDMP
          ELSE                                                           GTXTDMP
 # GVERB #                                                               GTXTDMP
                                                                         GTXTDMP
          IF REGGCODE [ 0 ] EQ GVERB THEN BEGIN                          GTXTDMP
                                                                         GTXTDMP
          IF ENDCTL EQ -2                                                GTXTDMP
                 AND GTEXTINDEX NE STARTORD                              GTXTDMP
                 THEN                                                    GTXTDMP
          ENDCTL = -3 ;                                                  GTXTDMP
         IF REGGSCODE [0] EQ GRANGE 
         THEN BEGIN 
              RANGE = GTEXTINDEX; 
              END 
          IF REGGSCODE [0] EQ GVERBDES  OR
             REGGSCODE [0] EQ GABOR     THEN
              BEGIN 
            IF LINENBR GQ STARTLINE 
            AND LINENBR LQ ENDLINE
            THEN
                CALL CBLIST (SSF, " ", 1);  #OUTPUT BLANK LINE# 
          VD = GTEXTINDEX ;                                              GTXTDMP
          Y [ 0 ] = WORDPTR [ REGGPTR [ 0 ] ] ;                          GTXTDMP
          END                                                            GTXTDMP
         ELSE                                                            GTXTDMP
         IF REGGSCODE [0] EQ GLABEL OR REGGSCODE [0] EQ GPROC   THEN     GTXTDMP
           BEGIN                                                         GTXTDMP
             PNATINDEX = REGGPTR [0];                                    GTXTDMP
             Y [0] = "PNAT = ";                                          GTXTDMP
             U [0] = DEC (PNATINDEX);                                    GTXTDMP
           END                                                           GTXTDMP
          ELSE
          IF REGGSCODE [0] EQ GSUBSUM  THEN 
            BEGIN 
              Y [0] = "REF POINTER =";
              TEMP = REGGPTR [0]; 
              U [0] = DEC (TEMP); 
            END 
          ELSE
          IF REGGSCODE [0] EQ GSUBCALC  OR  REGGSCODE [0] EQ GSUFETCH 
            THEN
            BEGIN 
              IF REGGSCODE [0] EQ GSUBCALC  THEN
                SUBCALCFLAG = 2;
              Y [0] = "REF POINTER = "; 
              TEMP = REGGPTR [0]; 
              U [0] = DEC (TEMP); 
            END 
          ELSE
          IF REGGPTR [0] NE 0  THEN 
            BEGIN 
              Y [0] = "GPTR VALUE ="; 
              TEMP = REGGPTR [0]; 
              U [0] = DEC (TEMP); 
            END 
          ELSE BEGIN
          Y [ 0 ] = " " ;                                                GTXTDMP
         END                                                             GTXTDMP
          Z [ 0 ] = WORDSCODE [ REGGSCODE [ 0 ] ] ;                      GTXTDMP
          END                      # GVERB #                             GTXTDMP
                                                                         GTXTDMP
          ELSE                                                           GTXTDMP
 # GTEMPREF #                                                            GTXTDMP
                                                                         GTXTDMP
          IF REGGCODE [ 0 ] EQ GTEMPREF THEN BEGIN                       GTXTDMP
          DNATINDEX = REGGPTR [ 0 ] ;                                    GTXTDMP
          Y [ 0 ] = "DNAT = " ;                                          GTXTDMP
          U [ 0 ] = DEC ( DNATINDEX ) ;                                  GTXTDMP
          Z [ 0 ] = " " ;                                                GTXTDMP
          END                      # GTEMPREF #                          GTXTDMP
                                                                         GTXTDMP
          ELSE                                                           GTXTDMP
# GPROCREF #                                                             GTXTDMP
# GLABLREF #                                                             GTXTDMP
                                                                         GTXTDMP
          IF REGGCODE [0] EQ GPROCREF  OR 
             REGGCODE [0] EQ GLABLREF  THEN 
             BEGIN
          PNATINDEX = REGGPTR [ 0 ] ;                                    GTXTDMP
          Y [ 0 ] = "PNAT = " ;                                          GTXTDMP
          U [ 0 ] = DEC ( PNATINDEX ) ;                                  GTXTDMP
         IF REGGSCODE [0] NE 0                                           GTXTDMP
                 THEN                                                    GTXTDMP
          Z[0] = WORDSCODEC [REGGSCODE [0]];                             GTXTDMP
          ELSE                                                           GTXTDMP
          Z [ 0 ] = " " ;                                                GTXTDMP
          IF PNATINDEX GR CCTPNATLEN
          THEN
              BEGIN 
              CALL CBLIST (SSF, PRINTGROUP [0], 132); 
              ATOMPTRHEAD = "** OUT OF RANGE**";
              PRINTGROUP = " "; 
              END 
          ELSE
              BEGIN 
              PNATINDEX = VIRTUAL (TABLETYPE "PNAT$", PNATINDEX); 
         FOR INDEX = 1 WHILE PN$EQUATE [PNATINDEX] NE 0 DO
            BEGIN 
            IF LINENBR GQ STARTLINE 
            AND LINENBR LQ ENDLINE
            THEN
                CALL CBLIST (SSF, PRINTGROUP [0], 132);  #PRINT LINE# 
             PRINTGROUP [0] = " ";
             ATOMPTRHEAD [0] = "EQU TO PNAT"; 
              PNATINDEX = PN$EQUATE [PNATINDEX];
             ATOMPTR [0] = DEC (PNATINDEX); 
          IF PNATINDEX NQ 0 THEN
              PNATINDEX = VIRTUAL (TABLETYPE "PNAT$", PNATINDEX); 
            END 
              END 
          END                      # GGLABREF #                          GTXTDMP
                                                                         GTXTDMP
          ELSE                                                           GTXTDMP
 # GLITREF #                                                             GTXTDMP
                                                                         GTXTDMP
          IF REGGCODE [ 0 ] EQ GLITREF THEN BEGIN                        GTXTDMP
          LATINDEX = REGGPTR [ 0 ] ;                                     GTXTDMP
          Y [ 0 ] = "LAT = " ;                                           GTXTDMP
          U [ 0 ] = DEC ( LATINDEX ) ;                                   GTXTDMP
          IF REGGSCODE [0] EQ 0  THEN 
          Z [0] = " ";
          ELSE
            BEGIN 
              Z [0] = "MNEMONIC NUM = ";
              TEMP = REGGSCODE [0]; 
              T [0] = DEC (TEMP); 
            END 
          END                      # GLITREF #                           GTXTDMP
                                                                         GTXTDMP
          ELSE                                                           GTXTDMP
 # GSYSREF #                                                             GTXTDMP
                                                                         GTXTDMP
          IF REGGCODE [ 0 ] EQ GSYSREF THEN BEGIN                        GTXTDMP
          DNATINDEX = REGGPTR [ 0 ] ;                                    GTXTDMP
          Y [ 0 ] = "DNAT = " ;                                          GTXTDMP
          U [ 0 ] = DEC ( DNATINDEX ) ;                                  GTXTDMP
          Z [ 0 ] = " " ;                                                GTXTDMP
          END                      # GSYSREF #                           GTXTDMP
                                                                         GTXTDMP
         ELSE                                                            GTXTDMP
 # GSUBVERB #                                                            GTXTDMP
          IF REGGCODE [ 0 ] EQ GSUBVERB THEN BEGIN                       GTXTDMP
         IF RANGE EQ GTEXTINDEX - 1 
         THEN BEGIN 
              Y [0] = "MAX-OCCURS = ";
              TEMP = REGGPTR [0]; 
              U [0] = DEC (TEMP); 
              Z [0] = "MNEMONIC NUM = ";
              TEMP = REGGSCODE [0]; 
              T [0] = DEC (TEMP); 
              END 
         ELSE 
          IF VD EQ GTEXTINDEX - 1 THEN BEGIN                             GTXTDMP
          Y [ 0 ] = "LINE = " ;                                          GTXTDMP
          TEMP = REGGPTR [ 0 ] ;                                         GTXTDMP
          LINENBR = TEMP; 
          U [ 0 ] = DEC ( TEMP ) ;                                       GTXTDMP
          Z [ 0 ] = "COLUMN = " ;                                        GTXTDMP
          TEMP = REGGSCODE [ 0 ] ;                                       GTXTDMP
          T [ 0 ] = DEC ( TEMP ) ;                                       GTXTDMP
          END                                                            GTXTDMP
          ELSE
          IF REGGPTR [0] NE 0 THEN
            BEGIN 
              Y [0] = "GPTR ="; 
              TEMP = REGGPTR [0]; 
              U [0] = DEC (TEMP); 
              Z [0] = WORDSCODER [REGGSCODE [0]]; 
            END 
          ELSE BEGIN                                                     GTXTDMP
          Y [ 0 ] = " " ;                                                GTXTDMP
          Z[0] = WORDSCODER [REGGSCODE [0]];                             GTXTDMP
          END                                                            GTXTDMP
          END                      # GSUBVERB #                          GTXTDMP
                                                                         GTXTDMP
          ELSE                                                           GTXTDMP
# GSUBATOM #                                                             GTXTDMP
          IF REGGCODE [0] EQ GSUBATOM  THEN                              GTXTDMP
            BEGIN                                                        GTXTDMP
              Y [0] = "MNEMONIC NUM ="; 
              TEMP = REGGPTR [0]; 
              U [0] = DEC (TEMP); 
              IF REGGSCODE [0] NE 0  THEN 
                BEGIN 
                  Z [0] = "MNEMONIC NUM ="; 
                  TEMP = REGGSCODE [0]; 
                  T [0] = DEC (TEMP); 
                END 
              ELSE
              Z [0] = " ";
            END                    # GSUBATOM #                          GTXTDMP
                                                                         GTXTDMP
          ELSE                                                           GTXTDMP
# GFILEREF #                                                             GTXTDMP
          IF REGGCODE [0] EQ GFILEREF  THEN                              GTXTDMP
            BEGIN                                                        GTXTDMP
              FNATINDEX = REGGPTR [0];                                   GTXTDMP
              Y [0] = "FNAT = ";                                         GTXTDMP
              U [0] = DEC (FNATINDEX);                                   GTXTDMP
              Z [0] = " ";                                               GTXTDMP
            END                    # GFILEREF #                          GTXTDMP
                                                                         GTXTDMP
 # ERROR #                                                               GTXTDMP
                                                                         GTXTDMP
          ELSE BEGIN                                                     GTXTDMP
          X [ 0 ] = "*ERROR*" ;                                          GTXTDMP
          Y [0] = "GTEXT ATOM = ";                                       GTXTDMP
          TEMP = REGGATOM1 [0];                                          GTXTDMP
          Z [0] = OCT (TEMP, 10, 10);                                    GTXTDMP
          END                                                            GTXTDMP
                                                                         GTXTDMP
            IF LINENBR GQ STARTLINE 
            AND LINENBR LQ ENDLINE
            THEN
                CALL CBLIST (SSF, PRINTGROUP [0], 132);  #PRINT LINE# 
          END                                                            GTXTDMP
                                                                         GTXTDMP
          IF HEADER NE 0 THEN                                            GTXTDMP
          CALL CBLIST ( CLOSEF , "GTXTDMP" , 7 ) ;                       GTXTDMP
                                                                         GTXTDMP
          TMRECL (TABLETYPE "GTEXT$");   #RE-CLOSE THE TABLE IF NEEDED# 
         RETURN ;                                                        GTXTDMP
                                                                         GTXTDMP
          $END
          END                      # GTXTDMP #                           GTXTDMP
                                                                         GTXTDMP
         TERM                                                            GTXTDMP
