---input---
       IDENTIFICATION DIVISION.
       PROGRAM-ID. OCic.
      *****************************************************************
      ** This program provides a Textual User Interface (TUI) to the **
      ** process of compiling and (optionally) executing an OpenCOBOL**
      ** program.                                                    **
      **                                                             **
      ** This programs execution syntax is as follows:               **
      **                                                             **
      ** ocic <program-path-and-filename> [ <switch>... ]            **
      **                                                             **
      ** Once executed, a display screen will be presented showing   **
      ** the compilation options that will be used.  The user will   **
      ** have the opportunity to change options, specify new ones    **
      ** and specify any program execution arguments to be used if   **
      ** you select the "Execute" option.  When you press the Enter  **
      ** key the program will be compiled.                           **
      **                                                             **
      ** The SCREEN SECTION contains an image of the screen.         **
      **                                                             **
      ** The "010-Parse-Args" section in the PROCEDURE DIVISION has  **
      ** documentation on switches and their function.               **
      *****************************************************************
      **                                                             **
      ** AUTHOR:       GARY L. CUTLER                                **
      **               CutlerGL@gmail.com                            **
      **               Copyright (C) 2009-2010, Gary L. Cutler, GPL  **
      **                                                             **
      ** DATE-WRITTEN: June 14, 2009                                 **
      **                                                             **
      *****************************************************************
      ** Note: Depending on which extended DISPLAY handler you're    **
      **       using (PDCurses, Curses, ...), you may need to un-    **
      **       comment any source lines tagged with "SCROLL" in cols **
      **       1-6 in order to have error messages scroll properly   **
      **       in the OCic shell window.                             **
      *****************************************************************
      **  DATE  CHANGE DESCRIPTION                                   **
      ** ====== ==================================================== **
      ** GC0609 Don't display compiler messages file if compilation  **
      **        Is successful.  Also don't display messages if the   **
      **        output file is busy (just put a message on the       **
      **        screen, leave the OC screen up & let the user fix    **
      **        the problem & resubmit.                              **
      ** GC0709 When 'EXECUTE' is selected, a 'FILE BUSY' error will **
      **        still cause the (old) executable to be launched.     **
      **        Also, the 'EXTRA SWITCHES' field is being ignored.   **
      **        Changed the title bar to lowlighted reverse video &  **
      **        the message area to highlighted reverse-video.       **
      ** GC0809 Add a SPACE in from of command-line args when        **
      **        executing users program.  Add a SPACE after the      **
      **        -ftraceall switch when building cobc command.        **
      ** GC0909 Convert to work on Cygwin/Linux as well as MinGW     **
      ** GC0310 Virtualized the key codes for S-F1 thru S-F7 as they **
      **        differ depending upon whether PDCurses or NCurses is **
      **        being used.                                          **
      ** GC0410 Introduced the cross-reference and source listing    **
      **        features.  Also fixed a bug in @EXTRA switch proces- **
      **        sing where garbage will result if more than the      **
      **        @EXTRA switch is specified.                          **
      *****************************************************************
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION ALL INTRINSIC.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT Bat-File             ASSIGN TO Bat-File-Name
                                       ORGANIZATION IS LINE SEQUENTIAL.

           SELECT Cobc-Output          ASSIGN TO Cobc-Output-File
                                       ORGANIZATION IS LINE SEQUENTIAL.

           SELECT Source-Code          ASSIGN TO File-Name
                                       ORGANIZATION IS LINE SEQUENTIAL
                                       FILE STATUS IS FSM-Status.
       DATA DIVISION.
       FILE SECTION.
       FD  Bat-File.
       01  Bat-File-Rec                PIC X(2048).

       FD  Cobc-Output.
       01  Cobc-Output-Rec             PIC X(256).

       FD  Source-Code.
       01  Source-Code-Record          PIC X(80).

       WORKING-STORAGE SECTION.
       COPY screenio.

       01  Bat-File-Name               PIC X(256).

GC0909 01  Cmd                         PIC X(512).

       01  Cobc-Cmd                    PIC X(256).

       01  Cobc-Output-File            PIC X(256).

       01  Command-Line-Args           PIC X(256).

       01  Config-File                 PIC X(12).

GC0310 01  Config-Keys.
GC0310     05 CK-S-F1                  PIC 9(4).
GC0310     05 CK-S-F2                  PIC 9(4).
GC0310     05 CK-S-F3                  PIC 9(4).
GC0310     05 CK-S-F4                  PIC 9(4).
GC0310     05 CK-S-F5                  PIC 9(4).
GC0310     05 CK-S-F6                  PIC 9(4).
GC0310     05 CK-S-F7                  PIC 9(4).

GC0909 01  Dir-Char                    PIC X(1).

       01  Dummy                       PIC X(1).

       01  Env-TEMP                    PIC X(256).

       01  File-Name.
           05 FN-Char                  OCCURS 256 TIMES PIC X(1).

       01  File-Status-Message.
           05 FILLER                   PIC X(13) VALUE 'Status Code: '.
           05 FSM-Status               PIC 9(2).
           05 FILLER                   PIC X(11) VALUE ', Meaning: '.
           05 FSM-Msg                  PIC X(25).

       01  Flags.
           05 F-Compilation-Succeeded  PIC X(1).
              88 88-Compile-OK         VALUE 'Y'.
GC0909        88 88-Compile-OK-Warn    VALUE 'W'.
              88 88-Compile-Failed     VALUE 'N'.
GC0609     05 F-Complete               PIC X(1).
GC0609        88 88-Complete           VALUE 'Y'.
GC0609        88 88-Not-Complete       VALUE 'N'.
GC0809     05 F-IDENT-DIVISION         PIC X(1).
GC0809        88 88-1st-Prog-Complete  VALUE 'Y'.
GC0809        88 88-More-To-1st-Prog   VALUE 'N'.
           05 F-LINKAGE-SECTION        PIC X(1).
              88 88-Compile-As-Subpgm  VALUE 'Y'.
              88 88-Compile-As-Mainpgm VALUE 'N'.
           05 F-No-Switch-Changes      PIC X(1).
              88 88-No-Switch-Changes  VALUE 'Y'.
              88 88-Switch-Changes     VALUE 'N'.
GC0709     05 F-Output-File-Busy       PIC X(1).
GC0709        88 88-Output-File-Busy   VALUE 'Y'.
GC0709        88 88-Output-File-Avail  VALUE 'N'.
GC0809     05 F-Source-Record-Type     PIC X(1).
GC0809        88 88-Source-Rec-Linkage VALUE 'L'.
GC0809        88 88-Source-Rec-Ident   VALUE 'I'.
GC0809        88 88-Source-Rec-IgnoCOB-COLOR-RED VALUE ' '.
           05 F-Switch-Error           PIC X(1).
              88 88-Switch-Is-Bad      VALUE 'Y'.
              88 88-Switch-Is-Good     VALUE 'N'.

GC0909 01  Horizontal-Line             PIC X(80).
GC0909
       01  I                           USAGE BINARY-LONG.

       01  J                           USAGE BINARY-LONG.

GC0909 01  MS                          USAGE BINARY-LONG.

GC0909 01  ML                          USAGE BINARY-LONG.

       01  OC-Compiled                 PIC XXXX/XX/XXBXX/XX.

GC0909 01  OS-Type                     USAGE BINARY-LONG.
GC0909     88 OS-Unknown               VALUE 0.
GC0909     88 OS-Windows               VALUE 1.
GC0909     88 OS-Cygwin                VALUE 2.
GC0909     88 OS-UNIX                  VALUE 3.

GC0909 01  OS-Type-Literal             PIC X(7).

       01  Output-Message              PIC X(80).

       01  Path-Delimiter              PIC X(1).

       01  Prog-Folder                 PIC X(256).

       01  Prog-Extension              PIC X(30).

       01  Prog-File-Name              PIC X(40).

       01  Prog-Name                   PIC X(31).

       78  Selection-Char              VALUE '>'.

       01  Switch-Display.
           05 SD-Switch-And-Value      PIC X(19).
           05 FILLER                   PIC X(1).
           05 SD-Description           PIC X(60).

       01  Switch-Keyword              PIC X(12).
GC0410     88 Switch-Is-CONFIG     VALUE '@CONFIG', '@C'.
GC0410     88 Switch-Is-DEBUG      VALUE '@DEBUG', '@D'.
GC0410     88 Switch-Is-DLL        VALUE '@DLL'.
GC0410     88 Switch-Is-EXECUTE    VALUE '@EXECUTE', '@E'.
GC0410     88 Switch-Is-EXTRA      VALUE '@EXTRA', '@EX'.
GC0410     88 Switch-Is-NOTRUNC    VALUE '@NOTRUNC', '@N'.
GC0410     88 Switch-Is-TRACE      VALUE '@TRACE', '@T'.
GC0410     88 Switch-Is-SOURCE     VALUE '@SOURCE', '@S'.
GC0410     88 Switch-Is-XREF       VALUE '@XREF', '@X'.

       01  Switch-Keyword-And-Value    PIC X(256).

       01  Switch-Value.
           05 SV-1                     PIC X(1).
           05 FILLER                   PIC X(255).
       01  Switch-Value-Alt            REDEFINES Switch-Value
                                       PIC X(256).
           88 Valid-Config-Filename
              VALUE 'BS2000', 'COBOL85', 'COBOL2002', 'DEFAULT',
                    'IBM',    'MF',      'MVS'.

       01  Switches.
           05 S-ARGS                   PIC X(75) VALUE SPACES.
           05 S-CfgS.
              10 S-Cfg-BS2000          PIC X(1)  VALUE ' '.
              10 S-Cfg-COBOL85         PIC X(1)  VALUE ' '.
              10 S-Cfg-COBOL2002       PIC X(1)  VALUE ' '.
              10 S-Cfg-DEFAULT         PIC X(1)  VALUE Selection-Char.
              10 S-Cfg-IBM             PIC X(1)  VALUE ' '.
              10 S-Cfg-MF              PIC X(1)  VALUE ' '.
              10 S-Cfg-MVS             PIC X(1)  VALUE ' '.
           05 S-EXTRA                  PIC X(75) VALUE SPACES.
           05 S-Yes-No-Switches.
              10 S-DEBUG               PIC X(1)  VALUE 'N'.
              10 S-DLL                 PIC X(1)  VALUE 'N'.
GC0410        10 S-XREF                PIC X(1)  VALUE 'N'.
GC0410        10 S-SOURCE              PIC X(1)  VALUE 'N'.
              10 S-EXECUTE             PIC X(1)  VALUE 'N'.
              10 S-NOTRUNC             PIC X(1)  VALUE 'Y'.
              10 S-SUBROUTINE          PIC X(1)  VALUE 'A'.
              10 S-TRACE               PIC X(1)  VALUE 'N'.
              10 S-TRACEALL            PIC X(1)  VALUE 'N'.

       01  Tally                       USAGE BINARY-LONG.

         SCREEN SECTION.
      *>
      *> Here is the layout of the OCic screen.
      *>
      *> Note that this program can utilize the traditional PC line-drawing characters,
      *> if they are available.
      *>
      *> If this program is run on Windows, it must run with codepage 437 activated to
      *> display the line-drawing characters.  With a native Windows build or a
      *> Windows/MinGW build, one could use the command "chcp 437" to set that codepage
      *> for display within a Windows console window (that should be the default, though).
      *> With a Windows/Cygwin build, set the environment variable CYGWIN to a value of
      *> "codepage:oem" (this cannot be done from within the program though - you will
      *> have to use the "Computer/Advanced System Settings/Environment Variables" (Vista or
      *> Windows 7) function to define the variable.  XP Users: use "My Computer/Properties/
      *> Advanced/Environment Variables".
      *>
      *> To use OCic without the line-drawing characters, comment-out the first set of
      *> 78 "LD" items and uncomment the second.
      *>
      *> The following sample screen layout shows how the screen looks with line-drawing
      *> characters disabled.
      *>
      *>===================================================================================
      *> OCic (2010/04/02 11:36) - OpenCOBOL V1.1 Interactive Compilation        Windows 01
      *> +-----------------------------------------------------------------------------+ 02
      *> | Program:  OCic                                            F-Key: Select Opt | 03
      *> | Folder:   E:\OpenCOBOL\Samples                            Enter: Compile    | 04
      *> | Filename: OCic.cbl                                        Esc:   Quit       | 05
      *> +-----------------------------------------------------------------------------+ 06
      *>   On/Off Switches:                                          Configuration:      07
      *> +---------------------------------------------------------+-------------------+ 08
      *> | F1   Compile debug lines    F8   Produce source listing | S-F1   BS2000     | 09
      *> | F2   Always make DLLs       F9   Produce xref listing   | S-F2   COBOL85    | 10
      *> | F3   Pgm is a SUBROUTINE                                | S-F3   COBOL2002  | 11
      *> | F4   Execute if compile OK                              | S-F4 > Default    | 12
      *> | F5 > No COMP/BINARY trunc                               | S-F5   IBM        | 13
      *> | F6   Trace procedures                                   | S-F6   MicroFocus | 14
      *> | F7   Trace proc + stmnts                                | S-F7   MVS        | 15
      *> +---------------------------------------------------------+-------------------+ 16
      *>   Additional "cobc" Switches (if any):                                          17
      *> +-----------------------------------------------------------------------------+ 18
      *> | -O2________________________________________________________________________ | 19
      *> +-----------------------------------------------------------------------------+ 20
      *>   Program Execution Arguments (if any):                                         21
      *> +-----------------------------------------------------------------------------+ 22
      *> | ___________________________________________________________________________ | 23
      *> +-----------------------------------------------------------------------------+ 24
      *> OCic Copyright (C) 2009-2010, Gary L. Cutler, GPL                               25
      *>===================================================================================
      *>12345678901234567890123456789012345678901234567890123456789012345678901234567890
      *>         1         2         3         4         5         6         7         8
      *>
      *> USE THESE CHARS FOR LINE-DRAWING IF YOU HAVE ACCESS TO PC-DOS CODEPAGE 437:
      *>
       78 LD-UL-Corner                 VALUE X"DA".
       78 LD-LL-Corner                 VALUE X"C0".
       78 LD-UR-Corner                 VALUE X"BF".
       78 LD-LR-Corner                 VALUE X"D9".
       78 LD-Upper-T                   VALUE X"C2".
       78 LD-Lower-T                   VALUE X"C1".
       78 LD-Horiz-Line                VALUE X"C4".
       78 LD-Vert-Line                 VALUE X"B3".
      *>
      *> USE THESE CHARS FOR LINE-DRAWING IF YOU DO NOT HAVE ACCESS TO PC-DOS CODEPAGE 437:
      *>
      *> 78 LD-UL-Corner                          VALUE '+'.
      *> 78 LD-LL-Corner                          VALUE '+'.
      *> 78 LD-UR-Corner                          VALUE '+'.
      *> 78 LD-LR-Corner                          VALUE '+'.
      *> 78 LD-Upper-T                            VALUE '+'.
      *> 78 LD-Lower-T                            VALUE '+'.
      *> 78 LD-Horiz-Line                         VALUE '-'.
      *> 78 LD-Vert-Line                          VALUE '|'.
      *>
       01 Blank-Screen LINE 1 COLUMN 1 BLANK SCREEN.

       01 Switches-Screen BACKGROUND-COLOR COB-COLOR-BLACK
                          FOREGROUND-COLOR COB-COLOR-WHITE AUTO.
      *>
      *> GENERAL SCREEN FRAMEWORK
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-BLUE  HIGHLIGHT.
             05 LINE 02 COL 02           VALUE LD-UL-Corner.
             05                PIC X(77) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-UR-Corner.

             05 LINE 03 COL 02           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 04 COL 02           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 05 COL 02           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 06 COL 02           VALUE LD-LL-Corner.
             05                PIC X(77) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-LR-Corner.

             05 LINE 08 COL 02           VALUE LD-UL-Corner.
             05                PIC X(57) FROM  Horizontal-Line.
             05         COL 60           VALUE LD-Upper-T.
             05                PIC X(19) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-UR-Corner.

             05 LINE 09 COL 02           VALUE LD-Vert-Line.
             05         COL 60           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 10 COL 02           VALUE LD-Vert-Line.
             05         COL 60           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 11 COL 02           VALUE LD-Vert-Line.
             05         COL 60           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 12 COL 02           VALUE LD-Vert-Line.
             05         COL 60           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 13 COL 02           VALUE LD-Vert-Line.
             05         COL 60           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 14 COL 02           VALUE LD-Vert-Line.
             05         COL 60           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 15 COL 02           VALUE LD-Vert-Line.
             05         COL 60           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 16 COL 02           VALUE LD-LL-Corner.
             05                PIC X(57) FROM  Horizontal-Line.
             05         COL 60           VALUE LD-Lower-T.
             05                PIC X(19) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-LR-Corner.

             05 LINE 18 COL 02           VALUE LD-UL-Corner.
             05                PIC X(77) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-UR-Corner.

             05 LINE 19 COL 02           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 20 COL 02           VALUE LD-LL-Corner.
             05                PIC X(77) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-LR-Corner.

             05 LINE 22 COL 02           VALUE LD-UL-Corner.
             05                PIC X(77) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-UR-Corner.

             05 LINE 23 COL 02           VALUE LD-Vert-Line.
             05         COL 80           VALUE LD-Vert-Line.

             05 LINE 24 COL 02           VALUE LD-LL-Corner.
             05                PIC X(77) FROM  Horizontal-Line.
             05         COL 80           VALUE LD-LR-Corner.
      *>
      *> TOP AND BOTTOM LINES
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLUE  BLINK
             FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
GC0410       05 LINE 01 COL 01 VALUE ' OCic ('.
GC0410       05                PIC X(16) FROM OC-Compiled.
GC0410       05                VALUE ') OpenCOBOL V1.1 06FEB2009 ' &
GC0410                               'Interactive Compilation         '.
GC0410       05 LINE 25 COL 01 PIC X(81) FROM Output-Message.
      *>
      *> LABELS
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-CYAN  HIGHLIGHT.
             05 LINE 07 COL 04 VALUE 'On/Off Switches:'.
             05         COL 62 VALUE 'Configuration:'.
             05 LINE 17 COL 04 VALUE 'Additional "cobc" Switches (if any
      -                              '):'.
             05 LINE 21 COL 04 VALUE 'Program Execution Arguments (if an
      -                              'y):'.
      *>
      *> TOP SECTION BACKGROUND
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-CYAN LOWLIGHT.
             05 LINE 03 COL 04 VALUE 'Program:  '.
             05 LINE 04 COL 04 VALUE 'Folder:   '.
             05 LINE 05 COL 04 VALUE 'Filename: '.

             05 LINE 03 COL 62 VALUE 'F-Key: Select Opt'.
             05 LINE 04 COL 62 VALUE 'Enter: Compile   '.
             05 LINE 05 COL 62 VALUE 'Esc:   Quit      '.
      *>
      *> TOP SECTION PROGRAM INFO
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
             05 LINE 03 COL 14 PIC X(47) FROM Prog-Name.
             05 LINE 04 COL 14 PIC X(47) FROM Prog-Folder.
             05 LINE 05 COL 14 PIC X(47) FROM Prog-File-Name.
      *>
      *> MIDDLE LEFT SECTION F-KEYS
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
             05 LINE 09 COL 04 VALUE 'F1'.
             05 LINE 10 COL 04 VALUE 'F2'.
             05 LINE 11 COL 04 VALUE 'F3'.
             05 LINE 12 COL 04 VALUE 'F4'.
             05 LINE 13 COL 04 VALUE 'F5'.
             05 LINE 14 COL 04 VALUE 'F6'.
             05 LINE 15 COL 04 VALUE 'F7'.
             05 LINE 09 COL 32 VALUE 'F8'.
             05 LINE 10 COL 32 VALUE 'F9'.
      *>
      *> MIDDLE LEFT SECTION SWITCHES
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-RED   HIGHLIGHT.
             05 LINE 09 COL 07 PIC X(1) FROM S-DEBUG.
             05 LINE 10 COL 07 PIC X(1) FROM S-DLL.
             05 LINE 11 COL 07 PIC X(1) FROM S-SUBROUTINE.
             05 LINE 12 COL 07 PIC X(1) FROM S-EXECUTE.
             05 LINE 13 COL 07 PIC X(1) FROM S-NOTRUNC.
             05 LINE 14 COL 07 PIC X(1) FROM S-TRACE.
             05 LINE 15 COL 07 PIC X(1) FROM S-TRACEALL.
             05 LINE 09 COL 35 PIC X(1) FROM S-SOURCE.
             05 LINE 10 COL 35 PIC X(1) FROM S-XREF.
      *>
      *> MIDDLE LEFT SECTION BACKGROUND
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-CYAN  LOWLIGHT.
             05 LINE 09 COL 09 VALUE 'Compile debug lines   '.
             05 LINE 10 COL 09 VALUE 'Always make DLLs      '.
             05 LINE 11 COL 09 VALUE 'Pgm is a SUBROUTINE   '.
             05 LINE 12 COL 09 VALUE 'Execute if compile OK '.
             05 LINE 13 COL 09 VALUE 'No COMP/BINARY trunc  '.
             05 LINE 14 COL 09 VALUE 'Trace procedures      '.
             05 LINE 15 COL 09 VALUE 'Trace proc + stmnts   '.
             05 LINE 09 COL 37 VALUE 'Produce source listing'.
             05 LINE 10 COL 37 VALUE 'Produce xref listing  '.
      *>
      *> MIDDLE RIGHT SECTION F-KEYS
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
             05 LINE 09 COL 62 VALUE 'S-F1'.
             05 LINE 10 COL 62 VALUE 'S-F2'.
             05 LINE 11 COL 62 VALUE 'S-F3'.
             05 LINE 12 COL 62 VALUE 'S-F4'.
             05 LINE 13 COL 62 VALUE 'S-F5'.
             05 LINE 14 COL 62 VALUE 'S-F6'.
             05 LINE 15 COL 62 VALUE 'S-F7'.
      *>
      *> MIDDLE RIGHT SECTION SWITCHES
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-RED HIGHLIGHT.
             05 LINE 09 COL 67 PIC X(1) FROM S-Cfg-BS2000.
             05 LINE 10 COL 67 PIC X(1) FROM S-Cfg-COBOL85.
             05 LINE 11 COL 67 PIC X(1) FROM S-Cfg-COBOL2002.
             05 LINE 12 COL 67 PIC X(1) FROM S-Cfg-DEFAULT.
             05 LINE 13 COL 67 PIC X(1) FROM S-Cfg-IBM.
             05 LINE 14 COL 67 PIC X(1) FROM S-Cfg-MF.
             05 LINE 15 COL 67 PIC X(1) FROM S-Cfg-MVS.
      *>
      *> MIDDLE RIGHT SECTION BACKGROUND
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-CYAN LOWLIGHT.
             05 LINE 09 COL 69 VALUE 'BS2000    '.
             05 LINE 10 COL 69 VALUE 'COBOL85   '.
             05 LINE 11 COL 69 VALUE 'COBOL2002 '.
             05 LINE 12 COL 69 VALUE 'Default   '.
             05 LINE 13 COL 69 VALUE 'IBM       '.
             05 LINE 14 COL 69 VALUE 'MicroFocus'.
             05 LINE 15 COL 69 VALUE 'MVS       '.
      *>
      *> FREE-FORM OPTIONS FIELDS
      *>
          03 BACKGROUND-COLOR COB-COLOR-BLACK
             FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
             05 LINE 19 COL 04 PIC X(75) USING S-EXTRA.
             05 LINE 23 COL 04 PIC X(75) USING S-ARGS.
      /
       PROCEDURE DIVISION.
      *****************************************************************
      ** Legend to procedure names:                                  **
      **                                                             **
      ** 00x-xxx   All MAIN driver procedures                        **
      ** 0xx-xxx   All GLOBAL UTILITY procedures                     **
      ** 1xx-xxx   All INITIALIZATION procedures                     **
      ** 2xx-xxx   All CORE PROCESSING procedures                    **
      ** 9xx-xxx   All TERMINATION procedures                        **
      *****************************************************************
       DECLARATIVES.
       000-File-Error SECTION.
           USE AFTER STANDARD ERROR PROCEDURE ON Source-Code.
       000-Handle-Error.
           COPY FileStat-Msgs
               REPLACING STATUS BY FSM-Status
                         MSG    BY FSM-Msg.
           MOVE SPACES TO Output-Message
           IF FSM-Status = 35
               DISPLAY
                   'File not found: "'
                   TRIM(File-Name,TRAILING)
                   '"'
               END-DISPLAY
           ELSE
               DISPLAY
                   'Error accessing file: "'
                   TRIM(File-Name,TRAILING)
                   '"'
               END-DISPLAY
           END-IF
           GOBACK
           .
       END DECLARATIVES.
      /
       000-Main SECTION.

           PERFORM 100-Initialization
GC0609     SET 88-Not-Complete TO TRUE
GC0609     PERFORM UNTIL 88-Complete
GC0609         PERFORM 200-Let-User-Set-Switches
GC0609         PERFORM 210-Run-Compiler
GC0410         IF (88-Compile-OK OR 88-Compile-OK-Warn)
GC0410         AND (S-XREF NOT = SPACE OR S-SOURCE NOT = SPACE)
GC0410             PERFORM 220-Make-Listing
GC0410         END-IF
GC0709         IF  (S-EXECUTE NOT = SPACES)
GC0709         AND (88-Output-File-Avail)
GC0609             PERFORM 230-Run-Program
GC0609         END-IF
GC0609     END-PERFORM
           .

       009-Done.
           PERFORM 900-Terminate
           .
      * -- Control will NOT return
      /
       010-Parse-Args SECTION.
      *****************************************************************
      ** Process a sequence of KEYWORD=VALUE items.  These are items **
      ** specified on the command-line to provide the initial        **
      ** options shown selected on the screen.  When integrating     **
      ** OCic into an edirot or framework, include these switches on **
      ** the ocic.exe command the editor/framework executes.  Any    **
      ** underlined choice is the default value for that switch.     **
      **                                                             **
      ** @CONFIG=BS2000|COBOL85|COBOL2002|DEFAULT|IBM|MF|MVS         **
      **                                  =======                    **
      ** This switch specifies the default cobc compiler configura-  **
      ** tion file to be used                                        **
      **                                                             **
      ** @DEBUG=YES|NO                                               **
      **            ==                                               **
      ** This switch specifies whether (YES) or not (NO) debugging   **
      ** lines (those with a "D" in column 7) will be compiled.      **
      **                                                             **
      ** @DLL=YES|NO                                                 **
      **          ==                                                 **
      ** Use this switch to force ALL compiled programs to be built  **
      ** as DLLs ("@DLL=YES").  When main programs are built as DLLs **
      ** they must be executed using the cobcrun utility.  When      **
      ** "@DLL=NO" is in effect, main programs are generated as      **
      ** actual "exe" files and only subprograms will be generated   **
      ** as DLLs.                                                    **
      **                                                             **
      ** @EXECUTE=YES|NO                                             **
      **              ==                                             **
      ** This switch specifies whether ("@EXECUTE=YES") or not       **
      ** ("@EXECUTE=NO") the program will be executed after it is    **
      ** successfully compiled.                                      **
      **                                                             **
      ** @EXTRA=extra cobc argument(s)                               **
      **                                                             **
      ** This switch allows you to specify additional cobc arguments **
      ** that aren't managed by the other OC switches.  If used,     **
      ** this must be the last switch specified on the command line, **
      ** as everything that follows the "=" will be placed on the    **
      ** cobc command generated by OC.                               **
      **                                                             **
      ** @NOTRUNC=YES|NO                                             **
      **          ===                                                **
      ** This switch specifies whether (YES) or not (NO) the sup-    **
      ** pression of binary field truncation will occur.  If a PIC   **
      ** 99 COMP field (one byte of storage), for example, is given  **
      ** the value 123, it may have its value truncated to 23 when   **
      ** DISPLAYed.  Regardless of the NOTRUNC setting, internally   **
      ** the full precision of the field (allowing a maximum value   **
      ** of 255) will be preserved.  Even though truncation - if it  **
      ** does occur - would appear to have a minimal disruption on   **
      ** program operation, it has a significant effect on program   **
      ** run-time speed.                                             **
      **                                                             **
      ** @TRACE=YES|NO|ALL                                           **
      **            ==                                               **
      ** This switch controls whether or not code will be added to   **
      ** the object program to produce execution-time logic traces.  **
      ** A specification of "@TRACE=NO" means no such code will be   **
      ** produced.  By specifying "@TRACE=YES", code will be genera- **
      ** ted to display procedure names as they are entered.  A      **
      ** "@TRACE=ALL" specification will generate not only procedure **
      ** traces (as "@TRACE=YES" would) but also statement-level     **
      ** traces too!  All trace output is written to STDERR, so      **
      ** adding a "2>file" to the execution of the program will pipe **
      ** the trace output to a file.  You may find it valuable to    **
      ** add your own DISPLAY statements to the debugging output via **
      ** "DISPLAY xx UPON SYSERR"  The SYSERR device corresponds to  **
      ** the Windows or UNIX STDERR device and will therefore honor  **
      ** any "2>file" placed at the end of your program's execution. **
      ** Add a "D" in column 7 and you can control the generation or **
      ** ignoring of these DISPLAY statements via the "@DEBUG"       **
      ** switch.                                                     **
      **                                                             **
GC0410** @SOURCE=YES|NO                                              **
GC0410**           ==                                                **
GC0410** Use this switch to produce a source listing of the program, **
GC0410** PROVIDED it compiles without errors.                        **
      **                                                             **
GC0410** @XREF=YES|NO                                                **
GC0410**           ==                                                **
GC0410** Use this switch to produce a cross-reference listing of the **
GC0410** program, PROVIDED it compiles without errors.               **
      *****************************************************************

       011-Init.
           MOVE 1 TO I
           .

       012-Extract-Kwd-And-Value.
           PERFORM UNTIL I NOT < LENGTH(Command-Line-Args)
               MOVE I TO J
               UNSTRING Command-Line-Args
                   DELIMITED BY ALL SPACES
                   INTO Switch-Keyword-And-Value
                   WITH POINTER I
               END-UNSTRING
               IF Switch-Keyword-And-Value NOT = SPACES
                   UNSTRING Switch-Keyword-And-Value
                       DELIMITED BY '='
                       INTO Switch-Keyword, Switch-Value
                   END-UNSTRING
                   PERFORM 030-Process-Keyword
               END-IF
           END-PERFORM
           .

       019-Done.
           EXIT.

      *****************************************************************
      ** Since this program uses the SCREEN SECTION, it cannot do    **
      ** conventional console DISPLAY operations.  This routine      **
      ** (which, I admit, is like using an H-bomb to hunt rabbits)   **
      ** will submit an "ECHO" command to the system to simulate a   **
      ** DISPLAY.                                                    **
      *****************************************************************
       021-Build-And-Issue-Command.
           DISPLAY
               Output-Message
           END-DISPLAY
           .

       029-Done.
           EXIT.
      /
       030-Process-Keyword SECTION.
      *****************************************************************
      ** Process a single KEYWORD=VALUE item.                        **
      *****************************************************************

       031-Init.
           MOVE UPPER-CASE(Switch-Keyword) TO Switch-Keyword
           SET 88-Switch-Is-Good TO TRUE
           .

       032-Process.
           EVALUATE TRUE
               WHEN Switch-Is-EXTRA
GC0410             MOVE J TO I
                   UNSTRING Command-Line-Args DELIMITED BY '='
                       INTO Dummy, S-EXTRA
GC0410                 WITH POINTER I
GC0410             END-UNSTRING
                   MOVE LENGTH(Command-Line-Args) TO I
               WHEN Switch-Is-CONFIG
                   MOVE 'CONFIG' TO Switch-Keyword
                   MOVE UPPER-CASE(Switch-Value)
                     TO Switch-Value
                   EVALUATE Switch-Value
                       WHEN 'BS2000'
                           MOVE SPACES TO S-CfgS
                           MOVE Selection-Char    TO S-Cfg-BS2000
                       WHEN 'COBOL85'
                           MOVE SPACES TO S-CfgS
                           MOVE Selection-Char    TO S-Cfg-COBOL85
                       WHEN 'COBOL2002'
                           MOVE SPACES TO S-CfgS
                           MOVE Selection-Char    TO S-Cfg-COBOL2002
                       WHEN 'DEFAULT'
                           MOVE SPACES TO S-CfgS
                           MOVE Selection-Char    TO S-Cfg-DEFAULT
                       WHEN 'IBM'
                           MOVE SPACES TO S-CfgS
                           MOVE Selection-Char    TO S-Cfg-IBM
                       WHEN 'MF'
                           MOVE SPACES TO S-CfgS
                           MOVE Selection-Char    TO S-Cfg-MF
                       WHEN 'MVS'
                           MOVE SPACES TO S-CfgS
                           MOVE Selection-Char    TO S-Cfg-MVS
                       WHEN OTHER
                           MOVE 'An invalid /CONFIG switch value ' &
                                'was specified on the command line ' &
                                '- ignored'
                             TO Output-Message
                   END-EVALUATE
               WHEN Switch-Is-DEBUG
                   MOVE 'DEBUG' TO Switch-Keyword
                   MOVE UPPER-CASE(Switch-Value)
                     TO Switch-Value
                   PERFORM 040-Process-Yes-No-Value
                   IF 88-Switch-Is-Good
                       MOVE SV-1 TO S-DEBUG
                   END-IF
GC0410         WHEN Switch-Is-DLL
GC0410             MOVE 'DLL' TO Switch-Keyword
GC0410             MOVE UPPER-CASE(Switch-Value)
GC0410               TO Switch-Value
GC0410             PERFORM 040-Process-Yes-No-Value
GC0410             IF 88-Switch-Is-Good
GC0410                 MOVE SV-1 TO S-DLL
GC0410             END-IF
               WHEN Switch-Is-EXECUTE
                   MOVE 'EXECUTE' TO Switch-Keyword
                   MOVE UPPER-CASE(Switch-Value)
                     TO Switch-Value
                   PERFORM 040-Process-Yes-No-Value
                   IF 88-Switch-Is-Good
                       MOVE SV-1 TO S-EXECUTE
                   END-IF
               WHEN Switch-Is-NOTRUNC
                   MOVE 'NOTRUNC' TO Switch-Keyword
                   MOVE UPPER-CASE(Switch-Value)
                     TO Switch-Value
                   PERFORM 040-Process-Yes-No-Value
                   IF 88-Switch-Is-Good
                       MOVE SV-1 TO S-NOTRUNC
                   END-IF
GC0410         WHEN Switch-Is-SOURCE
GC0410             MOVE 'SOURCE' TO Switch-Keyword
GC0410             MOVE UPPER-CASE(Switch-Value)
GC0410               TO Switch-Value
GC0410             PERFORM 050-Process-Yes-No-All
GC0410             IF 88-Switch-Is-Good
GC0410                 MOVE SV-1 TO S-SOURCE
GC0410             END-IF
               WHEN Switch-Is-TRACE
                   MOVE 'TRACE' TO Switch-Keyword
                   MOVE UPPER-CASE(Switch-Value)
                     TO Switch-Value
                   PERFORM 050-Process-Yes-No-All
                   IF 88-Switch-Is-Good
                       MOVE SV-1 TO S-TRACE
                   END-IF
GC0410         WHEN Switch-Is-XREF
GC0410             MOVE 'XREF' TO Switch-Keyword
GC0410             MOVE UPPER-CASE(Switch-Value)
GC0410               TO Switch-Value
GC0410             PERFORM 050-Process-Yes-No-All
GC0410             IF 88-Switch-Is-Good
GC0410                 MOVE SV-1 TO S-XREF
GC0410             END-IF
               WHEN OTHER
                   MOVE SPACES TO Output-Message
                   STRING '"'
                          TRIM(Switch-Keyword)
                          '" is not a valid switch ' &
                                         '- ignored'
                          DELIMITED SIZE
                          INTO Output-Message
                   END-STRING
                   SET 88-Switch-Is-Bad TO TRUE
           END-EVALUATE
           .

       039-Done.
           EXIT.
      /
       040-Process-Yes-No-Value SECTION.
      *****************************************************************
      ** Process a switch value of YES or NO                         **
      *****************************************************************

       042-Process.
           EVALUATE SV-1
               WHEN 'Y'
                   MOVE 'YES' TO Switch-Value
               WHEN 'N'
                   MOVE 'NO'  To Switch-Value
               WHEN OTHER
                   MOVE SPACES TO Output-Message
                   STRING '*ERROR: "' TRIM(Switch-Value)
                           '" is not a valid value for the "'
                           TRIM(Switch-Keyword) '" switch'
                           DELIMITED SPACES
                           INTO Output-Message
                   END-STRING
                   SET 88-Switch-Is-Bad TO TRUE
           END-EVALUATE
           .

       049-Done.
           EXIT.
      /
       050-Process-Yes-No-All SECTION.
      *****************************************************************
      ** Process a switch value of YES, NO or ALL                    **
      *****************************************************************

       052-Process.
           IF SV-1 = 'A'
               MOVE 'ALL' TO Switch-Value
           ELSE
               PERFORM 040-Process-Yes-No-Value
           END-IF
           .

       059-Done.
           EXIT.
      /
       060-Process-Yes-No-Auto SECTION.
      *****************************************************************
      ** Process a switch value of YES, NO or AUTO                   **
      *****************************************************************

       061-Init.
           IF SV-1 = 'A'
               PERFORM 070-Find-LINKAGE-SECTION
               IF 88-Compile-As-Subpgm
                   MOVE 'Y' TO Switch-Value
               ELSE
                   MOVE 'N' TO Switch-Value
               END-IF
           ELSE
               PERFORM 040-Process-Yes-No-Value
           END-IF
           .
      /
       070-Find-LINKAGE-SECTION SECTION.
      *****************************************************************
      ** Determine if the program being compiled is a MAIN program   **
      *****************************************************************

       071-Init.
           OPEN INPUT Source-Code
           SET 88-Compile-As-Mainpgm TO TRUE
           SET 88-More-To-1st-Prog   TO TRUE
           PERFORM UNTIL 88-1st-Prog-Complete
               READ Source-Code AT END
                   CLOSE Source-Code
                   EXIT SECTION
               END-READ
               CALL 'CHECKSOURCE' USING Source-Code-Record
                                       F-Source-Record-Type
               END-CALL
               IF 88-Source-Rec-Ident
                   SET 88-1st-Prog-Complete TO TRUE
               END-IF
           END-PERFORM
           .

       072-Process-Source.
           SET 88-Source-Rec-IgnoCOB-COLOR-RED TO TRUE
           PERFORM UNTIL 88-Source-Rec-Linkage
                      OR 88-Source-Rec-Ident
               READ Source-Code AT END
                   CLOSE Source-Code
                   EXIT SECTION
               END-READ
               CALL 'CHECKSOURCE' USING Source-Code-Record
                                       F-Source-Record-Type
               END-CALL
           END-PERFORM
           CLOSE Source-Code
           IF 88-Source-Rec-Linkage
               SET 88-Compile-As-Subpgm TO TRUE
           END-IF
           .

       079-Done.
           EXIT.
      /
       100-Initialization SECTION.
      *****************************************************************
      ** Perform all program-wide initialization operations          **
      *****************************************************************


GC0909 101-Determine-OS-Type.
GC0909     CALL 'GETOSTYPE'
GC0909     END-CALL
GC0909     MOVE RETURN-CODE TO OS-Type
GC0909     EVALUATE TRUE
GC0909         WHEN OS-Unknown
GC0909             MOVE '\'         TO Dir-Char
GC0909             MOVE 'Unknown'   TO OS-Type-Literal
GC0310             MOVE COB-SCR-F11 TO CK-S-F1
GC0310             MOVE COB-SCR-F12 TO CK-S-F2
GC0310             MOVE COB-SCR-F13 TO CK-S-F3
GC0310             MOVE COB-SCR-F14 TO CK-S-F4
GC0310             MOVE COB-SCR-F15 TO CK-S-F5
GC0310             MOVE COB-SCR-F16 TO CK-S-F6
GC0310             MOVE COB-SCR-F17 TO CK-S-F7
GC0909         WHEN OS-Windows
GC0909             MOVE '\'         TO Dir-Char
GC0909             MOVE 'Windows'   TO OS-Type-Literal
GC0310             MOVE COB-SCR-F13 TO CK-S-F1
GC0310             MOVE COB-SCR-F14 TO CK-S-F2
GC0310             MOVE COB-SCR-F15 TO CK-S-F3
GC0310             MOVE COB-SCR-F16 TO CK-S-F4
GC0310             MOVE COB-SCR-F17 TO CK-S-F5
GC0310             MOVE COB-SCR-F18 TO CK-S-F6
GC0310             MOVE COB-SCR-F19 TO CK-S-F7
GC0909         WHEN OS-Cygwin
GC0909             MOVE '/'         TO Dir-Char
GC0410             MOVE 'Cygwin'    TO OS-Type-Literal
GC0310             MOVE COB-SCR-F11 TO CK-S-F1
GC0310             MOVE COB-SCR-F12 TO CK-S-F2
GC0310             MOVE COB-SCR-F13 TO CK-S-F3
GC0310             MOVE COB-SCR-F14 TO CK-S-F4
GC0310             MOVE COB-SCR-F15 TO CK-S-F5
GC0310             MOVE COB-SCR-F16 TO CK-S-F6
GC0310             MOVE COB-SCR-F17 TO CK-S-F7
GC0909         WHEN OS-UNIX
GC0909             MOVE '/'         TO Dir-Char
GC0410             MOVE 'UNIX   '   TO OS-Type-Literal
GC0310             MOVE COB-SCR-F11 TO CK-S-F1
GC0310             MOVE COB-SCR-F12 TO CK-S-F2
GC0310             MOVE COB-SCR-F13 TO CK-S-F3
GC0310             MOVE COB-SCR-F14 TO CK-S-F4
GC0310             MOVE COB-SCR-F15 TO CK-S-F5
GC0310             MOVE COB-SCR-F16 TO CK-S-F6
GC0310             MOVE COB-SCR-F17 TO CK-S-F7
GC0909     END-EVALUATE
GC0909     .

       102-Set-Environment-Vars.
           SET ENVIRONMENT 'COB_SCREEN_EXCEPTIONS' TO 'Y'
           SET ENVIRONMENT 'COB_SCREEN_ESC'        TO 'Y'
           .

       103-Generate-Cobc-Output-Fn.
           ACCEPT Env-TEMP
               FROM ENVIRONMENT "TEMP"
           END-ACCEPT
           MOVE SPACES TO Cobc-Output-File
           STRING TRIM(Env-TEMP,TRAILING)
GC0909            Dir-Char
GC0909            'OC-Messages.TXT'
                  DELIMITED SIZE
                  INTO Cobc-Output-File
           END-STRING
           .

       104-Generate-Banner-Line-Info.
           MOVE WHEN-COMPILED (1:12) TO OC-Compiled
           INSPECT OC-Compiled
               REPLACING ALL '/' BY ':'
               AFTER INITIAL SPACE
           .

       105-Establish-Switch-Settings.
           ACCEPT Command-Line-Args
               FROM COMMAND-LINE
           END-ACCEPT
           MOVE TRIM(Command-Line-Args, Leading)
             TO Command-Line-Args
           MOVE 0 TO Tally
GC0410     INSPECT Command-Line-Args TALLYING Tally FOR ALL '@'
           IF Tally = 0
               MOVE Command-Line-Args TO File-Name
               MOVE SPACES            TO Command-Line-Args
           ELSE
GC0410         UNSTRING Command-Line-Args DELIMITED BY '@'
                   INTO File-Name, Dummy
               END-UNSTRING
               INSPECT Command-Line-Args
GC0410             REPLACING FIRST '@' BY LOW-VALUES
               UNSTRING Command-Line-Args
                   DELIMITED BY LOW-VALUES
                   INTO Dummy, Cmd
               END-UNSTRING
               MOVE SPACES TO Command-Line-Args
GC0410         STRING '@' Cmd DELIMITED SIZE
                   INTO Command-Line-Args
               END-STRING
           END-IF
           IF File-Name = SPACES
               DISPLAY
                   'No program filename was specified'
               END-DISPLAY
               PERFORM 900-Terminate
           END-IF
           PERFORM 010-Parse-Args
           IF S-SUBROUTINE = 'A'
               MOVE 'S' TO Switch-Keyword
               MOVE 'A' TO Switch-Value
               PERFORM 070-Find-LINKAGE-SECTION
               IF 88-Compile-As-Subpgm
                   MOVE 'Y' TO S-SUBROUTINE
               ELSE
                   MOVE 'N' TO S-SUBROUTINE
               END-IF
           END-IF
           INSPECT S-Yes-No-Switches REPLACING ALL 'Y' BY Selection-Char
           INSPECT S-Yes-No-Switches REPLACING ALL 'N' BY ' '
           .

       106-Determine-Folder-Path.
           Move 256 TO I
GC0909     IF OS-Cygwin AND File-Name (2:1) = ':'
GC0909         MOVE '\' TO Dir-Char
GC0909     END-IF
           PERFORM UNTIL I = 0 OR FN-Char (I) = Dir-Char
               SUBTRACT 1 FROM I
           END-PERFORM
           IF I = 0
               MOVE SPACES    TO Prog-Folder
               MOVE File-Name TO Prog-File-Name
           ELSE
               MOVE '*' TO FN-Char (I)
               UNSTRING File-Name DELIMITED BY '*'
                   INTO Prog-Folder
                        Prog-File-Name
               END-UNSTRING
               MOVE Dir-Char TO FN-Char (I)
           END-IF
           UNSTRING Prog-File-Name DELIMITED BY '.'
               INTO Prog-Name, Prog-Extension
           END-UNSTRING
           IF Prog-Folder = SPACES
               ACCEPT Prog-Folder
                   FROM ENVIRONMENT 'CD'
               END-ACCEPT
GC0909     ELSE
GC0909         CALL "CBL_CHANGE_DIR"
GC0909             USING TRIM(Prog-Folder,TRAILING)
GC0909         END-CALL
           END-IF
GC0909     IF OS-Cygwin AND File-Name (2:1) = ':'
GC0909         MOVE '/' TO Dir-Char
GC0909     END-IF
           .

GC0909 107-Other.
GC0909     MOVE ALL LD-Horiz-Line TO Horizontal-Line.
GC0410     MOVE CONCATENATE(' OCic for ',
GC0410                      TRIM(OS-Type-Literal,Trailing),
GC0410                      ' Copyright (C) 2009-2010, Gary L. Cutler,',
GC0410                      ' GPL')
GC0410       TO Output-Message.
GC0909     .
GC0909
       109-Done.
           EXIT.
      /
       200-Let-User-Set-Switches SECTION.
      *****************************************************************
      ** Show the user the current switch settings and allow them to **
      ** be changed.                                                 **
      *****************************************************************

       201-Init.
           SET 88-Switch-Changes TO TRUE
           .

       202-Show-And-Change-Switches.
           PERFORM UNTIL 88-No-Switch-Changes
               ACCEPT
                   Switches-Screen
               END-ACCEPT
               IF COB-CRT-STATUS > 0
                   EVALUATE COB-CRT-STATUS
                       WHEN COB-SCR-F1
                           IF S-DEBUG = SPACE
                               MOVE Selection-Char TO S-DEBUG
                           ELSE
                               MOVE ' ' TO S-DEBUG
                           END-IF
                       WHEN COB-SCR-F2
                           IF S-DLL = SPACE
                               MOVE Selection-Char TO S-DLL
                           ELSE
                               MOVE ' ' TO S-DLL
                           END-IF
                       WHEN COB-SCR-F3
                           IF S-SUBROUTINE = SPACE
                               MOVE Selection-Char TO S-SUBROUTINE
                               MOVE ' ' TO S-EXECUTE
                           ELSE
                               MOVE ' ' TO S-SUBROUTINE
                           END-IF
                       WHEN COB-SCR-F4
                           IF  S-EXECUTE = SPACE
                           AND S-SUBROUTINE = SPACE
                               MOVE Selection-Char TO S-EXECUTE
                           ELSE
                               MOVE ' ' TO S-EXECUTE
                           END-IF
                       WHEN COB-SCR-F5
                           IF  S-NOTRUNC = SPACE
                               MOVE Selection-Char TO S-NOTRUNC
                           ELSE
                               MOVE ' ' TO S-NOTRUNC
                           END-IF
                       WHEN COB-SCR-F6
                           IF  S-TRACE = SPACE
                               MOVE Selection-Char TO S-TRACE
                               MOVE ' ' TO S-TRACEALL
                           ELSE
                               MOVE ' ' TO S-TRACE
                           END-IF
                       WHEN COB-SCR-F7
                           IF  S-TRACEALL = SPACE
                               MOVE Selection-Char TO S-TRACEALL
                               MOVE ' ' TO S-TRACE
                           ELSE
                               MOVE ' ' TO S-TRACEALL
                           END-IF
GC0410                 WHEN COB-SCR-F8
GC0410                     IF S-SOURCE = SPACE
GC0410                         MOVE Selection-Char TO S-SOURCE
GC0410                     ELSE
GC0410                         MOVE ' ' TO S-SOURCE
GC0410                     END-IF
GC0410                 WHEN COB-SCR-F9
GC0410                     IF S-XREF = SPACE
GC0410                         MOVE Selection-Char TO S-XREF
GC0410                     ELSE
GC0410                         MOVE ' ' TO S-XREF
GC0410                     END-IF
                       WHEN COB-SCR-ESC
                           PERFORM 900-Terminate
GC0310                 WHEN CK-S-F1
                           MOVE SPACES         TO S-CfgS
                           MOVE Selection-Char TO S-Cfg-BS2000
GC0310                 WHEN CK-S-F2
                           MOVE SPACES         TO S-CfgS
                           MOVE Selection-Char TO S-Cfg-COBOL85
GC0310                 WHEN CK-S-F3
                           MOVE SPACES         TO S-CfgS
                           MOVE Selection-Char TO S-Cfg-COBOL2002
GC0310                 WHEN CK-S-F4
                           MOVE SPACES         TO S-CfgS
                           MOVE Selection-Char TO S-Cfg-DEFAULT
GC0310                 WHEN CK-S-F5
                           MOVE SPACES         TO S-CfgS
                           MOVE Selection-Char TO S-Cfg-IBM
GC0310                 WHEN CK-S-F6
                           MOVE SPACES         TO S-CfgS
                           MOVE Selection-Char TO S-Cfg-MF
GC0310                 WHEN CK-S-F7
                           MOVE SPACES         TO S-CfgS
                           MOVE Selection-Char TO S-Cfg-MVS
                       WHEN OTHER
                           MOVE 'An unsupported key was pressed'
                             TO Output-Message
                   END-EVALUATE
               ELSE
                   SET 88-No-Switch-Changes TO TRUE
               END-IF
           END-PERFORM
           .

       209-Done.
           EXIT.
      /
       210-Run-Compiler SECTION.
      *****************************************************************
      ** Run the compiler using the switch settings we've prepared.  **
      *****************************************************************

       211-Init.
           MOVE SPACES TO Cmd
                          Cobc-Cmd
                          Output-Message
           DISPLAY
               Switches-Screen
           END-DISPLAY
           MOVE 1 TO I
           EVALUATE TRUE
               WHEN S-Cfg-BS2000 NOT = SPACES
                   MOVE 'bs2000' TO Config-File
               WHEN S-Cfg-COBOL85  NOT = SPACES
                   MOVE 'cobol85' TO Config-File
               WHEN  S-Cfg-COBOL2002  NOT = SPACES
                   MOVE 'cobol2002' TO Config-File
               WHEN  S-Cfg-IBM  NOT = SPACES
                   MOVE 'ibm' TO Config-File
               WHEN  S-Cfg-MF  NOT = SPACES
                   MOVE 'mf' TO Config-File
               WHEN  S-Cfg-MVS  NOT = SPACES
                   MOVE 'mvs' TO Config-File
               WHEN OTHER
                   MOVE 'default' TO Config-File
           END-EVALUATE
           .

       212-Build-Compile-Command.
GC0909    MOVE SPACES TO Cobc-Cmd
GC0909     STRING 'cobc -std='
GC0909         TRIM(Config-File,TRAILING)
GC0909         ' '
GC0909         INTO Cobc-Cmd
GC0909         WITH POINTER I
GC0909     END-STRING
           IF S-SUBROUTINE NOT = ' '
               STRING '-m '
                   DELIMITED SIZE INTO Cobc-Cmd
                   WITH POINTER I
               END-STRING
           ELSE
               STRING '-x '
                   DELIMITED SIZE INTO Cobc-Cmd
                   WITH POINTER I
               END-STRING
           END-IF
           IF S-DEBUG NOT = ' '
               STRING '-fdebugging-line '
                   DELIMITED SIZE INTO Cobc-Cmd
                   WITH POINTER I
               END-STRING
           END-IF
           IF S-NOTRUNC NOT = ' '
               STRING '-fnotrunc '
                   DELIMITED SIZE INTO Cobc-Cmd
                   WITH POINTER I
               END-STRING
           END-IF
           IF S-TRACEALL NOT = ' '
GC0809         STRING '-ftraceall '
                   DELIMITED SIZE INTO Cobc-Cmd
                   WITH POINTER I
               END-STRING
           END-IF
           IF S-TRACE NOT = ' '
               STRING '-ftrace '
                   DELIMITED SIZE INTO Cobc-Cmd
                   WITH POINTER I
               END-STRING
           END-IF

GC0709     IF S-EXTRA > SPACES
GC0709         STRING ' '
GC0709                TRIM(S-Extra,TRAILING)
GC0709                ' '
GC0709                DELIMITED SIZE INTO Cobc-Cmd
GC0709                WITH POINTER I
GC0709         END-STRING
GC0709     END-IF
GC0909     STRING TRIM(Prog-File-Name,TRAILING)
GC0909         DELIMITED SIZE INTO Cobc-Cmd
GC0909         WITH POINTER I
GC0909     END-STRING
           .

       213-Run-Compiler.
GC0410     MOVE ' Compiling...' TO Output-Message
GC0410     DISPLAY
GC0410         Switches-Screen
GC0410     END-DISPLAY
GC0609     SET 88-Output-File-Avail TO TRUE
           MOVE SPACES TO Cmd
           STRING TRIM(Cobc-Cmd,TRAILING)
                  ' 2>'
                  TRIM(Cobc-Output-File,TRAILING)
                  DELIMITED SIZE
                  INTO Cmd
           END-STRING
           CALL 'SYSTEM'
               USING TRIM(Cmd,TRAILING)
           END-CALL
GC0909     IF RETURN-CODE = 0
GC0909         SET 88-Compile-OK TO TRUE
GC0909     ELSE
GC0909         SET 88-Compile-Failed TO TRUE
GC0909     END-IF
GC0909     IF 88-Compile-OK
GC0909         OPEN INPUT Cobc-Output
GC0909         READ Cobc-Output
GC0909             AT END
GC0909                 CONTINUE
GC0909             NOT AT END
GC0909                 SET 88-Compile-OK-Warn TO TRUE
GC0909         END-READ
GC0909         CLOSE Cobc-Output
GC0909     END-IF
GC0909     MOVE SPACES TO Output-Message
           IF 88-Compile-OK
GC0909         MOVE ' Compilation Was Successful' TO Output-Message
GC0909         DISPLAY
GC0909             Switches-Screen
GC0909         END-DISPLAY
GC0909         CALL 'C$SLEEP'
GC0909             USING 2
GC0909         END-CALL
GC0909         MOVE SPACES TO Output-Message
GC0609         SET 88-Complete TO TRUE
           ELSE
GC0909         DISPLAY
GC0909             Blank-Screen
GC0909         END-DISPLAY
GC0909         IF 88-Compile-OK-Warn
GC0909             DISPLAY ' Compilation was successful, but ' &
GC0909                     'warnings were generated:'
SCROLL*                AT LINE 24 COLUMN 1
SCROLL*                WITH SCROLL UP 1 LINE
GC0909             END-DISPLAY
GC0909         ELSE
GC0909             DISPLAY 'Compilation Failed:'
SCROLL*                AT LINE 24 COLUMN 1
SCROLL*                WITH SCROLL UP 1 LINE
GC0909             END-DISPLAY
GC0909         END-IF
GC0609         SET 88-Compile-Failed TO TRUE
GC0609         SET 88-Complete TO TRUE
GC0909         DISPLAY ' '
SCROLL*            AT LINE 24 COLUMN 1
SCROLL*            WITH SCROLL UP 1 LINE
GC0909         END-DISPLAY
GC0909         OPEN INPUT Cobc-Output
GC0909         PERFORM FOREVER
GC0909             READ Cobc-Output AT END
GC0909                 EXIT PERFORM
GC0909             END-READ
GC0909             DISPLAY TRIM(Cobc-Output-Rec,TRAILING)
SCROLL*                AT LINE 24 COLUMN 1
SCROLL*                WITH SCROLL UP 1 LINE
GC0909             END-DISPLAY
GC0909         END-PERFORM
GC0909         CLOSE Cobc-Output
GC0909         DISPLAY ' '
SCROLL*            AT LINE 24 COLUMN 1
SCROLL*            WITH SCROLL UP 2 LINES
GC0909         END-DISPLAY
GC0909         DISPLAY 'Press ENTER to close:'
SCROLL*            AT LINE 24 COLUMN 1
SCROLL*            WITH SCROLL UP 1 LINE
GC0909         END-DISPLAY
GC0909         ACCEPT Dummy
GC0909             FROM CONSOLE
GC0909         END-ACCEPT
GC0909         DISPLAY
GC0909             Blank-Screen
GC0909         END-DISPLAY
           END-IF
           .

       219-Done.
           IF 88-Compile-Failed
               PERFORM 900-Terminate
           END-IF
           .
      /
GC0410 220-Make-Listing SECTION.
GC0410*****************************************************************
GC0410** Generate a source and/or xref listing using XREF            **
GC0410*****************************************************************
GC0410
GC0410 221-Init.
GC0410     MOVE ' Generating cross-reference listing...'
GC0410       TO Output-Message
GC0410     DISPLAY
GC0410         Switches-Screen
GC0410     END-DISPLAY
GC0410     CALL "CBL_DELETE_FILE"
GC0410         USING CONCATENATE(TRIM(Prog-Name,Trailing),".lst")
GC0410     END-CALL
GC0410     MOVE 0 TO RETURN-CODE
GC0410     .
GC0410
GC0410 213-Run-OCXref.
GC0410     MOVE SPACES TO Output-Message
GC0410     CALL 'LISTING'
GC0410         USING S-SOURCE
GC0410               S-XREF
GC0410               File-Name
GC0410         ON EXCEPTION
GC0410             MOVE ' LISTING module is not available'
GC0410               TO Output-Message
GC0410             MOVE 1 TO RETURN-CODE
GC0410     END-CALL
GC0410     IF RETURN-CODE = 0
GC0410         MOVE ' Listing generated'
GC0410           TO Output-Message
GC0410         IF OS-Windows OR OS-Cygwin
GC0410             MOVE SPACES TO Cmd
GC0410             STRING
GC0410                 'cmd /c '
GC0410                 TRIM(Prog-Name,TRAILING)
GC0410                 '.lst'
GC0410                 DELIMITED SIZE INTO Cmd
GC0410             END-STRING
GC0410             CALL 'SYSTEM'
GC0410                 USING TRIM(Cmd,TRAILING)
GC0410             END-CALL
GC0410         END-IF
GC0410     ELSE
GC0410         IF Output-Message = SPACES
GC0410             MOVE ' Listing generation failed'
GC0410               TO Output-Message
GC0410         END-IF
GC0410     END-IF
GC0410     DISPLAY
GC0410         Switches-Screen
GC0410     END-DISPLAY
GC0410     CALL 'C$SLEEP'
GC0410         USING 2
GC0410     END-CALL
GC0410     .
      /
       230-Run-Program SECTION.
      *****************************************************************
      ** Run the compiled program                                    **
      *****************************************************************

       232-Build-Command.
GC0909     MOVE SPACES TO Cmd
GC0909     MOVE 1 TO I
           IF S-SUBROUTINE NOT = ' '
           OR S-DLL NOT = ' '
               STRING 'cobcrun ' DELIMITED SIZE
                      INTO Cmd
                      WITH POINTER I
               END-STRING
           END-IF
           IF Prog-Folder NOT = SPACES
GC0909         IF OS-Cygwin AND Prog-Folder (2:1) = ':'
GC0909             STRING '/cygdrive/'
GC0909                 INTO Cmd
GC0909                 WITH POINTER I
GC0909             END-STRING
GC0909             STRING LOWER-CASE(Prog-Folder (1:1))
GC0909                 INTO Cmd
GC0909                 WITH POINTER I
GC0909             END-STRING
GC0909             PERFORM VARYING J FROM 3 BY 1
GC0909                       UNTIL J > LENGTH(TRIM(Prog-Folder))
GC0909                 IF Prog-Folder (J:1) = '\'
GC0909                     STRING '/'
GC0909                         INTO Cmd
GC0909                         WITH POINTER I
GC0909                     END-STRING
GC0909                 ELSE
GC0909                     STRING Prog-Folder (J:1)
GC0909                         INTO Cmd
GC0909                         WITH POINTER I
GC0909                     END-STRING
GC0909                 END-IF
GC0909             END-PERFORM
GC0909         ELSE
GC0410             STRING '"' TRIM(Prog-Folder,TRAILING)
GC0909                 INTO Cmd
GC0909                 WITH POINTER I
GC0909             END-STRING
GC0909         END-IF
GC0909         STRING Dir-Char
GC0909             INTO Cmd
GC0909             WITH POINTER I
GC0909         END-STRING
GC0909     ELSE
GC0909         IF OS-Cygwin OR OS-UNIX
GC0909             STRING './'
GC0909                 INTO Cmd
GC0909                 WITH POINTER I
GC0909             END-STRING
GC0909         END-IF
           END-IF
GC0909     STRING TRIM(Prog-Name,TRAILING)
GC0909         INTO Cmd
GC0909         WITH POINTER I
GC0909     END-STRING
GC0909     IF S-SUBROUTINE = ' '
GC0909     AND S-DLL NOT = ' '
GC0909         STRING '.exe' DELIMITED SIZE
                      INTO Cmd
                      WITH POINTER I
               END-STRING
           END-IF
           IF S-ARGS NOT = SPACES
GC0809         STRING ' ' TRIM(S-ARGS,TRAILING)
                   INTO Cmd
                   WITH POINTER I
               END-STRING
           END-IF
           IF OS-Unknown OR OS-Windows
GC0410         STRING '"&&pause'
                   INTO Cmd
                   WITH POINTER I
               END-STRING
           ELSE
               STRING ';echo "Press ENTER to close...";read'
                   INTO Cmd
                   WITH POINTER I
               END-STRING
           END-IF
           .

       233-Run-Program.
GC0909     DISPLAY
GC0909         Blank-Screen
GC0909     END-DISPLAY

           CALL 'SYSTEM'
               USING TRIM(Cmd,TRAILING)
           END-CALL
           PERFORM 900-Terminate
           .

       239-Done.
           EXIT.
      /
       900-Terminate SECTION.
      *****************************************************************
      ** Display a message and halt the program                      **
      *****************************************************************

       901-Display-Message.
GC0909     IF Output-Message > SPACES
GC0909         DISPLAY
GC0909             Switches-Screen
GC0909         END-DISPLAY
GC0909         CALL 'C$SLEEP'
GC0909             USING 2
GC0909         END-CALL
GC0909     END-IF
           DISPLAY
               Blank-Screen
           END-DISPLAY
           .

       909-Done.
           GOBACK
           .

       END PROGRAM OCic.

       IDENTIFICATION DIVISION.
       PROGRAM-ID.  GETOSTYPE.
      *****************************************************************
      ** This subprogram determine the OS type the program is run-   **
      ** ning under, passing that result back in RETURN-CODE as fol- **
      ** lows:                                                       **
      **                                                             **
      ** 0:   Cannot be determined                                   **
      ** 1:   Native Windows or Windows/MinGW                        **
      ** 2:   Cygwin                                                 **
      ** 3:   UNIX/Linux/MacOS                                       **
      *****************************************************************
      **  DATE  CHANGE DESCRIPTION                                   **
      ** ====== ==================================================== **
      ** GC0909 Initial coding.                                      **
      *****************************************************************
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION ALL INTRINSIC.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  Env-Path                    PIC X(1024).
       01  Tally                       USAGE BINARY-LONG.
       PROCEDURE DIVISION.
       000-Main SECTION.
       010-Get-TEMP-Var.
           MOVE SPACES TO Env-Path
           ACCEPT Env-Path
               FROM ENVIRONMENT "PATH"
               ON EXCEPTION
                   MOVE 0 TO RETURN-CODE
                   GOBACK
           END-ACCEPT
           IF Env-Path = SPACES
               MOVE 0 TO RETURN-CODE
           ELSE
               MOVE 0 TO Tally
               INSPECT Env-Path
                   TALLYING Tally FOR ALL ";"
               IF Tally = 0 *> Must be some form of UNIX
                   MOVE 0 TO Tally
                   INSPECT Env-Path
                       TALLYING TALLY FOR ALL "/cygdrive/"
                   IF Tally = 0 *> UNIX/MacOS
                       MOVE 3 TO RETURN-CODE
                   ELSE *> Cygwin
                       MOVE 2 TO RETURN-CODE
                   END-IF
               ELSE *> Assume Windows[/MinGW]
                   MOVE 1 TO RETURN-CODE
               END-IF
           END-IF
           GOBACK
           .
       END PROGRAM GETOSTYPE.

       IDENTIFICATION DIVISION.
       PROGRAM-ID.  CHECKSOURCE.
      *****************************************************************
      ** This subprogram will scan a line of source code it is given **
      ** looking for "LINKAGE SECTION" or "IDENTIFICATION DIVISION". **
      **                                                             **
      **  ****NOTE****   ****NOTE****    ****NOTE****   ****NOTE***  **
      **                                                             **
      ** These two strings must be found IN THEIR ENTIRETY within    **
      ** the 1st 80 columns of program source records, and cannot    **
      ** follow either a "*>" sequence OR a "*" in col 7.            **
      *****************************************************************
      **  DATE  CHANGE DESCRIPTION                                   **
      ** ====== ==================================================== **
      ** GC0809 Initial coding.                                      **
      *****************************************************************
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION ALL INTRINSIC.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  Compressed-Src.
           05 CS-Char                  OCCURS 80 TIMES PIC X(1).

       01  Flags.
           05 F-Found-SPACE            PIC X(1).
              88 88-Skipping-SPACE     VALUE 'Y'.
              88 88-Not-Skipping-SPACE VALUE 'N'.

       01  I                           USAGE BINARY-CHAR.

       01  J                           USAGE BINARY-CHAR.
       LINKAGE SECTION.
       01  Argument-1.
           02 A1-Char                  OCCURS 80 TIMES PIC X(1).

       01  Argument-2                  PIC X(1).
           88 88-A2-LINKAGE-SECTION         VALUE 'L'.
           88 88-A2-IDENTIFICATION-DIVISION VALUE 'I'.
           88 88-A2-Nothing-Special         VALUE ' '.
       PROCEDURE DIVISION USING Argument-1, Argument-2.
       000-Main SECTION.

       010-Initialize.
           SET 88-A2-Nothing-Special TO TRUE
           IF A1-Char (7) = '*'
               GOBACK
           END-IF
           .

       020-Compress-Multiple-SPACES.
           SET 88-Not-Skipping-SPACE TO TRUE
           MOVE 0 TO J
           MOVE SPACES TO Compressed-Src
           PERFORM VARYING I FROM 1 BY 1
                     UNTIL I > 80
               IF A1-Char (I) = SPACE
                   IF 88-Not-Skipping-SPACE
                       ADD 1 TO J
                       MOVE UPPER-CASE(A1-Char (I)) TO CS-Char (J)
                       SET 88-Skipping-SPACE TO TRUE
                   END-IF
               ELSE
                   SET 88-Not-Skipping-SPACE TO TRUE
                   ADD 1 TO J
                   MOVE A1-Char (I) TO CS-Char (J)
               END-IF
           END-PERFORM
           .

       030-Scan-Compressed-Src.
           PERFORM VARYING I FROM 1 BY 1
                     UNTIL I > 66
               EVALUATE TRUE
                   WHEN CS-Char (I) = '*'
                       IF Compressed-Src (I : 2) = '*>'
                           GOBACK
                       END-IF
                   WHEN (CS-Char (I) = 'L') AND (I < 66)
                       IF Compressed-Src (I : 15) = 'LINKAGE SECTION'
                           SET 88-A2-LINKAGE-SECTION TO TRUE
                           GOBACK
                       END-IF
                   WHEN (CS-Char (I) = 'I') AND (I < 58)
                       IF Compressed-Src (I : 23) = 'IDENTIFICATION ' &
                                                       'DIVISION'
                           SET 88-A2-IDENTIFICATION-DIVISION TO TRUE
                           GOBACK
                       END-IF
               END-EVALUATE
           END-PERFORM
           .

       099-Never-Found-Either-One.
           GOBACK
           .
       END PROGRAM CHECKSOURCE.

       IDENTIFICATION DIVISION.
       PROGRAM-ID.  LISTING.
      *****************************************************************
      ** This subprogram generates a cross-reference listing of an   **
      ** OpenCOBOL program.                                          **
      **                                                             **
      ** Linkage:      CALL "LISTING" USING <source>                 **
      **                                    <xref>                   **
      **                                    <filename>               **
      **                                                             **
      **               Where:                                        **
      **                  <source>   is a PIC X(1) flag indicating   **
      **                             whether or not a source listing **
      **                             should be produced (space=NO,   **
      **                             non-space=yes)                  **
      **                  <xref>     is a PIC X(1) flag indicating   **
      **                             whether or not an xref listing  **
      **                             should be produced (space=NO,   **
      **                             non-space=yes)                  **
      **                  <filename> is the [path]filename of the    **
      **                             program being listed and/or     **
      **                             xreffed in a PIC X(256) form.   **
      *****************************************************************
      **                                                             **
      ** AUTHOR:       GARY L. CUTLER                                **
      **               CutlerGL@gmail.com                            **
      **               Copyright (C) 2010, Gary L. Cutler, GPL       **
      **                                                             **
      ** DATE-WRITTEN: April 1, 2010                                 **
      **                                                             **
      *****************************************************************
      **  DATE  CHANGE DESCRIPTION                                   **
      ** ====== ==================================================== **
      ** GC0410 Initial coding                                       **
      ** GC0710 Handle duplicate data names (i.e. "CORRESPONDING" or **
      **        qualified items) better; ignore "END PROGRAM" recs   **
      **        so program name doesn't appear in listing.           **
      *****************************************************************
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION ALL INTRINSIC.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT Expand-Code          ASSIGN TO Expanded-Src-Filename
                                       ORGANIZATION IS LINE SEQUENTIAL.
           SELECT Report-File          ASSIGN TO Report-Filename
                                       ORGANIZATION IS LINE SEQUENTIAL.
           SELECT Sort-File            ASSIGN TO DISK.
           SELECT Source-Code          ASSIGN TO Src-Filename
                                       ORGANIZATION IS LINE SEQUENTIAL.
       DATA DIVISION.
       FILE SECTION.
       FD  Expand-Code.
       01  Expand-Code-Rec.
           05 ECR-1                    PIC X.
           05 ECR-2-256                PIC X(256).
       01  Expand-Code-Rec-Alt.
           05 ECR-1-128                PIC X(128).
           05 ECR-129-256              PIC X(128).

       FD  Report-File.
       01  Report-Rec                  PIC X(135).

       SD  Sort-File.
       01  Sort-Rec.
           05 SR-Prog-ID               PIC X(15).
           05 SR-Token-UC              PIC X(32).
           05 SR-Token                 PIC X(32).
           05 SR-Section               PIC X(15).
           05 SR-Line-No-Def           PIC 9(6).
           05 SR-Reference.
              10 SR-Line-No-Ref        PIC 9(6).
              10 SR-Ref-Flag           PIC X(1).

       FD  Source-Code.
       01  Source-Code-Rec.
GC0410     05 SCR-1-128.
GC0410        10 FILLER                PIC X(6).
GC0410        10 SCR-7                 PIC X(1).
GC0410        10 FILLER                PIC X(121).
           05 SCR-129-256              PIC X(128).

       WORKING-STORAGE SECTION.
       78  Line-Nos-Per-Rec            VALUE 8.

       01  Cmd                         PIC X(256).

       01  Delim                       PIC X(2).

       01  Detail-Line-S.
           05 DLS-Line-No              PIC ZZZZZ9.
           05 FILLER                   PIC X(1).
           05 DLS-Statement            PIC X(128).

       01  Detail-Line-X.
           05 DLX-Prog-ID              PIC X(15).
           05 FILLER                   PIC X(1).
           05 DLX-Token                PIC X(32).
           05 FILLER                   PIC X(1).
           05 DLX-Line-No-Def          PIC ZZZZZ9.
           05 FILLER                   PIC X(1).
           05 DLX-Section              PIC X(15).
           05 FILLER                   PIC X(1).
           05 DLX-Reference            OCCURS Line-Nos-Per-Rec TIMES.
              10 DLX-Line-No-Ref       PIC ZZZZZ9.
              10 DLX-Ref-Flag          PIC X(1).
              10 FILLER                PIC X(1).

       01  Dummy                       PIC X(1).

       01  Env-TEMP                    PIC X(256).

       01  Expanded-Src-Filename       PIC X(256).

       01  Filename                    PIC X(256).

       01  Flags.
GC0710     05 F-Duplicate              PIC X(1).
           05 F-First-Record           PIC X(1).
           05 F-In-Which-Pgm           PIC X(1).
              88 In-Main-Module        VALUE 'M'.
              88 In-Copybook           VALUE 'C'.
           05 F-Last-Token-Ended-Sent  PIC X(1).
           05 F-Processing-PICTURE     PIC X(1).
           05 F-Token-Ended-Sentence   PIC X(1).
GC0710     05 F-Verb-Has-Been-Found    PIC X(1).

       01  Group-Indicators.
           05 GI-Prog-ID               PIC X(15).
           05 GI-Token                 PIC X(32).

       01  Heading-1S.
           05 FILLER                   PIC X(125) VALUE
              "OpenCOBOL 1.1 06FEB2009 Source Listing - " &
              "OCic Copyright (C) 2009-2010, Gary L. Cutler, GPL".
           05 H1S-Date                 PIC 9999/99/99.

       01  Heading-1X.
           05 FILLER                   PIC X(125) VALUE
              "OpenCOBOL 1.1 06FEB2009 Cross-Reference Listing - " &
              "OCic Copyright (C) 2009-2010, Gary L. Cutler, GPL".
           05 H1X-Date                 PIC 9999/99/99.

       01  Heading-2                   PIC X(135).

       01  Heading-4S                  PIC X(16) VALUE
           "Line   Statement".

       01  Heading-4X                  PIC X(96) VALUE
           "PROGRAM-ID      Identifier/Register/Function     Defn   Wher
      -    "e Defined   References (* = Updated)".

       01  Heading-5S                  PIC X(135) VALUE
           "====== =====================================================
      -    "============================================================
      -    "===============".

       01  Heading-5X                  PIC X(135) VALUE
           "=============== ================================ ====== ====
      -    "=========== ================================================
      -    "===============".

       01  Held-Reference              PIC X(100).

       01  I                           USAGE BINARY-LONG.

       01  J                           USAGE BINARY-LONG.

       01  Lines-Left                  USAGE BINARY-LONG.

       01  Lines-Per-Page              USAGE BINARY-LONG.

       01  Lines-Per-Page-ENV          PIC X(256).

       01  Num-UserNames               USAGE BINARY-LONG.

       01  PIC-X10                     PIC X(10).

       01  PIC-X32                     PIC X(32).

       01  PIC-X256                    PIC X(256).

       01  Program-Path                PIC X(256).

       01  Report-Filename             PIC X(256).

       01  Reserved-Words.
           05 FILLER PIC X(33) VALUE "IABS".
           05 FILLER PIC X(33) VALUE "VACCEPT".
           05 FILLER PIC X(33) VALUE " ACCESS".
           05 FILLER PIC X(33) VALUE "IACOS".
           05 FILLER PIC X(33) VALUE " ACTIVE-CLASS".
           05 FILLER PIC X(33) VALUE "VADD".
           05 FILLER PIC X(33) VALUE " ADDRESS".
           05 FILLER PIC X(33) VALUE " ADVANCING".
           05 FILLER PIC X(33) VALUE "KAFTER".
           05 FILLER PIC X(33) VALUE " ALIGNED".
           05 FILLER PIC X(33) VALUE " ALL".
           05 FILLER PIC X(33) VALUE "VALLOCATE".
           05 FILLER PIC X(33) VALUE " ALPHABET".
           05 FILLER PIC X(33) VALUE " ALPHABETIC".
           05 FILLER PIC X(33) VALUE " ALPHABETIC-LOWER".
           05 FILLER PIC X(33) VALUE " ALPHABETIC-UPPER".
           05 FILLER PIC X(33) VALUE " ALPHANUMERIC".
           05 FILLER PIC X(33) VALUE " ALPHANUMERIC-EDITED".
           05 FILLER PIC X(33) VALUE " ALSO".
           05 FILLER PIC X(33) VALUE "VALTER".
           05 FILLER PIC X(33) VALUE " ALTERNATE".
           05 FILLER PIC X(33) VALUE " AND".
           05 FILLER PIC X(33) VALUE "IANNUITY".
           05 FILLER PIC X(33) VALUE " ANY".
           05 FILLER PIC X(33) VALUE " ANYCASE".
           05 FILLER PIC X(33) VALUE " ARE".
           05 FILLER PIC X(33) VALUE " AREA".
           05 FILLER PIC X(33) VALUE " AREAS".
           05 FILLER PIC X(33) VALUE " ARGUMENT-NUMBER".
           05 FILLER PIC X(33) VALUE " ARGUMENT-VALUE".
           05 FILLER PIC X(33) VALUE " AS".
           05 FILLER PIC X(33) VALUE " ASCENDING".
           05 FILLER PIC X(33) VALUE "IASIN".
           05 FILLER PIC X(33) VALUE " ASSIGN".
           05 FILLER PIC X(33) VALUE " AT".
           05 FILLER PIC X(33) VALUE "IATAN".
           05 FILLER PIC X(33) VALUE " AUTHOR".
           05 FILLER PIC X(33) VALUE " AUTO".
           05 FILLER PIC X(33) VALUE " AUTO-SKIP".
           05 FILLER PIC X(33) VALUE " AUTOMATIC".
           05 FILLER PIC X(33) VALUE " AUTOTERMINATE".
           05 FILLER PIC X(33) VALUE " BACKGROUND-COLOR".
           05 FILLER PIC X(33) VALUE " BASED".
           05 FILLER PIC X(33) VALUE " BEEP".
           05 FILLER PIC X(33) VALUE " BEFORE".
           05 FILLER PIC X(33) VALUE " BELL".
           05 FILLER PIC X(33) VALUE " BINARY".
           05 FILLER PIC X(33) VALUE " BINARY-C-LONG".
           05 FILLER PIC X(33) VALUE " BINARY-CHAR".
           05 FILLER PIC X(33) VALUE " BINARY-DOUBLE".
           05 FILLER PIC X(33) VALUE " BINARY-LONG".
           05 FILLER PIC X(33) VALUE " BINARY-SHORT".
           05 FILLER PIC X(33) VALUE " BIT".
           05 FILLER PIC X(33) VALUE " BLANK".
           05 FILLER PIC X(33) VALUE " BLINK".
           05 FILLER PIC X(33) VALUE " BLOCK".
           05 FILLER PIC X(33) VALUE " BOOLEAN".
           05 FILLER PIC X(33) VALUE " BOTTOM".
           05 FILLER PIC X(33) VALUE "YBY".
           05 FILLER PIC X(33) VALUE "IBYTE-LENGTH".
           05 FILLER PIC X(33) VALUE "MC01".
           05 FILLER PIC X(33) VALUE "MC02".
           05 FILLER PIC X(33) VALUE "MC03".
           05 FILLER PIC X(33) VALUE "MC04".
           05 FILLER PIC X(33) VALUE "MC05".
           05 FILLER PIC X(33) VALUE "MC06".
           05 FILLER PIC X(33) VALUE "MC07".
           05 FILLER PIC X(33) VALUE "MC08".
           05 FILLER PIC X(33) VALUE "MC09".
           05 FILLER PIC X(33) VALUE "MC10".
           05 FILLER PIC X(33) VALUE "MC11".
           05 FILLER PIC X(33) VALUE "MC12".
           05 FILLER PIC X(33) VALUE "VCALL".
           05 FILLER PIC X(33) VALUE "VCANCEL".
           05 FILLER PIC X(33) VALUE " CF".
           05 FILLER PIC X(33) VALUE " CH".
           05 FILLER PIC X(33) VALUE " CHAINING".
           05 FILLER PIC X(33) VALUE "ICHAR".
           05 FILLER PIC X(33) VALUE " CHARACTER".
           05 FILLER PIC X(33) VALUE " CHARACTERS".
           05 FILLER PIC X(33) VALUE " CLASS".
           05 FILLER PIC X(33) VALUE " CLASS-ID".
           05 FILLER PIC X(33) VALUE "VCLOSE".
           05 FILLER PIC X(33) VALUE "ICOB-CRT-STATUS".
           05 FILLER PIC X(33) VALUE " CODE".
           05 FILLER PIC X(33) VALUE " CODE-SET".
           05 FILLER PIC X(33) VALUE " COL".
           05 FILLER PIC X(33) VALUE " COLLATING".
           05 FILLER PIC X(33) VALUE " COLS".
           05 FILLER PIC X(33) VALUE " COLUMN".
           05 FILLER PIC X(33) VALUE " COLUMNS".
           05 FILLER PIC X(33) VALUE "ICOMBINED-DATETIME".
           05 FILLER PIC X(33) VALUE " COMMA".
           05 FILLER PIC X(33) VALUE " COMMAND-LINE".
           05 FILLER PIC X(33) VALUE "VCOMMIT".
           05 FILLER PIC X(33) VALUE " COMMON".
           05 FILLER PIC X(33) VALUE " COMP".
           05 FILLER PIC X(33) VALUE " COMP-1".
           05 FILLER PIC X(33) VALUE " COMP-2".
           05 FILLER PIC X(33) VALUE " COMP-3".
           05 FILLER PIC X(33) VALUE " COMP-4".
           05 FILLER PIC X(33) VALUE " COMP-5".
           05 FILLER PIC X(33) VALUE " COMP-X".
           05 FILLER PIC X(33) VALUE " COMPUTATIONAL".
           05 FILLER PIC X(33) VALUE " COMPUTATIONAL-1".
           05 FILLER PIC X(33) VALUE " COMPUTATIONAL-2".
           05 FILLER PIC X(33) VALUE " COMPUTATIONAL-3".
           05 FILLER PIC X(33) VALUE " COMPUTATIONAL-4".
           05 FILLER PIC X(33) VALUE " COMPUTATIONAL-5".
           05 FILLER PIC X(33) VALUE " COMPUTATIONAL-X".
           05 FILLER PIC X(33) VALUE "VCOMPUTE".
           05 FILLER PIC X(33) VALUE "ICONCATENATE".
           05 FILLER PIC X(33) VALUE " CONDITION".
           05 FILLER PIC X(33) VALUE "KCONFIGURATION".
           05 FILLER PIC X(33) VALUE "MCONSOLE".
           05 FILLER PIC X(33) VALUE " CONSTANT".
           05 FILLER PIC X(33) VALUE " CONTAINS".
           05 FILLER PIC X(33) VALUE " CONTENT".
           05 FILLER PIC X(33) VALUE "VCONTINUE".
           05 FILLER PIC X(33) VALUE " CONTROL".
           05 FILLER PIC X(33) VALUE " CONTROLS".
           05 FILLER PIC X(33) VALUE "KCONVERTING".
           05 FILLER PIC X(33) VALUE " COPY".
           05 FILLER PIC X(33) VALUE " CORR".
           05 FILLER PIC X(33) VALUE " CORRESPONDING".
           05 FILLER PIC X(33) VALUE "ICOS".
           05 FILLER PIC X(33) VALUE "KCOUNT".
           05 FILLER PIC X(33) VALUE " CRT".
           05 FILLER PIC X(33) VALUE " CURRENCY".
           05 FILLER PIC X(33) VALUE "ICURRENT-DATE".
           05 FILLER PIC X(33) VALUE " CURSOR".
           05 FILLER PIC X(33) VALUE " CYCLE".
           05 FILLER PIC X(33) VALUE "KDATA".
           05 FILLER PIC X(33) VALUE " DATA-POINTER".
           05 FILLER PIC X(33) VALUE " DATE".
           05 FILLER PIC X(33) VALUE " DATE-COMPILED".
           05 FILLER PIC X(33) VALUE " DATE-MODIFIED".
           05 FILLER PIC X(33) VALUE "IDATE-OF-INTEGER".
           05 FILLER PIC X(33) VALUE "IDATE-TO-YYYYMMDD".
           05 FILLER PIC X(33) VALUE " DATE-WRITTEN".
           05 FILLER PIC X(33) VALUE " DAY".
           05 FILLER PIC X(33) VALUE "IDAY-OF-INTEGER".
           05 FILLER PIC X(33) VALUE " DAY-OF-WEEK".
           05 FILLER PIC X(33) VALUE "IDAY-TO-YYYYDDD".
           05 FILLER PIC X(33) VALUE " DE".
           05 FILLER PIC X(33) VALUE " DEBUGGING".
           05 FILLER PIC X(33) VALUE " DECIMAL-POINT".
           05 FILLER PIC X(33) VALUE " DECLARATIVES".
           05 FILLER PIC X(33) VALUE " DEFAULT".
           05 FILLER PIC X(33) VALUE "VDELETE".
           05 FILLER PIC X(33) VALUE " DELIMITED".
           05 FILLER PIC X(33) VALUE "KDELIMITER".
           05 FILLER PIC X(33) VALUE " DEPENDING".
           05 FILLER PIC X(33) VALUE " DESCENDING".
           05 FILLER PIC X(33) VALUE " DESTINATION".
           05 FILLER PIC X(33) VALUE " DETAIL".
           05 FILLER PIC X(33) VALUE " DISABLE".
           05 FILLER PIC X(33) VALUE " DISK".
           05 FILLER PIC X(33) VALUE "VDISPLAY".
           05 FILLER PIC X(33) VALUE "VDIVIDE".
           05 FILLER PIC X(33) VALUE "KDIVISION".
           05 FILLER PIC X(33) VALUE "KDOWN".
           05 FILLER PIC X(33) VALUE " DUPLICATES".
           05 FILLER PIC X(33) VALUE " DYNAMIC".
           05 FILLER PIC X(33) VALUE "IE".
           05 FILLER PIC X(33) VALUE " EBCDIC".
           05 FILLER PIC X(33) VALUE " EC".
           05 FILLER PIC X(33) VALUE "VELSE".
GC0710     05 FILLER PIC X(33) VALUE "KEND".
           05 FILLER PIC X(33) VALUE " END-ACCEPT".
           05 FILLER PIC X(33) VALUE " END-ADD".
           05 FILLER PIC X(33) VALUE " END-CALL".
           05 FILLER PIC X(33) VALUE " END-COMPUTE".
           05 FILLER PIC X(33) VALUE " END-DELETE".
           05 FILLER PIC X(33) VALUE " END-DISPLAY".
           05 FILLER PIC X(33) VALUE " END-DIVIDE".
           05 FILLER PIC X(33) VALUE " END-EVALUATE".
           05 FILLER PIC X(33) VALUE " END-IF".
           05 FILLER PIC X(33) VALUE " END-MULTIPLY".
           05 FILLER PIC X(33) VALUE " END-OF-PAGE".
           05 FILLER PIC X(33) VALUE " END-PERFORM".
           05 FILLER PIC X(33) VALUE " END-READ".
           05 FILLER PIC X(33) VALUE " END-RETURN".
           05 FILLER PIC X(33) VALUE " END-REWRITE".
           05 FILLER PIC X(33) VALUE " END-SEARCH".
           05 FILLER PIC X(33) VALUE " END-START".
           05 FILLER PIC X(33) VALUE " END-STRING".
           05 FILLER PIC X(33) VALUE " END-SUBTRACT".
           05 FILLER PIC X(33) VALUE " END-UNSTRING".
           05 FILLER PIC X(33) VALUE " END-WRITE".
           05 FILLER PIC X(33) VALUE "VENTRY".
           05 FILLER PIC X(33) VALUE "KENVIRONMENT".
           05 FILLER PIC X(33) VALUE " ENVIRONMENT-NAME".
           05 FILLER PIC X(33) VALUE " ENVIRONMENT-VALUE".
           05 FILLER PIC X(33) VALUE " EO".
           05 FILLER PIC X(33) VALUE " EOL".
           05 FILLER PIC X(33) VALUE " EOP".
           05 FILLER PIC X(33) VALUE " EOS".
           05 FILLER PIC X(33) VALUE " EQUAL".
           05 FILLER PIC X(33) VALUE "KEQUALS".
           05 FILLER PIC X(33) VALUE " ERASE".
           05 FILLER PIC X(33) VALUE " ERROR".
           05 FILLER PIC X(33) VALUE " ESCAPE".
           05 FILLER PIC X(33) VALUE "VEVALUATE".
           05 FILLER PIC X(33) VALUE " EXCEPTION".
           05 FILLER PIC X(33) VALUE "IEXCEPTION-FILE".
           05 FILLER PIC X(33) VALUE "IEXCEPTION-LOCATION".
           05 FILLER PIC X(33) VALUE " EXCEPTION-OBJECT".
           05 FILLER PIC X(33) VALUE "IEXCEPTION-STATEMENT".
           05 FILLER PIC X(33) VALUE "IEXCEPTION-STATUS".
           05 FILLER PIC X(33) VALUE " EXCLUSIVE".
           05 FILLER PIC X(33) VALUE "VEXIT".
           05 FILLER PIC X(33) VALUE "IEXP".
           05 FILLER PIC X(33) VALUE "IEXP10".
           05 FILLER PIC X(33) VALUE " EXTEND".
           05 FILLER PIC X(33) VALUE " EXTERNAL".
           05 FILLER PIC X(33) VALUE "IFACTORIAL".
           05 FILLER PIC X(33) VALUE " FACTORY".
           05 FILLER PIC X(33) VALUE " FALSE".
           05 FILLER PIC X(33) VALUE "KFD".
           05 FILLER PIC X(33) VALUE "KFILE".
           05 FILLER PIC X(33) VALUE " FILE-CONTROL".
           05 FILLER PIC X(33) VALUE " FILE-ID".
           05 FILLER PIC X(33) VALUE " FILLER".
           05 FILLER PIC X(33) VALUE " FINAL".
           05 FILLER PIC X(33) VALUE " FIRST".
           05 FILLER PIC X(33) VALUE " FLOAT-BINARY-16".
           05 FILLER PIC X(33) VALUE " FLOAT-BINARY-34".
           05 FILLER PIC X(33) VALUE " FLOAT-BINARY-7".
           05 FILLER PIC X(33) VALUE " FLOAT-DECIMAL-16".
           05 FILLER PIC X(33) VALUE " FLOAT-DECIMAL-34".
           05 FILLER PIC X(33) VALUE " FLOAT-EXTENDED".
           05 FILLER PIC X(33) VALUE " FLOAT-LONG".
           05 FILLER PIC X(33) VALUE " FLOAT-SHORT".
           05 FILLER PIC X(33) VALUE " FOOTING".
           05 FILLER PIC X(33) VALUE " FOR".
           05 FILLER PIC X(33) VALUE " FOREGROUND-COLOR".
           05 FILLER PIC X(33) VALUE " FOREVER".
           05 FILLER PIC X(33) VALUE " FORMAT".
           05 FILLER PIC X(33) VALUE "MFORMFEED".
           05 FILLER PIC X(33) VALUE "IFRACTION-PART".
           05 FILLER PIC X(33) VALUE "VFREE".
           05 FILLER PIC X(33) VALUE " FROM".
           05 FILLER PIC X(33) VALUE " FULL".
           05 FILLER PIC X(33) VALUE " FUNCTION".
           05 FILLER PIC X(33) VALUE " FUNCTION-ID".
           05 FILLER PIC X(33) VALUE " FUNCTION-POINTER".
           05 FILLER PIC X(33) VALUE "VGENERATE".
           05 FILLER PIC X(33) VALUE " GET".
           05 FILLER PIC X(33) VALUE "KGIVING".
           05 FILLER PIC X(33) VALUE " GLOBAL".
           05 FILLER PIC X(33) VALUE "VGO".
           05 FILLER PIC X(33) VALUE "VGOBACK".
           05 FILLER PIC X(33) VALUE " GREATER".
           05 FILLER PIC X(33) VALUE " GROUP".
           05 FILLER PIC X(33) VALUE " GROUP-USAGE".
           05 FILLER PIC X(33) VALUE " HEADING".
           05 FILLER PIC X(33) VALUE " HIGH-VALUE".
           05 FILLER PIC X(33) VALUE " HIGH-VALUES".
           05 FILLER PIC X(33) VALUE " HIGHLIGHT".
           05 FILLER PIC X(33) VALUE " I-O".
           05 FILLER PIC X(33) VALUE " I-O-CONTROL".
           05 FILLER PIC X(33) VALUE "KID".
           05 FILLER PIC X(33) VALUE "KIDENTIFICATION".
           05 FILLER PIC X(33) VALUE "VIF".
           05 FILLER PIC X(33) VALUE " IGNORE".
           05 FILLER PIC X(33) VALUE " IGNORING".
           05 FILLER PIC X(33) VALUE " IN".
           05 FILLER PIC X(33) VALUE " INDEX".
           05 FILLER PIC X(33) VALUE "KINDEXED".
           05 FILLER PIC X(33) VALUE " INDICATE".
           05 FILLER PIC X(33) VALUE " INFINITY".
           05 FILLER PIC X(33) VALUE " INHERITS".
           05 FILLER PIC X(33) VALUE " INITIAL".
           05 FILLER PIC X(33) VALUE " INITIALISED".
           05 FILLER PIC X(33) VALUE "VINITIALIZE".
           05 FILLER PIC X(33) VALUE " INITIALIZED".
           05 FILLER PIC X(33) VALUE "VINITIATE".
           05 FILLER PIC X(33) VALUE " INPUT".
           05 FILLER PIC X(33) VALUE "KINPUT-OUTPUT".
           05 FILLER PIC X(33) VALUE "VINSPECT".
           05 FILLER PIC X(33) VALUE " INSTALLATION".
           05 FILLER PIC X(33) VALUE "IINTEGER".
           05 FILLER PIC X(33) VALUE "IINTEGER-OF-DATE".
           05 FILLER PIC X(33) VALUE "IINTEGER-OF-DAY".
           05 FILLER PIC X(33) VALUE "IINTEGER-PART".
           05 FILLER PIC X(33) VALUE " INTERFACE".
           05 FILLER PIC X(33) VALUE " INTERFACE-ID".
           05 FILLER PIC X(33) VALUE "KINTO".
           05 FILLER PIC X(33) VALUE " INTRINSIC".
           05 FILLER PIC X(33) VALUE " INVALID".
           05 FILLER PIC X(33) VALUE " INVOKE".
           05 FILLER PIC X(33) VALUE " IS".
           05 FILLER PIC X(33) VALUE " JUST".
           05 FILLER PIC X(33) VALUE " JUSTIFIED".
           05 FILLER PIC X(33) VALUE " KEY".
           05 FILLER PIC X(33) VALUE " LABEL".
           05 FILLER PIC X(33) VALUE " LAST".
           05 FILLER PIC X(33) VALUE " LEADING".
           05 FILLER PIC X(33) VALUE " LEFT".
           05 FILLER PIC X(33) VALUE " LEFT-JUSTIFY".
           05 FILLER PIC X(33) VALUE "ILENGTH".
           05 FILLER PIC X(33) VALUE " LESS".
           05 FILLER PIC X(33) VALUE " LIMIT".
           05 FILLER PIC X(33) VALUE " LIMITS".
           05 FILLER PIC X(33) VALUE " LINAGE".
           05 FILLER PIC X(33) VALUE "ILINAGE-COUNTER".
           05 FILLER PIC X(33) VALUE " LINE".
           05 FILLER PIC X(33) VALUE " LINE-COUNTER".
           05 FILLER PIC X(33) VALUE " LINES".
           05 FILLER PIC X(33) VALUE "KLINKAGE".
           05 FILLER PIC X(33) VALUE "KLOCAL-STORAGE".
           05 FILLER PIC X(33) VALUE " LOCALE".
           05 FILLER PIC X(33) VALUE "ILOCALE-DATE".
           05 FILLER PIC X(33) VALUE "ILOCALE-TIME".
           05 FILLER PIC X(33) VALUE "ILOCALE-TIME-FROM-SECONDS".
           05 FILLER PIC X(33) VALUE " LOCK".
           05 FILLER PIC X(33) VALUE "ILOG".
           05 FILLER PIC X(33) VALUE "ILOG10".
           05 FILLER PIC X(33) VALUE " LOW-VALUE".
           05 FILLER PIC X(33) VALUE " LOW-VALUES".
           05 FILLER PIC X(33) VALUE " LOWER".
           05 FILLER PIC X(33) VALUE "ILOWER-CASE".
           05 FILLER PIC X(33) VALUE " LOWLIGHT".
           05 FILLER PIC X(33) VALUE " MANUAL".
           05 FILLER PIC X(33) VALUE "IMAX".
           05 FILLER PIC X(33) VALUE "IMEAN".
           05 FILLER PIC X(33) VALUE "IMEDIAN".
           05 FILLER PIC X(33) VALUE " MEMORY".
           05 FILLER PIC X(33) VALUE "VMERGE".
           05 FILLER PIC X(33) VALUE " METHOD".
           05 FILLER PIC X(33) VALUE " METHOD-ID".
           05 FILLER PIC X(33) VALUE "IMIDRANGE".
           05 FILLER PIC X(33) VALUE "IMIN".
           05 FILLER PIC X(33) VALUE " MINUS".
           05 FILLER PIC X(33) VALUE "IMOD".
           05 FILLER PIC X(33) VALUE " MODE".
           05 FILLER PIC X(33) VALUE "VMOVE".
           05 FILLER PIC X(33) VALUE " MULTIPLE".
           05 FILLER PIC X(33) VALUE "VMULTIPLY".
           05 FILLER PIC X(33) VALUE " NATIONAL".
           05 FILLER PIC X(33) VALUE " NATIONAL-EDITED".
           05 FILLER PIC X(33) VALUE " NATIVE".
           05 FILLER PIC X(33) VALUE " NEGATIVE".
           05 FILLER PIC X(33) VALUE " NESTED".
           05 FILLER PIC X(33) VALUE "VNEXT".
           05 FILLER PIC X(33) VALUE " NO".
           05 FILLER PIC X(33) VALUE " NOT".
           05 FILLER PIC X(33) VALUE " NULL".
           05 FILLER PIC X(33) VALUE " NULLS".
           05 FILLER PIC X(33) VALUE " NUMBER".
           05 FILLER PIC X(33) VALUE "INUMBER-OF-CALL-PARAMETERS".
           05 FILLER PIC X(33) VALUE " NUMBERS".
           05 FILLER PIC X(33) VALUE " NUMERIC".
           05 FILLER PIC X(33) VALUE " NUMERIC-EDITED".
           05 FILLER PIC X(33) VALUE "INUMVAL".
           05 FILLER PIC X(33) VALUE "INUMVAL-C".
           05 FILLER PIC X(33) VALUE " OBJECT".
           05 FILLER PIC X(33) VALUE " OBJECT-COMPUTER".
           05 FILLER PIC X(33) VALUE " OBJECT-REFERENCE".
           05 FILLER PIC X(33) VALUE " OCCURS".
           05 FILLER PIC X(33) VALUE " OF".
           05 FILLER PIC X(33) VALUE " OFF".
           05 FILLER PIC X(33) VALUE " OMITTED".
           05 FILLER PIC X(33) VALUE " ON".
           05 FILLER PIC X(33) VALUE " ONLY".
           05 FILLER PIC X(33) VALUE "VOPEN".
           05 FILLER PIC X(33) VALUE " OPTIONAL".
           05 FILLER PIC X(33) VALUE " OPTIONS".
           05 FILLER PIC X(33) VALUE " OR".
           05 FILLER PIC X(33) VALUE "IORD".
           05 FILLER PIC X(33) VALUE "IORD-MAX".
           05 FILLER PIC X(33) VALUE "IORD-MIN".
           05 FILLER PIC X(33) VALUE " ORDER".
           05 FILLER PIC X(33) VALUE " ORGANIZATION".
           05 FILLER PIC X(33) VALUE " OTHER".
           05 FILLER PIC X(33) VALUE " OUTPUT".
           05 FILLER PIC X(33) VALUE " OVERFLOW".
           05 FILLER PIC X(33) VALUE " OVERLINE".
           05 FILLER PIC X(33) VALUE " OVERRIDE".
           05 FILLER PIC X(33) VALUE " PACKED-DECIMAL".
           05 FILLER PIC X(33) VALUE " PADDING".
           05 FILLER PIC X(33) VALUE " PAGE".
           05 FILLER PIC X(33) VALUE " PAGE-COUNTER".
           05 FILLER PIC X(33) VALUE " PARAGRAPH".
           05 FILLER PIC X(33) VALUE "VPERFORM".
           05 FILLER PIC X(33) VALUE " PF".
           05 FILLER PIC X(33) VALUE " PH".
           05 FILLER PIC X(33) VALUE "IPI".
           05 FILLER PIC X(33) VALUE "KPIC".
           05 FILLER PIC X(33) VALUE "KPICTURE".
           05 FILLER PIC X(33) VALUE " PLUS".
           05 FILLER PIC X(33) VALUE "KPOINTER".
           05 FILLER PIC X(33) VALUE " POSITION".
           05 FILLER PIC X(33) VALUE " POSITIVE".
           05 FILLER PIC X(33) VALUE " PRESENT".
           05 FILLER PIC X(33) VALUE "IPRESENT-VALUE".
           05 FILLER PIC X(33) VALUE " PREVIOUS".
           05 FILLER PIC X(33) VALUE "MPRINTER".
           05 FILLER PIC X(33) VALUE " PRINTING".
           05 FILLER PIC X(33) VALUE "KPROCEDURE".
           05 FILLER PIC X(33) VALUE " PROCEDURE-POINTER".
           05 FILLER PIC X(33) VALUE " PROCEDURES".
           05 FILLER PIC X(33) VALUE " PROCEED".
           05 FILLER PIC X(33) VALUE " PROGRAM".
           05 FILLER PIC X(33) VALUE "KPROGRAM-ID".
           05 FILLER PIC X(33) VALUE " PROGRAM-POINTER".
           05 FILLER PIC X(33) VALUE " PROMPT".
           05 FILLER PIC X(33) VALUE " PROPERTY".
           05 FILLER PIC X(33) VALUE " PROTOTYPE".
           05 FILLER PIC X(33) VALUE " QUOTE".
           05 FILLER PIC X(33) VALUE " QUOTES".
           05 FILLER PIC X(33) VALUE " RAISE".
           05 FILLER PIC X(33) VALUE " RAISING".
           05 FILLER PIC X(33) VALUE "IRANDOM".
           05 FILLER PIC X(33) VALUE "IRANGE".
           05 FILLER PIC X(33) VALUE " RD".
           05 FILLER PIC X(33) VALUE "VREAD".
           05 FILLER PIC X(33) VALUE "VREADY".
           05 FILLER PIC X(33) VALUE " RECORD".
           05 FILLER PIC X(33) VALUE " RECORDING".
           05 FILLER PIC X(33) VALUE " RECORDS".
           05 FILLER PIC X(33) VALUE " RECURSIVE".
           05 FILLER PIC X(33) VALUE "KREDEFINES".
           05 FILLER PIC X(33) VALUE " REEL".
           05 FILLER PIC X(33) VALUE " REFERENCE".
           05 FILLER PIC X(33) VALUE " RELATIVE".
           05 FILLER PIC X(33) VALUE "VRELEASE".
           05 FILLER PIC X(33) VALUE "IREM".
           05 FILLER PIC X(33) VALUE " REMAINDER".
           05 FILLER PIC X(33) VALUE " REMARKS".
           05 FILLER PIC X(33) VALUE " REMOVAL".
           05 FILLER PIC X(33) VALUE "KRENAMES".
           05 FILLER PIC X(33) VALUE "KREPLACING".
           05 FILLER PIC X(33) VALUE "KREPORT".
           05 FILLER PIC X(33) VALUE " REPORTING".
           05 FILLER PIC X(33) VALUE " REPORTS".
           05 FILLER PIC X(33) VALUE " REPOSITORY".
           05 FILLER PIC X(33) VALUE " REPRESENTS-NOT-A-NUMBER".
           05 FILLER PIC X(33) VALUE " REQUIRED".
           05 FILLER PIC X(33) VALUE " RESERVE".
           05 FILLER PIC X(33) VALUE " RESUME".
           05 FILLER PIC X(33) VALUE " RETRY".
           05 FILLER PIC X(33) VALUE "VRETURN".
           05 FILLER PIC X(33) VALUE "IRETURN-CODE".
           05 FILLER PIC X(33) VALUE "KRETURNING".
           05 FILLER PIC X(33) VALUE "IREVERSE".
           05 FILLER PIC X(33) VALUE " REVERSE-VIDEO".
           05 FILLER PIC X(33) VALUE " REWIND".
           05 FILLER PIC X(33) VALUE "VREWRITE".
           05 FILLER PIC X(33) VALUE " RF".
           05 FILLER PIC X(33) VALUE " RH".
           05 FILLER PIC X(33) VALUE " RIGHT".
           05 FILLER PIC X(33) VALUE " RIGHT-JUSTIFY".
           05 FILLER PIC X(33) VALUE "VROLLBACK".
           05 FILLER PIC X(33) VALUE " ROUNDED".
           05 FILLER PIC X(33) VALUE " RUN".
           05 FILLER PIC X(33) VALUE " SAME".
           05 FILLER PIC X(33) VALUE "KSCREEN".
           05 FILLER PIC X(33) VALUE " SCROLL".
           05 FILLER PIC X(33) VALUE "KSD".
           05 FILLER PIC X(33) VALUE "VSEARCH".
           05 FILLER PIC X(33) VALUE "ISECONDS-FROM-FORMATTED-TIME".
           05 FILLER PIC X(33) VALUE "ISECONDS-PAST-MIDNIGHT".
           05 FILLER PIC X(33) VALUE "KSECTION".
           05 FILLER PIC X(33) VALUE " SECURE".
           05 FILLER PIC X(33) VALUE " SECURITY".
           05 FILLER PIC X(33) VALUE " SEGMENT-LIMIT".
           05 FILLER PIC X(33) VALUE " SELECT".
           05 FILLER PIC X(33) VALUE " SELF".
           05 FILLER PIC X(33) VALUE " SENTENCE".
           05 FILLER PIC X(33) VALUE " SEPARATE".
           05 FILLER PIC X(33) VALUE " SEQUENCE".
           05 FILLER PIC X(33) VALUE " SEQUENTIAL".
           05 FILLER PIC X(33) VALUE "VSET".
           05 FILLER PIC X(33) VALUE " SHARING".
           05 FILLER PIC X(33) VALUE "ISIGN".
           05 FILLER PIC X(33) VALUE " SIGNED".
           05 FILLER PIC X(33) VALUE " SIGNED-INT".
           05 FILLER PIC X(33) VALUE " SIGNED-LONG".
           05 FILLER PIC X(33) VALUE " SIGNED-SHORT".
           05 FILLER PIC X(33) VALUE "ISIN".
           05 FILLER PIC X(33) VALUE " SIZE".
           05 FILLER PIC X(33) VALUE "VSORT".
           05 FILLER PIC X(33) VALUE " SORT-MERGE".
           05 FILLER PIC X(33) VALUE "ISORT-RETURN".
           05 FILLER PIC X(33) VALUE " SOURCE".
           05 FILLER PIC X(33) VALUE " SOURCE-COMPUTER".
           05 FILLER PIC X(33) VALUE " SOURCES".
           05 FILLER PIC X(33) VALUE " SPACE".
           05 FILLER PIC X(33) VALUE " SPACE-FILL".
           05 FILLER PIC X(33) VALUE " SPACES".
           05 FILLER PIC X(33) VALUE " SPECIAL-NAMES".
           05 FILLER PIC X(33) VALUE "ISQRT".
           05 FILLER PIC X(33) VALUE " STANDARD".
           05 FILLER PIC X(33) VALUE " STANDARD-1".
           05 FILLER PIC X(33) VALUE " STANDARD-2".
           05 FILLER PIC X(33) VALUE "ISTANDARD-DEVIATION".
           05 FILLER PIC X(33) VALUE "VSTART".
           05 FILLER PIC X(33) VALUE " STATUS".
           05 FILLER PIC X(33) VALUE "VSTOP".
           05 FILLER PIC X(33) VALUE "ISTORED-CHAR-LENGTH".
           05 FILLER PIC X(33) VALUE "VSTRING".
           05 FILLER PIC X(33) VALUE "ISUBSTITUTE".
           05 FILLER PIC X(33) VALUE "ISUBSTITUTE-CASE".
           05 FILLER PIC X(33) VALUE "VSUBTRACT".
           05 FILLER PIC X(33) VALUE "ISUM".
           05 FILLER PIC X(33) VALUE " SUPER".
           05 FILLER PIC X(33) VALUE "VSUPPRESS".
           05 FILLER PIC X(33) VALUE "MSWITCH-1".
           05 FILLER PIC X(33) VALUE "MSWITCH-2".
           05 FILLER PIC X(33) VALUE "MSWITCH-3".
           05 FILLER PIC X(33) VALUE "MSWITCH-4".
           05 FILLER PIC X(33) VALUE "MSWITCH-5".
           05 FILLER PIC X(33) VALUE "MSWITCH-6".
           05 FILLER PIC X(33) VALUE "MSWITCH-7".
           05 FILLER PIC X(33) VALUE "MSWITCH-8".
           05 FILLER PIC X(33) VALUE " SYMBOLIC".
           05 FILLER PIC X(33) VALUE " SYNC".
           05 FILLER PIC X(33) VALUE " SYNCHRONIZED".
           05 FILLER PIC X(33) VALUE "MSYSERR".
           05 FILLER PIC X(33) VALUE "MSYSIN".
           05 FILLER PIC X(33) VALUE "MSYSIPT".
           05 FILLER PIC X(33) VALUE "MSYSLIST".
           05 FILLER PIC X(33) VALUE "MSYSLST".
           05 FILLER PIC X(33) VALUE "MSYSOUT".
           05 FILLER PIC X(33) VALUE " SYSTEM-DEFAULT".
           05 FILLER PIC X(33) VALUE " TABLE".
           05 FILLER PIC X(33) VALUE "KTALLYING".
           05 FILLER PIC X(33) VALUE "ITAN".
           05 FILLER PIC X(33) VALUE " TAPE".
           05 FILLER PIC X(33) VALUE "VTERMINATE".
           05 FILLER PIC X(33) VALUE " TEST".
           05 FILLER PIC X(33) VALUE "ITEST-DATE-YYYYMMDD".
           05 FILLER PIC X(33) VALUE "ITEST-DAY-YYYYDDD".
           05 FILLER PIC X(33) VALUE " THAN".
           05 FILLER PIC X(33) VALUE " THEN".
           05 FILLER PIC X(33) VALUE " THROUGH".
           05 FILLER PIC X(33) VALUE " THRU".
           05 FILLER PIC X(33) VALUE " TIME".
           05 FILLER PIC X(33) VALUE " TIMES".
           05 FILLER PIC X(33) VALUE "KTO".
           05 FILLER PIC X(33) VALUE " TOP".
           05 FILLER PIC X(33) VALUE " TRAILING".
           05 FILLER PIC X(33) VALUE " TRAILING-SIGN".
           05 FILLER PIC X(33) VALUE "VTRANSFORM".
           05 FILLER PIC X(33) VALUE "ITRIM".
           05 FILLER PIC X(33) VALUE " TRUE".
           05 FILLER PIC X(33) VALUE " TYPE".
           05 FILLER PIC X(33) VALUE " TYPEDEF".
           05 FILLER PIC X(33) VALUE " UNDERLINE".
           05 FILLER PIC X(33) VALUE " UNIT".
           05 FILLER PIC X(33) VALUE " UNIVERSAL".
           05 FILLER PIC X(33) VALUE "VUNLOCK".
           05 FILLER PIC X(33) VALUE " UNSIGNED".
           05 FILLER PIC X(33) VALUE " UNSIGNED-INT".
           05 FILLER PIC X(33) VALUE " UNSIGNED-LONG".
           05 FILLER PIC X(33) VALUE " UNSIGNED-SHORT".
           05 FILLER PIC X(33) VALUE "VUNSTRING".
           05 FILLER PIC X(33) VALUE " UNTIL".
           05 FILLER PIC X(33) VALUE "KUP".
           05 FILLER PIC X(33) VALUE " UPDATE".
           05 FILLER PIC X(33) VALUE " UPON".
           05 FILLER PIC X(33) VALUE " UPPER".
           05 FILLER PIC X(33) VALUE "IUPPER-CASE".
           05 FILLER PIC X(33) VALUE " USAGE".
           05 FILLER PIC X(33) VALUE "VUSE".
           05 FILLER PIC X(33) VALUE " USER-DEFAULT".
           05 FILLER PIC X(33) VALUE "KUSING".
           05 FILLER PIC X(33) VALUE " VAL-STATUS".
           05 FILLER PIC X(33) VALUE " VALID".
           05 FILLER PIC X(33) VALUE " VALIDATE".
           05 FILLER PIC X(33) VALUE " VALIDATE-STATUS".
           05 FILLER PIC X(33) VALUE " VALUE".
           05 FILLER PIC X(33) VALUE " VALUES".
           05 FILLER PIC X(33) VALUE "IVARIANCE".
           05 FILLER PIC X(33) VALUE "KVARYING".
           05 FILLER PIC X(33) VALUE " WAIT".
           05 FILLER PIC X(33) VALUE "VWHEN".
           05 FILLER PIC X(33) VALUE "IWHEN-COMPILED".
           05 FILLER PIC X(33) VALUE " WITH".
           05 FILLER PIC X(33) VALUE " WORDS".
           05 FILLER PIC X(33) VALUE "KWORKING-STORAGE".
           05 FILLER PIC X(33) VALUE "VWRITE".
           05 FILLER PIC X(33) VALUE "IYEAR-TO-YYYY".
           05 FILLER PIC X(33) VALUE " YYYYDDD".
           05 FILLER PIC X(33) VALUE " YYYYMMDD".
           05 FILLER PIC X(33) VALUE " ZERO".
           05 FILLER PIC X(33) VALUE " ZERO-FILL".
           05 FILLER PIC X(33) VALUE " ZEROES".
           05 FILLER PIC X(33) VALUE " ZEROS".
       01  Reserved-Word-Table         REDEFINES Reserved-Words.
           05 Reserved-Word            OCCURS 591 TIMES
                                       ASCENDING KEY RW-Word
                                       INDEXED RW-Idx.
              10 RW-Type               PIC X(1).
              10 RW-Word               PIC X(32).

       01  Saved-Section               PIC X(15).

       01  Search-Token                PIC X(32).

       01  Source-Line-No              PIC 9(6).

       01  Src-Ptr                     USAGE BINARY-LONG.

       01  Syntax-Parsing-Items.
           05 SPI-Current-Char         PIC X(1).
              88 Current-Char-Is-Punct VALUE "=", "(", ")", "*", "/",
                                             "&", ";", ",", "<", ">",
                                             ":".
              88 Current-Char-Is-Quote VALUE '"', "'".
              88 Current-Char-Is-X     VALUE "x", "X".
              88 Current-Char-Is-Z     VALUE "z", "Z".
           05 SPI-Current-Division     PIC X(1).
              88 In-IDENTIFICATION-DIVISION VALUE "I", "?".
              88 In-ENVIRONMENT-DIVISION    VALUE "E".
              88 In-DATA-DIVISION           VALUE "D".
              88 In-PROCEDURE-DIVISION      VALUE "P".
           05 SPI-Current-Line-No      PIC 9(6).
           05 SPI-Current-Program-ID.
              10 FILLER                PIC X(12).
              10 SPI-CP-13-15          PIC X(3).
           05 SPI-Current-Section.
              10 SPI-CS-1              PIC X(1).
              10 SPI-CS-2-14.
                 15 FILLER             PIC X(10).
                 15 SPI-CS-11-14       PIC X(3).
              10 SPI-CS-15             PIC X(1).
           05 SPI-Current-Token        PIC X(32).
           05 SPI-Current-Token-UC     PIC X(32).
           05 SPI-Current-Verb         PIC X(12).
           05 SPI-Next-Char            PIC X(1).
              88 Next-Char-Is-Quote    VALUE '"', "'".
           05 SPI-Prior-Token          PIC X(32).
           05 SPI-Token-Type           PIC X(1).
              88 Token-Is-EOF             VALUE HIGH-VALUES.
              88 Token-Is-Identifier      VALUE "I".
              88 Token-Is-Key-Word        VALUE "K", "V".
              88 Token-Is-Literal-Alpha   VALUE "L".
              88 Token-Is-Literal-Number  VALUE "N".
              88 Token-Is-Verb            VALUE "V".
GC0710        88 Token-Is-Reserved-Word   VALUE " ".

       01  Tally                       USAGE BINARY-LONG.

       01  Todays-Date                 PIC 9(8).

       LINKAGE SECTION.
       01  Produce-Source-Listing      PIC X(1).
       01  Produce-Xref-Listing        PIC X(1).
       01  Src-Filename                PIC X(256).
      /
       PROCEDURE DIVISION USING Produce-Source-Listing
                                Produce-Xref-Listing
                                Src-Filename.
       000-Main SECTION.
       001-Init.
           PERFORM 100-Initialization
           PERFORM 200-Execute-cobc
           OPEN OUTPUT Report-File
           IF Produce-Source-Listing NOT = SPACE
               PERFORM 500-Produce-Source-Listing
           END-IF
           IF Produce-Xref-Listing NOT = SPACE
               SORT Sort-File
                   ASCENDING KEY    SR-Prog-ID
                                    SR-Token-UC
                                    SR-Line-No-Ref
                   INPUT PROCEDURE  300-Tokenize-Source
                   OUTPUT PROCEDURE 400-Produce-Xref-Listing
           END-IF
           CLOSE Report-File
           GOBACK
           .
      /
       100-Initialization SECTION.
      *****************************************************************
      ** Perform all program-wide initialization operations          **
      *****************************************************************
       END PROGRAM LISTING.

---tokens---
'      '      Comment
' '           Text
'IDENTIFICATION' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'PROGRAM-ID'  Keyword.Reserved
'.'           Punctuation
' '           Text
'OCic'        Name.Variable
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** This program provides a Textual User Interface (TUI) to the **\n' Comment

'      ** process of compiling and (optionally) executing an OpenCOBOL**\n' Comment

'      ** program.                                                    **\n' Comment

'      **                                                             **\n' Comment

'      ** This programs execution syntax is as follows:               **\n' Comment

'      **                                                             **\n' Comment

'      ** ocic <program-path-and-filename> [ <switch>... ]            **\n' Comment

'      **                                                             **\n' Comment

'      ** Once executed, a display screen will be presented showing   **\n' Comment

'      ** the compilation options that will be used.  The user will   **\n' Comment

'      ** have the opportunity to change options, specify new ones    **\n' Comment

'      ** and specify any program execution arguments to be used if   **\n' Comment

'      ** you select the "Execute" option.  When you press the Enter  **\n' Comment

'      ** key the program will be compiled.                           **\n' Comment

'      **                                                             **\n' Comment

'      ** The SCREEN SECTION contains an image of the screen.         **\n' Comment

'      **                                                             **\n' Comment

'      ** The "010-Parse-Args" section in the PROCEDURE DIVISION has  **\n' Comment

'      ** documentation on switches and their function.               **\n' Comment

'      *****************************************************************\n' Comment

'      **                                                             **\n' Comment

'      ** AUTHOR:       GARY L. CUTLER                                **\n' Comment

'      **               CutlerGL@gmail.com                            **\n' Comment

'      **               Copyright (C) 2009-2010, Gary L. Cutler, GPL  **\n' Comment

'      **                                                             **\n' Comment

'      ** DATE-WRITTEN: June 14, 2009                                 **\n' Comment

'      **                                                             **\n' Comment

'      *****************************************************************\n' Comment

"      ** Note: Depending on which extended DISPLAY handler you're    **\n" Comment

'      **       using (PDCurses, Curses, ...), you may need to un-    **\n' Comment

'      **       comment any source lines tagged with "SCROLL" in cols **\n' Comment

'      **       1-6 in order to have error messages scroll properly   **\n' Comment

'      **       in the OCic shell window.                             **\n' Comment

'      *****************************************************************\n' Comment

'      **  DATE  CHANGE DESCRIPTION                                   **\n' Comment

'      ** ====== ==================================================== **\n' Comment

"      ** GC0609 Don't display compiler messages file if compilation  **\n" Comment

"      **        Is successful.  Also don't display messages if the   **\n" Comment

'      **        output file is busy (just put a message on the       **\n' Comment

'      **        screen, leave the OC screen up & let the user fix    **\n' Comment

'      **        the problem & resubmit.                              **\n' Comment

"      ** GC0709 When 'EXECUTE' is selected, a 'FILE BUSY' error will **\n" Comment

'      **        still cause the (old) executable to be launched.     **\n' Comment

"      **        Also, the 'EXTRA SWITCHES' field is being ignored.   **\n" Comment

'      **        Changed the title bar to lowlighted reverse video &  **\n' Comment

'      **        the message area to highlighted reverse-video.       **\n' Comment

'      ** GC0809 Add a SPACE in from of command-line args when        **\n' Comment

'      **        executing users program.  Add a SPACE after the      **\n' Comment

'      **        -ftraceall switch when building cobc command.        **\n' Comment

'      ** GC0909 Convert to work on Cygwin/Linux as well as MinGW     **\n' Comment

'      ** GC0310 Virtualized the key codes for S-F1 thru S-F7 as they **\n' Comment

'      **        differ depending upon whether PDCurses or NCurses is **\n' Comment

'      **        being used.                                          **\n' Comment

'      ** GC0410 Introduced the cross-reference and source listing    **\n' Comment

'      **        features.  Also fixed a bug in @EXTRA switch proces- **\n' Comment

'      **        sing where garbage will result if more than the      **\n' Comment

'      **        @EXTRA switch is specified.                          **\n' Comment

'      *****************************************************************\n' Comment

'      '      Comment
' '           Text
'ENVIRONMENT' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'CONFIGURATION' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'REPOSITORY'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'FUNCTION'    Keyword.Pseudo
' '           Text
'ALL'         Keyword.Pseudo
' '           Text
'INTRINSIC'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'INPUT-OUTPUT' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'FILE-CONTROL' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SELECT'      Keyword.Pseudo
' '           Text
'Bat-File'    Name.Variable
'             ' Text
'ASSIGN'      Keyword.Pseudo
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Bat-File-Name' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'ORGANIZATION' Keyword.Pseudo
' '           Text
'IS'          Keyword.Pseudo
' '           Text
'LINE'        Keyword.Pseudo
' '           Text
'SEQUENTIAL'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'     '       Text
'SELECT'      Keyword.Pseudo
' '           Text
'Cobc-Output' Name.Variable
'          '  Text
'ASSIGN'      Keyword.Pseudo
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Cobc-Output-File' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'ORGANIZATION' Keyword.Pseudo
' '           Text
'IS'          Keyword.Pseudo
' '           Text
'LINE'        Keyword.Pseudo
' '           Text
'SEQUENTIAL'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'     '       Text
'SELECT'      Keyword.Pseudo
' '           Text
'Source-Code' Name.Variable
'          '  Text
'ASSIGN'      Keyword.Pseudo
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'File-Name'   Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'ORGANIZATION' Keyword.Pseudo
' '           Text
'IS'          Keyword.Pseudo
' '           Text
'LINE'        Keyword.Pseudo
' '           Text
'SEQUENTIAL\n                                      ' Keyword.Pseudo
' '           Text
'FILE'        Keyword.Reserved
' '           Text
'STATUS'      Keyword.Pseudo
' '           Text
'IS'          Keyword.Pseudo
' '           Text
'FSM-Status'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'DATA'        Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'FILE'        Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'FD '         Keyword.Reserved
' '           Text
'Bat-File'    Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Bat-File-Rec' Name.Variable
'                ' Text
'PIC X(2048)' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'FD '         Keyword.Reserved
' '           Text
'Cobc-Output' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Cobc-Output-Rec' Name.Variable
'             ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'FD '         Keyword.Reserved
' '           Text
'Source-Code' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Source-Code-Record' Name.Variable
'          '  Text
'PIC X(80)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'WORKING-STORAGE' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'COPY'        Keyword.Pseudo
' '           Text
'screenio'    Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Bat-File-Name' Name.Variable
'               ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'01  '        Literal.Number.Integer
'Cmd'         Name.Variable
'                         ' Text
'PIC X(512)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Cobc-Cmd'    Name.Variable
'                    ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Cobc-Output-File' Name.Variable
'            ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Command-Line-Args' Name.Variable
'           ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Config-File' Name.Variable
'                 ' Text
'PIC X(12)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0310'      Comment
' '           Text
'01  '        Literal.Number.Integer
'Config-Keys' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0310'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CK-S-F1'     Name.Variable
'                  ' Text
'PIC 9(4)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0310'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CK-S-F2'     Name.Variable
'                  ' Text
'PIC 9(4)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0310'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CK-S-F3'     Name.Variable
'                  ' Text
'PIC 9(4)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0310'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CK-S-F4'     Name.Variable
'                  ' Text
'PIC 9(4)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0310'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CK-S-F5'     Name.Variable
'                  ' Text
'PIC 9(4)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0310'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CK-S-F6'     Name.Variable
'                  ' Text
'PIC 9(4)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0310'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CK-S-F7'     Name.Variable
'                  ' Text
'PIC 9(4)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'01  '        Literal.Number.Integer
'Dir-Char'    Name.Variable
'                    ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Dummy'       Name.Variable
'                       ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Env-TEMP'    Name.Variable
'                    ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'File-Name'   Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FN-Char'     Name.Variable
'                  ' Text
'OCCURS'      Keyword.Pseudo
' '           Text
'256 '        Literal.Number.Integer
'TIMES'       Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'File-Status-Message' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(13)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'Status Code: '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FSM-Status'  Name.Variable
'               ' Text
'PIC 9(2)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(11)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"', Meaning: '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FSM-Msg'     Name.Variable
'                  ' Text
'PIC X(25)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Flags'       Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Compilation-Succeeded' Name.Variable
'  '          Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK'  Name.Variable
'         '   Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK-Warn' Name.Variable
'    '        Text
'VALUE '      Keyword.Pseudo
"'W'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Compile-Failed' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0609'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Complete'  Name.Variable
'               ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0609'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Complete'    Name.Variable
'           ' Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0609'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Not-Complete' Name.Variable
'       '     Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0809'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-IDENT-DIVISION' Name.Variable
'         '   Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0809'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'1'           Literal.Number.Integer
'st-Prog-Complete' Name.Variable
'  '          Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0809'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'More-To-1st-Prog' Name.Variable
'   '         Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-LINKAGE-SECTION' Name.Variable
'        '    Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Compile-As-Subpgm' Name.Variable
'  '          Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Compile-As-Mainpgm' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-No-Switch-Changes' Name.Variable
'      '      Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'No-Switch-Changes' Name.Variable
'  '          Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Changes' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0709'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Output-File-Busy' Name.Variable
'       '     Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0709'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Output-File-Busy' Name.Variable
'   '         Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0709'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Output-File-Avail' Name.Variable
'  '          Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0809'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Source-Record-Type' Name.Variable
'     '       Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0809'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-Linkage' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
"'L'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0809'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-Ident' Name.Variable
'   '         Text
'VALUE '      Keyword.Pseudo
"'I'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0809'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-IgnoCOB-COLOR-RED' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Switch-Error' Name.Variable
'           ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Bad' Name.Variable
'      '      Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'01  '        Literal.Number.Integer
'Horizontal-Line' Name.Variable
'             ' Text
'PIC X(80)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'I'           Name.Variable
'                           ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'J'           Name.Variable
'                           ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'01  '        Literal.Number.Integer
'MS'          Name.Variable
'                          ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'01  '        Literal.Number.Integer
'ML'          Name.Variable
'                          ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'OC-Compiled' Name.Variable
'                 ' Text
'PIC XXXX/XX/XXBXX/XX' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'01  '        Literal.Number.Integer
'OS-Type'     Name.Variable
'                     ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'OS-Unknown'  Name.Variable
'               ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'0'           Literal.Number.Integer
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'OS-Windows'  Name.Variable
'               ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'1'           Literal.Number.Integer
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'OS-Cygwin'   Name.Variable
'                ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'2'           Literal.Number.Integer
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'OS-UNIX'     Name.Variable
'                  ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'3'           Literal.Number.Integer
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'01  '        Literal.Number.Integer
'OS-Type-Literal' Name.Variable
'             ' Text
'PIC X(7)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Output-Message' Name.Variable
'              ' Text
'PIC X(80)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Path-Delimiter' Name.Variable
'              ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Prog-Folder' Name.Variable
'                 ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Prog-Extension' Name.Variable
'              ' Text
'PIC X(30)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Prog-File-Name' Name.Variable
'              ' Text
'PIC X(40)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Prog-Name'   Name.Variable
'                   ' Text
'PIC X(31)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'78  '        Literal.Number.Integer
'Selection-Char' Name.Variable
'              ' Text
'VALUE '      Keyword.Pseudo
"'>'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Switch-Display' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SD-Switch-And-Value' Name.Variable
'      '      Text
'PIC X(19)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SD-Description' Name.Variable
'           ' Text
'PIC X(60)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Switch-Keyword' Name.Variable
'              ' Text
'PIC X(12)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-CONFIG' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
"'@CONFIG'"   Literal.String.Single
','           Punctuation
' '           Text
"'@C'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-DEBUG' Name.Variable
'      '      Text
'VALUE '      Keyword.Pseudo
"'@DEBUG'"    Literal.String.Single
','           Punctuation
' '           Text
"'@D'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-DLL' Name.Variable
'        '    Text
'VALUE '      Keyword.Pseudo
"'@DLL'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-EXECUTE' Name.Variable
'    '        Text
'VALUE '      Keyword.Pseudo
"'@EXECUTE'"  Literal.String.Single
','           Punctuation
' '           Text
"'@E'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-EXTRA' Name.Variable
'      '      Text
'VALUE '      Keyword.Pseudo
"'@EXTRA'"    Literal.String.Single
','           Punctuation
' '           Text
"'@EX'"       Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-NOTRUNC' Name.Variable
'    '        Text
'VALUE '      Keyword.Pseudo
"'@NOTRUNC'"  Literal.String.Single
','           Punctuation
' '           Text
"'@N'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-TRACE' Name.Variable
'      '      Text
'VALUE '      Keyword.Pseudo
"'@TRACE'"    Literal.String.Single
','           Punctuation
' '           Text
"'@T'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-SOURCE' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
"'@SOURCE'"   Literal.String.Single
','           Punctuation
' '           Text
"'@S'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Switch-Is-XREF' Name.Variable
'       '     Text
'VALUE '      Keyword.Pseudo
"'@XREF'"     Literal.String.Single
','           Punctuation
' '           Text
"'@X'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Switch-Keyword-And-Value' Name.Variable
'    '        Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Switch-Value' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SV-1'        Name.Variable
'                     ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(255)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Switch-Value-Alt' Name.Variable
'            ' Text
'REDEFINES'   Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'88 '         Literal.Number.Integer
'Valid-Config-Filename' Name.Variable
'\n'          Text

'      '      Comment
'        '    Text
'VALUE '      Keyword.Pseudo
"'BS2000'"    Literal.String.Single
','           Punctuation
' '           Text
"'COBOL85'"   Literal.String.Single
','           Punctuation
' '           Text
"'COBOL2002'" Literal.String.Single
','           Punctuation
' '           Text
"'DEFAULT'"   Literal.String.Single
','           Punctuation
'\n'          Text

'      '      Comment
'              ' Text
"'IBM'"       Literal.String.Single
','           Punctuation
'    '        Text
"'MF'"        Literal.String.Single
','           Punctuation
'      '      Text
"'MVS'"       Literal.String.Single
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Switches'    Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'S-ARGS'      Name.Variable
'                   ' Text
'PIC X(75)'   Keyword.Type
' '           Text
'VALUE'       Keyword.Pseudo
' '           Text
'SPACES'      Name.Constant
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'S-CfgS'      Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-Cfg-BS2000' Name.Variable
'          '  Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-Cfg-COBOL85' Name.Variable
'         '   Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-Cfg-COBOL2002' Name.Variable
'       '     Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-Cfg-DEFAULT' Name.Variable
'         '   Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE'       Keyword.Pseudo
' '           Text
'Selection-Char' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-Cfg-IBM'   Name.Variable
'             ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-Cfg-MF'    Name.Variable
'              ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-Cfg-MVS'   Name.Variable
'             ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'S-EXTRA'     Name.Variable
'                  ' Text
'PIC X(75)'   Keyword.Type
' '           Text
'VALUE'       Keyword.Pseudo
' '           Text
'SPACES'      Name.Constant
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'S-Yes-No-Switches' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-DEBUG'     Name.Variable
'               ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-DLL'       Name.Variable
'                 ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-XREF'      Name.Variable
'                ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-SOURCE'    Name.Variable
'              ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-EXECUTE'   Name.Variable
'             ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-NOTRUNC'   Name.Variable
'             ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-SUBROUTINE' Name.Variable
'          '  Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'A'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-TRACE'     Name.Variable
'               ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'S-TRACEALL'  Name.Variable
'            ' Text
'PIC X(1) '   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Tally'       Name.Variable
'                       ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'   '         Text
'SCREEN'      Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> Here is the layout of the OCic screen.\n' Comment

'      *>\n'  Comment

'      *> Note that this program can utilize the traditional PC line-drawing characters,\n' Comment

'      *> if they are available.\n' Comment

'      *>\n'  Comment

'      *> If this program is run on Windows, it must run with codepage 437 activated to\n' Comment

'      *> display the line-drawing characters.  With a native Windows build or a\n' Comment

'      *> Windows/MinGW build, one could use the command "chcp 437" to set that codepage\n' Comment

'      *> for display within a Windows console window (that should be the default, though).\n' Comment

'      *> With a Windows/Cygwin build, set the environment variable CYGWIN to a value of\n' Comment

'      *> "codepage:oem" (this cannot be done from within the program though - you will\n' Comment

'      *> have to use the "Computer/Advanced System Settings/Environment Variables" (Vista or\n' Comment

'      *> Windows 7) function to define the variable.  XP Users: use "My Computer/Properties/\n' Comment

'      *> Advanced/Environment Variables".\n' Comment

'      *>\n'  Comment

'      *> To use OCic without the line-drawing characters, comment-out the first set of\n' Comment

'      *> 78 "LD" items and uncomment the second.\n' Comment

'      *>\n'  Comment

'      *> The following sample screen layout shows how the screen looks with line-drawing\n' Comment

'      *> characters disabled.\n' Comment

'      *>\n'  Comment

'      *>===================================================================================\n' Comment

'      *> OCic (2010/04/02 11:36) - OpenCOBOL V1.1 Interactive Compilation        Windows 01\n' Comment

'      *> +-----------------------------------------------------------------------------+ 02\n' Comment

'      *> | Program:  OCic                                            F-Key: Select Opt | 03\n' Comment

'      *> | Folder:   E:\\OpenCOBOL\\Samples                            Enter: Compile    | 04\n' Comment

'      *> | Filename: OCic.cbl                                        Esc:   Quit       | 05\n' Comment

'      *> +-----------------------------------------------------------------------------+ 06\n' Comment

'      *>   On/Off Switches:                                          Configuration:      07\n' Comment

'      *> +---------------------------------------------------------+-------------------+ 08\n' Comment

'      *> | F1   Compile debug lines    F8   Produce source listing | S-F1   BS2000     | 09\n' Comment

'      *> | F2   Always make DLLs       F9   Produce xref listing   | S-F2   COBOL85    | 10\n' Comment

'      *> | F3   Pgm is a SUBROUTINE                                | S-F3   COBOL2002  | 11\n' Comment

'      *> | F4   Execute if compile OK                              | S-F4 > Default    | 12\n' Comment

'      *> | F5 > No COMP/BINARY trunc                               | S-F5   IBM        | 13\n' Comment

'      *> | F6   Trace procedures                                   | S-F6   MicroFocus | 14\n' Comment

'      *> | F7   Trace proc + stmnts                                | S-F7   MVS        | 15\n' Comment

'      *> +---------------------------------------------------------+-------------------+ 16\n' Comment

'      *>   Additional "cobc" Switches (if any):                                          17\n' Comment

'      *> +-----------------------------------------------------------------------------+ 18\n' Comment

'      *> | -O2________________________________________________________________________ | 19\n' Comment

'      *> +-----------------------------------------------------------------------------+ 20\n' Comment

'      *>   Program Execution Arguments (if any):                                         21\n' Comment

'      *> +-----------------------------------------------------------------------------+ 22\n' Comment

'      *> | ___________________________________________________________________________ | 23\n' Comment

'      *> +-----------------------------------------------------------------------------+ 24\n' Comment

'      *> OCic Copyright (C) 2009-2010, Gary L. Cutler, GPL                               25\n' Comment

'      *>===================================================================================\n' Comment

'      *>12345678901234567890123456789012345678901234567890123456789012345678901234567890\n' Comment

'      *>         1         2         3         4         5         6         7         8\n' Comment

'      *>\n'  Comment

'      *> USE THESE CHARS FOR LINE-DRAWING IF YOU HAVE ACCESS TO PC-DOS CODEPAGE 437:\n' Comment

'      *>\n'  Comment

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-UL-Corner' Name.Variable
'                 ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"DA"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-LL-Corner' Name.Variable
'                 ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"C0"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-UR-Corner' Name.Variable
'                 ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"BF"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-LR-Corner' Name.Variable
'                 ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"D9"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-Upper-T'  Name.Variable
'                   ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"C2"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-Lower-T'  Name.Variable
'                   ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"C1"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-Horiz-Line' Name.Variable
'                ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"C4"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78 '         Literal.Number.Integer
'LD-Vert-Line' Name.Variable
'                 ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'X'           Name.Variable
'"B3"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> USE THESE CHARS FOR LINE-DRAWING IF YOU DO NOT HAVE ACCESS TO PC-DOS CODEPAGE 437:\n' Comment

'      *>\n'  Comment

"      *> 78 LD-UL-Corner                          VALUE '+'.\n" Comment

"      *> 78 LD-LL-Corner                          VALUE '+'.\n" Comment

"      *> 78 LD-UR-Corner                          VALUE '+'.\n" Comment

"      *> 78 LD-LR-Corner                          VALUE '+'.\n" Comment

"      *> 78 LD-Upper-T                            VALUE '+'.\n" Comment

"      *> 78 LD-Lower-T                            VALUE '+'.\n" Comment

"      *> 78 LD-Horiz-Line                         VALUE '-'.\n" Comment

"      *> 78 LD-Vert-Line                          VALUE '|'.\n" Comment

'      *>\n'  Comment

'      '      Comment
' '           Text
'01 '         Literal.Number.Integer
'Blank-Screen' Name.Variable
' '           Text
'LINE'        Keyword.Pseudo
' '           Text
'1 '          Literal.Number.Integer
'COLUMN'      Keyword.Pseudo
' '           Text
'1 '          Literal.Number.Integer
'BLANK'       Keyword.Pseudo
' '           Text
'SCREEN'      Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01 '         Literal.Number.Integer
'Switches-Screen' Name.Variable
' '           Text
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'                    ' Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-WHITE' Name.Variable
' '           Text
'AUTO'        Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> GENERAL SCREEN FRAMEWORK\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLUE' Name.Variable
'  '          Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'02 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(77)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'03 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'05 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'06 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(77)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'08 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(57)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Upper-T'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(19)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'11 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'12 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'13 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'15 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'16 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(57)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'60           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Lower-T'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(19)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'18 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(77)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'19 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'20 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(77)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'22 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(77)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-UR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'23 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-Vert-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'24 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'02           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LL-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(77)'   Keyword.Type
' '           Text
'FROM '       Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'80           ' Literal.Number.Integer
'VALUE'       Keyword.Pseudo
' '           Text
'LD-LR-Corner' Name.Variable
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> TOP AND BOTTOM LINES\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLUE' Name.Variable
'  '          Text
'BLINK\n            ' Keyword.Pseudo
' '           Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-WHITE' Name.Variable
' '           Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'01 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'01 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"' OCic ('"   Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'       '     Text
'05                ' Literal.Number.Integer
'PIC X(16)'   Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'OC-Compiled' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'       '     Text
'05                ' Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"') OpenCOBOL V1.1 06FEB2009 '" Literal.String.Single
' '           Text
'&'           Punctuation
'\n'          Text

'GC0410'      Comment
'                               ' Text
"'Interactive Compilation         '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'25 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'01 '         Literal.Number.Integer
'PIC X(81)'   Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> LABELS\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-CYAN' Name.Variable
'  '          Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'On/Off Switches:'" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05         ' Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Configuration:'" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'17 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
'\'Additional "cobc" Switches (if any\n' Literal.String.Single

'      '      Comment
'-'           Operator
'                              ' Text
"'):'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'21 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Program Execution Arguments (if an\n" Literal.String.Single

'      '      Comment
'-'           Operator
'                              ' Text
"'y):'"       Literal.String.Single
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> TOP SECTION BACKGROUND\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-CYAN' Name.Variable
' '           Text
'LOWLIGHT'    Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'03 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Program:  '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Folder:   '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'05 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Filename: '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'03 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F-Key: Select Opt'" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Enter: Compile   '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'05 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Esc:   Quit      '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> TOP SECTION PROGRAM INFO\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-WHITE' Name.Variable
' '           Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'03 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'PIC X(47)'   Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'Prog-Name'   Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'PIC X(47)'   Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'Prog-Folder' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'05 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'PIC X(47)'   Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'Prog-File-Name' Name.Variable
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> MIDDLE LEFT SECTION F-KEYS\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-WHITE' Name.Variable
' '           Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F1'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F2'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'11 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F3'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'12 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F4'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'13 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F5'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F6'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'15 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F7'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'32 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F8'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'32 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'F9'"        Literal.String.Single
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> MIDDLE LEFT SECTION SWITCHES\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-RED' Name.Variable
'   '         Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-DEBUG'     Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-DLL'       Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'11 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-SUBROUTINE' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'12 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-EXECUTE'   Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'13 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-NOTRUNC'   Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-TRACE'     Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'15 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'07 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-TRACEALL'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'35 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-SOURCE'    Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'35 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-XREF'      Name.Variable
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> MIDDLE LEFT SECTION BACKGROUND\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-CYAN' Name.Variable
'  '          Text
'LOWLIGHT'    Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Compile debug lines   '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Always make DLLs      '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'11 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Pgm is a SUBROUTINE   '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'12 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Execute if compile OK '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'13 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'No COMP/BINARY trunc  '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Trace procedures      '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'15 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Trace proc + stmnts   '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'37 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Produce source listing'" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'37 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Produce xref listing  '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> MIDDLE RIGHT SECTION F-KEYS\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-WHITE' Name.Variable
' '           Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'S-F1'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'S-F2'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'11 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'S-F3'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'12 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'S-F4'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'13 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'S-F5'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'S-F6'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'15 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'62 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'S-F7'"      Literal.String.Single
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> MIDDLE RIGHT SECTION SWITCHES\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-RED' Name.Variable
' '           Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'67 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-Cfg-BS2000' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'67 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-Cfg-COBOL85' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'11 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'67 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-Cfg-COBOL2002' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'12 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'67 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-Cfg-DEFAULT' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'13 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'67 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-Cfg-IBM'   Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'67 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-Cfg-MF'    Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'15 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'67 '         Literal.Number.Integer
'PIC X(1)'    Keyword.Type
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'S-Cfg-MVS'   Name.Variable
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> MIDDLE RIGHT SECTION BACKGROUND\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-CYAN' Name.Variable
' '           Text
'LOWLIGHT'    Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'09 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'69 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'BS2000    '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'10 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'69 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'COBOL85   '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'11 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'69 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'COBOL2002 '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'12 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'69 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'Default   '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'13 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'69 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'IBM       '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'14 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'69 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'MicroFocus'" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'15 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'69 '         Literal.Number.Integer
'VALUE '      Keyword.Pseudo
"'MVS       '" Literal.String.Single
'.'           Punctuation
'\n'          Text

'      *>\n'  Comment

'      *> FREE-FORM OPTIONS FIELDS\n' Comment

'      *>\n'  Comment

'      '      Comment
'    '        Text
'03 '         Literal.Number.Integer
'BACKGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-BLACK' Name.Variable
'\n'          Text

'      '      Comment
'       '     Text
'FOREGROUND-COLOR' Keyword.Pseudo
' '           Text
'COB-COLOR-WHITE' Name.Variable
' '           Text
'HIGHLIGHT'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'19 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'PIC X(75)'   Keyword.Type
' '           Text
'USING'       Keyword.Pseudo
' '           Text
'S-EXTRA'     Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'05 '         Literal.Number.Integer
'LINE'        Keyword.Pseudo
' '           Text
'23 '         Literal.Number.Integer
'COL'         Keyword.Pseudo
' '           Text
'04 '         Literal.Number.Integer
'PIC X(75)'   Keyword.Type
' '           Text
'USING'       Keyword.Pseudo
' '           Text
'S-ARGS'      Name.Variable
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'PROCEDURE'   Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Legend to procedure names:                                  **\n' Comment

'      **                                                             **\n' Comment

'      ** 00x-xxx   All MAIN driver procedures                        **\n' Comment

'      ** 0xx-xxx   All GLOBAL UTILITY procedures                     **\n' Comment

'      ** 1xx-xxx   All INITIALIZATION procedures                     **\n' Comment

'      ** 2xx-xxx   All CORE PROCESSING procedures                    **\n' Comment

'      ** 9xx-xxx   All TERMINATION procedures                        **\n' Comment

'      *****************************************************************\n' Comment

'      '      Comment
' '           Text
'DECLARATIVES' Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'000'         Literal.Number.Integer
'-'           Operator
'File-Error'  Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'USE'         Keyword.Reserved
' '           Text
'AFTER'       Keyword.Pseudo
' '           Text
'STANDARD'    Keyword.Pseudo
' '           Text
'ERROR'       Keyword.Pseudo
' '           Text
'PROCEDURE'   Keyword.Reserved
' '           Text
'ON'          Keyword.Pseudo
' '           Text
'Source-Code' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'000'         Literal.Number.Integer
'-'           Operator
'Handle-Error' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'COPY'        Keyword.Pseudo
' '           Text
'FileStat-Msgs' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'REPLACING'   Keyword.Pseudo
' '           Text
'STATUS'      Keyword.Pseudo
' '           Text
'BY'          Keyword.Pseudo
' '           Text
'FSM-Status'  Name.Variable
'\n'          Text

'      '      Comment
'                   ' Text
'MSG'         Name.Variable
'    '        Text
'BY'          Keyword.Pseudo
' '           Text
'FSM-Msg'     Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'FSM-Status'  Name.Variable
' '           Text
'='           Operator
' '           Text
'35\n               ' Literal.Number.Integer
'DISPLAY\n                   ' Keyword.Reserved
'\'File not found: "\'' Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'TRIM'        Name.Function
'('           Punctuation
'File-Name'   Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'             ' Text
'\'"\''       Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'END-DISPLAY\n          ' Keyword.Reserved
' '           Text
'ELSE\n              ' Keyword.Reserved
' '           Text
'DISPLAY\n                   ' Keyword.Reserved
'\'Error accessing file: "\'' Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'TRIM'        Name.Function
'('           Punctuation
'File-Name'   Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'             ' Text
'\'"\''       Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'END-DISPLAY\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'GOBACK\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'END'         Keyword.Reserved
' '           Text
'DECLARATIVES' Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'000'         Literal.Number.Integer
'-'           Operator
'Main'        Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'100'         Literal.Number.Integer
'-'           Operator
'Initialization' Name.Variable
'\n'          Text

'GC0609'      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Not-Complete' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE'        Name.Builtin
'\n'          Text

'GC0609'      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'UNTIL'       Keyword.Pseudo
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Complete'    Name.Variable
'\n'          Text

'GC0609'      Comment
'         '   Text
'PERFORM'     Keyword.Reserved
' '           Text
'200'         Literal.Number.Integer
'-'           Operator
'Let-User-Set-Switches' Name.Variable
'\n'          Text

'GC0609'      Comment
'         '   Text
'PERFORM'     Keyword.Reserved
' '           Text
'210'         Literal.Number.Integer
'-'           Operator
'Run-Compiler' Name.Variable
'\n'          Text

'GC0410'      Comment
'         '   Text
'IF '         Keyword.Reserved
'('           Punctuation
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK'  Name.Variable
' '           Text
'OR'          Operator.Word
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK-Warn' Name.Variable
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'         '   Text
'AND '        Operator.Word
'('           Punctuation
'S-XREF'      Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACE'       Name.Constant
' '           Text
'OR'          Operator.Word
' '           Text
'S-SOURCE'    Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACE'       Name.Constant
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'220'         Literal.Number.Integer
'-'           Operator
'Make-Listing' Name.Variable
'\n'          Text

'GC0410'      Comment
'         '   Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0709'      Comment
'         '   Text
'IF  '        Keyword.Reserved
'('           Punctuation
'S-EXECUTE'   Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES'      Name.Constant
')'           Punctuation
'\n'          Text

'GC0709'      Comment
'         '   Text
'AND '        Operator.Word
'('           Punctuation
'88'          Literal.Number.Integer
'-'           Operator
'Output-File-Avail' Name.Variable
')'           Punctuation
'\n'          Text

'GC0609'      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'230'         Literal.Number.Integer
'-'           Operator
'Run-Program' Name.Variable
'\n'          Text

'GC0609'      Comment
'         '   Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0609'      Comment
'     '       Text
'END-PERFORM\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'009'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'900'         Literal.Number.Integer
'-'           Operator
'Terminate'   Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'      * -- Control will NOT return\n' Comment

'      /\n'   Comment

'      '      Comment
' '           Text
'010'         Literal.Number.Integer
'-'           Operator
'Parse-Args'  Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Process a sequence of KEYWORD=VALUE items.  These are items **\n' Comment

'      ** specified on the command-line to provide the initial        **\n' Comment

'      ** options shown selected on the screen.  When integrating     **\n' Comment

'      ** OCic into an edirot or framework, include these switches on **\n' Comment

'      ** the ocic.exe command the editor/framework executes.  Any    **\n' Comment

'      ** underlined choice is the default value for that switch.     **\n' Comment

'      **                                                             **\n' Comment

'      ** @CONFIG=BS2000|COBOL85|COBOL2002|DEFAULT|IBM|MF|MVS         **\n' Comment

'      **                                  =======                    **\n' Comment

'      ** This switch specifies the default cobc compiler configura-  **\n' Comment

'      ** tion file to be used                                        **\n' Comment

'      **                                                             **\n' Comment

'      ** @DEBUG=YES|NO                                               **\n' Comment

'      **            ==                                               **\n' Comment

'      ** This switch specifies whether (YES) or not (NO) debugging   **\n' Comment

'      ** lines (those with a "D" in column 7) will be compiled.      **\n' Comment

'      **                                                             **\n' Comment

'      ** @DLL=YES|NO                                                 **\n' Comment

'      **          ==                                                 **\n' Comment

'      ** Use this switch to force ALL compiled programs to be built  **\n' Comment

'      ** as DLLs ("@DLL=YES").  When main programs are built as DLLs **\n' Comment

'      ** they must be executed using the cobcrun utility.  When      **\n' Comment

'      ** "@DLL=NO" is in effect, main programs are generated as      **\n' Comment

'      ** actual "exe" files and only subprograms will be generated   **\n' Comment

'      ** as DLLs.                                                    **\n' Comment

'      **                                                             **\n' Comment

'      ** @EXECUTE=YES|NO                                             **\n' Comment

'      **              ==                                             **\n' Comment

'      ** This switch specifies whether ("@EXECUTE=YES") or not       **\n' Comment

'      ** ("@EXECUTE=NO") the program will be executed after it is    **\n' Comment

'      ** successfully compiled.                                      **\n' Comment

'      **                                                             **\n' Comment

'      ** @EXTRA=extra cobc argument(s)                               **\n' Comment

'      **                                                             **\n' Comment

'      ** This switch allows you to specify additional cobc arguments **\n' Comment

"      ** that aren't managed by the other OC switches.  If used,     **\n" Comment

'      ** this must be the last switch specified on the command line, **\n' Comment

'      ** as everything that follows the "=" will be placed on the    **\n' Comment

'      ** cobc command generated by OC.                               **\n' Comment

'      **                                                             **\n' Comment

'      ** @NOTRUNC=YES|NO                                             **\n' Comment

'      **          ===                                                **\n' Comment

'      ** This switch specifies whether (YES) or not (NO) the sup-    **\n' Comment

'      ** pression of binary field truncation will occur.  If a PIC   **\n' Comment

'      ** 99 COMP field (one byte of storage), for example, is given  **\n' Comment

'      ** the value 123, it may have its value truncated to 23 when   **\n' Comment

'      ** DISPLAYed.  Regardless of the NOTRUNC setting, internally   **\n' Comment

'      ** the full precision of the field (allowing a maximum value   **\n' Comment

'      ** of 255) will be preserved.  Even though truncation - if it  **\n' Comment

'      ** does occur - would appear to have a minimal disruption on   **\n' Comment

'      ** program operation, it has a significant effect on program   **\n' Comment

'      ** run-time speed.                                             **\n' Comment

'      **                                                             **\n' Comment

'      ** @TRACE=YES|NO|ALL                                           **\n' Comment

'      **            ==                                               **\n' Comment

'      ** This switch controls whether or not code will be added to   **\n' Comment

'      ** the object program to produce execution-time logic traces.  **\n' Comment

'      ** A specification of "@TRACE=NO" means no such code will be   **\n' Comment

'      ** produced.  By specifying "@TRACE=YES", code will be genera- **\n' Comment

'      ** ted to display procedure names as they are entered.  A      **\n' Comment

'      ** "@TRACE=ALL" specification will generate not only procedure **\n' Comment

'      ** traces (as "@TRACE=YES" would) but also statement-level     **\n' Comment

'      ** traces too!  All trace output is written to STDERR, so      **\n' Comment

'      ** adding a "2>file" to the execution of the program will pipe **\n' Comment

'      ** the trace output to a file.  You may find it valuable to    **\n' Comment

'      ** add your own DISPLAY statements to the debugging output via **\n' Comment

'      ** "DISPLAY xx UPON SYSERR"  The SYSERR device corresponds to  **\n' Comment

'      ** the Windows or UNIX STDERR device and will therefore honor  **\n' Comment

'      ** any "2>file" placed at the end of your program\'s execution. **\n' Comment

'      ** Add a "D" in column 7 and you can control the generation or **\n' Comment

'      ** ignoring of these DISPLAY statements via the "@DEBUG"       **\n' Comment

'      ** switch.                                                     **\n' Comment

'      **                                                             **\n' Comment

'GC0410** @SOURCE=YES|NO                                              **\n' Comment

'GC0410**           ==                                                **\n' Comment

'GC0410** Use this switch to produce a source listing of the program, **\n' Comment

'GC0410** PROVIDED it compiles without errors.                        **\n' Comment

'      **                                                             **\n' Comment

'GC0410** @XREF=YES|NO                                                **\n' Comment

'GC0410**           ==                                                **\n' Comment

'GC0410** Use this switch to produce a cross-reference listing of the **\n' Comment

'GC0410** program, PROVIDED it compiles without errors.               **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'011'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'012'         Literal.Number.Integer
'-'           Operator
'Extract-Kwd-And-Value' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'UNTIL'       Keyword.Pseudo
' '           Text
'I'           Name.Variable
' '           Text
'NOT '        Operator.Word
'<'           Operator
' '           Text
'LENGTH'      Keyword.Pseudo
'('           Punctuation
'Command-Line-Args' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'         '   Text
'MOVE'        Keyword.Reserved
' '           Text
'I'           Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'J'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'UNSTRING'    Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'BY'          Keyword.Pseudo
' '           Text
'ALL SPACES\n                  ' Name.Constant
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Switch-Keyword-And-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-UNSTRING\n              ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'Switch-Keyword-And-Value' Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES\n                  ' Name.Constant
' '           Text
'UNSTRING'    Keyword.Reserved
' '           Text
'Switch-Keyword-And-Value' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'BY '         Keyword.Pseudo
"'='"         Literal.String.Single
'\n'          Text

'      '      Comment
'                 ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
','           Punctuation
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-UNSTRING\n                  ' Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'030'         Literal.Number.Integer
'-'           Operator
'Process-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'END-PERFORM\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'019'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      *****************************************************************\n' Comment

'      ** Since this program uses the SCREEN SECTION, it cannot do    **\n' Comment

'      ** conventional console DISPLAY operations.  This routine      **\n' Comment

'      ** (which, I admit, is like using an H-bomb to hunt rabbits)   **\n' Comment

'      ** will submit an "ECHO" command to the system to simulate a   **\n' Comment

'      ** DISPLAY.                                                    **\n' Comment

'      *****************************************************************\n' Comment

'      '      Comment
' '           Text
'021'         Literal.Number.Integer
'-'           Operator
'Build-And-Issue-Command' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'DISPLAY\n              ' Keyword.Reserved
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-DISPLAY\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'029'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'030'         Literal.Number.Integer
'-'           Operator
'Process-Keyword' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Process a single KEYWORD=VALUE item.                        **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'031'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Keyword' Name.Variable
')'           Punctuation
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n           ' Name.Builtin
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'032'         Literal.Number.Integer
'-'           Operator
'Process'     Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EVALUATE'    Keyword.Reserved
' '           Text
'TRUE\n              ' Name.Builtin
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-EXTRA' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'J'           Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'UNSTRING'    Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
' '           Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'BY '         Keyword.Pseudo
"'='"         Literal.String.Single
'\n'          Text

'      '      Comment
'                 ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Dummy'       Name.Variable
','           Punctuation
' '           Text
'S-EXTRA'     Name.Variable
'\n'          Text

'GC0410'      Comment
'                 ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'END-UNSTRING\n                  ' Keyword.Reserved
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'LENGTH'      Keyword.Pseudo
'('           Punctuation
'Command-Line-Args' Name.Variable
')'           Punctuation
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-CONFIG' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'CONFIG'"    Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'EVALUATE'    Keyword.Reserved
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN '       Keyword.Pseudo
"'BS2000'"    Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-BS2000' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN '       Keyword.Pseudo
"'COBOL85'"   Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-COBOL85' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN '       Keyword.Pseudo
"'COBOL2002'" Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-COBOL2002' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN '       Keyword.Pseudo
"'DEFAULT'"   Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-DEFAULT' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN '       Keyword.Pseudo
"'IBM'"       Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-IBM'   Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN '       Keyword.Pseudo
"'MF'"        Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-MF'    Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN '       Keyword.Pseudo
"'MVS'"       Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-MVS'   Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'OTHER\n                          ' Keyword.Pseudo
' '           Text
'MOVE '       Keyword.Reserved
"'An invalid /CONFIG switch value '" Literal.String.Single
' '           Text
'&'           Punctuation
'\n'          Text

'      '      Comment
'                          ' Text
"'was specified on the command line '" Literal.String.Single
' '           Text
'&'           Punctuation
'\n'          Text

'      '      Comment
'                          ' Text
"'- ignored'" Literal.String.Single
'\n'          Text

'      '      Comment
'                       ' Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-EVALUATE\n              ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-DEBUG' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'DEBUG'"     Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'040'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-DEBUG'     Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-DLL' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'DLL'"       Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'040'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Value' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'\n'          Text

'GC0410'      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-DLL'       Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'END-IF\n              ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-EXECUTE' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'EXECUTE'"   Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'040'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-EXECUTE'   Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-IF\n              ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-NOTRUNC' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'NOTRUNC'"   Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'040'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-NOTRUNC'   Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-SOURCE' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'SOURCE'"    Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'050'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-All' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'\n'          Text

'GC0410'      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-SOURCE'    Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'END-IF\n              ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-TRACE' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'TRACE'"     Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'050'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-All' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-TRACE'     Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'Switch-Is-XREF' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'XREF'"      Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'050'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-All' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Good' Name.Variable
'\n'          Text

'GC0410'      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-XREF'      Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'END-IF\n              ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'OTHER\n                  ' Keyword.Pseudo
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'STRING '     Keyword.Reserved
'\'"\''       Literal.String.Single
'\n'          Text

'      '      Comment
'                    ' Text
'TRIM'        Name.Function
'('           Punctuation
'Switch-Keyword' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'                    ' Text
'\'" is not a valid switch \'' Literal.String.Single
' '           Text
'&'           Punctuation
'\n'          Text

'      '      Comment
'                                   ' Text
"'- ignored'" Literal.String.Single
'\n'          Text

'      '      Comment
'                    ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE\n                         ' Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-STRING\n                  ' Keyword.Reserved
' '           Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Bad' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'END-EVALUATE\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'039'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'040'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Value' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Process a switch value of YES or NO                         **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'042'         Literal.Number.Integer
'-'           Operator
'Process'     Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EVALUATE'    Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN '       Keyword.Pseudo
"'Y'"         Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'YES'"       Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN '       Keyword.Pseudo
"'N'"         Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'NO'"        Literal.String.Single
'  '          Text
'To'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'OTHER\n                  ' Keyword.Pseudo
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'STRING '     Keyword.Reserved
'\'*ERROR: "\'' Literal.String.Single
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Switch-Value' Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'                     ' Text
'\'" is not a valid value for the "\'' Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'TRIM'        Name.Function
'('           Punctuation
'Switch-Keyword' Name.Variable
')'           Punctuation
' '           Text
'\'" switch\'' Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SPACES\n                          ' Name.Constant
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-STRING\n                  ' Keyword.Reserved
' '           Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Is-Bad' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'END-EVALUATE\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'049'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'050'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-All' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Process a switch value of YES, NO or ALL                    **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'052'         Literal.Number.Integer
'-'           Operator
'Process'     Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'='           Operator
' '           Text
"'A'"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'MOVE '       Keyword.Reserved
"'ALL'"       Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'ELSE\n              ' Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'040'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Value' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'059'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'060'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Auto' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Process a switch value of YES, NO or AUTO                   **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'061'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'SV-1'        Name.Variable
' '           Text
'='           Operator
' '           Text
"'A'"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'PERFORM'     Keyword.Reserved
' '           Text
'070'         Literal.Number.Integer
'-'           Operator
'Find-LINKAGE-SECTION' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-As-Subpgm' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'Y'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'ELSE\n                  ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"'N'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'ELSE\n              ' Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'040'         Literal.Number.Integer
'-'           Operator
'Process-Yes-No-Value' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'070'         Literal.Number.Integer
'-'           Operator
'Find-LINKAGE-SECTION' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Determine if the program being compiled is a MAIN program   **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'071'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'OPEN'        Keyword.Reserved
' '           Text
'INPUT'       Keyword.Pseudo
' '           Text
'Source-Code' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-As-Mainpgm' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'More-To-1st-Prog' Name.Variable
'   '         Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'UNTIL'       Keyword.Pseudo
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'1'           Literal.Number.Integer
'st-Prog-Complete' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'READ'        Keyword.Reserved
' '           Text
'Source-Code' Name.Variable
' '           Text
'AT'          Keyword.Pseudo
' '           Text
'END\n                  ' Keyword.Reserved
' '           Text
'CLOSE'       Keyword.Reserved
' '           Text
'Source-Code' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'EXIT'        Keyword.Reserved
' '           Text
'SECTION\n              ' Keyword.Reserved
' '           Text
'END-READ\n              ' Keyword.Reserved
' '           Text
'CALL '       Keyword.Reserved
"'CHECKSOURCE'" Literal.String.Single
' '           Text
'USING'       Keyword.Pseudo
' '           Text
'Source-Code-Record' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'F-Source-Record-Type' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-CALL\n              ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-Ident' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'1'           Literal.Number.Integer
'st-Prog-Complete' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n              ' Name.Builtin
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'END-PERFORM\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'072'         Literal.Number.Integer
'-'           Operator
'Process-Source' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-IgnoCOB-COLOR-RED' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'UNTIL'       Keyword.Pseudo
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-Linkage' Name.Variable
'\n'          Text

'      '      Comment
'                ' Text
'OR'          Operator.Word
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-Ident' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'READ'        Keyword.Reserved
' '           Text
'Source-Code' Name.Variable
' '           Text
'AT'          Keyword.Pseudo
' '           Text
'END\n                  ' Keyword.Reserved
' '           Text
'CLOSE'       Keyword.Reserved
' '           Text
'Source-Code' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'EXIT'        Keyword.Reserved
' '           Text
'SECTION\n              ' Keyword.Reserved
' '           Text
'END-READ\n              ' Keyword.Reserved
' '           Text
'CALL '       Keyword.Reserved
"'CHECKSOURCE'" Literal.String.Single
' '           Text
'USING'       Keyword.Pseudo
' '           Text
'Source-Code-Record' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'F-Source-Record-Type' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-CALL\n          ' Keyword.Reserved
' '           Text
'END-PERFORM\n          ' Keyword.Reserved
' '           Text
'CLOSE'       Keyword.Reserved
' '           Text
'Source-Code' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Source-Rec-Linkage' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-As-Subpgm' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'079'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'100'         Literal.Number.Integer
'-'           Operator
'Initialization' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Perform all program-wide initialization operations          **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'101'         Literal.Number.Integer
'-'           Operator
'Determine-OS-Type' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'CALL '       Keyword.Reserved
"'GETOSTYPE'" Literal.String.Single
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'RETURN-CODE' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'OS-Type'     Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'EVALUATE'    Keyword.Reserved
' '           Text
'TRUE'        Name.Builtin
'\n'          Text

'GC0909'      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'OS-Unknown'  Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'\\'"        Literal.String.Single
'         '   Text
'TO'          Keyword.Pseudo
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'Unknown'"   Literal.String.Single
'   '         Text
'TO'          Keyword.Pseudo
' '           Text
'OS-Type-Literal' Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F11' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F1'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F12' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F2'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F13' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F3'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F14' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F4'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F15' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F5'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F16' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F6'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F17' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F7'     Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'OS-Windows'  Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'\\'"        Literal.String.Single
'         '   Text
'TO'          Keyword.Pseudo
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'Windows'"   Literal.String.Single
'   '         Text
'TO'          Keyword.Pseudo
' '           Text
'OS-Type-Literal' Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F13' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F1'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F14' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F2'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F15' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F3'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F16' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F4'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F17' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F5'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F18' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F6'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F19' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F7'     Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'OS-Cygwin'   Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'/'"         Literal.String.Single
'         '   Text
'TO'          Keyword.Pseudo
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'Cygwin'"    Literal.String.Single
'    '        Text
'TO'          Keyword.Pseudo
' '           Text
'OS-Type-Literal' Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F11' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F1'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F12' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F2'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F13' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F3'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F14' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F4'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F15' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F5'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F16' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F6'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F17' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F7'     Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'OS-UNIX'     Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'/'"         Literal.String.Single
'         '   Text
'TO'          Keyword.Pseudo
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'UNIX   '"   Literal.String.Single
'   '         Text
'TO'          Keyword.Pseudo
' '           Text
'OS-Type-Literal' Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F11' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F1'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F12' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F2'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F13' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F3'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F14' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F4'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F15' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F5'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F16' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F6'     Name.Variable
'\n'          Text

'GC0310'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'COB-SCR-F17' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CK-S-F7'     Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-EVALUATE' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'102'         Literal.Number.Integer
'-'           Operator
'Set-Environment-Vars' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'ENVIRONMENT ' Keyword.Reserved
"'COB_SCREEN_EXCEPTIONS'" Literal.String.Single
' '           Text
'TO '         Keyword.Pseudo
"'Y'"         Literal.String.Single
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'ENVIRONMENT ' Keyword.Reserved
"'COB_SCREEN_ESC'" Literal.String.Single
'        '    Text
'TO '         Keyword.Pseudo
"'Y'"         Literal.String.Single
'\n'          Text

'      '      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'103'         Literal.Number.Integer
'-'           Operator
'Generate-Cobc-Output-Fn' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'ACCEPT'      Keyword.Reserved
' '           Text
'Env-TEMP'    Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'FROM'        Keyword.Pseudo
' '           Text
'ENVIRONMENT ' Keyword.Reserved
'"TEMP"'      Literal.String.Double
'\n'          Text

'      '      Comment
'     '       Text
'END-ACCEPT\n          ' Keyword.Reserved
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Cobc-Output-File' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'STRING'      Keyword.Reserved
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Env-TEMP'    Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'            ' Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0909'      Comment
'            ' Text
"'OC-Messages.TXT'" Literal.String.Single
'\n'          Text

'      '      Comment
'            ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE\n                 ' Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Output-File' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-STRING\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'104'         Literal.Number.Integer
'-'           Operator
'Generate-Banner-Line-Info' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'WHEN-COMPILED ' Name.Function
'('           Punctuation
'1'           Literal.Number.Integer
':'           Punctuation
'12'          Literal.Number.Integer
')'           Punctuation
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'OC-Compiled' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'INSPECT'     Keyword.Reserved
' '           Text
'OC-Compiled' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'REPLACING'   Keyword.Pseudo
' '           Text
'ALL '        Keyword.Pseudo
"'/'"         Literal.String.Single
' '           Text
'BY '         Keyword.Pseudo
"':'"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'AFTER'       Keyword.Pseudo
' '           Text
'INITIAL'     Keyword.Pseudo
' '           Text
'SPACE\n           ' Name.Constant
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'105'         Literal.Number.Integer
'-'           Operator
'Establish-Switch-Settings' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'ACCEPT'      Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'FROM'        Keyword.Pseudo
' '           Text
'COMMAND-LINE\n          ' Keyword.Pseudo
' '           Text
'END-ACCEPT\n          ' Keyword.Reserved
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Command-Line-Args' Name.Variable
','           Punctuation
' '           Text
'Leading'     Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'       '     Text
'TO'          Keyword.Pseudo
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'0 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'Tally'       Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'INSPECT'     Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
' '           Text
'TALLYING'    Keyword.Pseudo
' '           Text
'Tally'       Name.Variable
' '           Text
'FOR'         Keyword.Pseudo
' '           Text
'ALL '        Keyword.Pseudo
"'@'"         Literal.String.Single
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'Tally'       Name.Variable
' '           Text
'='           Operator
' '           Text
'0\n               ' Literal.Number.Integer
'MOVE'        Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'File-Name'   Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES           ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'UNSTRING'    Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
' '           Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'BY '         Keyword.Pseudo
"'@'"         Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'INTO'        Keyword.Pseudo
' '           Text
'File-Name'   Name.Variable
','           Punctuation
' '           Text
'Dummy'       Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-UNSTRING\n              ' Keyword.Reserved
' '           Text
'INSPECT'     Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'REPLACING'   Keyword.Pseudo
' '           Text
'FIRST '      Keyword.Pseudo
"'@'"         Literal.String.Single
' '           Text
'BY'          Keyword.Pseudo
' '           Text
'LOW-VALUES\n              ' Name.Constant
' '           Text
'UNSTRING'    Keyword.Reserved
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'BY'          Keyword.Pseudo
' '           Text
'LOW-VALUES\n                  ' Name.Constant
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Dummy'       Name.Variable
','           Punctuation
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-UNSTRING\n              ' Keyword.Reserved
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'GC0410'      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'@'"         Literal.String.Single
' '           Text
'Cmd'         Name.Variable
' '           Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE\n                  ' Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Command-Line-Args' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'File-Name'   Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACES\n              ' Name.Constant
' '           Text
'DISPLAY\n                   ' Keyword.Reserved
"'No program filename was specified'" Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'END-DISPLAY\n              ' Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'900'         Literal.Number.Integer
'-'           Operator
'Terminate'   Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'010'         Literal.Number.Integer
'-'           Operator
'Parse-Args'  Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'S-SUBROUTINE' Name.Variable
' '           Text
'='           Operator
' '           Text
"'A'"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'MOVE '       Keyword.Reserved
"'S'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Keyword' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'MOVE '       Keyword.Reserved
"'A'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Switch-Value' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'PERFORM'     Keyword.Reserved
' '           Text
'070'         Literal.Number.Integer
'-'           Operator
'Find-LINKAGE-SECTION' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-As-Subpgm' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"'Y'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-SUBROUTINE' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'ELSE\n                  ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"'N'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-SUBROUTINE' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'INSPECT'     Keyword.Reserved
' '           Text
'S-Yes-No-Switches' Name.Variable
' '           Text
'REPLACING'   Keyword.Pseudo
' '           Text
'ALL '        Keyword.Pseudo
"'Y'"         Literal.String.Single
' '           Text
'BY'          Keyword.Pseudo
' '           Text
'Selection-Char' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'INSPECT'     Keyword.Reserved
' '           Text
'S-Yes-No-Switches' Name.Variable
' '           Text
'REPLACING'   Keyword.Pseudo
' '           Text
'ALL '        Keyword.Pseudo
"'N'"         Literal.String.Single
' '           Text
'BY '         Keyword.Pseudo
"' '"         Literal.String.Single
'\n'          Text

'      '      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'106'         Literal.Number.Integer
'-'           Operator
'Determine-Folder-Path' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'Move'        Keyword.Reserved
' '           Text
'256 '        Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'OS-Cygwin'   Name.Variable
' '           Text
'AND'         Operator.Word
' '           Text
'File-Name'   Name.Variable
' '           Text
'('           Punctuation
'2'           Literal.Number.Integer
':'           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"':'"         Literal.String.Single
'\n'          Text

'GC0909'      Comment
'         '   Text
'MOVE '       Keyword.Reserved
"'\\'"        Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'UNTIL'       Keyword.Pseudo
' '           Text
'I'           Name.Variable
' '           Text
'='           Operator
' '           Text
'0 '          Literal.Number.Integer
'OR'          Operator.Word
' '           Text
'FN-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
' '           Text
'='           Operator
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'SUBTRACT'    Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'FROM'        Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-PERFORM\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'I'           Name.Variable
' '           Text
'='           Operator
' '           Text
'0\n               ' Literal.Number.Integer
'MOVE'        Keyword.Reserved
' '           Text
'SPACES   '   Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Prog-Folder' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'MOVE'        Keyword.Reserved
' '           Text
'File-Name'   Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Prog-File-Name' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'ELSE\n              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"'*'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'FN-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'         '   Text
'UNSTRING'    Keyword.Reserved
' '           Text
'File-Name'   Name.Variable
' '           Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'BY '         Keyword.Pseudo
"'*'"         Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Prog-Folder' Name.Variable
'\n'          Text

'      '      Comment
'                  ' Text
'Prog-File-Name' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-UNSTRING\n              ' Keyword.Reserved
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Dir-Char'    Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'FN-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'UNSTRING'    Keyword.Reserved
' '           Text
'Prog-File-Name' Name.Variable
' '           Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'BY '         Keyword.Pseudo
"'.'"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'INTO'        Keyword.Pseudo
' '           Text
'Prog-Name'   Name.Variable
','           Punctuation
' '           Text
'Prog-Extension' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-UNSTRING\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'Prog-Folder' Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACES\n              ' Name.Constant
' '           Text
'ACCEPT'      Keyword.Reserved
' '           Text
'Prog-Folder' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'FROM'        Keyword.Pseudo
' '           Text
'ENVIRONMENT ' Keyword.Reserved
"'CD'"        Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'END-ACCEPT'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'CALL '       Keyword.Reserved
'"CBL_CHANGE_DIR"' Literal.String.Double
'\n'          Text

'GC0909'      Comment
'             ' Text
'USING'       Keyword.Pseudo
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Prog-Folder' Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-CALL\n          ' Keyword.Reserved
' '           Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'OS-Cygwin'   Name.Variable
' '           Text
'AND'         Operator.Word
' '           Text
'File-Name'   Name.Variable
' '           Text
'('           Punctuation
'2'           Literal.Number.Integer
':'           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"':'"         Literal.String.Single
'\n'          Text

'GC0909'      Comment
'         '   Text
'MOVE '       Keyword.Reserved
"'/'"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'GC0909'      Comment
' '           Text
'107'         Literal.Number.Integer
'-'           Operator
'Other'       Name.Variable
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'ALL'         Keyword.Pseudo
' '           Text
'LD-Horiz-Line' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Horizontal-Line' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'CONCATENATE' Name.Function
'('           Punctuation
"' OCic for '" Literal.String.Single
','           Punctuation
'\n'          Text

'GC0410'      Comment
'                      ' Text
'TRIM'        Name.Function
'('           Punctuation
'OS-Type-Literal' Name.Variable
','           Punctuation
'Trailing'    Keyword.Pseudo
')'           Punctuation
','           Punctuation
'\n'          Text

'GC0410'      Comment
'                      ' Text
"' Copyright (C) 2009-2010, Gary L. Cutler,'" Literal.String.Single
','           Punctuation
'\n'          Text

'GC0410'      Comment
'                      ' Text
"' GPL'"      Literal.String.Single
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'       '     Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'\n'          Text

'      '      Comment
' '           Text
'109'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'200'         Literal.Number.Integer
'-'           Operator
'Let-User-Set-Switches' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Show the user the current switch settings and allow them to **\n' Comment

'      ** be changed.                                                 **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'201'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Switch-Changes' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n           ' Name.Builtin
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'202'         Literal.Number.Integer
'-'           Operator
'Show-And-Change-Switches' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'UNTIL'       Keyword.Pseudo
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'No-Switch-Changes' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'ACCEPT\n                  ' Keyword.Reserved
' '           Text
'Switches-Screen' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-ACCEPT\n              ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'COB-CRT-STATUS' Name.Variable
' '           Text
'>'           Operator
' '           Text
'0\n                   ' Literal.Number.Integer
'EVALUATE'    Keyword.Reserved
' '           Text
'COB-CRT-STATUS' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F1'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'IF'          Keyword.Reserved
' '           Text
'S-DEBUG'     Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-DEBUG'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'ELSE\n                              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-DEBUG'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'END-IF\n                      ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F2'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'IF'          Keyword.Reserved
' '           Text
'S-DLL'       Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-DLL'       Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'ELSE\n                              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-DLL'       Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'END-IF\n                      ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F3'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'IF'          Keyword.Reserved
' '           Text
'S-SUBROUTINE' Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-SUBROUTINE' Name.Variable
'\n'          Text

'      '      Comment
'                         ' Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-EXECUTE'   Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'ELSE\n                              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-SUBROUTINE' Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'END-IF\n                      ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F4'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'IF '         Keyword.Reserved
' '           Text
'S-EXECUTE'   Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                          ' Name.Constant
' '           Text
'AND'         Operator.Word
' '           Text
'S-SUBROUTINE' Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-EXECUTE'   Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'ELSE\n                              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-EXECUTE'   Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'END-IF\n                      ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F5'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'IF '         Keyword.Reserved
' '           Text
'S-NOTRUNC'   Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-NOTRUNC'   Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'ELSE\n                              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-NOTRUNC'   Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'END-IF\n                      ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F6'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'IF '         Keyword.Reserved
' '           Text
'S-TRACE'     Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-TRACE'     Name.Variable
'\n'          Text

'      '      Comment
'                         ' Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-TRACEALL'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'ELSE\n                              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-TRACE'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'END-IF\n                      ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F7'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'IF '         Keyword.Reserved
' '           Text
'S-TRACEALL'  Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE\n                              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-TRACEALL'  Name.Variable
'\n'          Text

'      '      Comment
'                         ' Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-TRACE'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'ELSE\n                              ' Keyword.Reserved
' '           Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-TRACEALL'  Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F8'  Name.Variable
'\n'          Text

'GC0410'      Comment
'                     ' Text
'IF'          Keyword.Reserved
' '           Text
'S-SOURCE'    Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE'       Name.Constant
'\n'          Text

'GC0410'      Comment
'                         ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-SOURCE'    Name.Variable
'\n'          Text

'GC0410'      Comment
'                     ' Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'                         ' Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-SOURCE'    Name.Variable
'\n'          Text

'GC0410'      Comment
'                     ' Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-F9'  Name.Variable
'\n'          Text

'GC0410'      Comment
'                     ' Text
'IF'          Keyword.Reserved
' '           Text
'S-XREF'      Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACE'       Name.Constant
'\n'          Text

'GC0410'      Comment
'                         ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-XREF'      Name.Variable
'\n'          Text

'GC0410'      Comment
'                     ' Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'                         ' Text
'MOVE '       Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-XREF'      Name.Variable
'\n'          Text

'GC0410'      Comment
'                     ' Text
'END-IF\n                      ' Keyword.Reserved
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'COB-SCR-ESC' Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'900'         Literal.Number.Integer
'-'           Operator
'Terminate'   Name.Variable
'\n'          Text

'GC0310'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'CK-S-F1'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES        ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-BS2000' Name.Variable
'\n'          Text

'GC0310'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'CK-S-F2'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES        ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-COBOL85' Name.Variable
'\n'          Text

'GC0310'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'CK-S-F3'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES        ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-COBOL2002' Name.Variable
'\n'          Text

'GC0310'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'CK-S-F4'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES        ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-DEFAULT' Name.Variable
'\n'          Text

'GC0310'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'CK-S-F5'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES        ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-IBM'   Name.Variable
'\n'          Text

'GC0310'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'CK-S-F6'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES        ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-MF'    Name.Variable
'\n'          Text

'GC0310'      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'CK-S-F7'     Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES        ' Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-CfgS'      Name.Variable
'\n'          Text

'      '      Comment
'                     ' Text
'MOVE'        Keyword.Reserved
' '           Text
'Selection-Char' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'S-Cfg-MVS'   Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'WHEN'        Keyword.Pseudo
' '           Text
'OTHER\n                          ' Keyword.Pseudo
' '           Text
'MOVE '       Keyword.Reserved
"'An unsupported key was pressed'" Literal.String.Single
'\n'          Text

'      '      Comment
'                       ' Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-EVALUATE\n              ' Keyword.Reserved
' '           Text
'ELSE\n                  ' Keyword.Reserved
' '           Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'No-Switch-Changes' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n              ' Name.Builtin
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'END-PERFORM\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'209'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'210'         Literal.Number.Integer
'-'           Operator
'Run-Compiler' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

"      ** Run the compiler using the switch settings we've prepared.  **\n" Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'211'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'                    ' Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'      '      Comment
'                    ' Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'DISPLAY\n              ' Keyword.Reserved
' '           Text
'Switches-Screen' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-DISPLAY\n          ' Keyword.Reserved
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'EVALUATE'    Keyword.Reserved
' '           Text
'TRUE\n              ' Name.Builtin
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'S-Cfg-BS2000' Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES\n                  ' Name.Constant
' '           Text
'MOVE '       Keyword.Reserved
"'bs2000'"    Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Config-File' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'S-Cfg-COBOL85' Name.Variable
'  '          Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES\n                  ' Name.Constant
' '           Text
'MOVE '       Keyword.Reserved
"'cobol85'"   Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Config-File' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN '       Keyword.Pseudo
' '           Text
'S-Cfg-COBOL2002' Name.Variable
'  '          Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES\n                  ' Name.Constant
' '           Text
'MOVE '       Keyword.Reserved
"'cobol2002'" Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Config-File' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN '       Keyword.Pseudo
' '           Text
'S-Cfg-IBM'   Name.Variable
'  '          Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES\n                  ' Name.Constant
' '           Text
'MOVE '       Keyword.Reserved
"'ibm'"       Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Config-File' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN '       Keyword.Pseudo
' '           Text
'S-Cfg-MF'    Name.Variable
'  '          Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES\n                  ' Name.Constant
' '           Text
'MOVE '       Keyword.Reserved
"'mf'"        Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Config-File' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN '       Keyword.Pseudo
' '           Text
'S-Cfg-MVS'   Name.Variable
'  '          Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES\n                  ' Name.Constant
' '           Text
'MOVE '       Keyword.Reserved
"'mvs'"       Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Config-File' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'WHEN'        Keyword.Pseudo
' '           Text
'OTHER\n                  ' Keyword.Pseudo
' '           Text
'MOVE '       Keyword.Reserved
"'default'"   Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Config-File' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-EVALUATE\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'212'         Literal.Number.Integer
'-'           Operator
'Build-Compile-Command' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'    '        Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'STRING '     Keyword.Reserved
"'cobc -std='" Literal.String.Single
'\n'          Text

'GC0909'      Comment
'         '   Text
'TRIM'        Name.Function
'('           Punctuation
'Config-File' Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'         '   Text
"' '"         Literal.String.Single
'\n'          Text

'GC0909'      Comment
'         '   Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'S-SUBROUTINE' Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'-m '"       Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'ELSE\n              ' Keyword.Reserved
' '           Text
'STRING '     Keyword.Reserved
"'-x '"       Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'S-DEBUG'     Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'-fdebugging-line '" Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'S-NOTRUNC'   Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'-fnotrunc '" Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'S-TRACEALL'  Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'GC0809'      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'-ftraceall '" Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'S-TRACE'     Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'-ftrace '"  Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n'    Keyword.Reserved

'\n'          Text

'GC0709'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'S-EXTRA'     Name.Variable
' '           Text
'>'           Operator
' '           Text
'SPACES'      Name.Constant
'\n'          Text

'GC0709'      Comment
'         '   Text
'STRING '     Keyword.Reserved
"' '"         Literal.String.Single
'\n'          Text

'GC0709'      Comment
'                ' Text
'TRIM'        Name.Function
'('           Punctuation
'S-Extra'     Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0709'      Comment
'                ' Text
"' '"         Literal.String.Single
'\n'          Text

'GC0709'      Comment
'                ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'GC0709'      Comment
'                ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0709'      Comment
'         '   Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0709'      Comment
'     '       Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'STRING'      Keyword.Reserved
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Prog-File-Name' Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'         '   Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cobc-Cmd'    Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-STRING\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'213'         Literal.Number.Integer
'-'           Operator
'Run-Compiler' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'MOVE '       Keyword.Reserved
"' Compiling...'" Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'Switches-Screen' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0609'      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Output-File-Avail' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'STRING'      Keyword.Reserved
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Cobc-Cmd'    Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'            ' Text
"' 2>'"       Literal.String.Single
'\n'          Text

'      '      Comment
'            ' Text
'TRIM'        Name.Function
'('           Punctuation
'Cobc-Output-File' Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'            ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE\n                 ' Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'CALL '       Keyword.Reserved
"'SYSTEM'"    Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'USING'       Keyword.Pseudo
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Cmd'         Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'RETURN-CODE' Name.Variable
' '           Text
'='           Operator
' '           Text
'0\n'         Literal.Number.Integer

'GC0909'      Comment
'         '   Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK'  Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE'        Name.Builtin
'\n'          Text

'GC0909'      Comment
'     '       Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-Failed' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE'        Name.Builtin
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK'  Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'OPEN'        Keyword.Reserved
' '           Text
'INPUT'       Keyword.Pseudo
' '           Text
'Cobc-Output' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'READ'        Keyword.Reserved
' '           Text
'Cobc-Output' Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'AT'          Keyword.Pseudo
' '           Text
'END'         Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'                 ' Text
'CONTINUE'    Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'NOT'         Operator.Word
' '           Text
'AT'          Keyword.Pseudo
' '           Text
'END'         Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'                 ' Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK-Warn' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE'        Name.Builtin
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-READ'    Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'CLOSE'       Keyword.Reserved
' '           Text
'Cobc-Output' Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK'  Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'MOVE '       Keyword.Reserved
"' Compilation Was Successful'" Literal.String.Single
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'Switches-Screen' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'CALL '       Keyword.Reserved
"'C$SLEEP'"   Literal.String.Single
'\n'          Text

'GC0909'      Comment
'             ' Text
'USING'       Keyword.Pseudo
' '           Text
'2\n'         Literal.Number.Integer

'GC0909'      Comment
'         '   Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0609'      Comment
'         '   Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Complete'    Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'Blank-Screen' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-OK-Warn' Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'DISPLAY '    Keyword.Reserved
"' Compilation was successful, but '" Literal.String.Single
' '           Text
'&'           Punctuation
'\n'          Text

'GC0909'      Comment
'                     ' Text
"'warnings were generated:'" Literal.String.Single
'\n'          Text

'SCROLL*                AT LINE 24 COLUMN 1\n' Comment

'SCROLL*                WITH SCROLL UP 1 LINE\n' Comment

'GC0909'      Comment
'             ' Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'DISPLAY '    Keyword.Reserved
"'Compilation Failed:'" Literal.String.Single
'\n'          Text

'SCROLL*                AT LINE 24 COLUMN 1\n' Comment

'SCROLL*                WITH SCROLL UP 1 LINE\n' Comment

'GC0909'      Comment
'             ' Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0609'      Comment
'         '   Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-Failed' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE'        Name.Builtin
'\n'          Text

'GC0609'      Comment
'         '   Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Complete'    Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE'        Name.Builtin
'\n'          Text

'GC0909'      Comment
'         '   Text
'DISPLAY '    Keyword.Reserved
"' '"         Literal.String.Single
'\n'          Text

'SCROLL*            AT LINE 24 COLUMN 1\n' Comment

'SCROLL*            WITH SCROLL UP 1 LINE\n' Comment

'GC0909'      Comment
'         '   Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'OPEN'        Keyword.Reserved
' '           Text
'INPUT'       Keyword.Pseudo
' '           Text
'Cobc-Output' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'PERFORM'     Keyword.Reserved
' '           Text
'FOREVER'     Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'READ'        Keyword.Reserved
' '           Text
'Cobc-Output' Name.Variable
' '           Text
'AT'          Keyword.Pseudo
' '           Text
'END'         Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'                 ' Text
'EXIT'        Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'END-READ'    Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'DISPLAY'     Keyword.Reserved
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Cobc-Output-Rec' Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'SCROLL*                AT LINE 24 COLUMN 1\n' Comment

'SCROLL*                WITH SCROLL UP 1 LINE\n' Comment

'GC0909'      Comment
'             ' Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-PERFORM' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'CLOSE'       Keyword.Reserved
' '           Text
'Cobc-Output' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'DISPLAY '    Keyword.Reserved
"' '"         Literal.String.Single
'\n'          Text

'SCROLL*            AT LINE 24 COLUMN 1\n' Comment

'SCROLL*            WITH SCROLL UP 2 LINES\n' Comment

'GC0909'      Comment
'         '   Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'DISPLAY '    Keyword.Reserved
"'Press ENTER to close:'" Literal.String.Single
'\n'          Text

'SCROLL*            AT LINE 24 COLUMN 1\n' Comment

'SCROLL*            WITH SCROLL UP 1 LINE\n' Comment

'GC0909'      Comment
'         '   Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'ACCEPT'      Keyword.Reserved
' '           Text
'Dummy'       Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'FROM'        Keyword.Pseudo
' '           Text
'CONSOLE'     Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-ACCEPT'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'Blank-Screen' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-DISPLAY\n          ' Keyword.Reserved
' '           Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'219'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Compile-Failed' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'PERFORM'     Keyword.Reserved
' '           Text
'900'         Literal.Number.Integer
'-'           Operator
'Terminate'   Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'GC0410'      Comment
' '           Text
'220'         Literal.Number.Integer
'-'           Operator
'Make-Listing' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'GC0410*****************************************************************\n' Comment

'GC0410** Generate a source and/or xref listing using XREF            **\n' Comment

'GC0410*****************************************************************\n' Comment

'GC0410'      Comment
'\n'          Text

'GC0410'      Comment
' '           Text
'221'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'MOVE '       Keyword.Reserved
"' Generating cross-reference listing...'" Literal.String.Single
'\n'          Text

'GC0410'      Comment
'       '     Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'Switches-Screen' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'CALL '       Keyword.Reserved
'"CBL_DELETE_FILE"' Literal.String.Double
'\n'          Text

'GC0410'      Comment
'         '   Text
'USING'       Keyword.Pseudo
' '           Text
'CONCATENATE' Name.Function
'('           Punctuation
'TRIM'        Name.Function
'('           Punctuation
'Prog-Name'   Name.Variable
','           Punctuation
'Trailing'    Keyword.Pseudo
')'           Punctuation
','           Punctuation
'".lst"'      Literal.String.Double
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'0 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'RETURN-CODE' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'\n'          Text

'GC0410'      Comment
' '           Text
'213'         Literal.Number.Integer
'-'           Operator
'Run-OCXref'  Name.Variable
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'CALL '       Keyword.Reserved
"'LISTING'"   Literal.String.Single
'\n'          Text

'GC0410'      Comment
'         '   Text
'USING'       Keyword.Pseudo
' '           Text
'S-SOURCE'    Name.Variable
'\n'          Text

'GC0410'      Comment
'               ' Text
'S-XREF'      Name.Variable
'\n'          Text

'GC0410'      Comment
'               ' Text
'File-Name'   Name.Variable
'\n'          Text

'GC0410'      Comment
'         '   Text
'ON'          Keyword.Pseudo
' '           Text
'EXCEPTION'   Keyword.Pseudo
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"' LISTING module is not available'" Literal.String.Single
'\n'          Text

'GC0410'      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'RETURN-CODE' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'RETURN-CODE' Name.Variable
' '           Text
'='           Operator
' '           Text
'0\n'         Literal.Number.Integer

'GC0410'      Comment
'         '   Text
'MOVE '       Keyword.Reserved
"' Listing generated'" Literal.String.Single
'\n'          Text

'GC0410'      Comment
'           ' Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0410'      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'OS-Windows'  Name.Variable
' '           Text
'OR'          Operator.Word
' '           Text
'OS-Cygwin'   Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'STRING'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'                 ' Text
"'cmd /c '"   Literal.String.Single
'\n'          Text

'GC0410'      Comment
'                 ' Text
'TRIM'        Name.Function
'('           Punctuation
'Prog-Name'   Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'                 ' Text
"'.lst'"      Literal.String.Single
'\n'          Text

'GC0410'      Comment
'                 ' Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE'        Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0410'      Comment
'             ' Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'             ' Text
'CALL '       Keyword.Reserved
"'SYSTEM'"    Literal.String.Single
'\n'          Text

'GC0410'      Comment
'                 ' Text
'USING'       Keyword.Pseudo
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Cmd'         Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0410'      Comment
'             ' Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'Output-Message' Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACES'      Name.Constant
'\n'          Text

'GC0410'      Comment
'             ' Text
'MOVE '       Keyword.Reserved
"' Listing generation failed'" Literal.String.Single
'\n'          Text

'GC0410'      Comment
'               ' Text
'TO'          Keyword.Pseudo
' '           Text
'Output-Message' Name.Variable
'\n'          Text

'GC0410'      Comment
'         '   Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'         '   Text
'Switches-Screen' Name.Variable
'\n'          Text

'GC0410'      Comment
'     '       Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'CALL '       Keyword.Reserved
"'C$SLEEP'"   Literal.String.Single
'\n'          Text

'GC0410'      Comment
'         '   Text
'USING'       Keyword.Pseudo
' '           Text
'2\n'         Literal.Number.Integer

'GC0410'      Comment
'     '       Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'230'         Literal.Number.Integer
'-'           Operator
'Run-Program' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Run the compiled program                                    **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'232'         Literal.Number.Integer
'-'           Operator
'Build-Command' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'S-SUBROUTINE' Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'      '      Comment
'     '       Text
'OR'          Operator.Word
' '           Text
'S-DLL'       Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'cobcrun '"  Literal.String.Single
' '           Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE\n                     ' Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'                ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'Prog-Folder' Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES'      Name.Constant
'\n'          Text

'GC0909'      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'OS-Cygwin'   Name.Variable
' '           Text
'AND'         Operator.Word
' '           Text
'Prog-Folder' Name.Variable
' '           Text
'('           Punctuation
'2'           Literal.Number.Integer
':'           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"':'"         Literal.String.Single
'\n'          Text

'GC0909'      Comment
'             ' Text
'STRING '     Keyword.Reserved
"'/cygdrive/'" Literal.String.Single
'\n'          Text

'GC0909'      Comment
'                 ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'                 ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'STRING'      Keyword.Reserved
' '           Text
'LOWER-CASE'  Name.Function
'('           Punctuation
'Prog-Folder' Name.Variable
' '           Text
'('           Punctuation
'1'           Literal.Number.Integer
':'           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'                 ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'                 ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'PERFORM'     Keyword.Reserved
' '           Text
'VARYING'     Keyword.Pseudo
' '           Text
'J'           Name.Variable
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'3 '          Literal.Number.Integer
'BY'          Keyword.Pseudo
' '           Text
'1\n'         Literal.Number.Integer

'GC0909'      Comment
'                       ' Text
'UNTIL'       Keyword.Pseudo
' '           Text
'J'           Name.Variable
' '           Text
'>'           Operator
' '           Text
'LENGTH'      Keyword.Pseudo
'('           Punctuation
'TRIM'        Name.Function
'('           Punctuation
'Prog-Folder' Name.Variable
')'           Punctuation
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'                 ' Text
'IF'          Keyword.Reserved
' '           Text
'Prog-Folder' Name.Variable
' '           Text
'('           Punctuation
'J'           Name.Variable
':'           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'\\'"        Literal.String.Single
'\n'          Text

'GC0909'      Comment
'                     ' Text
'STRING '     Keyword.Reserved
"'/'"         Literal.String.Single
'\n'          Text

'GC0909'      Comment
'                         ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'                         ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'                     ' Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'                 ' Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'                     ' Text
'STRING'      Keyword.Reserved
' '           Text
'Prog-Folder' Name.Variable
' '           Text
'('           Punctuation
'J'           Name.Variable
':'           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'                         ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'                         ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'                     ' Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'                 ' Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'END-PERFORM' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0410'      Comment
'             ' Text
'STRING '     Keyword.Reserved
'\'"\''       Literal.String.Single
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Prog-Folder' Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'                 ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'                 ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'STRING'      Keyword.Reserved
' '           Text
'Dir-Char'    Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'ELSE'        Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'OS-Cygwin'   Name.Variable
' '           Text
'OR'          Operator.Word
' '           Text
'OS-UNIX'     Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'STRING '     Keyword.Reserved
"'./'"        Literal.String.Single
'\n'          Text

'GC0909'      Comment
'                 ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'                 ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'             ' Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'END-IF'      Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'STRING'      Keyword.Reserved
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Prog-Name'   Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'GC0909'      Comment
'         '   Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-STRING'  Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'S-SUBROUTINE' Name.Variable
' '           Text
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'GC0909'      Comment
'     '       Text
'AND'         Operator.Word
' '           Text
'S-DLL'       Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
"' '"         Literal.String.Single
'\n'          Text

'GC0909'      Comment
'         '   Text
'STRING '     Keyword.Reserved
"'.exe'"      Literal.String.Single
' '           Text
'DELIMITED'   Keyword.Pseudo
' '           Text
'SIZE\n                     ' Keyword.Pseudo
' '           Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'                ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'S-ARGS'      Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACES'      Name.Constant
'\n'          Text

'GC0809'      Comment
'         '   Text
'STRING '     Keyword.Reserved
"' '"         Literal.String.Single
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'S-ARGS'      Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'             ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'OS-Unknown'  Name.Variable
' '           Text
'OR'          Operator.Word
' '           Text
'OS-Windows'  Name.Variable
'\n'          Text

'GC0410'      Comment
'         '   Text
'STRING '     Keyword.Reserved
'\'"&&pause\'' Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'ELSE\n              ' Keyword.Reserved
' '           Text
'STRING '     Keyword.Reserved
'\';echo "Press ENTER to close...";read\'' Literal.String.Single
'\n'          Text

'      '      Comment
'             ' Text
'INTO'        Keyword.Pseudo
' '           Text
'Cmd'         Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'WITH'        Keyword.Pseudo
' '           Text
'POINTER'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-STRING\n          ' Keyword.Reserved
' '           Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'233'         Literal.Number.Integer
'-'           Operator
'Run-Program' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'Blank-Screen' Name.Variable
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-DISPLAY\n\n          ' Keyword.Reserved
' '           Text
'CALL '       Keyword.Reserved
"'SYSTEM'"    Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'USING'       Keyword.Pseudo
' '           Text
'TRIM'        Name.Function
'('           Punctuation
'Cmd'         Name.Variable
','           Punctuation
'TRAILING'    Keyword.Pseudo
')'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'END-CALL\n          ' Keyword.Reserved
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'900'         Literal.Number.Integer
'-'           Operator
'Terminate'   Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'239'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'EXIT'        Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'900'         Literal.Number.Integer
'-'           Operator
'Terminate'   Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Display a message and halt the program                      **\n' Comment

'      *****************************************************************\n' Comment

'\n'          Text

'      '      Comment
' '           Text
'901'         Literal.Number.Integer
'-'           Operator
'Display-Message' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0909'      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'Output-Message' Name.Variable
' '           Text
'>'           Operator
' '           Text
'SPACES'      Name.Constant
'\n'          Text

'GC0909'      Comment
'         '   Text
'DISPLAY'     Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'             ' Text
'Switches-Screen' Name.Variable
'\n'          Text

'GC0909'      Comment
'         '   Text
'END-DISPLAY' Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'         '   Text
'CALL '       Keyword.Reserved
"'C$SLEEP'"   Literal.String.Single
'\n'          Text

'GC0909'      Comment
'             ' Text
'USING'       Keyword.Pseudo
' '           Text
'2\n'         Literal.Number.Integer

'GC0909'      Comment
'         '   Text
'END-CALL'    Keyword.Reserved
'\n'          Text

'GC0909'      Comment
'     '       Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'DISPLAY\n              ' Keyword.Reserved
' '           Text
'Blank-Screen' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-DISPLAY\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'909'         Literal.Number.Integer
'-'           Operator
'Done'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'GOBACK\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'END'         Keyword.Reserved
' '           Text
'PROGRAM'     Keyword.Pseudo
' '           Text
'OCic'        Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'IDENTIFICATION' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'PROGRAM-ID'  Keyword.Reserved
'.'           Punctuation
'  '          Text
'GETOSTYPE'   Name.Variable
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** This subprogram determine the OS type the program is run-   **\n' Comment

'      ** ning under, passing that result back in RETURN-CODE as fol- **\n' Comment

'      ** lows:                                                       **\n' Comment

'      **                                                             **\n' Comment

'      ** 0:   Cannot be determined                                   **\n' Comment

'      ** 1:   Native Windows or Windows/MinGW                        **\n' Comment

'      ** 2:   Cygwin                                                 **\n' Comment

'      ** 3:   UNIX/Linux/MacOS                                       **\n' Comment

'      *****************************************************************\n' Comment

'      **  DATE  CHANGE DESCRIPTION                                   **\n' Comment

'      ** ====== ==================================================== **\n' Comment

'      ** GC0909 Initial coding.                                      **\n' Comment

'      *****************************************************************\n' Comment

'      '      Comment
' '           Text
'ENVIRONMENT' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'CONFIGURATION' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'REPOSITORY'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'FUNCTION'    Keyword.Pseudo
' '           Text
'ALL'         Keyword.Pseudo
' '           Text
'INTRINSIC'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'DATA'        Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'WORKING-STORAGE' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Env-Path'    Name.Variable
'                    ' Text
'PIC X(1024)' Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Tally'       Name.Variable
'                       ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'PROCEDURE'   Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'000'         Literal.Number.Integer
'-'           Operator
'Main'        Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'010'         Literal.Number.Integer
'-'           Operator
'Get-TEMP-Var' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Env-Path'    Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'ACCEPT'      Keyword.Reserved
' '           Text
'Env-Path'    Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'FROM'        Keyword.Pseudo
' '           Text
'ENVIRONMENT ' Keyword.Reserved
'"PATH"'      Literal.String.Double
'\n'          Text

'      '      Comment
'         '   Text
'ON'          Keyword.Pseudo
' '           Text
'EXCEPTION\n                  ' Keyword.Pseudo
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'0 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'RETURN-CODE' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'GOBACK\n          ' Keyword.Reserved
' '           Text
'END-ACCEPT\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'Env-Path'    Name.Variable
' '           Text
'='           Operator
' '           Text
'SPACES\n              ' Name.Constant
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'0 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'RETURN-CODE' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'ELSE\n              ' Keyword.Reserved
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'0 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'Tally'       Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'INSPECT'     Keyword.Reserved
' '           Text
'Env-Path'    Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'TALLYING'    Keyword.Pseudo
' '           Text
'Tally'       Name.Variable
' '           Text
'FOR'         Keyword.Pseudo
' '           Text
'ALL '        Keyword.Pseudo
'";"'         Literal.String.Double
'\n'          Text

'      '      Comment
'         '   Text
'IF'          Keyword.Reserved
' '           Text
'Tally'       Name.Variable
' '           Text
'='           Operator
' '           Text
'0 '          Literal.Number.Integer
'*> Must be some form of UNIX\n' Comment

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'0 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'Tally'       Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'INSPECT'     Keyword.Reserved
' '           Text
'Env-Path'    Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'TALLYING'    Keyword.Pseudo
' '           Text
'TALLY'       Name.Variable
' '           Text
'FOR'         Keyword.Pseudo
' '           Text
'ALL '        Keyword.Pseudo
'"/cygdrive/"' Literal.String.Double
'\n'          Text

'      '      Comment
'             ' Text
'IF'          Keyword.Reserved
' '           Text
'Tally'       Name.Variable
' '           Text
'='           Operator
' '           Text
'0 '          Literal.Number.Integer
'*> UNIX/MacOS\n' Comment

'      '      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'3 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'RETURN-CODE' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'ELSE '       Keyword.Reserved
'*> Cygwin\n' Comment

'      '      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'2 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'RETURN-CODE' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'END-IF\n              ' Keyword.Reserved
' '           Text
'ELSE '       Keyword.Reserved
'*> Assume Windows[/MinGW]\n' Comment

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'RETURN-CODE' Name.Variable
'\n'          Text

'      '      Comment
'         '   Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'GOBACK\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'END'         Keyword.Reserved
' '           Text
'PROGRAM'     Keyword.Pseudo
' '           Text
'GETOSTYPE'   Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'IDENTIFICATION' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'PROGRAM-ID'  Keyword.Reserved
'.'           Punctuation
'  '          Text
'CHECKSOURCE' Name.Variable
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** This subprogram will scan a line of source code it is given **\n' Comment

'      ** looking for "LINKAGE SECTION" or "IDENTIFICATION DIVISION". **\n' Comment

'      **                                                             **\n' Comment

'      **  ****NOTE****   ****NOTE****    ****NOTE****   ****NOTE***  **\n' Comment

'      **                                                             **\n' Comment

'      ** These two strings must be found IN THEIR ENTIRETY within    **\n' Comment

'      ** the 1st 80 columns of program source records, and cannot    **\n' Comment

'      ** follow either a "*>" sequence OR a "*" in col 7.            **\n' Comment

'      *****************************************************************\n' Comment

'      **  DATE  CHANGE DESCRIPTION                                   **\n' Comment

'      ** ====== ==================================================== **\n' Comment

'      ** GC0809 Initial coding.                                      **\n' Comment

'      *****************************************************************\n' Comment

'      '      Comment
' '           Text
'ENVIRONMENT' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'CONFIGURATION' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'REPOSITORY'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'FUNCTION'    Keyword.Pseudo
' '           Text
'ALL'         Keyword.Pseudo
' '           Text
'INTRINSIC'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'DATA'        Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'WORKING-STORAGE' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Compressed-Src' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'CS-Char'     Name.Variable
'                  ' Text
'OCCURS'      Keyword.Pseudo
' '           Text
'80 '         Literal.Number.Integer
'TIMES'       Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Flags'       Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Found-SPACE' Name.Variable
'            ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Skipping-SPACE' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
"'Y'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'Not-Skipping-SPACE' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
"'N'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'I'           Name.Variable
'                           ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-CHAR' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'J'           Name.Variable
'                           ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-CHAR' Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'LINKAGE'     Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Argument-1'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'02 '         Literal.Number.Integer
'A1-Char'     Name.Variable
'                  ' Text
'OCCURS'      Keyword.Pseudo
' '           Text
'80 '         Literal.Number.Integer
'TIMES'       Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Argument-2'  Name.Variable
'                  ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'A2-LINKAGE-SECTION' Name.Variable
'         '   Text
'VALUE '      Keyword.Pseudo
"'L'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'A2-IDENTIFICATION-DIVISION' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
"'I'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'88 '         Literal.Number.Integer
'88'          Literal.Number.Integer
'-'           Operator
'A2-Nothing-Special' Name.Variable
'         '   Text
'VALUE '      Keyword.Pseudo
"' '"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'PROCEDURE'   Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
' '           Text
'USING'       Keyword.Pseudo
' '           Text
'Argument-1'  Name.Variable
','           Punctuation
' '           Text
'Argument-2'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'000'         Literal.Number.Integer
'-'           Operator
'Main'        Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'010'         Literal.Number.Integer
'-'           Operator
'Initialize'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'A2-Nothing-Special' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'IF'          Keyword.Reserved
' '           Text
'A1-Char'     Name.Variable
' '           Text
'('           Punctuation
'7'           Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'*'"         Literal.String.Single
'\n'          Text

'      '      Comment
'         '   Text
'GOBACK\n          ' Keyword.Reserved
' '           Text
'END-IF\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'020'         Literal.Number.Integer
'-'           Operator
'Compress-Multiple-SPACES' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Not-Skipping-SPACE' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n          ' Name.Builtin
' '           Text
'MOVE'        Keyword.Reserved
' '           Text
'0 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'J'           Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'MOVE'        Keyword.Reserved
' '           Text
'SPACES'      Name.Constant
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Compressed-Src' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'VARYING'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'1 '          Literal.Number.Integer
'BY'          Keyword.Pseudo
' '           Text
'1\n                     ' Literal.Number.Integer
'UNTIL'       Keyword.Pseudo
' '           Text
'I'           Name.Variable
' '           Text
'>'           Operator
' '           Text
'80\n               ' Literal.Number.Integer
'IF'          Keyword.Reserved
' '           Text
'A1-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
' '           Text
'='           Operator
' '           Text
'SPACE\n                  ' Name.Constant
' '           Text
'IF'          Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Not-Skipping-SPACE' Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'ADD'         Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'J'           Name.Variable
'\n'          Text

'      '      Comment
'                 ' Text
'MOVE'        Keyword.Reserved
' '           Text
'UPPER-CASE'  Name.Function
'('           Punctuation
'A1-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
')'           Punctuation
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CS-Char'     Name.Variable
' '           Text
'('           Punctuation
'J'           Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'                 ' Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Skipping-SPACE' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n                  ' Name.Builtin
' '           Text
'END-IF\n              ' Keyword.Reserved
' '           Text
'ELSE\n                  ' Keyword.Reserved
' '           Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'Not-Skipping-SPACE' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n                  ' Name.Builtin
' '           Text
'ADD'         Keyword.Reserved
' '           Text
'1 '          Literal.Number.Integer
'TO'          Keyword.Pseudo
' '           Text
'J'           Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'MOVE'        Keyword.Reserved
' '           Text
'A1-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'CS-Char'     Name.Variable
' '           Text
'('           Punctuation
'J'           Name.Variable
')'           Punctuation
'\n'          Text

'      '      Comment
'         '   Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'END-PERFORM\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'030'         Literal.Number.Integer
'-'           Operator
'Scan-Compressed-Src' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'VARYING'     Keyword.Pseudo
' '           Text
'I'           Name.Variable
' '           Text
'FROM'        Keyword.Pseudo
' '           Text
'1 '          Literal.Number.Integer
'BY'          Keyword.Pseudo
' '           Text
'1\n                     ' Literal.Number.Integer
'UNTIL'       Keyword.Pseudo
' '           Text
'I'           Name.Variable
' '           Text
'>'           Operator
' '           Text
'66\n               ' Literal.Number.Integer
'EVALUATE'    Keyword.Reserved
' '           Text
'TRUE\n                  ' Name.Builtin
' '           Text
'WHEN'        Keyword.Pseudo
' '           Text
'CS-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'*'"         Literal.String.Single
'\n'          Text

'      '      Comment
'                 ' Text
'IF'          Keyword.Reserved
' '           Text
'Compressed-Src' Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'2'           Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'*>'"        Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'GOBACK\n                      ' Keyword.Reserved
' '           Text
'END-IF\n                  ' Keyword.Reserved
' '           Text
'WHEN '       Keyword.Pseudo
'('           Punctuation
'CS-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'L'"         Literal.String.Single
')'           Punctuation
' '           Text
'AND '        Operator.Word
'('           Punctuation
'I'           Name.Variable
' '           Text
'<'           Operator
' '           Text
'66'          Literal.Number.Integer
')'           Punctuation
'\n'          Text

'      '      Comment
'                 ' Text
'IF'          Keyword.Reserved
' '           Text
'Compressed-Src' Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'15'          Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'LINKAGE SECTION'" Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'A2-LINKAGE-SECTION' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n                          ' Name.Builtin
' '           Text
'GOBACK\n                      ' Keyword.Reserved
' '           Text
'END-IF\n                  ' Keyword.Reserved
' '           Text
'WHEN '       Keyword.Pseudo
'('           Punctuation
'CS-Char'     Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'I'"         Literal.String.Single
')'           Punctuation
' '           Text
'AND '        Operator.Word
'('           Punctuation
'I'           Name.Variable
' '           Text
'<'           Operator
' '           Text
'58'          Literal.Number.Integer
')'           Punctuation
'\n'          Text

'      '      Comment
'                 ' Text
'IF'          Keyword.Reserved
' '           Text
'Compressed-Src' Name.Variable
' '           Text
'('           Punctuation
'I'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'23'          Literal.Number.Integer
')'           Punctuation
' '           Text
'='           Operator
' '           Text
"'IDENTIFICATION '" Literal.String.Single
' '           Text
'&'           Punctuation
'\n'          Text

'      '      Comment
'                                                 ' Text
"'DIVISION'"  Literal.String.Single
'\n'          Text

'      '      Comment
'                     ' Text
'SET'         Keyword.Reserved
' '           Text
'88'          Literal.Number.Integer
'-'           Operator
'A2-IDENTIFICATION-DIVISION' Name.Variable
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'TRUE\n                          ' Name.Builtin
' '           Text
'GOBACK\n                      ' Keyword.Reserved
' '           Text
'END-IF\n              ' Keyword.Reserved
' '           Text
'END-EVALUATE\n          ' Keyword.Reserved
' '           Text
'END-PERFORM\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'099'         Literal.Number.Integer
'-'           Operator
'Never-Found-Either-One' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'GOBACK\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'END'         Keyword.Reserved
' '           Text
'PROGRAM'     Keyword.Pseudo
' '           Text
'CHECKSOURCE' Name.Variable
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'IDENTIFICATION' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'PROGRAM-ID'  Keyword.Reserved
'.'           Punctuation
'  '          Text
'LISTING'     Name.Variable
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** This subprogram generates a cross-reference listing of an   **\n' Comment

'      ** OpenCOBOL program.                                          **\n' Comment

'      **                                                             **\n' Comment

'      ** Linkage:      CALL "LISTING" USING <source>                 **\n' Comment

'      **                                    <xref>                   **\n' Comment

'      **                                    <filename>               **\n' Comment

'      **                                                             **\n' Comment

'      **               Where:                                        **\n' Comment

'      **                  <source>   is a PIC X(1) flag indicating   **\n' Comment

'      **                             whether or not a source listing **\n' Comment

'      **                             should be produced (space=NO,   **\n' Comment

'      **                             non-space=yes)                  **\n' Comment

'      **                  <xref>     is a PIC X(1) flag indicating   **\n' Comment

'      **                             whether or not an xref listing  **\n' Comment

'      **                             should be produced (space=NO,   **\n' Comment

'      **                             non-space=yes)                  **\n' Comment

'      **                  <filename> is the [path]filename of the    **\n' Comment

'      **                             program being listed and/or     **\n' Comment

'      **                             xreffed in a PIC X(256) form.   **\n' Comment

'      *****************************************************************\n' Comment

'      **                                                             **\n' Comment

'      ** AUTHOR:       GARY L. CUTLER                                **\n' Comment

'      **               CutlerGL@gmail.com                            **\n' Comment

'      **               Copyright (C) 2010, Gary L. Cutler, GPL       **\n' Comment

'      **                                                             **\n' Comment

'      ** DATE-WRITTEN: April 1, 2010                                 **\n' Comment

'      **                                                             **\n' Comment

'      *****************************************************************\n' Comment

'      **  DATE  CHANGE DESCRIPTION                                   **\n' Comment

'      ** ====== ==================================================== **\n' Comment

'      ** GC0410 Initial coding                                       **\n' Comment

'      ** GC0710 Handle duplicate data names (i.e. "CORRESPONDING" or **\n' Comment

'      **        qualified items) better; ignore "END PROGRAM" recs   **\n' Comment

"      **        so program name doesn't appear in listing.           **\n" Comment

'      *****************************************************************\n' Comment

'      '      Comment
' '           Text
'ENVIRONMENT' Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'CONFIGURATION' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'REPOSITORY'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'FUNCTION'    Keyword.Pseudo
' '           Text
'ALL'         Keyword.Pseudo
' '           Text
'INTRINSIC'   Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'INPUT-OUTPUT' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'FILE-CONTROL' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SELECT'      Keyword.Pseudo
' '           Text
'Expand-Code' Name.Variable
'          '  Text
'ASSIGN'      Keyword.Pseudo
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Expanded-Src-Filename' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'ORGANIZATION' Keyword.Pseudo
' '           Text
'IS'          Keyword.Pseudo
' '           Text
'LINE'        Keyword.Pseudo
' '           Text
'SEQUENTIAL'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SELECT'      Keyword.Pseudo
' '           Text
'Report-File' Name.Variable
'          '  Text
'ASSIGN'      Keyword.Pseudo
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Report-Filename' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'ORGANIZATION' Keyword.Pseudo
' '           Text
'IS'          Keyword.Pseudo
' '           Text
'LINE'        Keyword.Pseudo
' '           Text
'SEQUENTIAL'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SELECT'      Keyword.Pseudo
' '           Text
'Sort-File'   Name.Variable
'            ' Text
'ASSIGN'      Keyword.Pseudo
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'DISK'        Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'SELECT'      Keyword.Pseudo
' '           Text
'Source-Code' Name.Variable
'          '  Text
'ASSIGN'      Keyword.Pseudo
' '           Text
'TO'          Keyword.Pseudo
' '           Text
'Src-Filename' Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'ORGANIZATION' Keyword.Pseudo
' '           Text
'IS'          Keyword.Pseudo
' '           Text
'LINE'        Keyword.Pseudo
' '           Text
'SEQUENTIAL'  Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'DATA'        Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'FILE'        Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'FD '         Keyword.Reserved
' '           Text
'Expand-Code' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Expand-Code-Rec' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'ECR-1'       Name.Variable
'                    ' Text
'PIC X'       Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'ECR-2-256'   Name.Variable
'                ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Expand-Code-Rec-Alt' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'ECR-1-128'   Name.Variable
'                ' Text
'PIC X(128)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'ECR-129-256' Name.Variable
'              ' Text
'PIC X(128)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'FD '         Keyword.Reserved
' '           Text
'Report-File' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Report-Rec'  Name.Variable
'                  ' Text
'PIC X(135)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'SD '         Keyword.Reserved
' '           Text
'Sort-File'   Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Sort-Rec'    Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SR-Prog-ID'  Name.Variable
'               ' Text
'PIC X(15)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SR-Token-UC' Name.Variable
'              ' Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SR-Token'    Name.Variable
'                 ' Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SR-Section'  Name.Variable
'               ' Text
'PIC X(15)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SR-Line-No-Def' Name.Variable
'           ' Text
'PIC 9(6)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SR-Reference' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'SR-Line-No-Ref' Name.Variable
'        '    Text
'PIC 9(6)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'SR-Ref-Flag' Name.Variable
'           ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'FD '         Keyword.Reserved
' '           Text
'Source-Code' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Source-Code-Rec' Name.Variable
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SCR-1-128'   Name.Variable
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'        '    Text
'10 '         Literal.Number.Integer
'FILLER               ' Keyword.Pseudo
' '           Text
'PIC X(6)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'        '    Text
'10 '         Literal.Number.Integer
'SCR-7'       Name.Variable
'                 ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0410'      Comment
'        '    Text
'10 '         Literal.Number.Integer
'FILLER               ' Keyword.Pseudo
' '           Text
'PIC X(121)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SCR-129-256' Name.Variable
'              ' Text
'PIC X(128)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'WORKING-STORAGE' Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'78  '        Literal.Number.Integer
'Line-Nos-Per-Rec' Name.Variable
'            ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'8'           Literal.Number.Integer
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Cmd'         Name.Variable
'                         ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Delim'       Name.Variable
'                       ' Text
'PIC X(2)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Detail-Line-S' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'DLS-Line-No' Name.Variable
'              ' Text
'PIC ZZZZZ9'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'DLS-Statement' Name.Variable
'            ' Text
'PIC X(128)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Detail-Line-X' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'DLX-Prog-ID' Name.Variable
'              ' Text
'PIC X(15)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'DLX-Token'   Name.Variable
'                ' Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'DLX-Line-No-Def' Name.Variable
'          '  Text
'PIC ZZZZZ9'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'DLX-Section' Name.Variable
'              ' Text
'PIC X(15)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'DLX-Reference' Name.Variable
'            ' Text
'OCCURS'      Keyword.Pseudo
' '           Text
'Line-Nos-Per-Rec' Name.Variable
' '           Text
'TIMES'       Keyword.Pseudo
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'DLX-Line-No-Ref' Name.Variable
'       '     Text
'PIC ZZZZZ9'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'DLX-Ref-Flag' Name.Variable
'          '  Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'FILLER               ' Keyword.Pseudo
' '           Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Dummy'       Name.Variable
'                       ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Env-TEMP'    Name.Variable
'                    ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Expanded-Src-Filename' Name.Variable
'       '     Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Filename'    Name.Variable
'                    ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Flags'       Name.Variable
'.'           Punctuation
'\n'          Text

'GC0710'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Duplicate' Name.Variable
'              ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-First-Record' Name.Variable
'           ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-In-Which-Pgm' Name.Variable
'           ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'In-Main-Module' Name.Variable
'        '    Text
'VALUE '      Keyword.Pseudo
"'M'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'In-Copybook' Name.Variable
'           ' Text
'VALUE '      Keyword.Pseudo
"'C'"         Literal.String.Single
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Last-Token-Ended-Sent' Name.Variable
'  '          Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Processing-PICTURE' Name.Variable
'     '       Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Token-Ended-Sentence' Name.Variable
'   '         Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'GC0710'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'F-Verb-Has-Been-Found' Name.Variable
'    '        Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Group-Indicators' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'GI-Prog-ID'  Name.Variable
'               ' Text
'PIC X(15)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'GI-Token'    Name.Variable
'                 ' Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Heading-1S'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(125)'  Keyword.Type
' '           Text
'VALUE\n              ' Keyword.Pseudo
'"OpenCOBOL 1.1 06FEB2009 Source Listing - "' Literal.String.Double
' '           Text
'&'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'"OCic Copyright (C) 2009-2010, Gary L. Cutler, GPL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'H1S-Date'    Name.Variable
'                 ' Text
'PIC 9999/99/99' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Heading-1X'  Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER                  ' Keyword.Pseudo
' '           Text
'PIC X(125)'  Keyword.Type
' '           Text
'VALUE\n              ' Keyword.Pseudo
'"OpenCOBOL 1.1 06FEB2009 Cross-Reference Listing - "' Literal.String.Double
' '           Text
'&'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'"OCic Copyright (C) 2009-2010, Gary L. Cutler, GPL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'H1X-Date'    Name.Variable
'                 ' Text
'PIC 9999/99/99' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Heading-2'   Name.Variable
'                   ' Text
'PIC X(135)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Heading-4S'  Name.Variable
'                  ' Text
'PIC X(16)'   Keyword.Type
' '           Text
'VALUE\n           ' Keyword.Pseudo
'"Line   Statement"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Heading-4X'  Name.Variable
'                  ' Text
'PIC X(96)'   Keyword.Type
' '           Text
'VALUE\n           ' Keyword.Pseudo
'"PROGRAM-ID      Identifier/Register/Function     Defn   Wher\n' Literal.String.Double

'      '      Comment
'-'           Operator
'    '        Text
'"e Defined   References (* = Updated)"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Heading-5S'  Name.Variable
'                  ' Text
'PIC X(135)'  Keyword.Type
' '           Text
'VALUE\n           ' Keyword.Pseudo
'"====== =====================================================\n' Literal.String.Double

'      '      Comment
'-'           Operator
'    '        Text
'"============================================================\n' Literal.String.Double

'      '      Comment
'-'           Operator
'    '        Text
'"==============="' Literal.String.Double
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Heading-5X'  Name.Variable
'                  ' Text
'PIC X(135)'  Keyword.Type
' '           Text
'VALUE\n           ' Keyword.Pseudo
'"=============== ================================ ====== ====\n' Literal.String.Double

'      '      Comment
'-'           Operator
'    '        Text
'"=========== ================================================\n' Literal.String.Double

'      '      Comment
'-'           Operator
'    '        Text
'"==============="' Literal.String.Double
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Held-Reference' Name.Variable
'              ' Text
'PIC X(100)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'I'           Name.Variable
'                           ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'J'           Name.Variable
'                           ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Lines-Left'  Name.Variable
'                  ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Lines-Per-Page' Name.Variable
'              ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Lines-Per-Page-ENV' Name.Variable
'          '  Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Num-UserNames' Name.Variable
'               ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'PIC-X10'     Name.Variable
'                     ' Text
'PIC X(10)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'PIC-X32'     Name.Variable
'                     ' Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'PIC-X256'    Name.Variable
'                    ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Program-Path' Name.Variable
'                ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Report-Filename' Name.Variable
'             ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Reserved-Words' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IABS"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VACCEPT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ACCESS"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IACOS"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ACTIVE-CLASS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VADD"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ADDRESS"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ADVANCING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KAFTER"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALIGNED"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALL"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VALLOCATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALPHABET"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALPHABETIC"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALPHABETIC-LOWER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALPHABETIC-UPPER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALPHANUMERIC"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALPHANUMERIC-EDITED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALSO"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VALTER"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ALTERNATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AND"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IANNUITY"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ANY"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ANYCASE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ARE"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AREA"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AREAS"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ARGUMENT-NUMBER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ARGUMENT-VALUE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AS"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ASCENDING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IASIN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ASSIGN"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AT"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IATAN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AUTHOR"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AUTO"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AUTO-SKIP"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AUTOMATIC"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" AUTOTERMINATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BACKGROUND-COLOR"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BASED"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BEEP"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BEFORE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BELL"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BINARY"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BINARY-C-LONG"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BINARY-CHAR"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BINARY-DOUBLE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BINARY-LONG"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BINARY-SHORT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BIT"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BLANK"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BLINK"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BLOCK"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BOOLEAN"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" BOTTOM"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"YBY"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IBYTE-LENGTH"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC01"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC02"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC03"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC04"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC05"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC06"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC07"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC08"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC09"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC10"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC11"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MC12"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VCALL"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VCANCEL"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CF"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CH"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CHAINING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ICHAR"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CHARACTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CHARACTERS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CLASS"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CLASS-ID"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VCLOSE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ICOB-CRT-STATUS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CODE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CODE-SET"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COL"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COLLATING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COLS"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COLUMN"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COLUMNS"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ICOMBINED-DATETIME"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMMA"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMMAND-LINE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VCOMMIT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMMON"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMP"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMP-1"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMP-2"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMP-3"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMP-4"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMP-5"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMP-X"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMPUTATIONAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMPUTATIONAL-1"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMPUTATIONAL-2"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMPUTATIONAL-3"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMPUTATIONAL-4"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMPUTATIONAL-5"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COMPUTATIONAL-X"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VCOMPUTE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ICONCATENATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CONDITION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KCONFIGURATION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MCONSOLE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CONSTANT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CONTAINS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CONTENT"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VCONTINUE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CONTROL"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CONTROLS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KCONVERTING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" COPY"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CORR"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CORRESPONDING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ICOS"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KCOUNT"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CRT"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CURRENCY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ICURRENT-DATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CURSOR"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" CYCLE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KDATA"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DATA-POINTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DATE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DATE-COMPILED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DATE-MODIFIED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IDATE-OF-INTEGER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IDATE-TO-YYYYMMDD"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DATE-WRITTEN"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DAY"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IDAY-OF-INTEGER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DAY-OF-WEEK"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IDAY-TO-YYYYDDD"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DE"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DEBUGGING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DECIMAL-POINT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DECLARATIVES"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DEFAULT"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VDELETE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DELIMITED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KDELIMITER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DEPENDING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DESCENDING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DESTINATION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DETAIL"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DISABLE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DISK"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VDISPLAY"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VDIVIDE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KDIVISION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KDOWN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DUPLICATES"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" DYNAMIC"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IE"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EBCDIC"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EC"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VELSE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'GC0710'      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KEND"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-ACCEPT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-ADD"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-CALL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-COMPUTE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-DELETE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-DISPLAY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-DIVIDE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-EVALUATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-IF"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-MULTIPLY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-OF-PAGE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-PERFORM"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-READ"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-RETURN"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-REWRITE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-SEARCH"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-START"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-STRING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-SUBTRACT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-UNSTRING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" END-WRITE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VENTRY"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KENVIRONMENT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ENVIRONMENT-NAME"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ENVIRONMENT-VALUE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EO"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EOL"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EOP"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EOS"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EQUAL"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KEQUALS"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ERASE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ERROR"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ESCAPE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VEVALUATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EXCEPTION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IEXCEPTION-FILE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IEXCEPTION-LOCATION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EXCEPTION-OBJECT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IEXCEPTION-STATEMENT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IEXCEPTION-STATUS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EXCLUSIVE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VEXIT"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IEXP"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IEXP10"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EXTEND"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" EXTERNAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IFACTORIAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FACTORY"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FALSE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KFD"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KFILE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FILE-CONTROL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FILE-ID"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FILLER"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FINAL"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FIRST"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-BINARY-16"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-BINARY-34"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-BINARY-7"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-DECIMAL-16"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-DECIMAL-34"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-EXTENDED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-LONG"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FLOAT-SHORT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FOOTING"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FOR"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FOREGROUND-COLOR"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FOREVER"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FORMAT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MFORMFEED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IFRACTION-PART"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VFREE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FROM"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FULL"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FUNCTION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FUNCTION-ID"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" FUNCTION-POINTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VGENERATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" GET"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KGIVING"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" GLOBAL"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VGO"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VGOBACK"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" GREATER"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" GROUP"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" GROUP-USAGE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" HEADING"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" HIGH-VALUE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" HIGH-VALUES"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" HIGHLIGHT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" I-O"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" I-O-CONTROL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KID"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KIDENTIFICATION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VIF"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" IGNORE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" IGNORING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" IN"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INDEX"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KINDEXED"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INDICATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INFINITY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INHERITS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INITIAL"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INITIALISED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VINITIALIZE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INITIALIZED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VINITIATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INPUT"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KINPUT-OUTPUT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VINSPECT"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INSTALLATION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IINTEGER"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IINTEGER-OF-DATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IINTEGER-OF-DAY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IINTEGER-PART"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INTERFACE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INTERFACE-ID"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KINTO"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INTRINSIC"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INVALID"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" INVOKE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" IS"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" JUST"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" JUSTIFIED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" KEY"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LABEL"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LAST"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LEADING"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LEFT"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LEFT-JUSTIFY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILENGTH"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LESS"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LIMIT"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LIMITS"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LINAGE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILINAGE-COUNTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LINE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LINE-COUNTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LINES"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KLINKAGE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KLOCAL-STORAGE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LOCALE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILOCALE-DATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILOCALE-TIME"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILOCALE-TIME-FROM-SECONDS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LOCK"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILOG"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILOG10"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LOW-VALUE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LOW-VALUES"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LOWER"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ILOWER-CASE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" LOWLIGHT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" MANUAL"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IMAX"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IMEAN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IMEDIAN"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" MEMORY"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VMERGE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" METHOD"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" METHOD-ID"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IMIDRANGE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IMIN"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" MINUS"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IMOD"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" MODE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VMOVE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" MULTIPLE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VMULTIPLY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NATIONAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NATIONAL-EDITED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NATIVE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NEGATIVE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NESTED"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VNEXT"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NO"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NOT"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NULL"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NULLS"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NUMBER"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"INUMBER-OF-CALL-PARAMETERS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NUMBERS"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NUMERIC"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" NUMERIC-EDITED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"INUMVAL"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"INUMVAL-C"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OBJECT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OBJECT-COMPUTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OBJECT-REFERENCE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OCCURS"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OF"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OFF"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OMITTED"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ON"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ONLY"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VOPEN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OPTIONAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OPTIONS"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OR"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IORD"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IORD-MAX"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IORD-MIN"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ORDER"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ORGANIZATION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OTHER"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OUTPUT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OVERFLOW"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OVERLINE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" OVERRIDE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PACKED-DECIMAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PADDING"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PAGE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PAGE-COUNTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PARAGRAPH"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VPERFORM"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PF"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PH"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IPI"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KPIC"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KPICTURE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PLUS"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KPOINTER"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" POSITION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" POSITIVE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PRESENT"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IPRESENT-VALUE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PREVIOUS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MPRINTER"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PRINTING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KPROCEDURE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROCEDURE-POINTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROCEDURES"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROCEED"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROGRAM"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KPROGRAM-ID"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROGRAM-POINTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROMPT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROPERTY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" PROTOTYPE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" QUOTE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" QUOTES"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RAISE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RAISING"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IRANDOM"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IRANGE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RD"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VREAD"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VREADY"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RECORD"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RECORDING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RECORDS"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RECURSIVE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KREDEFINES"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REEL"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REFERENCE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RELATIVE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VRELEASE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IREM"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REMAINDER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REMARKS"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REMOVAL"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KRENAMES"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KREPLACING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KREPORT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REPORTING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REPORTS"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REPOSITORY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REPRESENTS-NOT-A-NUMBER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REQUIRED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RESERVE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RESUME"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RETRY"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VRETURN"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IRETURN-CODE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KRETURNING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IREVERSE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REVERSE-VIDEO"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" REWIND"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VREWRITE"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RF"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RH"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RIGHT"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RIGHT-JUSTIFY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VROLLBACK"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ROUNDED"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" RUN"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SAME"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KSCREEN"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SCROLL"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KSD"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSEARCH"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISECONDS-FROM-FORMATTED-TIME"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISECONDS-PAST-MIDNIGHT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KSECTION"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SECURE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SECURITY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SEGMENT-LIMIT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SELECT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SELF"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SENTENCE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SEPARATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SEQUENCE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SEQUENTIAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSET"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SHARING"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISIGN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SIGNED"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SIGNED-INT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SIGNED-LONG"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SIGNED-SHORT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISIN"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SIZE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSORT"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SORT-MERGE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISORT-RETURN"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SOURCE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SOURCE-COMPUTER"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SOURCES"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SPACE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SPACE-FILL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SPACES"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SPECIAL-NAMES"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISQRT"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" STANDARD"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" STANDARD-1"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" STANDARD-2"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISTANDARD-DEVIATION"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSTART"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" STATUS"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSTOP"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISTORED-CHAR-LENGTH"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSTRING"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISUBSTITUTE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISUBSTITUTE-CASE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSUBTRACT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ISUM"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SUPER"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VSUPPRESS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-1"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-2"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-3"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-4"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-5"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-6"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-7"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSWITCH-8"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SYMBOLIC"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SYNC"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SYNCHRONIZED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSYSERR"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSYSIN"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSYSIPT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSYSLIST"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSYSLST"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"MSYSOUT"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" SYSTEM-DEFAULT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TABLE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KTALLYING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ITAN"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TAPE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VTERMINATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TEST"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ITEST-DATE-YYYYMMDD"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ITEST-DAY-YYYYDDD"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" THAN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" THEN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" THROUGH"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" THRU"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TIME"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TIMES"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KTO"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TOP"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TRAILING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TRAILING-SIGN"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VTRANSFORM"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"ITRIM"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TRUE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TYPE"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" TYPEDEF"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNDERLINE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNIT"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNIVERSAL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VUNLOCK"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNSIGNED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNSIGNED-INT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNSIGNED-LONG"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNSIGNED-SHORT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VUNSTRING"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UNTIL"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KUP"'       Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UPDATE"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UPON"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" UPPER"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IUPPER-CASE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" USAGE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VUSE"'      Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" USER-DEFAULT"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KUSING"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" VAL-STATUS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" VALID"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" VALIDATE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" VALIDATE-STATUS"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" VALUE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" VALUES"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IVARIANCE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KVARYING"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" WAIT"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VWHEN"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IWHEN-COMPILED"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" WITH"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" WORDS"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"KWORKING-STORAGE"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"VWRITE"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'"IYEAR-TO-YYYY"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" YYYYDDD"'  Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" YYYYMMDD"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ZERO"'     Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ZERO-FILL"' Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ZEROES"'   Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'FILLER'      Keyword.Pseudo
' '           Text
'PIC X(33)'   Keyword.Type
' '           Text
'VALUE '      Keyword.Pseudo
'" ZEROS"'    Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Reserved-Word-Table' Name.Variable
'         '   Text
'REDEFINES'   Keyword.Pseudo
' '           Text
'Reserved-Words' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'Reserved-Word' Name.Variable
'            ' Text
'OCCURS'      Keyword.Pseudo
' '           Text
'591 '        Literal.Number.Integer
'TIMES\n                                      ' Keyword.Pseudo
' '           Text
'ASCENDING'   Keyword.Pseudo
' '           Text
'KEY'         Keyword.Pseudo
' '           Text
'RW-Word'     Name.Variable
'\n'          Text

'      '      Comment
'                                 ' Text
'INDEXED'     Keyword.Pseudo
' '           Text
'RW-Idx'      Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'RW-Type'     Name.Variable
'               ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'RW-Word'     Name.Variable
'               ' Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Saved-Section' Name.Variable
'               ' Text
'PIC X(15)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Search-Token' Name.Variable
'                ' Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Source-Line-No' Name.Variable
'              ' Text
'PIC 9(6)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Src-Ptr'     Name.Variable
'                     ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Syntax-Parsing-Items' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Char' Name.Variable
'         '   Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Current-Char-Is-Punct' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
'"="'         Literal.String.Double
','           Punctuation
' '           Text
'"("'         Literal.String.Double
','           Punctuation
' '           Text
'")"'         Literal.String.Double
','           Punctuation
' '           Text
'"*"'         Literal.String.Double
','           Punctuation
' '           Text
'"/"'         Literal.String.Double
','           Punctuation
'\n'          Text

'      '      Comment
'                                       ' Text
'"&"'         Literal.String.Double
','           Punctuation
' '           Text
'";"'         Literal.String.Double
','           Punctuation
' '           Text
'","'         Literal.String.Double
','           Punctuation
' '           Text
'"<"'         Literal.String.Double
','           Punctuation
' '           Text
'">"'         Literal.String.Double
','           Punctuation
'\n'          Text

'      '      Comment
'                                       ' Text
'":"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Current-Char-Is-Quote' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
'\'"\''       Literal.String.Single
','           Punctuation
' '           Text
'"\'"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Current-Char-Is-X' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
'"x"'         Literal.String.Double
','           Punctuation
' '           Text
'"X"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Current-Char-Is-Z' Name.Variable
'     '       Text
'VALUE '      Keyword.Pseudo
'"z"'         Literal.String.Double
','           Punctuation
' '           Text
'"Z"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Division' Name.Variable
'     '       Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'In-IDENTIFICATION-DIVISION' Name.Variable
' '           Text
'VALUE '      Keyword.Pseudo
'"I"'         Literal.String.Double
','           Punctuation
' '           Text
'"?"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'In-ENVIRONMENT-DIVISION' Name.Variable
'    '        Text
'VALUE '      Keyword.Pseudo
'"E"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'In-DATA-DIVISION' Name.Variable
'           ' Text
'VALUE '      Keyword.Pseudo
'"D"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'In-PROCEDURE-DIVISION' Name.Variable
'      '      Text
'VALUE '      Keyword.Pseudo
'"P"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Line-No' Name.Variable
'      '      Text
'PIC 9(6)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Program-ID' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'FILLER               ' Keyword.Pseudo
' '           Text
'PIC X(12)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'SPI-CP-13-15' Name.Variable
'          '  Text
'PIC X(3)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Section' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'SPI-CS-1'    Name.Variable
'              ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'SPI-CS-2-14' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'           ' Text
'15 '         Literal.Number.Integer
'FILLER            ' Keyword.Pseudo
' '           Text
'PIC X(10)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'           ' Text
'15 '         Literal.Number.Integer
'SPI-CS-11-14' Name.Variable
'       '     Text
'PIC X(3)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'10 '         Literal.Number.Integer
'SPI-CS-15'   Name.Variable
'             ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Token' Name.Variable
'        '    Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Token-UC' Name.Variable
'     '       Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Current-Verb' Name.Variable
'         '   Text
'PIC X(12)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Next-Char' Name.Variable
'            ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Next-Char-Is-Quote' Name.Variable
'    '        Text
'VALUE '      Keyword.Pseudo
'\'"\''       Literal.String.Single
','           Punctuation
' '           Text
'"\'"'        Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Prior-Token' Name.Variable
'          '  Text
'PIC X(32)'   Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'05 '         Literal.Number.Integer
'SPI-Token-Type' Name.Variable
'           ' Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Token-Is-EOF' Name.Variable
'             ' Text
'VALUE'       Keyword.Pseudo
' '           Text
'HIGH-VALUES' Name.Constant
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Token-Is-Identifier' Name.Variable
'      '      Text
'VALUE '      Keyword.Pseudo
'"I"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Token-Is-Key-Word' Name.Variable
'        '    Text
'VALUE '      Keyword.Pseudo
'"K"'         Literal.String.Double
','           Punctuation
' '           Text
'"V"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Token-Is-Literal-Alpha' Name.Variable
'   '         Text
'VALUE '      Keyword.Pseudo
'"L"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Token-Is-Literal-Number' Name.Variable
'  '          Text
'VALUE '      Keyword.Pseudo
'"N"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'      '      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Token-Is-Verb' Name.Variable
'            ' Text
'VALUE '      Keyword.Pseudo
'"V"'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'GC0710'      Comment
'        '    Text
'88 '         Literal.Number.Integer
'Token-Is-Reserved-Word' Name.Variable
'   '         Text
'VALUE '      Keyword.Pseudo
'" "'         Literal.String.Double
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Tally'       Name.Variable
'                       ' Text
'USAGE'       Keyword.Pseudo
' '           Text
'BINARY-LONG' Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Todays-Date' Name.Variable
'                 ' Text
'PIC 9(8)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'\n'          Text

'      '      Comment
' '           Text
'LINKAGE'     Keyword.Reserved
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Produce-Source-Listing' Name.Variable
'      '      Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Produce-Xref-Listing' Name.Variable
'        '    Text
'PIC X(1)'    Keyword.Type
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'01  '        Literal.Number.Integer
'Src-Filename' Name.Variable
'                ' Text
'PIC X(256)'  Keyword.Type
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'PROCEDURE'   Keyword.Reserved
' '           Text
'DIVISION'    Keyword.Reserved
' '           Text
'USING'       Keyword.Pseudo
' '           Text
'Produce-Source-Listing' Name.Variable
'\n'          Text

'      '      Comment
'                          ' Text
'Produce-Xref-Listing' Name.Variable
'\n'          Text

'      '      Comment
'                          ' Text
'Src-Filename' Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'000'         Literal.Number.Integer
'-'           Operator
'Main'        Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      '      Comment
' '           Text
'001'         Literal.Number.Integer
'-'           Operator
'Init'        Name.Variable
'.'           Punctuation
'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'100'         Literal.Number.Integer
'-'           Operator
'Initialization' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'PERFORM'     Keyword.Reserved
' '           Text
'200'         Literal.Number.Integer
'-'           Operator
'Execute-cobc' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'OPEN'        Keyword.Reserved
' '           Text
'OUTPUT'      Keyword.Pseudo
' '           Text
'Report-File' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'IF'          Keyword.Reserved
' '           Text
'Produce-Source-Listing' Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACE\n              ' Name.Constant
' '           Text
'PERFORM'     Keyword.Reserved
' '           Text
'500'         Literal.Number.Integer
'-'           Operator
'Produce-Source-Listing' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'IF'          Keyword.Reserved
' '           Text
'Produce-Xref-Listing' Name.Variable
' '           Text
'NOT '        Operator.Word
'='           Operator
' '           Text
'SPACE\n              ' Name.Constant
' '           Text
'SORT'        Keyword.Reserved
' '           Text
'Sort-File'   Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'ASCENDING'   Keyword.Pseudo
' '           Text
'KEY   '      Keyword.Pseudo
' '           Text
'SR-Prog-ID'  Name.Variable
'\n'          Text

'      '      Comment
'                              ' Text
'SR-Token-UC' Name.Variable
'\n'          Text

'      '      Comment
'                              ' Text
'SR-Line-No-Ref' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'INPUT'       Keyword.Pseudo
' '           Text
'PROCEDURE '  Keyword.Reserved
' '           Text
'300'         Literal.Number.Integer
'-'           Operator
'Tokenize-Source' Name.Variable
'\n'          Text

'      '      Comment
'             ' Text
'OUTPUT'      Keyword.Pseudo
' '           Text
'PROCEDURE'   Keyword.Reserved
' '           Text
'400'         Literal.Number.Integer
'-'           Operator
'Produce-Xref-Listing' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'END-IF\n          ' Keyword.Reserved
' '           Text
'CLOSE'       Keyword.Reserved
' '           Text
'Report-File' Name.Variable
'\n'          Text

'      '      Comment
'     '       Text
'GOBACK\n           ' Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      /\n'   Comment

'      '      Comment
' '           Text
'100'         Literal.Number.Integer
'-'           Operator
'Initialization' Name.Variable
' '           Text
'SECTION'     Keyword.Reserved
'.'           Punctuation
'\n'          Text

'      *****************************************************************\n' Comment

'      ** Perform all program-wide initialization operations          **\n' Comment

'      *****************************************************************\n' Comment

'      '      Comment
' '           Text
'END'         Keyword.Reserved
' '           Text
'PROGRAM'     Keyword.Pseudo
' '           Text
'LISTING'     Name.Variable
'.'           Punctuation
'\n'          Text
