This manual documents GNU COBOL 2.1, 23NOV2013 build.

GNU-COBOL Copyright 2002-2007 Keisuke Nishida
          Copyright 2007-2012 Roger While
          Copyright 2013-2013 Ron Norman (RWCS for GNU COBOL)
Document  Copyright 2009-2014 Gary L. Cutler

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License
     [FDL], Version 1.3 or any later version published by the Free
     Software Foundation; with no Invariant Sections, no Front-Cover
     Texts, and no Back-Cover
 Texts.  A copy of the license is
     included in the section entitled "GNU Free Documentation
     License".

GNU COBOL Sample Programs
*************************

This manual presents sample programs written for the 23NOV2013 build of
GNU COBOL 2.1.

1. FileStat-Msgs
****************

The FileStat-Msgs.cpy copybook contains an EVALUATE statement to
translate the two-digit file status codes that may be generated by file
I/O statements.

The copybook assumes that the file status data item name is "STATUS"
and the error message data item is named "MSG".  By using the COPY
statement's REPLACING clause, however, you may use the data names you
wish, as follows:

     COPY FileStat-Msgs
         REPLACING STATUS BY file-status-data-item-name
                   MSG    BY error-message-data-item-name

Here's the FileStat-Msgs.cpy copybook:

     EVALUATE STATUS
          WHEN 00 MOVE 'SUCCESS                  ' TO MSG
          WHEN 02 MOVE 'SUCCESS DUPLICATE        ' TO MSG
          WHEN 04 MOVE 'SUCCESS INCOMPLETE       ' TO MSG
          WHEN 05 MOVE 'SUCCESS OPTIONAL         ' TO MSG
          WHEN 07 MOVE 'SUCCESS NO UNIT          ' TO MSG
          WHEN 10 MOVE 'END OF FILE              ' TO MSG
          WHEN 14 MOVE 'OUT OF KEY RANGE         ' TO MSG
          WHEN 21 MOVE 'KEY INVALID              ' TO MSG
          WHEN 22 MOVE 'KEY EXISTS               ' TO MSG
          WHEN 23 MOVE 'KEY NOT EXISTS           ' TO MSG
          WHEN 30 MOVE 'PERMANENT ERROR          ' TO MSG
          WHEN 31 MOVE 'INCONSISTENT FILENAME    ' TO MSG
          WHEN 34 MOVE 'BOUNDARY VIOLATION       ' TO MSG
          WHEN 35 MOVE 'FILE NOT FOUND           ' TO MSG
          WHEN 37 MOVE 'PERMISSION DENIED        ' TO MSG
          WHEN 38 MOVE 'CLOSED WITH LOCK         ' TO MSG
          WHEN 39 MOVE 'CONFLICT ATTRIBUTE       ' TO MSG
          WHEN 41 MOVE 'ALREADY OPEN             ' TO MSG
          WHEN 42 MOVE 'NOT OPEN                 ' TO MSG
          WHEN 43 MOVE 'READ NOT DONE            ' TO MSG
          WHEN 44 MOVE 'RECORD OVERFLOW          ' TO MSG
          WHEN 46 MOVE 'READ ERROR               ' TO MSG
          WHEN 47 MOVE 'INPUT DENIED             ' TO MSG
          WHEN 48 MOVE 'OUTPUT DENIED            ' TO MSG
          WHEN 49 MOVE 'I/O DENIED               ' TO MSG
          WHEN 51 MOVE 'RECORD LOCKED            ' TO MSG
          WHEN 52 MOVE 'END-OF-PAGE              ' TO MSG
          WHEN 57 MOVE 'I/O LINAGE               ' TO MSG
          WHEN 61 MOVE 'FILE SHARING FAILURE     ' TO MSG
          WHEN 91 MOVE 'FILE NOT AVAILABLE       ' TO MSG
     END-EVALUATE.

2. COBDUMP
**********

COBDUMP is a useful little utility subroutine to produce a formatted
hexadecimal and character dump of the data area passed to it.

If you follow the GNU COBOL forums, you've undoubtedly heard about the
CBL_OC_DUMP subroutine that was the winning entry in a GNU COBOL
programming contest.  It's a great tool for producing data dumps, and
it's now included in the official GNU COBOL distributions.

For now though, I'll keep using my good ol' "COBDUMP" routine.  It's
been my travelling companion from COBOL job to COBOL job since 1971.
Here it is, all tuned up for GNU COBOL, with new tires and a fresh coat
of paint.

In addition to general GNU COBOL concepts, this program provides a
useful demonstration of the following:

   * Coding a GNU COBOL subroutine

   * Using "USAGE POINTER" data items

   * Using the "ANY LENGTH" data item attribute

   * Coding for an "OPTIONAL" subprogram argument

   * Using the "NUMBER-OF-CALL-PARAMETERS" special register

   * Using the "C$PRINTABLE" built-in system subroutine

The program source and cross-reference listing, produced using the GNU
COBOL Interactive Compiler front-end (GCic.cbl, one of the sample
programs included here), begins on the next page.

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                          C:/Users/tda010/Documents/Programs/Samples/COBDUMP.cbl
Line   Statement                                                                         Page: 1
====== =========================================================================================
     1        >>SOURCE FORMAT IS FIXED
     2        IDENTIFICATION DIVISION.
     3        PROGRAM-ID.   COBDUMP.
     4       *>***************************************************************
     5       *> This is an OpenCOBOL subroutine that will generate a        **
     6       *> formatted Hex/Char dump of a storage area.  To use this     **
     7       *> subroutine, simply CALL it as follows:                      **
     8       *>                                                             **
     9       *> CALL "COBDUMP" USING <data-item>                            **
    10       *>                    [ <length> ]                             **
    11       *>                                                             **
    12       *> If specified, the <length> argument specifies how many      **
    13       *> bytes of <data-item> are to be dumped.  If absent, all of   **
    14       *> <data-item> will be dumped (i.e. LENGTH(<data-item>) will   **
    15       *> be assumed for <length>).                                   **
    16       *>                                                             **
    17       *> >>> Note that the subroutine name MUST be specified in  <<< **
    18       *> >>> UPPERCASE                                           <<< **
    19       *>                                                             **
    20       *> The dump is generated to STDERR, so you may pipe it to a    **
    21       *> file when you execute your program using "2> file".         **
    22       *>                                                             **
    23       *> AUTHOR:       GARY L. CUTLER                                **
    24       *>                                                             **
    25       *> NOTE:         The author has a sentimental attachment to    **
    26       *>               this subroutine - it's been around since 1971 **
    27       *>               and it's been converted to and run on 10 dif- **
    28       *>               ferent operating system/compiler environments **
    29       *>                                                             **
    30       *> DATE-WRITTEN: October 14, 1971                              **
    31       *>                                                             **
    32       *>***************************************************************
    33       *>  DATE  CHANGE DESCRIPTION                                   **
    34       *> ====== ==================================================== **
    35       *> GC1071 Initial coding - Univac Dept. of Defense COBOL '68   **
    36       *> GC0577 Converted to Univac ASCII COBOL (ACOB) - COBOL '74   **
    37       *> GC1182 Converted to Univac UTS4000 COBOL - COBOL '74 w/     **
    38       *>        SCREEN SECTION enhancements                          **
    39       *> GC0883 Converted to Honeywell/Bull COBOL - COBOL '74        **
    40       *> GC0983 Converted to IBM VS COBOL - COBOL '74                **
    41       *> GC0887 Converted to IBM VS COBOL II - COBOL '85             **
    42       *> GC1294 Converted to Micro Focus COBOL V3.0 - COBOL '85 w/   **
    43       *>        extensions                                           **
    44       *> GC0703 Converted to Unisys Universal Compiling System (UCS) **
    45       *>        COBOL (UCOB) - COBOL '85                             **
    46       *> GC1204 Converted to Unisys Object COBOL (OCOB) - COBOL 2002 **
    47       *> GC0609 Converted to OpenCOBOL 1.1 - COBOL '85 w/ some COBOL **
    48       *>        2002 features                                        **
    49       *> GC0410 Enhanced to make 2nd argument (buffer length)        **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 1

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                          C:/Users/tda010/Documents/Programs/Samples/COBDUMP.cbl
Line   Statement                                                                         Page: 2
====== =========================================================================================
    50       *>        optional                                             **
    51       *> GC0211 Ported to IBM Enterprise COBOL                       **
    52       *> GC0612 Updated for OpenCOBOL 2.0                            **
    53       *>***************************************************************
    54        ENVIRONMENT DIVISION.
    55        CONFIGURATION SECTION.
    56        REPOSITORY.
    57            FUNCTION ALL INTRINSIC.
    58        DATA DIVISION.
    59        WORKING-STORAGE SECTION.
    60        01  WS-Addr-PTR                           USAGE POINTER.
    61        01  WS-Addr-NUM REDEFINES WS-Addr-PTR
    62                                                  USAGE BINARY-LONG.
    63
    64        01  WS-Addr-SUB                           USAGE BINARY-CHAR.
    65
    66        01  WS-Addr-Value-NUM                     USAGE BINARY-LONG.
    67
    68        01  WS-Buffer-Byte-CHR.
    69            05 WS-Buffer-Byte-NUM                 USAGE BINARY-CHAR.
    70
    71        01  WS-Buffer-Length-NUM                  USAGE BINARY-LONG.
    72
    73        01  WS-Buffer-SUB                         PIC 9(4) COMP-5.
    74
    75        01  WS-Hex-Digit-TXT VALUE '0123456789ABCDEF'.
    76            05 WS-Hex-Digit-CHR                   OCCURS 16 TIMES
    77                                                  PIC X(1).
    78
    79        01  WS-Nibble-SUB                         PIC 9(1) COMP-5.
    80
    81        01  WS-Nibble-Left-SUB                    PIC 9(1) COMP-5.
    82
    83        01  WS-Nibble-Right-SUB                   PIC 9(1) COMP-5.
    84
    85        01  WS-Output-Detail-TXT.
    86            05 WS-OD-Addr-TXT.
    87               10 WS-OD-Addr-Hex-CHR              OCCURS 8 TIMES PIC X.
    88            05 FILLER                             PIC X(1).
    89            05 WS-OD-Relative-Byte-NUM            PIC Z(3)9.
    90            05 FILLER                             PIC X(1).
    91            05 WS-OD-Hex-TXT                      OCCURS 16 TIMES.
    92               10 WS-OD-Hex-1-CHR                 PIC X.
    93               10 WS-OD-Hex-2-CHR                 PIC X.
    94               10 FILLER                          PIC X.
    95            05 WS-OD-ASCII-Data-TXT.
    96               10 WS-OD-ASCII-CHR                 OCCURS 16 TIMES
    97                                                  PIC X.
    98

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 2

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                          C:/Users/tda010/Documents/Programs/Samples/COBDUMP.cbl
Line   Statement                                                                         Page: 3
====== =========================================================================================
    99        01  WS-Output-SUB                         PIC 9(2) COMP-5.
   100
   101        >>SOURCE FORMAT IS FREE
   102        01  WS-Output-Header-1-TXT.
   103            05 VALUE '<-Addr-> Byte <---------------- Hexadecimal ''----------------> <---
       - Char ---->' PIC X(80).
   104
   105        01  WS-Output-Header-2-TXT.
   106            05 VALUE '======== ==== =============================================== ======
       ==========' PIC X(80).
   107        >>SOURCE FORMAT IS FIXED
   108
   109        LINKAGE SECTION.
   110        01  L-Buffer-TXT                          PIC X ANY LENGTH.
   111
   112        01  L-Buffer-Length-NUM                   USAGE BINARY-LONG.
   113
   114        PROCEDURE DIVISION USING L-Buffer-TXT,
   115                                 OPTIONAL L-Buffer-Length-NUM.
   116        000-Main SECTION.
   117            IF NUMBER-OF-CALL-PARAMETERS = 1
   118                MOVE LENGTH(L-Buffer-TXT) TO WS-Buffer-Length-NUM
   119            ELSE
   120                MOVE L-Buffer-Length-NUM  TO WS-Buffer-Length-NUM
   121            END-IF
   122            MOVE SPACES TO WS-Output-Detail-TXT
   123            SET WS-Addr-PTR TO ADDRESS OF L-Buffer-TXT
   124            PERFORM 100-Generate-Address
   125            MOVE 0 TO WS-Output-SUB
   126            DISPLAY WS-Output-Header-1-TXT UPON SYSERR
   127            DISPLAY WS-Output-Header-2-TXT UPON SYSERR
   128            PERFORM VARYING WS-Buffer-SUB FROM 1 BY 1
   129                      UNTIL WS-Buffer-SUB > WS-Buffer-Length-NUM
   130                ADD 1 TO WS-Output-SUB
   131                IF WS-Output-SUB = 1
   132                    MOVE WS-Buffer-SUB TO WS-OD-Relative-Byte-NUM
   133                END-IF
   134                MOVE L-Buffer-TXT (WS-Buffer-SUB : 1)
   135                  TO WS-OD-ASCII-CHR (WS-Output-SUB)
   136                     WS-Buffer-Byte-CHR
   137                DIVIDE WS-Buffer-Byte-NUM BY 16
   138                    GIVING WS-Nibble-Left-SUB
   139                    REMAINDER WS-Nibble-Right-SUB
   140                ADD 1 TO WS-Nibble-Left-SUB
   141                         WS-Nibble-Right-SUB
   142                MOVE WS-Hex-Digit-CHR (WS-Nibble-Left-SUB)
   143                  TO WS-OD-Hex-1-CHR  (WS-Output-SUB)
   144                MOVE WS-Hex-Digit-CHR (WS-Nibble-Right-SUB)
   145                  TO WS-OD-Hex-2-CHR  (WS-Output-SUB)

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 3

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                          C:/Users/tda010/Documents/Programs/Samples/COBDUMP.cbl
Line   Statement                                                                         Page: 4
====== =========================================================================================
   146                IF WS-Output-SUB = 16
   147                    CALL "C$PRINTABLE" USING WS-OD-ASCII-Data-TXT
   148                    DISPLAY WS-Output-Detail-TXT UPON SYSERR
   149                    MOVE SPACES TO WS-Output-Detail-TXT
   150                    MOVE 0 TO WS-Output-SUB
   151                    SET WS-Addr-PTR UP BY 16
   152                    PERFORM 100-Generate-Address
   153                END-IF
   154            END-PERFORM
   155            IF WS-Output-SUB > 0
   156                CALL "C$PRINTABLE" USING WS-OD-ASCII-Data-TXT
   157                DISPLAY WS-Output-Detail-TXT UPON SYSERR
   158            END-IF
   159            EXIT PROGRAM
   160            .
   161        100-Generate-Address SECTION.
   162            MOVE 8 TO WS-Addr-SUB
   163            MOVE WS-Addr-NUM TO WS-Addr-Value-NUM
   164            MOVE ALL '0' TO WS-OD-Addr-TXT
   165            PERFORM WITH TEST BEFORE UNTIL WS-Addr-Value-NUM = 0
   166                DIVIDE WS-Addr-Value-NUM BY 16
   167                    GIVING WS-Addr-Value-NUM
   168                    REMAINDER WS-Nibble-SUB
   169                ADD 1 TO WS-Nibble-SUB
   170                MOVE WS-Hex-Digit-CHR (WS-Nibble-SUB)
   171                  TO WS-OD-Addr-Hex-CHR (WS-Addr-SUB)
   172                SUBTRACT 1 FROM WS-Addr-SUB
   173            END-PERFORM
   174            .

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 4

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                          C:/Users/tda010/Documents/Programs/Samples/COBDUMP.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References       Page: 5
=============== ================================ ====== =============== ========================
COBDUMP         000-Main                            116 PROCEDURE
COBDUMP         100-Generate-Address                161 PROCEDURE          124     152
COBDUMP         L-Buffer-Length-NUM                 112 LINKAGE            115     120
COBDUMP         L-Buffer-TXT                        110 LINKAGE            114     118     123
                                                                           134
COBDUMP         NUMBER-OF-CALL-PARAMETERS               PROCEDURE          117
COBDUMP         WS-Addr-NUM                          61 WORKING-STORAGE    163
COBDUMP         WS-Addr-PTR                          60 WORKING-STORAGE     61     123*    151*
COBDUMP         WS-Addr-SUB                          64 WORKING-STORAGE    162*    171     172
COBDUMP         WS-Addr-Value-NUM                    66 WORKING-STORAGE    163*    165     166
                                                                           167*
COBDUMP         WS-Buffer-Byte-CHR                   68 WORKING-STORAGE    136
COBDUMP         WS-Buffer-Byte-NUM                   69 WORKING-STORAGE    137
COBDUMP         WS-Buffer-Length-NUM                 71 WORKING-STORAGE    118*    120*    129
COBDUMP         WS-Buffer-SUB                        73 WORKING-STORAGE    128*    129     132
                                                                           134
COBDUMP         WS-Hex-Digit-CHR                     76 WORKING-STORAGE    142     144     170
COBDUMP         WS-Hex-Digit-TXT                     75 WORKING-STORAGE
COBDUMP         WS-Nibble-Left-SUB                   81 WORKING-STORAGE    138*    140*    142
COBDUMP         WS-Nibble-Right-SUB                  83 WORKING-STORAGE    139*    141*    144
COBDUMP         WS-Nibble-SUB                        79 WORKING-STORAGE    168*    169*    170
COBDUMP         WS-OD-Addr-Hex-CHR                   87 WORKING-STORAGE    171*
COBDUMP         WS-OD-Addr-TXT                       86 WORKING-STORAGE    164*
COBDUMP         WS-OD-ASCII-CHR                      96 WORKING-STORAGE    135*
COBDUMP         WS-OD-ASCII-Data-TXT                 95 WORKING-STORAGE    147C    156C
COBDUMP         WS-OD-Hex-1-CHR                      92 WORKING-STORAGE    143*
COBDUMP         WS-OD-Hex-2-CHR                      93 WORKING-STORAGE    145*
COBDUMP         WS-OD-Hex-TXT                        91 WORKING-STORAGE
COBDUMP         WS-OD-Relative-Byte-NUM              89 WORKING-STORAGE    132*
COBDUMP         WS-Output-Detail-TXT                 85 WORKING-STORAGE    122*    148     149*
                                                                           157
COBDUMP         WS-Output-Header-1-TXT              102 WORKING-STORAGE    126
COBDUMP         WS-Output-Header-2-TXT              105 WORKING-STORAGE    127
COBDUMP         WS-Output-SUB                        99 WORKING-STORAGE    125*    130*    131
                                                                           135     143     145
                                                                           146     150*    155

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 5

3. Colors
*********

Colors is a handy little GNU COBOL utility program that will produce a
screen showing all possible combinations of:

   * FOREGROUND-COLOR

   * BACKGROUND-COLOR

   * BLINKING (or absence of BLINKING)

   * HIGHLIGHT, LOWLIGHT or absence of either (i.e. "Normal")

   * REVERSE-VIDEO

The program source and cross-reference listing, produced using the GNU
COBOL Interactive Compiler front-end (GCic.cbl, one of the sample
programs included here), begins on the next page.

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 1
====== =========================================================================================
     1        >>SOURCE FREE
     2 IDENTIFICATION DIVISION.
     3 PROGRAM-ID. colors.
     4 DATA DIVISION.
     5 SCREEN SECTION.
     6 01 S-COLORTST-SCR BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 BLANK SCREEN.
     7 05 LINE 01.
     8 10 COL 1 VALUE ' LOWLIGHT  -------- HIGHLIGHT  LOWLIGHT  -------- HIGHLIGHT'.
     9 05 LINE + 1.
    10 10 COL 1 VALUE ' --------  --------  --------  --------  --------  --------'.
    11 05 LINE + 1.
    12 10 COL 1 VALUE ' --------  --------  --------   REVERSE   REVERSE   REVERSE'.
    13 05 LINE + 1.
    14 10 COL 1 VALUE ' 01234567  01234567  01234567  01234567  01234567  01234567'.
    15 05 LINE + 1.
    16 10 COL 1 VALUE '0         0         0         0         0         0        '.
    17 05 LINE + 1.
    18 10 COL 1 VALUE '1         1         1         1         1         1        '.
    19 05 LINE + 1.
    20 10 COL 1 VALUE '2         2         2         2         2         2        '.
    21 05 LINE + 1.
    22 10 COL 1 VALUE '3    1    3    2    3    3    3    4    3    5    3    6   '.
    23 05 LINE + 1.
    24 10 COL 1 VALUE '4         4         4         4         4         4        '.
    25 05 LINE + 1.
    26 10 COL 1 VALUE '5         5         5         5         5         5        '.
    27 05 LINE + 1.
    28 10 COL 1 VALUE '6         6         6         6         6         6        '.
    29 05 LINE + 1.
    30 10 COL 1 VALUE '7         7         7         7         7         7        '.
    31 05 LINE + 1.
    32 10 COL 1 VALUE ' LOWLIGHT  -------- HIGHLIGHT  LOWLIGHT  -------- HIGHLIGHT'.
    33 05 LINE + 1.
    34 10 COL 1 VALUE '    BLINK     BLINK     BLINK     BLINK     BLINK     BLINK'.
    35 05 LINE + 1.
    36 10 COL 1 VALUE ' --------  --------  --------   REVERSE   REVERSE   REVERSE'.
    37 05 LINE + 1.
    38 10 COL 1 VALUE ' 01234567  01234567  01234567  01234567  01234567  01234567'.
    39 05 LINE + 1.
    40 10 COL 1 VALUE '0         0         0         0         0         0        '.
    41 05 LINE + 1.
    42 10 COL 1 VALUE '1         1         1         1         1         1        '.
    43 05 LINE + 1.
    44 10 COL 1 VALUE '2         2         2         2         2         2        '.
    45 05 LINE + 1.
    46 10 COL 1 VALUE '3    7    3    8    3    9    3   10    3   11    3   12   '.
    47 05 LINE + 1.
    48 10 COL 1 VALUE '4         4         4         4         4         4        '.
    49 05 LINE + 1.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 1

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 2
====== =========================================================================================
    50 10 COL 1 VALUE '5         5         5         5         5         5        '.
    51 05 LINE + 1.
    52 10 COL 1 VALUE '6         6         6         6         6         6        '.
    53 05 LINE + 1.
    54 10 COL 1 VALUE '7         7         7         7         7         7        '.
    55 *> #1
    56 05 LINE 05.
    57 10 COL 2   BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
    58 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
    59 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
    60 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
    61 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
    62 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.
    63 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
    64 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
    65 05 LINE + 1.
    66 10 COL 2   BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
    67 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
    68 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
    69 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
    70 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
    71 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.
    72 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
    73 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
    74 05 LINE + 1.
    75 10 COL 2   BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
    76 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
    77 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
    78 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
    79 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
    80 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.
    81 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
    82 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
    83 05 LINE + 1.
    84 10 COL 2   BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
    85 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
    86 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
    87 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
    88 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
    89 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.
    90 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
    91 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
    92 05 LINE + 1.
    93 10 COL 2   BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
    94 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
    95 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
    96 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
    97 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
    98 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 2

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 3
====== =========================================================================================
    99 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
   100 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
   101 05 LINE + 1.
   102 10 COL 2   BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
   103 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
   104 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
   105 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
   106 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
   107 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.
   108 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
   109 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
   110 05 LINE + 1.
   111 10 COL 2   BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
   112 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
   113 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
   114 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
   115 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
   116 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.
   117 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
   118 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
   119 05 LINE + 1.
   120 10 COL 2   BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 LOWLIGHT VALUE 'X'.
   121 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 LOWLIGHT VALUE 'X'.
   122 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 LOWLIGHT VALUE 'X'.
   123 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 LOWLIGHT VALUE 'X'.
   124 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 LOWLIGHT VALUE 'X'.
   125 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 LOWLIGHT VALUE 'X'.
   126 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 LOWLIGHT VALUE 'X'.
   127 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 LOWLIGHT VALUE 'X'.
   128 *> #2
   129 05 LINE 05.
   130 10 COL 12  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 VALUE 'X'.
   131 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 VALUE 'X'.
   132 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 VALUE 'X'.
   133 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 VALUE 'X'.
   134 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 VALUE 'X'.
   135 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 VALUE 'X'.
   136 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 VALUE 'X'.
   137 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 VALUE 'X'.
   138 05 LINE + 1.
   139 10 COL 12  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 VALUE 'X'.
   140 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 VALUE 'X'.
   141 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 VALUE 'X'.
   142 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 VALUE 'X'.
   143 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 VALUE 'X'.
   144 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 VALUE 'X'.
   145 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 VALUE 'X'.
   146 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 VALUE 'X'.
   147 05 LINE + 1.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 3

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 4
====== =========================================================================================
   148 10 COL 12  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 VALUE 'X'.
   149 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 VALUE 'X'.
   150 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 VALUE 'X'.
   151 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 VALUE 'X'.
   152 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 VALUE 'X'.
   153 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 VALUE 'X'.
   154 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 VALUE 'X'.
   155 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 VALUE 'X'.
   156 05 LINE + 1.
   157 10 COL 12  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 VALUE 'X'.
   158 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 VALUE 'X'.
   159 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 VALUE 'X'.
   160 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 VALUE 'X'.
   161 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 VALUE 'X'.
   162 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 VALUE 'X'.
   163 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 VALUE 'X'.
   164 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 VALUE 'X'.
   165 05 LINE + 1.
   166 10 COL 12  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 VALUE 'X'.
   167 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 VALUE 'X'.
   168 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 VALUE 'X'.
   169 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 VALUE 'X'.
   170 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 VALUE 'X'.
   171 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 VALUE 'X'.
   172 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 VALUE 'X'.
   173 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 VALUE 'X'.
   174 05 LINE + 1.
   175 10 COL 12  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 VALUE 'X'.
   176 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 VALUE 'X'.
   177 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 VALUE 'X'.
   178 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 VALUE 'X'.
   179 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 VALUE 'X'.
   180 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 VALUE 'X'.
   181 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 VALUE 'X'.
   182 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 VALUE 'X'.
   183 05 LINE + 1.
   184 10 COL 12  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 VALUE 'X'.
   185 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 VALUE 'X'.
   186 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 VALUE 'X'.
   187 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 VALUE 'X'.
   188 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 VALUE 'X'.
   189 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 VALUE 'X'.
   190 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 VALUE 'X'.
   191 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 VALUE 'X'.
   192 05 LINE + 1.
   193 10 COL 12  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 VALUE 'X'.
   194 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 VALUE 'X'.
   195 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 VALUE 'X'.
   196 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 VALUE 'X'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 4

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 5
====== =========================================================================================
   197 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 VALUE 'X'.
   198 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 VALUE 'X'.
   199 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 VALUE 'X'.
   200 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 VALUE 'X'.
   201 *> #3
   202 05 LINE 05.
   203 10 COL 22  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   204 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   205 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   206 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   207 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   208 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   209 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.
   210 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   211 05 LINE + 1.
   212 10 COL 22  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   213 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   214 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   215 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   216 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   217 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   218 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.
   219 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   220 05 LINE + 1.
   221 10 COL 22  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   222 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   223 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   224 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   225 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   226 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   227 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.
   228 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   229 05 LINE + 1.
   230 10 COL 22  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   231 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   232 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   233 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   234 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   235 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   236 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.
   237 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   238 05 LINE + 1.
   239 10 COL 22  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   240 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   241 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   242 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   243 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   244 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   245 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 5

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 6
====== =========================================================================================
   246 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   247 05 LINE + 1.
   248 10 COL 22  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   249 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   250 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   251 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   252 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   253 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   254 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.
   255 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   256 05 LINE + 1.
   257 10 COL 22  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   258 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   259 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   260 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   261 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   262 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   263 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.
   264 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   265 05 LINE + 1.
   266 10 COL 22  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 HIGHLIGHT VALUE 'X'.
   267 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 HIGHLIGHT VALUE 'X'.
   268 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 HIGHLIGHT VALUE 'X'.
   269 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 HIGHLIGHT VALUE 'X'.
   270 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 HIGHLIGHT VALUE 'X'.
   271 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 HIGHLIGHT VALUE 'X'.
   272 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 HIGHLIGHT VALUE 'X'.
   273 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 HIGHLIGHT VALUE 'X'.
   274 *> #4
   275 05 LINE 05.
   276 10 COL 32  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   277 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   278 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   279 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   280 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   281 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   282 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   283 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   284 05 LINE + 1.
   285 10 COL 32  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   286 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   287 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   288 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   289 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   290 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   291 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   292 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   293 05 LINE + 1.
   294 10 COL 32  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 6

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 7
====== =========================================================================================
   295 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   296 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   297 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   298 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   299 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   300 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   301 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   302 05 LINE + 1.
   303 10 COL 32  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   304 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   305 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   306 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   307 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   308 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   309 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   310 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   311 05 LINE + 1.
   312 10 COL 32  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   313 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   314 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   315 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   316 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   317 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   318 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   319 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   320 05 LINE + 1.
   321 10 COL 32 BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   322 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   323 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   324 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   325 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   326 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   327 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   328 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   329 05 LINE + 1.
   330 10 COL 32  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   331 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   332 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   333 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   334 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   335 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   336 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   337 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   338 05 LINE + 1.
   339 10 COL 32  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   340 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   341 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   342 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   343 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 LOWLIGHT REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 7

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 8
====== =========================================================================================
   344 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   345 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   346 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 LOWLIGHT REVERSE-VIDEO VALUE 'X'.
   347 *> #5
   348 05 LINE 05.
   349 10 COL 42  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   350 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   351 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   352 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   353 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   354 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   355 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   356 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.
   357 05 LINE + 1.
   358 10 COL 42  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   359 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   360 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   361 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   362 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   363 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   364 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   365 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.
   366 05 LINE + 1.
   367 10 COL 42  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   368 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   369 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   370 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   371 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   372 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   373 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   374 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.
   375 05 LINE + 1.
   376 10 COL 42  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   377 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   378 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   379 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   380 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   381 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   382 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   383 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.
   384 05 LINE + 1.
   385 10 COL 42  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   386 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   387 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   388 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   389 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   390 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   391 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   392 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 8

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                         Page: 9
====== =========================================================================================
   393 05 LINE + 1.
   394 10 COL 42  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   395 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   396 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   397 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   398 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   399 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   400 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   401 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.
   402 05 LINE + 1.
   403 10 COL 42  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   404 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   405 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   406 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   407 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   408 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   409 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   410 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.
   411 05 LINE + 1.
   412 10 COL 42  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 REVERSE-VIDEO VALUE 'X'.
   413 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 REVERSE-VIDEO VALUE 'X'.
   414 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 REVERSE-VIDEO VALUE 'X'.
   415 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 REVERSE-VIDEO VALUE 'X'.
   416 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 REVERSE-VIDEO VALUE 'X'.
   417 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 REVERSE-VIDEO VALUE 'X'.
   418 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 REVERSE-VIDEO VALUE 'X'.
   419 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 REVERSE-VIDEO VALUE 'X'.
   420 *> #6
   421 05 LINE 05.
   422 10 COL 52  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   423 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   424 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   425 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   426 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   427 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   428 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   429 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   430 05 LINE + 1.
   431 10 COL 52  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   432 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   433 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   434 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   435 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   436 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   437 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   438 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   439 05 LINE + 1.
   440 10 COL 52  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   441 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 9

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 10
====== =========================================================================================
   442 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   443 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   444 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   445 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   446 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   447 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   448 05 LINE + 1.
   449 10 COL 52  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   450 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   451 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   452 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   453 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   454 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   455 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   456 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   457 05 LINE + 1.
   458 10 COL 52  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   459 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   460 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   461 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   462 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   463 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   464 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   465 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   466 05 LINE + 1.
   467 10 COL 52  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   468 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   469 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   470 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   471 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   472 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   473 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   474 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   475 05 LINE + 1.
   476 10 COL 52  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   477 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   478 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   479 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   480 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   481 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   482 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   483 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   484 05 LINE + 1.
   485 10 COL 52  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   486 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   487 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   488 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   489 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   490 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 10

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 11
====== =========================================================================================
   491 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   492 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 HIGHLIGHT REVERSE-VIDEO VALUE 'X'.
   493 *> #7
   494 05 LINE 17.
   495 10 COL 02  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   496 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   497 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   498 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   499 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   500 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   501 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   502 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   503 05 LINE + 1.
   504 10 COL 02  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   505 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   506 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   507 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   508 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   509 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   510 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   511 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   512 05 LINE + 1.
   513 10 COL 02  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   514 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   515 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   516 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   517 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   518 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   519 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   520 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   521 05 LINE + 1.
   522 10 COL 02  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   523 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   524 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   525 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   526 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   527 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   528 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   529 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   530 05 LINE + 1.
   531 10 COL 02  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   532 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   533 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   534 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   535 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   536 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   537 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   538 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   539 05 LINE + 1.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 11

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 12
====== =========================================================================================
   540 10 COL 02  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   541 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   542 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   543 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   544 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   545 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   546 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   547 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   548 05 LINE + 1.
   549 10 COL 02  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   550 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   551 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   552 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   553 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   554 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   555 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   556 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   557 05 LINE + 1.
   558 10 COL 02  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 LOWLIGHT BLINK VALUE 'X'.
   559 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 LOWLIGHT BLINK VALUE 'X'.
   560 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 LOWLIGHT BLINK VALUE 'X'.
   561 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 LOWLIGHT BLINK VALUE 'X'.
   562 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 LOWLIGHT BLINK VALUE 'X'.
   563 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 LOWLIGHT BLINK VALUE 'X'.
   564 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 LOWLIGHT BLINK VALUE 'X'.
   565 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 LOWLIGHT BLINK VALUE 'X'.
   566 *> #8
   567 05 LINE 17.
   568 10 COL 12  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   569 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   570 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 BLINK VALUE 'X'.
   571 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   572 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   573 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   574 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 BLINK VALUE 'X'.
   575 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   576 05 LINE + 1.
   577 10 COL 12  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   578 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   579 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 BLINK VALUE 'X'.
   580 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   581 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   582 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   583 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 BLINK VALUE 'X'.
   584 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   585 05 LINE + 1.
   586 10 COL 12  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   587 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   588 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 BLINK VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 12

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 13
====== =========================================================================================
   589 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   590 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   591 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   592 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 BLINK VALUE 'X'.
   593 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   594 05 LINE + 1.
   595 10 COL 12  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   596 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   597 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 BLINK VALUE 'X'.
   598 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   599 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   600 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   601 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 BLINK VALUE 'X'.
   602 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   603 05 LINE + 1.
   604 10 COL 12  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   605 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   606 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 BLINK VALUE 'X'.
   607 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   608 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   609 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   610 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 BLINK VALUE 'X'.
   611 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   612 05 LINE + 1.
   613 10 COL 12  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   614 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   615 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 BLINK VALUE 'X'.
   616 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   617 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   618 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   619 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 BLINK VALUE 'X'.
   620 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   621 05 LINE + 1.
   622 10 COL 12  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   623 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   624 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 BLINK VALUE 'X'.
   625 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   626 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   627 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   628 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 BLINK VALUE 'X'.
   629 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   630 05 LINE + 1.
   631 10 COL 12  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 BLINK VALUE 'X'.
   632 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 BLINK VALUE 'X'.
   633 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 BLINK VALUE 'X'.
   634 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 BLINK VALUE 'X'.
   635 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 BLINK VALUE 'X'.
   636 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 BLINK VALUE 'X'.
   637 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 BLINK VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 13

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 14
====== =========================================================================================
   638 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 BLINK VALUE 'X'.
   639 *> #9
   640 05 LINE 17.
   641 10 COL 22  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.
   642 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   643 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   644 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   645 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   646 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   647 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   648 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   649 05 LINE + 1.
   650 10 COL 22  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.
   651 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   652 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   653 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   654 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   655 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   656 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   657 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   658 05 LINE + 1.
   659 10 COL 22  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.
   660 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   661 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   662 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   663 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   664 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   665 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   666 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   667 05 LINE + 1.
   668 10 COL 22  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.
   669 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   670 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   671 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   672 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   673 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   674 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   675 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   676 05 LINE + 1.
   677 10 COL 22  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.
   678 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   679 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   680 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   681 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   682 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   683 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   684 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   685 05 LINE + 1.
   686 10 COL 22  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 14

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 15
====== =========================================================================================
   687 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   688 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   689 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   690 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   691 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   692 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   693 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   694 05 LINE + 1.
   695 10 COL 22  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.
   696 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   697 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   698 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   699 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   700 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   701 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   702 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   703 05 LINE + 1.
   704 10 COL 22  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 HIGHLIGHT BLINK VALUE 'X'.
   705 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 HIGHLIGHT BLINK VALUE 'X'.
   706 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 HIGHLIGHT BLINK VALUE 'X'.
   707 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 HIGHLIGHT BLINK VALUE 'X'.
   708 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 HIGHLIGHT BLINK VALUE 'X'.
   709 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 HIGHLIGHT BLINK VALUE 'X'.
   710 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 HIGHLIGHT BLINK VALUE 'X'.
   711 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 HIGHLIGHT BLINK VALUE 'X'.
   712 *> #10
   713 05 LINE 17.
   714 10 COL 32  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   715 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   716 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   717 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   718 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   719 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   720 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   721 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   722 05 LINE + 1.
   723 10 COL 32  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   724 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   725 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   726 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   727 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   728 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   729 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   730 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   731 05 LINE + 1.
   732 10 COL 32  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   733 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   734 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   735 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 15

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 16
====== =========================================================================================
   736 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   737 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   738 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   739 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   740 05 LINE + 1.
   741 10 COL 32  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   742 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   743 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   744 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   745 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   746 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   747 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   748 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   749 05 LINE + 1.
   750 10 COL 32  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   751 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   752 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   753 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   754 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   755 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   756 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   757 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   758 05 LINE + 1.
   759 10 COL 32  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   760 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   761 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   762 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   763 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   764 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   765 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   766 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   767 05 LINE + 1.
   768 10 COL 32  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   769 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   770 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   771 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   772 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   773 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   774 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   775 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   776 05 LINE + 1.
   777 10 COL 32  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   778 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   779 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   780 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   781 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   782 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   783 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   784 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 LOWLIGHT BLINK REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 16

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 17
====== =========================================================================================
   785 *> #11
   786 05 LINE 17.
   787 10 COL 42  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   788 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.
   789 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   790 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   791 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   792 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   793 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   794 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   795 05 LINE + 1.
   796 10 COL 42  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   797 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.
   798 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   799 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   800 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   801 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   802 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   803 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   804 05 LINE + 1.
   805 10 COL 42  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   806 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.
   807 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   808 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   809 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   810 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   811 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   812 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   813 05 LINE + 1.
   814 10 COL 42  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   815 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.
   816 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   817 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   818 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   819 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   820 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   821 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   822 05 LINE + 1.
   823 10 COL 42  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   824 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.
   825 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   826 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   827 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   828 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   829 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   830 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   831 05 LINE + 1.
   832 10 COL 42  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   833 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 17

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 18
====== =========================================================================================
   834 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   835 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   836 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   837 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   838 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   839 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   840 05 LINE + 1.
   841 10 COL 42  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   842 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.
   843 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   844 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   845 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   846 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   847 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   848 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   849 05 LINE + 1.
   850 10 COL 42  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 BLINK REVERSE-VIDEO VALUE 'X'.
   851 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 BLINK REVERSE-VIDEO VALUE 'X'.
   852 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 BLINK REVERSE-VIDEO VALUE 'X'.
   853 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 BLINK REVERSE-VIDEO VALUE 'X'.
   854 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 BLINK REVERSE-VIDEO VALUE 'X'.
   855 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 BLINK REVERSE-VIDEO VALUE 'X'.
   856 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 BLINK REVERSE-VIDEO VALUE 'X'.
   857 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 BLINK REVERSE-VIDEO VALUE 'X'.
   858 *> #12
   859 05 LINE 17.
   860 10 COL 52  BACKGROUND-COLOR 0 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   861 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   862 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   863 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   864 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   865 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   866 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   867 10 COL + 1 BACKGROUND-COLOR 0 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   868 05 LINE + 1.
   869 10 COL 52  BACKGROUND-COLOR 1 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   870 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   871 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   872 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   873 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   874 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   875 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   876 10 COL + 1 BACKGROUND-COLOR 1 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   877 05 LINE + 1.
   878 10 COL 52  BACKGROUND-COLOR 2 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   879 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   880 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   881 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   882 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 18

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 19
====== =========================================================================================
   883 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   884 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   885 10 COL + 1 BACKGROUND-COLOR 2 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   886 05 LINE + 1.
   887 10 COL 52  BACKGROUND-COLOR 3 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   888 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   889 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   890 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   891 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   892 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   893 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   894 10 COL + 1 BACKGROUND-COLOR 3 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   895 05 LINE + 1.
   896 10 COL 52  BACKGROUND-COLOR 4 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   897 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   898 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   899 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   900 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   901 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   902 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   903 10 COL + 1 BACKGROUND-COLOR 4 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   904 05 LINE + 1.
   905 10 COL 52  BACKGROUND-COLOR 5 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   906 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   907 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   908 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   909 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   910 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   911 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   912 10 COL + 1 BACKGROUND-COLOR 5 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   913 05 LINE + 1.
   914 10 COL 52  BACKGROUND-COLOR 6 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   915 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   916 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   917 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   918 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   919 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   920 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   921 10 COL + 1 BACKGROUND-COLOR 6 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   922 05 LINE + 1.
   923 10 COL 52  BACKGROUND-COLOR 7 FOREGROUND-COLOR 0 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   924 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 1 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   925 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 2 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   926 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 3 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   927 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 4 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   928 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 5 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   929 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 6 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   930 10 COL + 1 BACKGROUND-COLOR 7 FOREGROUND-COLOR 7 HIGHLIGHT BLINK REVERSE-VIDEO VALUE 'X'.
   931 PROCEDURE DIVISION.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 19

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
Line   Statement                                                                        Page: 20
====== =========================================================================================
   932 000-Main SECTION.
   933  DISPLAY S-COLORTST-SCR
   934  STOP RUN
   935  .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 20

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                           C:/Users/tda010/Documents/Programs/Samples/colors.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References      Page: 21
=============== ================================ ====== =============== ========================
colors          000-Main                            932 PROCEDURE
colors          S-COLORTST-SCR                        6 SCREEN             933

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 21

4. DAY-FROM-DATE
****************

DAY-FROM-DATE is a user-defined function that accepts a single numeric
"USAGE DISPLAY" argument -^Z either a 7-digit Julian date in the form
yyyyddd or an 8-digit Gregorian date in the form yyyymmdd.  This
argument may be supplied either as a PIC 9(n) USAGE DISPLAY data item
(n=7 or 8) or as a 7- or 8-digit numeric literal.

The subroutine will determine if the supplied date is a valid date in
the year range 0000 thru 9999 and what day of the week that date fell
on.

The value returned will be zero if the date argument was invalid or an
integer in the range 1-7, representing Sunday thru Saturday.

In addition to general GNU COBOL concepts, this program provides a
useful demonstration of the following:

   * Coding a GNU COBOL user-defined function

   * Using the "ANY LENGTH" data item attribute

   * Using the "RETURNING" option in a subprogram

   * Using the "DATE-OF-INTEGER" intrinsic function

   * Using the "C$PARAMSIZE" built-in system subroutine

The program source and cross-reference listing, produced using the GNU
COBOL Interactive Compiler front-end (GCic.cbl, one of the sample
programs included here), begins on the next page.

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                    C:/Users/tda010/Documents/Programs/Samples/DAY-FROM-DATE.cbl
Line   Statement                                                                         Page: 1
====== =========================================================================================
     1        >>SOURCE FORMAT IS FIXED
     2        IDENTIFICATION DIVISION.
     3        FUNCTION-ID. DAY-FROM-DATE.
     4       *>****************************************************************
     5       *> This GNU COBOL user-defined function converts a Gregorian or **
     6       *> Julian date into a numeric day of the week.                  **
     7       *>****************************************************************
     8       *> Arguments:                                                   **
     9       *>                                                              **
    10       *> Calendar-Date    A PIC 9 data item or numeric literal which  **
    11       *>                  will be treated as a calendar date as fol-  **
    12       *>                  lows:                                       **
    13       *>                                                              **
    14       *>                  7-digit value: Interpreted as a Julian date **
    15       *>                                 in the form yyyyddd          **
    16       *>                  8-digit value: Interpreted as a Gregorian   **
    17       *>                                 date in the form yyyymmdd    **
    18       *>                                                              **
    19       *> The result returned will be one of the following:            **
    20       *>                                                              **
    21       *> 0:  The supplied date is invalid                             **
    22       *> 1:  The supplied date is a Sunday                            **
    23       *> 2:  The supplied date is a Monday                            **
    24       *> .                                                            **
    25       *> .                                                            **
    26       *> .                                                            **
    27       *> 7:  The supplied date is a Saturday                          **
    28       *>****************************************************************
    29        ENVIRONMENT DIVISION.
    30        CONFIGURATION SECTION.
    31        REPOSITORY.
    32            FUNCTION ALL INTRINSIC.
    33        DATA DIVISION.
    34        WORKING-STORAGE SECTION.
    35        01  WS-Input-Date-DT.
    36            05 WS-ID-YYYY-NUM                     PIC 9(4).
    37            05 WS-ID-MM-NUM                       PIC 9(2).
    38            05 WS-ID-DD-NUM                       PIC 9(2).
    39        01  WS-Y-NUM                              BINARY-LONG.
    40        01  WS-M-NUM                              BINARY-LONG.
    41        01  WS-Temp-NUM                           BINARY-LONG.
    42        LINKAGE SECTION.
    43        01  L-Input-Date-DT                       PIC 9 ANY LENGTH.
    44        01  L-Output-Day-NUM                      USAGE BINARY-LONG
    45                                                  SIGNED.
    46        PROCEDURE DIVISION USING L-Input-Date-DT
    47                       RETURNING L-Output-Day-NUM.
    48        000-Main SECTION.
    49            CALL "C$PARAMSIZE" USING 1

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 1

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                    C:/Users/tda010/Documents/Programs/Samples/DAY-FROM-DATE.cbl
Line   Statement                                                                         Page: 2
====== =========================================================================================
    50            EVALUATE RETURN-CODE
    51            WHEN 7
    52                IF TEST-DAY-YYYYDDD(L-Input-Date-DT) > 0
    53                    MOVE 0 TO L-Output-Day-NUM
    54                    GOBACK
    55                END-IF
    56                MOVE DATE-OF-INTEGER(INTEGER-OF-DAY(L-Input-Date-DT))
    57                  TO WS-Input-Date-DT
    58            WHEN 8
    59                IF TEST-DATE-YYYYMMDD(L-Input-Date-DT) > 0
    60                    MOVE 0 TO L-Output-Day-NUM
    61                    GOBACK
    62                END-IF
    63                MOVE L-Input-Date-DT TO WS-Input-Date-DT
    64            WHEN OTHER
    65                MOVE 0 TO L-Output-Day-NUM
    66                GOBACK
    67            END-EVALUATE
    68       *> IF january OR february
    69       *>     y = year - 1
    70       *>     m = month + 10
    71       *> ELSE
    72       *>     y = year
    73       *>     m = month - 2
    74       *> END-IF
    75       *> For Gregorian calendar:
    76       *>     result = (day + y + y/4 - y/100 + y/400 + (31*m)/12) mod 7
    77       *> (All divisions are integer divisions, discarding any remainder)
    78            IF WS-ID-MM-NUM = 1 OR 2
    79                SUBTRACT 1 FROM WS-ID-YYYY-NUM GIVING WS-Y-NUM
    80                ADD WS-ID-MM-NUM, 10 GIVING WS-M-NUM
    81            ELSE
    82                MOVE WS-ID-YYYY-NUM TO WS-Y-NUM
    83                SUBTRACT 2 FROM WS-ID-MM-NUM GIVING WS-M-NUM
    84            END-IF
    85            COMPUTE L-Output-Day-NUM =
    86                WS-ID-DD-NUM
    87              + WS-Y-NUM
    88              + INTEGER(WS-Y-NUM/4)
    89              - INTEGER(WS-Y-NUM/100)
    90              + INTEGER(WS-Y-NUM/400)
    91              + INTEGER((31*WS-M-NUM)/12)
    92            DIVIDE L-Output-Day-NUM BY 7
    93                GIVING WS-Temp-NUM
    94                REMAINDER L-Output-Day-NUM
    95            ADD 1 TO L-Output-Day-NUM
    96            GOBACK
    97            .
    98

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 2

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                    C:/Users/tda010/Documents/Programs/Samples/DAY-FROM-DATE.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References       Page: 3
=============== ================================ ====== =============== ========================
DAY-FROM-DATE   000-Main                             48 PROCEDURE
DAY-FROM-DATE   L-Input-Date-DT                      43 LINKAGE             46      52      56
                                                                            59      63
DAY-FROM-DATE   L-Output-Day-NUM                     44 LINKAGE             47      53*     60*
                                                                            65*     85*     92
                                                                            94*     95*
DAY-FROM-DATE   RETURN-CODE                             PROCEDURE           50
DAY-FROM-DATE   WS-ID-DD-NUM                         38 WORKING-STORAGE     86
DAY-FROM-DATE   WS-ID-MM-NUM                         37 WORKING-STORAGE     78      80      83
DAY-FROM-DATE   WS-ID-YYYY-NUM                       36 WORKING-STORAGE     79      82
DAY-FROM-DATE   WS-Input-Date-DT                     35 WORKING-STORAGE     57*     63*
DAY-FROM-DATE   WS-M-NUM                             40 WORKING-STORAGE     80*     83*     91
DAY-FROM-DATE   WS-Temp-NUM                          41 WORKING-STORAGE     93*
DAY-FROM-DATE   WS-Y-NUM                             39 WORKING-STORAGE     79*     82*     87
                                                                            88      89      90

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 3

5. GCic
*******

This is MUCH more than a mere demonstration program -^Z it's also a
very practical utility!  The "GCic" (GNU COBOL Interactive Compiler) is
a TUI (Textual User Interface) program that may be used as a
full-screen interface to the "cobc" compiler.  In addition, GCic can
produce neat, concise and useful cross-reference listings of GNU COBOL
programs, showing not only where user-defined names and built-in
registers and initinsic functions are referenced, but also where
user-defined data items ARE MODIFIED by program code!

The program is well documented (IMHO) and you should find it fairly
easy to follow.  The GCic.cbl program was written to work with a native
Windows or Windows/MinGW build of GNU COBOL as well as a
Windows/Cygwin, UNIX or OS X build.

Source listings generated by GCic will show the original source code of
your programs, with all indentation and comments preserved.
Additionally, any COPYed code will be included in the listing
immediately (in compressed form) following the COPY statement that
triggered its inclusion into your program.

Cross-reference listings will show all user-defined data items and
procedures as well as intrinsic function and special register
references.  In addition to showing the line numbers at which items
were defined and referenced, those references that MODIFY the contents
of the data item will have an asterisk appended to them.

In addition to general GNU COBOL concepts, this program provides a
useful demonstration of the following:

   * Creating a GNU COBOL compilation unit that consists of multiple
     programs

   * Using CDF conditional compilation facilities

   * Using the "SCREEN SECTION" and associated "ACCEPT" and "DISPLAY"
     statements

   * Using "DECLARATIVES" to trap file I/O errors

   * Using "FILE-STATUS"

   * Using the "REPLACING" clause on a CDF "COPY" statement

   * Using the following statements:

        o "ACCEPT FROM COMMAND-LINE" statement

        o "ACCEPT FROM DATE/TIME" statement

        o "ACCEPT FROM ENVIRONMENT" statement

        o "EXIT PERFORM" statement

        o "EXIT SECTION" statement

        o "INSPECT" statement

        o "PERFORM FOREVER" statement

        o "SEARCH ALL" statement

        o "SET ENVIRONMENT" statement

        o "SORT" statement

        o "STRING" statement

        o "UNSTRING" statement

   * Using the following built-in subroutines:

        o "C$JUSTIFY" built-in system subroutine

        o "C$SLEEP" built-in system subroutine

        o "CBL_CHANGE_DIR" built-in system subroutine

        o "CBL_CHECK_FILE_EXIST" built-in system subroutine

        o "CBL_DELETE_FILE" built-in system subroutine

        o "SYSTEM" built-in system subroutine

   * Using the following intrinsic functions:

        o "CONCATENATE" intrinsic function

        o "LENGTH" intrinsic function

        o "LOWER-CASE" intrinsic function

        o "NUMVAL" intrinsic function

        o "TRIM" intrinsic function

        o "UPPER-CASE" intrinsic function

   * Using the "COB-CRT-STATUS,Special Registers" special register

   * Programmatically producing a report destined for either portrait
     or landscape printing

The program source and cross-reference listing, produced using this
program, begins on the next page.

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 1
====== =========================================================================================
     1       >>SOURCE FORMAT IS FIXED
     2       *> CONFIGURATION SETTINGS: Set these switches before compiling:
     3       *>
     4       *> LINEDRAW Set to:
     5       *>    0   To use spaces (no lines)
     6       *>    1   To use the line-drawing characterset (PC codepage 437)
     7       *>    2   To use conventional ASCII characters (+, -, |)
     8       *>
     9       *>          OSX USERS - To use the linedrawing characterset,
    10       *>                      set your 'terminal' font to 'Lucida Console'
    11       *>
    12       *> OS       Set to one of the following:
    13       *>          'CYGWIN'   For a Windows/Cygwin version
    14       *>          'MINGW'    For a Windows/MinGW version
    15       *>          'OSX'      For a Macintosh OSX version
    16       *>          'UNIX'     For a Unix/Linux version
    17       *>          'WINDOWS'  For a Native Windows version
    18       *>
    19       *> SELCHAR  Set to the desired single character to be used as the red
    20       *>          'feature selected' character on the screen.
    21       *>          SUGGESTIONS: '>', '*', '=', '+'
    22       *>
    23       *> LPP      Set to maximum printable lines per page when the listing
    24       *>          should be generated for LANDSCAPE orientation (can be over-
    25       *>          ridden at execution time using the GCXREF_LINES environment
    26       *>          variable.
    27       *>
    28       *> LPPP     Set to maximum printable lines per page when the listing
    29       *>          should be generated for PORTRAIT orientation (can be over-
    30       *>          ridden at execution time using the GCXREF_LINES_PORT
    31       *>          environment variable.
    32       *>
    33 GC0712 >>DEFINE CONSTANT LINEDRAW   AS 1
    34 GC0712 >>DEFINE CONSTANT OS         AS 'MINGW'
    35 GC0712 >>DEFINE CONSTANT SELCHAR    AS '>'
    36 GC1213 >>DEFINE CONSTANT LPP        AS 60   *> LANDSCAPE (GCXREF_LINES)
    37 GC1213 >>DEFINE CONSTANT LPPP       AS 54   *> PORTRAIT  (GCXREF_LINES_PORT)
    38       *> --------------------------------------------------------------
    39       *> Now set these switches to establish initial (default) settings
    40       *> for the various on-screen options.  Set them to a value of
    41       *> 0 if they are to be 'OFF' and 1 if they are to be 'ON'
    42 GC1213*> (for F5, 1=ON (Landscape), 2=ON (Portrait))
    43       *>
    44 GC0712 >>DEFINE CONSTANT F1  AS 0 *> Assume WITH DEBUGGING MODE
    45 GC0712 >>DEFINE CONSTANT F2  AS 0 *> Procedure+Statement Trace
    46 GC0712 >>DEFINE CONSTANT F3  AS 0 *> Make A Library (DLL)
    47 GC0712 >>DEFINE CONSTANT F4  AS 0 *> Execute If Compilation OK
    48 GC1213 >>DEFINE CONSTANT F5  AS 0 *> Listings
    49 GC0712 >>DEFINE CONSTANT F6  AS 1 *> "FUNCTION" Is Optional

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 1

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 2
====== =========================================================================================
    50 GC0712 >>DEFINE CONSTANT F7  AS 1 *> Enable All Warnings
    51 GC0712 >>DEFINE CONSTANT F8  AS 0 *> Source Is Free-Format
    52 GC0712 >>DEFINE CONSTANT F9  AS 1 *> No COMP/BINARY Truncation
    53 GC0712 >>DEFINE CONSTANT F12 AS 4 *> Default config file (1-7):
    54       *>                             1 = BS2000
    55       *>                             2 = COBOL85
    56       *>                             3 = COBOL2002
    57       *>                             4 = DEFAULT
    58       *>                             5 = IBM
    59       *>                             6 = MF (i.e. Microfocus)
    60       *>                             7 = MVS
    61       *> --------------------------------------------------------------
    62       *> END CONFIGURATION SETTINGS

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 2

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 3
====== =========================================================================================

    64        IDENTIFICATION DIVISION.
    65        PROGRAM-ID. GCic.
    66       *>***************************************************************
    67       *>     >NOTE<   >NOTE<   >NOTE<   >NOTE<   >NOTE<   >NOTE<     **
    68       *>                                                             **
    69       *> If this program is compiled with '-fdebugging-line', you    **
    70       *> will need to pipe SYSERR to a text file when executing GCic **
    71       *> (by adding the text '2> filename' to the end of the GCic    **
    72       *> command).  You may also need to press the ENTER key when    **
    73       *> GCic is finished.                                           **
    74       *>***************************************************************
    75       *> This program provides a Textual User Interface (TUI) to the **
    76       *> process of compiling and (optionally) executing a GNU COBOL **
    77       *> program.                                                    **
    78       *>                                                             **
    79       *> This programs execution syntax is as follows:               **
    80       *>                                                             **
    81       *> GCic <program-path-and-filename> [ <switch>... ]            **
    82       *>                                                             **
    83       *> Once executed, a display screen will be presented showing   **
    84       *> the compilation options that will be used.  The user will   **
    85       *> have the opportunity to change options, specify new ones    **
    86       *> and specify any program execution arguments to be used if   **
    87       *> you select the 'Execute' option.  When you press the Enter  **
    88       *> key the program will be compiled.                           **
    89       *>                                                             **
    90       *> The SCREEN SECTION contains an image of the screen.         **
    91       *>                                                             **
    92       *> The '010-Parse-Args' section in the PROCEDURE DIVISION has  **
    93       *> documentation on switches and their function.               **
    94       *>***************************************************************
    95       *>                                                             **
    96       *> AUTHOR:       GARY L. CUTLER                                **
    97       *>               Copyright (C) 2009-2014, Gary L. Cutler, GPL  **
    98       *>                                                             **
    99       *> DATE-WRITTEN: June 14, 2009                                 **
   100       *>                                                             **
   101       *>***************************************************************
   102       *>  DATE  CHANGE DESCRIPTION                                   **
   103       *> ====== ==================================================== **
   104       *> GC0609 Don't display compiler messages file if compilation  **
   105       *>        Is successful.  Also don't display messages if the   **
   106       *>        output file is busy (just put a message on the       **
   107       *>        screen, leave the OC screen up & let the user fix    **
   108       *>        the problem & resubmit.                              **
   109       *> GC0709 When 'EXECUTE' is selected, a 'FILE BUSY' error will **
   110       *>        still cause the (old) executable to be launched.     **
   111       *>        Also, the 'EXTRA SWITCHES' field is being ignored.   **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 3

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 4
====== =========================================================================================
   112       *>        Changed the title bar to lowlighted reverse video &  **
   113       *>        the message area to highlighted reverse-video.       **
   114       *> GC0809 Add a SPACE in front of command-line args when       **
   115       *>        executing users program.  Add a SPACE after the      **
   116       *>        -ftraceall switch when building cobc command.        **
   117       *> GC0909 Convert to work on Cygwin/Linux as well as MinGW     **
   118       *> GC0310 Virtualized the key codes for S-F1 thru S-F7 as they **
   119       *>        differ depending upon whether PDCurses or NCurses is **
   120       *>        being used.                                          **
   121       *> GC0410 Introduced the cross-reference and source listing    **
   122       *>        features.  Also fixed a bug in EXTRA switch proces-  **
   123       *>        sing where garbage will result if more than the      **
   124       *>        EXTRA switch is specified.                           **
   125       *> GC1010 Corrected several problems reported by Vince Coen:   **
   126       *>        1) Listing/Xref wouldn't work if '-I' additional     **
   127       *>           cobc switch specified.                            **
   128       *>        2) Programs coded with lowercase reserved words did  **
   129       *>           not get parsed properly when generating listing   **
   130       *>           and/or xref reports.                              **
   131       *>        3) Reliance on a TEMP environment variable caused    **
   132       *>           non-recoverable errors when generating listing    **
   133       *>           and/or xref reports in a session that lacks a     **
   134       *>           TEMP variable.                                    **
   135       *>        As a result of this change, GCic no longer runs a    **
   136       *>        second 'cobc' when generating listing and/or xref    **
   137       *>        reports.  A '-save-temps' (without '=dir') specified **
   138       *>        in the EXTRA options field will be ignored.  A       **
   139       *>        '-save-temps=dir' specified in the EXTRA options     **
   140       *>        field will negate both the XREF and SOURCE opts,     **
   141       *>        if specified.                                        **
   142       *> GC0711 Tailored for 29APR2011 version of GNU COBOL 2.0      **
   143       *> GC0712 Replaced all switches with configuration settings;   **
   144       *>        Tailored for 11FEB2012 version of GNU COBOL 2.0;     **
   145       *>        Reformatted screen layout to fit a 24x80 screen      **
   146       *>        rather than a 25x81 screen and to accommodate shell  **
   147       *>        environments having only F1-F12 (like 'terminal' in  **
   148       *>        OSX); Fully tested under OSX (required a few altera- **
   149       *>        tions); Expanded both extra-options and runtime-     **
   150       *>        arguments areas to TWO lines (152 chars total) each; **
   151       *>        Added support for MF/IBM/BS2000 listing-control      **
   152       *>        directives EJECT,SKIP1,SKIP2,SKIP3 (any of these in  **
   153       *>        copybooks will be ignored)                           **
   154       *> GC0313 Expand the source code record from 80 chars to 256   **
   155       *>        to facilitate looking for "LINKAGE SECTION" in a     **
   156       *>        free-format file.                                    **
   157       *> GC1113 Edited to support the change of "OpenCOBOL" to "GNU  **
   158       *>        COBOL"                                               **
   159       *> GC1213 Updated for 23NOV2013 version of GNU COBOL 2.1       **
   160       *> GC0114 Introduce a "Press ENTER to Close" action after run- **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 4

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 5
====== =========================================================================================
   161       *>        ning the compiled program in the compiler window (F4)**
   162       *>***************************************************************
   163        ENVIRONMENT DIVISION.
   164        CONFIGURATION SECTION.
   165        REPOSITORY.
   166            FUNCTION ALL INTRINSIC.
   167        INPUT-OUTPUT SECTION.
   168        FILE-CONTROL.
   169 GC1010     SELECT F-Cobc-Output-FILE   ASSIGN TO WS-Listing-Filename-TXT
   170                                        ORGANIZATION IS LINE SEQUENTIAL.
   171
   172            SELECT F-Source-Code-FILE   ASSIGN TO WS-File-Name-TXT
   173                                        ORGANIZATION IS LINE SEQUENTIAL
   174                                        FILE STATUS IS WS-FSM-Status-CD.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 5

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 6
====== =========================================================================================

   176        DATA DIVISION.
   177        FILE SECTION.
   178        FD  F-Cobc-Output-FILE.
   179        01  F-Cobc-Output-REC                     PIC X(256).
   180
   181        FD  F-Source-Code-FILE.
   182 GC0313 01  F-Source-Code-REC                     PIC X(256).
   183
   184        WORKING-STORAGE SECTION.
   185        COPY screenio.
        78 COB-COLOR-BLACK VALUE 0.
        78 COB-COLOR-BLUE VALUE 1.
        78 COB-COLOR-GREEN VALUE 2.
        78 COB-COLOR-CYAN VALUE 3.
        78 COB-COLOR-RED VALUE 4.
        78 COB-COLOR-MAGENTA VALUE 5.
        78 COB-COLOR-YELLOW VALUE 6.
        78 COB-COLOR-WHITE VALUE 7.
        78 COB-SCR-OK VALUE 0.
        78 COB-SCR-F1 VALUE 1001.
        78 COB-SCR-F2 VALUE 1002.
        78 COB-SCR-F3 VALUE 1003.
        78 COB-SCR-F4 VALUE 1004.
        78 COB-SCR-F5 VALUE 1005.
        78 COB-SCR-F6 VALUE 1006.
        78 COB-SCR-F7 VALUE 1007.
        78 COB-SCR-F8 VALUE 1008.
        78 COB-SCR-F9 VALUE 1009.
        78 COB-SCR-F10 VALUE 1010.
        78 COB-SCR-F11 VALUE 1011.
        78 COB-SCR-F12 VALUE 1012.
        78 COB-SCR-F13 VALUE 1013.
        78 COB-SCR-F14 VALUE 1014.
        78 COB-SCR-F15 VALUE 1015.
        78 COB-SCR-F16 VALUE 1016.
        78 COB-SCR-F17 VALUE 1017.
        78 COB-SCR-F18 VALUE 1018.
        78 COB-SCR-F19 VALUE 1019.
        78 COB-SCR-F20 VALUE 1020.
        78 COB-SCR-F21 VALUE 1021.
        78 COB-SCR-F22 VALUE 1022.
        78 COB-SCR-F23 VALUE 1023.
        78 COB-SCR-F24 VALUE 1024.
        78 COB-SCR-F25 VALUE 1025.
        78 COB-SCR-F26 VALUE 1026.
        78 COB-SCR-F27 VALUE 1027.
        78 COB-SCR-F28 VALUE 1028.
        78 COB-SCR-F29 VALUE 1029.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 6

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 7
====== =========================================================================================
        78 COB-SCR-F30 VALUE 1030.
        78 COB-SCR-F31 VALUE 1031.
        78 COB-SCR-F32 VALUE 1032.
        78 COB-SCR-F33 VALUE 1033.
        78 COB-SCR-F34 VALUE 1034.
        78 COB-SCR-F35 VALUE 1035.
        78 COB-SCR-F36 VALUE 1036.
        78 COB-SCR-F37 VALUE 1037.
        78 COB-SCR-F38 VALUE 1038.
        78 COB-SCR-F39 VALUE 1039.
        78 COB-SCR-F40 VALUE 1040.
        78 COB-SCR-F41 VALUE 1041.
        78 COB-SCR-F42 VALUE 1042.
        78 COB-SCR-F43 VALUE 1043.
        78 COB-SCR-F44 VALUE 1044.
        78 COB-SCR-F45 VALUE 1045.
        78 COB-SCR-F46 VALUE 1046.
        78 COB-SCR-F47 VALUE 1047.
        78 COB-SCR-F48 VALUE 1048.
        78 COB-SCR-F49 VALUE 1049.
        78 COB-SCR-F50 VALUE 1050.
        78 COB-SCR-F51 VALUE 1051.
        78 COB-SCR-F52 VALUE 1052.
        78 COB-SCR-F53 VALUE 1053.
        78 COB-SCR-F54 VALUE 1054.
        78 COB-SCR-F55 VALUE 1055.
        78 COB-SCR-F56 VALUE 1056.
        78 COB-SCR-F57 VALUE 1057.
        78 COB-SCR-F58 VALUE 1058.
        78 COB-SCR-F59 VALUE 1059.
        78 COB-SCR-F60 VALUE 1060.
        78 COB-SCR-F61 VALUE 1061.
        78 COB-SCR-F62 VALUE 1062.
        78 COB-SCR-F63 VALUE 1063.
        78 COB-SCR-F64 VALUE 1064.
        78 COB-SCR-PAGE_UP VALUE 2001.
        78 COB-SCR-PAGE_DOWN VALUE 2002.
        78 COB-SCR-KEY-UP VALUE 2003.
        78 COB-SCR-KEY-DOWN VALUE 2004.
        78 COB-SCR-ESC VALUE 2005.
        78 COB-SCR-PRINT VALUE 2006.
        78 COB-SCR-NO-FIELD VALUE 8000.
        78 COB-SCR-TIME-OUT VALUE 8001.
        78 COB-SCR-FATAL VALUE 9000.
        78 COB-SCR-MAX-FIELD VALUE 9001.
   186
   187 GC0712 01  WS-Compilation-Switches-TXT.
   188 GC0712     05 WS-CS-Args-TXT VALUE SPACES.
   189 GC0712        10 WS-CS-Arg-H1-TXT                PIC X(76).

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 7

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 8
====== =========================================================================================
   190 GC0712        10 WS-CS-Arg-H2-TXT                PIC X(76).
   191 GC0712     05 WS-CS-Filenames-TXT.
   192 GC0712        10 VALUE 'BS2000'                  PIC X(9).
   193 GC0712        10 VALUE 'COBOL85'                 PIC X(9).
   194 GC0712        10 VALUE 'COBOL2002'               PIC X(9).
   195 GC0712        10 VALUE 'DEFAULT'                 PIC X(9).
   196 GC0712        10 VALUE 'IBM'                     PIC X(9).
   197 GC0712        10 VALUE 'MF'                      PIC X(9).
   198 GC0712        10 VALUE 'MVS'                     PIC X(9).
   199 GC0712     05 WS-CS-Filenames-Table-TXT REDEFINES WS-CS-Filenames-TXT.
   200 GC0712        10 WS-CS-Filename-TXT              OCCURS 7 TIMES
   201 GC0712                                           PIC X(9).
   202 GC0712 >>IF F12 < 1
   203 GC0712     05 WS-CS-Config-NUM     VALUE 4       PIC 9(1).
   204 GC0712 >>ELIF F12 > 7
   205 GC0712     05 WS-CS-Config-NUM     VALUE 4       PIC 9(1).
   206 GC0712 >>ELSE
   207 GC0712     05 WS-CS-Config-NUM     VALUE F12     PIC 9(1).
   208 GC0712 >>END-IF
   209 GC0712     05 WS-CS-Extra-TXT VALUE SPACES.
   210 GC0712        10 WS-CS-Extra-H1-TXT              PIC X(76).
   211 GC0712        10 WS-CS-Extra-H2-TXT              PIC X(76).
   212 GC0712     05 WS-CS-Switch-Defaults-TXT.
   213 GC0712        10 VALUE F1                        PIC 9(1). *> WS-CS-DEBUG-CHR
   214 GC0712        10 VALUE F4                        PIC 9(1). *> WS-CS-EXECUTE-CHR
   215 GC0712        10 VALUE F8                        PIC 9(1). *> WS-CS-FREE-CHR
   216 GC0712        10 VALUE F3                        PIC 9(1). *> WS-CS-LIBRARY-CHR
   217 GC0712        10 VALUE F5                        PIC 9(1). *> WS-CS-LISTING-CHR
   218 GC0712        10 VALUE F6                        PIC 9(1). *> WS-CS-NOFUNC-CHR
   219 GC0712        10 VALUE F9                        PIC 9(1). *> WS-CS-NOTRUNC-CHR
   220 GC0712        10 VALUE F2                        PIC 9(1). *> WS-CS-TRACEALL-CHR
   221 GC0712        10 VALUE F7                        PIC 9(1). *> WS-CS-WARNALL-CHR
   222 GC0712     05 WS-CS-All-Switches-TXT REDEFINES
   223 GC0712                               WS-CS-Switch-Defaults-TXT.
   224 GC0712        10 WS-CS-DEBUG-CHR                 PIC X(1).
   225 GC0712        10 WS-CS-EXECUTE-CHR               PIC X(1).
   226 GC0712        10 WS-CS-FREE-CHR                  PIC X(1).
   227 GC0712        10 WS-CS-LIBRARY-CHR               PIC X(1).
   228 GC0712        10 WS-CS-LISTING-CHR               PIC X(1).
   229 GC0712        10 WS-CS-NOFUNC-CHR                PIC X(1).
   230 GC0712        10 WS-CS-NOTRUNC-CHR               PIC X(1).
   231 GC0712        10 WS-CS-TRACEALL-CHR              PIC X(1).
   232 GC0712        10 WS-CS-WARNALL-CHR               PIC X(1).
   233
   234 GC0909 01  WS-Cmd-TXT                            PIC X(512).
   235
   236 GC0712 01  WS-Cmd-Args-TXT                       PIC X(256).
   237
   238 GC0712 01  WS-Cmd-End-Quote-CHR                  PIC X(1).

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 8

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                         Page: 9
====== =========================================================================================
   239
   240 GC0712 01  WS-Cmd-SUB                            USAGE BINARY-LONG.
   241
   242        01  WS-Cobc-Cmd-TXT                       PIC X(256).
   243
   244        01  WS-Config-Fn-TXT                      PIC X(12).
   245
   246 GC1113 01  WS-Delete-Fn-TXT                      PIC X(256).
   247
   248        01  WS-File-Name-TXT.
   249            05 WS-FN-CHR                          OCCURS 256 TIMES
   250                                                  PIC X(1).
   251
   252        01  WS-File-Status-Message-TXT.
   253            05 VALUE 'Status Code: '              PIC X(13).
   254            05 WS-FSM-Status-CD                   PIC 9(2).
   255            05 VALUE ', Meaning: '                PIC X(11).
   256            05 WS-FSM-Msg-TXT                     PIC X(25).
   257
   258 GC0909 01  WS-Horizontal-Line-TXT                PIC X(80).
   259 GC0909
   260        01  WS-I-SUB                              USAGE BINARY-LONG.
   261
   262        01  WS-J-SUB                              USAGE BINARY-LONG.
   263
   264 GC1213 01  WS-Listing-CD VALUE F5                PIC 9(1).
   265
   266 GC0712 01  WS-Listing-Filename-TXT               PIC X(256).
   267
   268 GC1213 01  WS-Listing-TXT VALUE SPACES           PIC X(27).
   269
   270        01  WS-OC-Compile-DT                      PIC XXXX/XX/XXBXX/XX.
   271
   272 GC0712 >>IF OS = 'CYGWIN'
   273 GC0712 01  WS-OS-Dir-CHR         VALUE '/'       PIC X(1).
   274 GC0712 78  WS-OS-Exe-Ext-CONST   VALUE '.exe'.
   275 GC0712 78  WS-OS-Lib-Ext-CONST   VALUE '.dll'.
   276 GC0712 78  WS-OS-Lib-Type-CONST  VALUE 'DLL)'.
   277 GC0712 01  WS-OS-Type-CD         VALUE 2         PIC 9(1).
   278 GC0712 >>ELIF OS = 'MINGW'
   279 GC0712 01  WS-OS-Dir-CHR         VALUE '\'       PIC X(1).
   280 GC0712 78  WS-OS-Exe-Ext-CONST   VALUE '.exe'.
   281 GC0712 78  WS-OS-Lib-Ext-CONST   VALUE '.dll'.
   282 GC0712 78  WS-OS-Lib-Type-CONST  VALUE 'DLL)'.
   283 GC0712 01  WS-OS-Type-CD         VALUE 5         PIC 9(1).
   284 GC0712 >>ELIF OS = 'OSX'
   285 GC0712 01  WS-OS-Dir-CHR         VALUE '/'       PIC X(1).
   286 GC0712 78  WS-OS-Exe-Ext-CONST   VALUE ' '.
   287 GC0712 78  WS-OS-Lib-Ext-CONST   VALUE '.dylib'.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 9

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 10
====== =========================================================================================
   288 GC0712 78  WS-OS-Lib-Type-CONST  VALUE 'DYLIB)'.
   289 GC0712 01  WS-OS-Type-CD         VALUE 4         PIC 9(1).
   290 GC0712 >>ELIF OS = 'UNIX'
   291 GC0712 01  WS-OS-Dir-CHR         VALUE '/'       PIC X(1).
   292 GC0712 78  WS-OS-Exe-Ext-CONST   VALUE ' '.
   293 GC0712 78  WS-OS-Lib-Ext-CONST   VALUE '.so'.
   294 GC0712 78  WS-OS-Lib-Type-CONST  VALUE 'SO)'.
   295 GC0712 01  WS-OS-Type-CD         VALUE 3         PIC 9(1).
   296 GC0712 >>ELIF OS = 'WINDOWS'
   297 GC0712 01  WS-OS-Dir-CHR         VALUE '\'       PIC X(1).
   298 GC0712 78  WS-OS-Exe-Ext-CONST   VALUE '.exe'.
   299 GC0712 78  WS-OS-Lib-Ext-CONST   VALUE '.dll'.
   300 GC0712 78  WS-OS-Lib-Type-CONST  VALUE 'DLL)'.
   301 GC0712 01  WS-OS-Type-CD         VALUE 1         PIC 9(1).
   302 GC0712 >>END-IF
   303 GC0909     88 WS-OS-Windows-BOOL VALUE 1, 5.
   304 GC0909     88 WS-OS-Cygwin-BOOL  VALUE 2.
   305 GC0712     88 WS-OS-UNIX-BOOL    VALUE 3, 4.
   306 GC0712     88 WS-OS-OSX-BOOL     VALUE 4.
   307
   308        01  WS-OS-Type-FILLER-TXT.
   309            05 VALUE 'Windows'                    PIC X(14).
   310            05 VALUE 'Windows/Cygwin'             PIC X(14).
   311            05 VALUE 'UNIX/Linux'                 PIC X(14).
   312            05 VALUE 'OSX'                        PIC X(14).
   313            05 VALUE 'Windows/MinGW'              PIC X(14).
   314        01  WS-OS-Types-TXT REDEFINES WS-OS-Type-FILLER-TXT.
   315            05 WS-OS-Type-TXT                     OCCURS 5 TIMES
   316                                                  PIC X(14).
   317
   318        01  WS-Output-Msg-TXT                     PIC X(80).
   319
   320        01  WS-Path-Delimiter-CHR                 PIC X(1).
   321
   322        01  WS-Prog-Extension-TXT                 PIC X(256).
   323
   324        01  WS-Prog-Folder-TXT                    PIC X(256).
   325
   326 GC0712 01  WS-Prog-File-Name-TXT.
   327 GC0712     05 WS-PFN-CHR                         OCCURS 256 TIMES
   328 GC0712                                           PIC X(1).
   329
   330 GC0712 01  WS-Pgm-Nm-TXT                         PIC X(31).
   331
   332        01  WS-Runtime-Switches-TXT.
   333            05 WS-RS-Compile-OK-CHR               PIC X(1).
   334               88 WS-RS-Compile-OK-BOOL           VALUE 'Y'.
   335 GC0909        88 WS-RS-Compile-OK-Warn-BOOL      VALUE 'W'.
   336               88 WS-RS-Compile-Failed-BOOL       VALUE 'N'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 10

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 11
====== =========================================================================================
   337 GC0609     05 WS-RS-Complete-CHR                 PIC X(1).
   338 GC0609        88 WS-RS-Complete-BOOL             VALUE 'Y'.
   339 GC0609        88 WS-RS-Not-Complete-BOOL         VALUE 'N'.
   340 GC0712     05 WS-RS-Quote-CHR                    PIC X(1).
   341 GC0712        88 WS-RS-Double-Quote-Used-BOOL    VALUE 'Y' FALSE 'N'.
   342 GC0809     05 WS-RS-IDENT-DIV-CHR                PIC X(1).
   343 GC0809        88 WS-RS-1st-Prog-Complete-BOOL    VALUE 'Y'.
   344 GC0809        88 WS-RS-More-To-1st-Prog-BOOL     VALUE 'N'.
   345            05 WS-RS-No-Switch-Chgs-CHR           PIC X(1).
   346               88 WS-RS-No-Switch-Changes-BOOL    VALUE 'Y'.
   347               88 WS-RS-Switch-Changes-BOOL       VALUE 'N'.
   348 GC0709     05 WS-RS-Output-File-Busy-CHR         PIC X(1).
   349 GC0709        88 WS-RS-Output-File-Busy-BOOL     VALUE 'Y'.
   350 GC0709        88 WS-RS-Output-File-Avail-BOOL    VALUE 'N'.
   351 GC0809     05 WS-RS-Source-Record-Type-CHR       PIC X(1).
   352 GC0809        88 WS-RS-Source-Rec-Linkage-BOOL   VALUE 'L'.
   353 GC0809        88 WS-RS-Source-Rec-Ident-BOOL     VALUE 'I'.
   354 GC0712        88 WS-RS-Source-Rec-Ignored-BOOL   VALUE ' '.
   355            05 WS-RS-Switch-Error-CHR             PIC X(1).
   356               88 WS-RS-Switch-Is-Bad-BOOL        VALUE 'Y'.
   357               88 WS-RS-Switch-Is-Good-BOOL       VALUE 'N'.
   358
   359        01  WS-Tally-QTY                          USAGE BINARY-LONG.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 11

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 12
====== =========================================================================================

   361        SCREEN SECTION.
   362       *>
   363       *> Here is the layout of the GCic screen.
   364       *>
   365       *> The sample screen below shows how the screen would look if the LINEDRAW
   366       *> configuration setting is set to a value of 2
   367       *>
   368       *> The following sample screen layout shows how the screen looks with line-drawing
   369       *> characters disabled.
   370       *>
   371       *>         1         2         3         4         5         6         7         8
   372       *>12345678901234567890123456789012345678901234567890123456789012345678901234567890
   373       *>================================================================================
   374    01 *> GCic (2011/07/11 08:52) - GNU COBOL V2.1 23NOV2013 Interactive Compilation
   375    02 *>+------------------------------------------------------------------------------+
   376    03 *>| Folder:   E:\GNU COBOL\Samples                                               |
   377    04 *>| Filename: GCic.cbl                                                           |
   378    05 *>+------------------------------------------------------------------------------+
   379    06 *> Set/Clr Switches Via F1-F9; Set Config Via F12; ENTER Key Compiles; ESC Quits
   380    07 *>+-----------------------------------------------------------------+------------+
   381    08 *>| F1  Assume WITH DEBUGGING MODE  F6  "FUNCTION" Is Optional      | Current    |
   382    09 *>| F2  Procedure+Statement Trace   F7  Enable All Warnings         | Config:    |
   383    10 *>| F3  Make A Library (DLL)        F8  Source Is Free-Format       | XXXXXXXXXX |
   384    11 *>| F4  Execute If Compilation OK   F9  No COMP/BINARY Truncation   |            |
   385    12 *>| F5 >Produce Listing (Landscape)                                 |            |
   386    13 *>+-----------------------------------------------------------------+------------+
   387    14 *> Extra "cobc" Switches, If Any ("-save-temps=xxx" Prevents Listings):
   388    15 *>+------------------------------------------------------------------------------+
   389    16 *>| ____________________________________________________________________________ |
   390    17 *>| ____________________________________________________________________________ |
   391    18 *>+------------------------------------------------------------------------------+
   392    19 *> Program Execution Arguments, If Any:
   393    20 *>+------------------------------------------------------------------------------+
   394    21 *>| ____________________________________________________________________________ |
   395    22 *>| ____________________________________________________________________________ |
   396    23 *>+------------------------------------------------------------------------------+
   397    24 *> GCic Copyright (C) 2009-2014, Gary L. Cutler, GPL
   398       *>================================================================================
   399       *>12345678901234567890123456789012345678901234567890123456789012345678901234567890
   400       *>         1         2         3         4         5         6         7         8
   401       *>
   402       *> If this program is run on Windows, it must run with codepage 437 activated to
   403       *> display the line-drawing characters.  With a native Windows build or a
   404       *> Windows/MinGW build, one could use the command 'chcp 437' to set that codepage
   405       *> for display within a Windows console window (that should be the default though).
   406       *> With a Windows/Cygwin build, set the environment variable CYGWIN to a value of
   407       *> 'codepage:oem' (this cannot be done from within the program though - you will
   408       *> have to use the 'Computer/Advanced System Settings/Environment Variables' (Vista

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 12

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 13
====== =========================================================================================
   409       *> or Windows 7) function to define the variable.  XP Users: use 'My Computer/
   410       *> Properties/Advanced/Environment Variables'.
   411       *>
   412       *> OSX users may use line drawing characters in this and any GNU COBOL program
   413       *> simply by setting their 'terminal' application's font to "Lucida Console".
   414       *>
   415        >>IF LINEDRAW IS EQUAL TO 0
   416        78 LD-UL-Corner                 VALUE ' '.
   417        78 LD-LL-Corner                 VALUE ' '.
   418        78 LD-UR-Corner                 VALUE ' '.
   419        78 LD-LR-Corner                 VALUE ' '.
   420        78 LD-Upper-T                   VALUE ' '.
   421        78 LD-Lower-T                   VALUE ' '.
   422        78 LD-Horiz-Line                VALUE ' '.
   423        78 LD-Vert-Line                 VALUE ' '.
   424        >>ELIF LINEDRAW IS EQUAL TO 1
   425        78 LD-UL-Corner                 VALUE X'DA'.
   426        78 LD-LL-Corner                 VALUE X'C0'.
   427        78 LD-UR-Corner                 VALUE X'BF'.
   428        78 LD-LR-Corner                 VALUE X'D9'.
   429        78 LD-Upper-T                   VALUE X'C2'.
   430        78 LD-Lower-T                   VALUE X'C1'.
   431        78 LD-Horiz-Line                VALUE X'C4'.
   432        78 LD-Vert-Line                 VALUE X'B3'.
   433        >>ELSE
   434        78 LD-UL-Corner                 VALUE '+'.
   435        78 LD-LL-Corner                 VALUE '+'.
   436        78 LD-UR-Corner                 VALUE '+'.
   437        78 LD-LR-Corner                 VALUE '+'.
   438        78 LD-Upper-T                   VALUE '+'.
   439        78 LD-Lower-T                   VALUE '+'.
   440        78 LD-Horiz-Line                VALUE '-'.
   441        78 LD-Vert-Line                 VALUE '|'.
   442        >>END-IF
   443
   444        01 S-Blank-SCR LINE 1 COLUMN 1 BLANK SCREEN.
   445
   446        01 S-Switches-SCR BACKGROUND-COLOR COB-COLOR-BLACK
   447                          FOREGROUND-COLOR COB-COLOR-WHITE AUTO.
   448       *>
   449       *> GENERAL SCREEN FRAMEWORK
   450       *>
   451           03 BACKGROUND-COLOR COB-COLOR-BLACK
   452              FOREGROUND-COLOR COB-COLOR-GREEN HIGHLIGHT.
   453 GC0712       05 LINE 02 COL 01           VALUE LD-UL-Corner.
   454 GC0712       05         COL 02 PIC X(78) FROM  WS-Horizontal-Line-TXT.
   455              05         COL 80           VALUE LD-UR-Corner.
   456
   457 GC0712       05 LINE 03 COL 01           VALUE LD-Vert-Line.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 13

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 14
====== =========================================================================================
   458              05         COL 80           VALUE LD-Vert-Line.
   459
   460 GC0712       05 LINE 04 COL 01           VALUE LD-Vert-Line.
   461              05         COL 80           VALUE LD-Vert-Line.
   462
   463 GC0712       05 LINE 05 COL 01           VALUE LD-LL-Corner.
   464 GC0712       05         COL 02 PIC X(78) FROM  WS-Horizontal-Line-TXT.
   465              05         COL 80           VALUE LD-LR-Corner.
   466
   467 GC0712       05 LINE 07 COL 01           VALUE LD-UL-Corner.
   468 GC0712       05         COL 02 PIC X(65) FROM  WS-Horizontal-Line-TXT.
   469 GC0712       05         COL 67           VALUE LD-Upper-T.
   470 GC0712       05         COL 68 PIC X(12) FROM  WS-Horizontal-Line-TXT.
   471              05         COL 80           VALUE LD-UR-Corner.
   472
   473 GC0712       05 LINE 08 COL 01           VALUE LD-Vert-Line.
   474 GC0712       05         COL 67           VALUE LD-Vert-Line.
   475              05         COL 80           VALUE LD-Vert-Line.
   476
   477 GC0712       05 LINE 09 COL 01           VALUE LD-Vert-Line.
   478 GC0712       05         COL 67           VALUE LD-Vert-Line.
   479              05         COL 80           VALUE LD-Vert-Line.
   480
   481 GC0712       05 LINE 10 COL 01           VALUE LD-Vert-Line.
   482 GC0712       05         COL 67           VALUE LD-Vert-Line.
   483              05         COL 80           VALUE LD-Vert-Line.
   484
   485 GC0712       05 LINE 11 COL 01           VALUE LD-Vert-Line.
   486 GC0712       05         COL 67           VALUE LD-Vert-Line.
   487              05         COL 80           VALUE LD-Vert-Line.
   488
   489 GC0712       05 LINE 12 COL 01           VALUE LD-Vert-Line.
   490 GC0712       05         COL 67           VALUE LD-Vert-Line.
   491              05         COL 80           VALUE LD-Vert-Line.
   492
   493 GC0712       05 LINE 13 COL 01           VALUE LD-LL-Corner.
   494 GC0712       05         COL 02 PIC X(65) FROM  WS-Horizontal-Line-TXT.
   495 GC0712       05         COL 67           VALUE LD-Lower-T.
   496 GC0712       05         COL 68 PIC X(12) FROM  WS-Horizontal-Line-TXT.
   497              05         COL 80           VALUE LD-LR-Corner.
   498
   499 GC0712       05 LINE 15 COL 01           VALUE LD-UL-Corner.
   500 GC0712       05         COL 02 PIC X(78) FROM  WS-Horizontal-Line-TXT.
   501              05         COL 80           VALUE LD-UR-Corner.
   502
   503 GC0712       05 LINE 16 COL 01           VALUE LD-Vert-Line.
   504              05         COL 80           VALUE LD-Vert-Line.
   505
   506 GC0712       05 LINE 17 COL 01           VALUE LD-Vert-Line.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 14

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 15
====== =========================================================================================
   507              05         COL 80           VALUE LD-Vert-Line.
   508
   509 GC0712       05 LINE 18 COL 01           VALUE LD-LL-Corner.
   510 GC0712       05         COL 02 PIC X(78) FROM  WS-Horizontal-Line-TXT.
   511              05         COL 80           VALUE LD-LR-Corner.
   512
   513 GC0712       05 LINE 20 COL 01           VALUE LD-UL-Corner.
   514 GC0712       05         COL 02 PIC X(78) FROM  WS-Horizontal-Line-TXT.
   515              05         COL 80           VALUE LD-UR-Corner.
   516
   517 GC0712       05 LINE 21 COL 01           VALUE LD-Vert-Line.
   518              05         COL 80           VALUE LD-Vert-Line.
   519
   520 GC0712       05 LINE 22 COL 01           VALUE LD-Vert-Line.
   521              05         COL 80           VALUE LD-Vert-Line.
   522
   523 GC0712       05 LINE 23 COL 01           VALUE LD-LL-Corner.
   524 GC0712       05         COL 02 PIC X(78) FROM  WS-Horizontal-Line-TXT.
   525              05         COL 80           VALUE LD-LR-Corner.
   526       *>
   527       *> TOP AND BOTTOM LINES
   528       *>
   529 GC0712    03 BACKGROUND-COLOR COB-COLOR-BLUE
   530              FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   531 GC0410       05 LINE 01 COL 01 VALUE ' GCic ('.
   532 GC0410       05         COL 08 PIC X(16) FROM WS-OC-Compile-DT.
   533 GC1213       05         COL 24 VALUE ') GNU COBOL 2.1 23NOV2013 ' &
   534 GC0410                               'Interactive Compilation        '.
   535 GC0712    03 BACKGROUND-COLOR COB-COLOR-RED BLINK
   536 GC0712       FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   537 GC0712       05 LINE 24 COL 01 PIC X(80) FROM WS-Output-Msg-TXT.
   538       *>
   539       *> LABELS
   540       *>
   541           03 BACKGROUND-COLOR COB-COLOR-BLACK
   542              FOREGROUND-COLOR COB-COLOR-CYAN  HIGHLIGHT.
   543 GC0712       05 LINE 06 COL 02 VALUE 'Set/Clr Switches Via F1-F9; ' &
   544 GC0712                               'Set Config Via F12; Enter Key ' &
   545 GC0712                               'Compiles; Esc Quits'.
   546 GC0712       05 LINE 14 COL 02 VALUE 'Extra "cobc" Switches, If Any ' &
   547 GC0712                               '("-save-temps=xxx" Prevents ' &
   548 GC0712                               'Listings):'.
   549 GC0712       05 LINE 19 COL 02 VALUE 'Program Execution Arguments, ' &
   550 GC0712                               'If Any:'.
   551 GC0712    03 BACKGROUND-COLOR COB-COLOR-BLACK
   552 GC0712       FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   553 GC0712       05 LINE 06 COL 23 VALUE 'F1'.
   554 GC0712       05         COL 26 VALUE 'F9'.
   555 GC0712       05         COL 45 VALUE 'F12'.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 15

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 16
====== =========================================================================================
   556 GC0712       05         COL 50 VALUE 'ENTER'.
   557 GC0712       05         COL 70 VALUE 'ESC'.
   558       *>
   559       *> TOP SECTION BACKGROUND
   560       *>
   561           03 BACKGROUND-COLOR COB-COLOR-BLACK
   562              FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   563 GC0712       05 LINE 03 COL 62 VALUE 'Enter'.
   564 GC0712       05 LINE 04 COL 62 VALUE 'Esc'.
   565
   566           03 BACKGROUND-COLOR COB-COLOR-BLACK
   567              FOREGROUND-COLOR COB-COLOR-GREEN HIGHLIGHT.
   568 GC0712       05 LINE 04 COL 03 VALUE 'Folder:   '.
   569 GC0712       05 LINE 03 COL 03 VALUE 'Filename: '.
   570
   571 GC0712       05 LINE 03 COL 67 VALUE ': Compile   '.
   572 GC0712       05 LINE 04 COL 65 VALUE ':   Quit      '.
   573       *>
   574       *> TOP SECTION PROGRAM INFO
   575       *>
   576           03 BACKGROUND-COLOR COB-COLOR-BLACK
   577              FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   578 GC0712       05 LINE 03 COL 13 PIC X(66) FROM WS-Prog-File-Name-TXT.
   579 GC0712       05 LINE 04 COL 13 PIC X(66) FROM WS-Prog-Folder-TXT.
   580       *>
   581       *> MIDDLE LEFT SECTION F-KEYS
   582       *>
   583           03 BACKGROUND-COLOR COB-COLOR-BLACK
   584              FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   585 GC0712       05 LINE 08 COL 03 VALUE 'F1'.
   586 GC0712       05 LINE 09 COL 03 VALUE 'F2'.
   587 GC0712       05 LINE 10 COL 03 VALUE 'F3'.
   588 GC0712       05 LINE 11 COL 03 VALUE 'F4'.
   589 GC0712       05 LINE 12 COL 03 VALUE 'F5'.
   590
   591 GC0712       05 LINE 08 COL 35 VALUE 'F6'.
   592 GC0712       05 LINE 09 COL 35 VALUE 'F7'.
   593 GC0712       05 LINE 10 COL 35 VALUE 'F8'.
   594 GC0712       05 LINE 11 COL 35 VALUE 'F9'.
   595       *>
   596       *> MIDDLE LEFT SECTION SWITCHES
   597       *>
   598           03 BACKGROUND-COLOR COB-COLOR-BLACK
   599              FOREGROUND-COLOR COB-COLOR-RED   HIGHLIGHT.
   600 GC0712       05 LINE 08 COL 06 PIC X(1) FROM WS-CS-DEBUG-CHR.
   601 GC0712       05 LINE 09 COL 06 PIC X(1) FROM WS-CS-TRACEALL-CHR.
   602 GC0712       05 LINE 10 COL 06 PIC X(1) FROM WS-CS-LIBRARY-CHR.
   603 GC0712       05 LINE 11 COL 06 PIC X(1) FROM WS-CS-EXECUTE-CHR.
   604 GC0712       05 LINE 12 COL 06 PIC X(1) FROM WS-CS-LISTING-CHR.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 16

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 17
====== =========================================================================================
   605
   606 GC0712       05 LINE 08 COL 38 PIC X(1) FROM WS-CS-NOFUNC-CHR.
   607 GC0712       05 LINE 09 COL 38 PIC X(1) FROM WS-CS-WARNALL-CHR.
   608 GC0712       05 LINE 10 COL 38 PIC X(1) FROM WS-CS-FREE-CHR.
   609 GC0712       05 LINE 11 COL 38 PIC X(1) FROM WS-CS-NOTRUNC-CHR.
   610       *>
   611       *> MIDDLE LEFT SECTION BACKGROUND
   612       *>
   613           03 BACKGROUND-COLOR COB-COLOR-BLACK
   614              FOREGROUND-COLOR COB-COLOR-GREEN HIGHLIGHT.
   615 GC0712       05 LINE 08 COL 07 VALUE 'Assume WITH DEBUGGING MODE'.
   616 GC0712       05 LINE 09 COL 07 VALUE 'Procedure+Statement Trace '.
   617 GC0712       05 LINE 10 COL 07 VALUE 'Make a Library ('.
   618 GC0712       05         COL 23 VALUE WS-OS-Lib-Type-CONST.
   619 GC0712       05 LINE 11 COL 07 VALUE 'Execute If Compilation OK '.
   620 GC1213       05 LINE 12 COL 07 FROM  WS-Listing-TXT.
   621
   622 GC0712       05 LINE 08 COL 39 VALUE '"FUNCTION" Is Optional    '.
   623 GC0712       05 LINE 09 COL 39 VALUE 'Enable All Warnings       '.
   624 GC0712       05 LINE 10 COL 39 VALUE 'Source Is Free-Format     '.
   625 GC0712       05 LINE 11 COL 39 VALUE 'No COMP/BINARY Truncation '.
   626       *>
   627       *> MIDDLE RIGHT SECTION Text
   628       *>
   629           03 BACKGROUND-COLOR COB-COLOR-BLACK
   630              FOREGROUND-COLOR COB-COLOR-GREEN HIGHLIGHT.
   631 GC0712       05 LINE 08 COL 69 VALUE 'Current'.
   632 GC0712       05 LINE 09 COL 69 VALUE 'Config:'.
   633       *>
   634       *> MIDDLE RIGHT SECTION CONFIG FILE
   635       *>
   636           03 BACKGROUND-COLOR COB-COLOR-BLACK
   637              FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   638 GC0712       05 LINE 10 COL 69 PIC X(10)
   639 GC0712          FROM WS-CS-Filename-TXT (WS-CS-Config-NUM).
   640       *>
   641       *> FREE-FORM OPTIONS FIELDS
   642       *>
   643           03 BACKGROUND-COLOR COB-COLOR-BLACK
   644              FOREGROUND-COLOR COB-COLOR-WHITE HIGHLIGHT.
   645 GC0712       05 LINE 16 COL 03 PIC X(76) USING WS-CS-Extra-H1-TXT.
   646 GC0712       05 LINE 17 COL 03 PIC X(76) USING WS-CS-Extra-H2-TXT.
   647 GC0712       05 LINE 21 COL 03 PIC X(76) USING WS-CS-Arg-H1-TXT.
   648 GC0712       05 LINE 22 COL 03 PIC X(76) USING WS-CS-Arg-H2-TXT.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 17

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 18
====== =========================================================================================

   650        PROCEDURE DIVISION.
   651       *>***************************************************************
   652       *> Legend to procedure names:                                  **
   653       *>                                                             **
   654       *> 00x-xxx   All MAIN driver procedures                        **
   655       *> 0xx-xxx   All GLOBAL UTILITY procedures                     **
   656       *> 1xx-xxx   All INITIALIZATION procedures                     **
   657       *> 2xx-xxx   All CORE PROCESSING procedures                    **
   658       *> 9xx-xxx   All TERMINATION procedures                        **
   659       *>***************************************************************
   660        DECLARATIVES.
   661        000-File-Error SECTION.
   662            USE AFTER STANDARD ERROR PROCEDURE ON F-Source-Code-FILE.
   663            COPY FileStat-Msgs
   664                REPLACING STATUS BY WS-FSM-Status-CD
   665                          MSG    BY WS-FSM-Msg-TXT.
        EVALUATE WS-FSM-Status-CD
        WHEN 00 MOVE 'SUCCESS                  ' TO WS-FSM-Msg-TXT
        WHEN 02 MOVE 'SUCCESS DUPLICATE        ' TO WS-FSM-Msg-TXT
        WHEN 04 MOVE 'SUCCESS INCOMPLETE       ' TO WS-FSM-Msg-TXT
        WHEN 05 MOVE 'SUCCESS OPTIONAL         ' TO WS-FSM-Msg-TXT
        WHEN 07 MOVE 'SUCCESS NO UNIT          ' TO WS-FSM-Msg-TXT
        WHEN 10 MOVE 'END OF FILE              ' TO WS-FSM-Msg-TXT
        WHEN 14 MOVE 'OUT OF KEY RANGE         ' TO WS-FSM-Msg-TXT
        WHEN 21 MOVE 'KEY INVALID              ' TO WS-FSM-Msg-TXT
        WHEN 22 MOVE 'KEY EXISTS               ' TO WS-FSM-Msg-TXT
        WHEN 23 MOVE 'KEY NOT EXISTS           ' TO WS-FSM-Msg-TXT
        WHEN 30 MOVE 'PERMANENT ERROR          ' TO WS-FSM-Msg-TXT
        WHEN 31 MOVE 'INCONSISTENT FILENAME    ' TO WS-FSM-Msg-TXT
        WHEN 34 MOVE 'BOUNDARY VIOLATION       ' TO WS-FSM-Msg-TXT
        WHEN 35 MOVE 'FILE NOT FOUND           ' TO WS-FSM-Msg-TXT
        WHEN 37 MOVE 'PERMISSION DENIED        ' TO WS-FSM-Msg-TXT
        WHEN 38 MOVE 'CLOSED WITH LOCK         ' TO WS-FSM-Msg-TXT
        WHEN 39 MOVE 'CONFLICT ATTRIBUTE       ' TO WS-FSM-Msg-TXT
        WHEN 41 MOVE 'ALREADY OPEN             ' TO WS-FSM-Msg-TXT
        WHEN 42 MOVE 'NOT OPEN                 ' TO WS-FSM-Msg-TXT
        WHEN 43 MOVE 'READ NOT DONE            ' TO WS-FSM-Msg-TXT
        WHEN 44 MOVE 'RECORD OVERFLOW          ' TO WS-FSM-Msg-TXT
        WHEN 46 MOVE 'READ ERROR               ' TO WS-FSM-Msg-TXT
        WHEN 47 MOVE 'INPUT DENIED             ' TO WS-FSM-Msg-TXT
        WHEN 48 MOVE 'OUTPUT DENIED            ' TO WS-FSM-Msg-TXT
        WHEN 49 MOVE 'I/O DENIED               ' TO WS-FSM-Msg-TXT
        WHEN 51 MOVE 'RECORD LOCKED            ' TO WS-FSM-Msg-TXT
        WHEN 52 MOVE 'END-OF-PAGE              ' TO WS-FSM-Msg-TXT
        WHEN 57 MOVE 'I/O LINAGE               ' TO WS-FSM-Msg-TXT
        WHEN 61 MOVE 'FILE SHARING FAILURE     ' TO WS-FSM-Msg-TXT
        WHEN 91 MOVE 'FILE NOT AVAILABLE       ' TO WS-FSM-Msg-TXT
        END-EVALUATE.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 18

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 19
====== =========================================================================================
   666            MOVE SPACES TO WS-Output-Msg-TXT
   667            IF WS-FSM-Status-CD = 35
   668                DISPLAY
   669                    'File not found: "'
   670                    TRIM(WS-File-Name-TXT,TRAILING)
   671                    '"'
   672            ELSE
   673                DISPLAY
   674                    'Error accessing file: "'
   675                    TRIM(WS-File-Name-TXT,TRAILING)
   676                    '"'
   677            END-IF
   678            GOBACK
   679            .
   680        END DECLARATIVES.
   681
   682        000-Main SECTION.
   683            PERFORM 100-Initialization
   684 GC0609     SET WS-RS-Not-Complete-BOOL TO TRUE
   685 GC0609     PERFORM UNTIL WS-RS-Complete-BOOL
   686 GC0609         PERFORM 200-Let-User-Set-Switches
   687 GC0609         PERFORM 210-Run-Compiler
   688 GC0410         IF (WS-RS-Compile-OK-BOOL OR WS-RS-Compile-OK-Warn-BOOL)
   689 GC0712         AND (WS-CS-LISTING-CHR > SPACE)
   690 GC0712             DISPLAY S-Blank-SCR
   691 GC0410             PERFORM 220-Make-Listing
   692 GC0410         END-IF
   693 GC0709         IF  (WS-CS-EXECUTE-CHR NOT = SPACES)
   694 GC0709         AND (WS-RS-Output-File-Avail-BOOL)
   695 GC0609             PERFORM 230-Run-Program
   696 GC0609         END-IF
   697 GC0712         PERFORM 250-Autoload-Listing
   698 GC0609     END-PERFORM
   699            PERFORM 900-Terminate
   700       * -- Control will NOT return
   701            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 19

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 20
====== =========================================================================================

   703       *>***************************************************************
   704       *> Perform all program-wide initialization operations          **
   705       *>***************************************************************
   706        100-Initialization SECTION.
   707       *>***************************************************************
   708       *> Make sure full screen-handling is in effect                 **
   709       *>***************************************************************
   710            SET ENVIRONMENT 'COB_SCREEN_EXCEPTIONS' TO 'Y'
   711            SET ENVIRONMENT 'COB_SCREEN_ESC'        TO 'Y'
   712       *>***************************************************************
   713       *> Get GCic Compilation Date/Time                              **
   714       *>***************************************************************
   715            MOVE WHEN-COMPILED (1:12) TO WS-OC-Compile-DT
   716            INSPECT WS-OC-Compile-DT
   717                REPLACING ALL '/' BY ':'
   718                AFTER INITIAL SPACE
   719       *>***************************************************************
   720       *> Convert WS-CS-All-Switches-TXT to Needed Alphanumeric Values**
   721       *>***************************************************************
   722            INSPECT WS-CS-All-Switches-TXT
   723                REPLACING ALL '0' BY SPACE
   724                          ALL '1' BY SELCHAR
   725 GC1213                   ALL '2' BY SELCHAR
   726       *>***************************************************************
   727       *> Process filename (the only command-line argument)           **
   728       *>***************************************************************
   729 GC0712     ACCEPT WS-Cmd-Args-TXT FROM COMMAND-LINE
   730 GC0712     MOVE 1 TO WS-Cmd-SUB
   731 GC0712     IF WS-Cmd-Args-TXT(WS-Cmd-SUB:1) = '"' OR "'"
   732 GC0712         MOVE WS-Cmd-Args-TXT(WS-Cmd-SUB:1)
   733 GC0712           TO WS-Cmd-End-Quote-CHR
   734 GC0712         ADD 1 TO WS-Cmd-SUB
   735 GC0712         UNSTRING WS-Cmd-Args-TXT
   736 GC0712             DELIMITED BY WS-Cmd-End-Quote-CHR
   737 GC0712             INTO WS-File-Name-TXT
   738 GC0712             WITH POINTER WS-Cmd-SUB
   739 GC0712     ELSE
   740 GC0712         UNSTRING WS-Cmd-Args-TXT
   741 GC0712             DELIMITED BY ALL SPACES
   742 GC0712             INTO WS-File-Name-TXT
   743 GC0712             WITH POINTER WS-Cmd-SUB
   744 GC0712     END-IF
   745            IF WS-File-Name-TXT = SPACES
   746 GC0712         DISPLAY 'No program filename was specified'
   747                PERFORM 900-Terminate
   748       * ------ Control will NOT return
   749            END-IF
   750       *>***************************************************************

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 20

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 21
====== =========================================================================================
   751       *> Determine if 'Make A Library' feature should be forced 'ON' **
   752       *>***************************************************************
   753            PERFORM 240-Find-LINKAGE-SECTION
   754       *>***************************************************************
   755       *> Split 'WS-File-Name-TXT' into 'WS-Prog-Folder-TXT' and      **
   756       *> 'WS-Prog-File-Name-TXT'                                     **
   757       *>***************************************************************
   758 GC0909     IF WS-OS-Cygwin-BOOL AND WS-File-Name-TXT (2:1) = ':'
   759 GC0712         MOVE '\' TO WS-OS-Dir-CHR
   760 GC0909     END-IF
   761 GC0712     MOVE LENGTH(WS-File-Name-TXT) TO WS-I-SUB
   762 GC0712     PERFORM UNTIL WS-I-SUB = 0
   763 GC0712     OR WS-FN-CHR (WS-I-SUB) = WS-OS-Dir-CHR
   764                SUBTRACT 1 FROM WS-I-SUB
   765            END-PERFORM
   766            IF WS-I-SUB = 0
   767                MOVE SPACES    TO WS-Prog-Folder-TXT
   768                MOVE WS-File-Name-TXT TO WS-Prog-File-Name-TXT
   769            ELSE
   770                MOVE '*' TO WS-FN-CHR (WS-I-SUB)
   771                UNSTRING WS-File-Name-TXT DELIMITED BY '*'
   772                    INTO WS-Prog-Folder-TXT
   773                         WS-Prog-File-Name-TXT
   774 GC0712         MOVE WS-OS-Dir-CHR TO WS-FN-CHR (WS-I-SUB)
   775            END-IF
   776            IF WS-Prog-Folder-TXT = SPACES
   777                ACCEPT WS-Prog-Folder-TXT FROM ENVIRONMENT 'CD'
   778 GC0909     ELSE
   779 GC0909         CALL 'CBL_CHANGE_DIR'
   780 GC0909             USING TRIM(WS-Prog-Folder-TXT,TRAILING)
   781            END-IF
   782 GC0909     IF WS-OS-Cygwin-BOOL AND WS-File-Name-TXT (2:1) = ':'
   783 GC0712         MOVE '/' TO WS-OS-Dir-CHR
   784 GC0909     END-IF
   785       *>***************************************************************
   786       *> Split 'WS-Prog-File-Name-TXT' into 'WS-Pgm-Nm-TXT' &        **
   787       *> 'WS-Prog-Extension-TXT'                                     **
   788       *>***************************************************************
   789 GC0712     MOVE LENGTH(WS-Prog-File-Name-TXT) TO WS-I-SUB
   790 GC0712     PERFORM UNTIL WS-I-SUB = 0
   791 GC0712     OR WS-PFN-CHR (WS-I-SUB) = '.'
   792 GC0712         SUBTRACT 1 FROM WS-I-SUB
   793 GC0712     END-PERFORM
   794 GC0712     IF WS-I-SUB = 0
   795 GC0712         MOVE WS-Prog-File-Name-TXT TO WS-Pgm-Nm-TXT
   796 GC0712         MOVE SPACES         TO WS-Prog-Extension-TXT
   797 GC0712     ELSE
   798 GC0712         MOVE '*' TO WS-PFN-CHR (WS-I-SUB)
   799 GC0712         UNSTRING WS-Prog-File-Name-TXT DELIMITED BY '*'

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 21

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 22
====== =========================================================================================
   800 GC0712             INTO WS-Pgm-Nm-TXT
   801 GC0712                  WS-Prog-Extension-TXT
   802 GC0712         MOVE '.' TO WS-PFN-CHR (WS-I-SUB)
   803 GC0712     END-IF
   804       *>***************************************************************
   805       *> Build initial Line 24 Message                               **
   806       *>***************************************************************
   807 GC0909     MOVE ALL LD-Horiz-Line TO WS-Horizontal-Line-TXT.
   808 GC0410     MOVE CONCATENATE(' GCic for '
   809 GC0410                      TRIM(WS-OS-Type-TXT(WS-OS-Type-CD),Trailing)
   810 GC1213                      ' Copyright (C) 2009-2014, Gary L. '
   811 GC0410                      'Cutler, GPL')
   812 GC0410       TO WS-Output-Msg-TXT.
   813 GC0909     .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 22

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 23
====== =========================================================================================

   815       *>***************************************************************
   816       *> Show the user the current switch settings and allow them to **
   817       *> be changed.                                                 **
   818       *>***************************************************************
   819        200-Let-User-Set-Switches SECTION.
   820            SET WS-RS-Switch-Changes-BOOL TO TRUE
   821            PERFORM UNTIL WS-RS-No-Switch-Changes-BOOL
   822 GC1213         EVALUATE WS-Listing-CD
   823 GC1213         WHEN 0
   824 GC1213             MOVE 'Listing Off'            TO WS-Listing-TXT
   825 GC1213             MOVE SPACE                    TO WS-CS-LISTING-CHR
   826 GC1213         WHEN 1
   827 GC1213             MOVE 'Listing On (Landscape)' TO WS-Listing-TXT
   828 GC1213             MOVE SELCHAR                  TO WS-CS-LISTING-CHR
   829 GC1213         WHEN 2
   830 GC1213             MOVE 'Listing On (Portrait)' TO WS-Listing-TXT
   831 GC1213             MOVE SELCHAR                  TO WS-CS-LISTING-CHR
   832 GC1213         END-EVALUATE
   833                ACCEPT S-Switches-SCR
   834                IF COB-CRT-STATUS > 0
   835                    EVALUATE COB-CRT-STATUS
   836                        WHEN COB-SCR-F1
   837                            IF WS-CS-DEBUG-CHR = SPACE
   838 GC0712                         MOVE SELCHAR TO WS-CS-DEBUG-CHR
   839                            ELSE
   840                                MOVE ' ' TO WS-CS-DEBUG-CHR
   841                            END-IF
   842 GC0712                 WHEN COB-SCR-F2
   843 GC0712                     IF  WS-CS-TRACEALL-CHR = SPACE
   844 GC0712                         MOVE SELCHAR TO WS-CS-TRACEALL-CHR
   845 GC0712                     ELSE
   846 GC0712                         MOVE ' ' TO WS-CS-TRACEALL-CHR
   847 GC0712                     END-IF
   848                        WHEN COB-SCR-F3
   849 GC0712                     IF WS-CS-LIBRARY-CHR = SPACE
   850 GC0712                         MOVE SELCHAR TO WS-CS-LIBRARY-CHR
   851                            ELSE
   852 GC0712                         MOVE ' ' TO WS-CS-LIBRARY-CHR
   853                            END-IF
   854                        WHEN COB-SCR-F4
   855                            IF  WS-CS-EXECUTE-CHR = SPACE
   856 GC0712                         MOVE SELCHAR TO WS-CS-EXECUTE-CHR
   857                            ELSE
   858                                MOVE ' ' TO WS-CS-EXECUTE-CHR
   859                            END-IF
   860 GC0712                 WHEN COB-SCR-F5
   861 GC1213                     ADD 1 TO WS-Listing-CD
   862 GC1213                     IF WS-Listing-CD > 2

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 23

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 24
====== =========================================================================================
   863 GC1213                         MOVE 0 TO WS-Listing-CD
   864 GC1213                     END-IF
   865 GC0712                 WHEN COB-SCR-F6
   866 GC0712                     IF WS-CS-NOFUNC-CHR = SPACE
   867 GC0712                         MOVE SELCHAR TO WS-CS-NOFUNC-CHR
   868 GC0712                     ELSE
   869 GC0712                         MOVE ' ' TO WS-CS-NOFUNC-CHR
   870 GC0712                     END-IF
   871 GC0712                 WHEN COB-SCR-F7
   872 GC0712                     IF WS-CS-WARNALL-CHR = SPACE
   873 GC0712                         MOVE SELCHAR TO WS-CS-WARNALL-CHR
   874 GC0712                     ELSE
   875 GC0712                         MOVE ' ' TO WS-CS-WARNALL-CHR
   876 GC0712                     END-IF
   877 GC0712                 WHEN COB-SCR-F8
   878 GC0712                     IF WS-CS-FREE-CHR = SPACE
   879 GC0712                         MOVE SELCHAR TO WS-CS-FREE-CHR
   880 GC0712                     ELSE
   881 GC0712                         MOVE ' ' TO WS-CS-FREE-CHR
   882 GC0712                     END-IF
   883 GC0712                 WHEN COB-SCR-F9
   884 GC0712                     IF  WS-CS-NOTRUNC-CHR = SPACE
   885 GC0712                         MOVE SELCHAR TO WS-CS-NOTRUNC-CHR
   886 GC0712                     ELSE
   887 GC0712                         MOVE ' ' TO WS-CS-NOTRUNC-CHR
   888 GC0712                     END-IF
   889                        WHEN COB-SCR-ESC
   890                            PERFORM 900-Terminate
   891       * ------------------ Control will NOT return
   892 GC0712                 WHEN COB-SCR-F12
   893 GC0712                     ADD 1 TO WS-CS-Config-NUM
   894 GC0712                     IF WS-CS-Config-NUM > 7
   895 GC0712                         MOVE 1 TO WS-CS-Config-NUM
   896 GC0712                     END-IF
   897                        WHEN OTHER
   898                            MOVE 'An unsupported key was pressed'
   899                              TO WS-Output-Msg-TXT
   900                    END-EVALUATE
   901                ELSE
   902                    SET WS-RS-No-Switch-Changes-BOOL TO TRUE
   903                END-IF
   904            END-PERFORM
   905            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 24

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 25
====== =========================================================================================

   907       *>***************************************************************
   908       *> Run the compiler using the switch settings we've prepared.  **
   909       *>***************************************************************
   910        210-Run-Compiler SECTION.
   911            MOVE SPACES TO WS-Cmd-TXT
   912                           WS-Cobc-Cmd-TXT
   913                           WS-Output-Msg-TXT
   914            DISPLAY S-Switches-SCR
   915            MOVE 1 TO WS-I-SUB
   916 GC0712     MOVE LOWER-CASE(WS-CS-Filename-TXT (WS-CS-Config-NUM))
   917 GC0712       TO WS-Config-Fn-TXT
   918       *>***************************************************************
   919       *> Build the 'cobc' command                                    **
   920       *>***************************************************************
   921 GC0909     MOVE SPACES TO WS-Cobc-Cmd-TXT
   922 GC0909     STRING 'cobc -v -std='
   923 GC0909         TRIM(WS-Config-Fn-TXT,TRAILING)
   924 GC0909         ' '
   925 GC0909         INTO WS-Cobc-Cmd-TXT
   926 GC0909         WITH POINTER WS-I-SUB
   927            IF WS-CS-LIBRARY-CHR NOT = ' '
   928                STRING '-m '
   929                    DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   930                    WITH POINTER WS-I-SUB
   931            ELSE
   932                STRING '-x '
   933                    DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   934                    WITH POINTER WS-I-SUB
   935            END-IF
   936            IF WS-CS-DEBUG-CHR NOT = ' '
   937                STRING '-fdebugging-line '
   938                    DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   939                    WITH POINTER WS-I-SUB
   940            END-IF
   941            IF WS-CS-NOTRUNC-CHR NOT = ' '
   942                STRING '-fnotrunc '
   943                    DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   944                    WITH POINTER WS-I-SUB
   945            END-IF
   946            IF WS-CS-TRACEALL-CHR NOT = ' '
   947 GC0809         STRING '-ftraceall '
   948                    DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   949                    WITH POINTER WS-I-SUB
   950            END-IF
   951 GC0712     IF WS-CS-NOFUNC-CHR NOT = ' '
   952 GC0712         STRING '-fintrinsic=all '
   953 GC0712             DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   954 GC0712             WITH POINTER WS-I-SUB

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 25

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 26
====== =========================================================================================
   955 GC0712     END-IF
   956 GC0712     IF WS-CS-WARNALL-CHR NOT = ' '
   957 GC0712         STRING '-Wall '
   958 GC0712             DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   959 GC0712             WITH POINTER WS-I-SUB
   960 GC0712     END-IF
   961 GC0712     IF WS-CS-FREE-CHR NOT = ' '
   962 GC0712         STRING '-free '
   963 GC0712             DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   964 GC0712             WITH POINTER WS-I-SUB
   965 GC0712     ELSE
   966 GC0712         STRING '-fixed '
   967 GC0712             DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   968 GC0712             WITH POINTER WS-I-SUB
   969 GC0712     END-IF
   970
   971 GC0712     MOVE 0 TO WS-Tally-QTY
   972 GC0712     INSPECT WS-CS-Extra-TXT
   973 GC0712         TALLYING WS-Tally-QTY FOR ALL '-save-temps'
   974 GC0712     IF WS-CS-LISTING-CHR > SPACE
   975 GC0712     AND WS-Tally-QTY > 0
   976 GC0712         MOVE SPACE TO WS-CS-LISTING-CHR *> Can't generate listing if -save-temps u
       sed
   977 GC0712     END-IF
   978 GC0712     IF WS-CS-LISTING-CHR > SPACE
   979 GC1010         STRING '-save-temps '
   980 GC1010             DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   981 GC1010             WITH POINTER WS-I-SUB
   982 GC1010     END-IF
   983
   984 GC0709     IF WS-CS-Extra-TXT > SPACES
   985 GC0709         STRING ' '
   986 GC0709                TRIM(WS-CS-Extra-TXT,TRAILING)
   987 GC0709                ' '
   988 GC0709                DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   989 GC0709                WITH POINTER WS-I-SUB
   990 GC0709     END-IF
   991 GC0909     STRING TRIM(WS-Prog-File-Name-TXT,TRAILING)
   992 GC0909         DELIMITED SIZE INTO WS-Cobc-Cmd-TXT
   993 GC0909         WITH POINTER WS-I-SUB
   994       *>***************************************************************
   995       *> Prepare the compilation listing file                        **
   996       *>***************************************************************
   997 GC1113     MOVE CONCATENATE(TRIM(WS-Pgm-Nm-TXT,Trailing),'.gclst')
   998 GC0712       TO WS-Listing-Filename-TXT
   999 GC0712     CALL 'CBL_DELETE_FILE' USING WS-Listing-Filename-TXT
  1000       *>***************************************************************
  1001       *> Now execute the 'cobc' command                              **
  1002       *>***************************************************************

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 26

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 27
====== =========================================================================================
  1003 GC0410     MOVE ' Compiling...' TO WS-Output-Msg-TXT
  1004 GC0410     DISPLAY S-Switches-SCR
  1005 GC0609     SET WS-RS-Output-File-Avail-BOOL TO TRUE
  1006            MOVE SPACES TO WS-Cmd-TXT
  1007            STRING TRIM(WS-Cobc-Cmd-TXT,TRAILING)
  1008 GC0712            ' >' WS-Listing-Filename-TXT
  1009 GC0712            ' 2>&1'
  1010                   DELIMITED SIZE
  1011                   INTO WS-Cmd-TXT
  1012 DEBUG D    DISPLAY WS-Cmd-TXT UPON SYSERR
  1013            CALL 'SYSTEM' USING TRIM(WS-Cmd-TXT,TRAILING)
  1014 GC0712     OPEN EXTEND F-Cobc-Output-FILE
  1015 GC0712     WRITE F-Cobc-Output-REC FROM SPACES
  1016 GC0712     IF RETURN-CODE = 0
  1017 GC0712         SET WS-RS-Compile-OK-BOOL TO TRUE
  1018 GC0712         MOVE ' Compilation Was Successful' TO WS-Output-Msg-TXT
  1019 GC0712         MOVE CONCATENATE('GNU COBOL',WS-Output-Msg-TXT)
  1020 GC0712           TO F-Cobc-Output-REC
  1021 GC0712         WRITE F-Cobc-Output-REC
  1022 GC0712         SET WS-RS-Complete-BOOL TO TRUE
  1023 GC0712     ELSE
  1024 GC0712         SET WS-RS-Compile-Failed-BOOL TO TRUE
  1025 GC0712         MOVE CONCATENATE(' Compilation Failed - See ',
  1026 GC0712                     TRIM(WS-Listing-Filename-TXT,Trailing))
  1027 GC0712           TO WS-Output-Msg-TXT
  1028 GC0712         MOVE 'GNU COBOL Compilation HAS FAILED - See Above'
  1029 GC0712           TO F-Cobc-Output-REC
  1030 GC0712         WRITE F-Cobc-Output-REC
  1031 GC0712     END-IF
  1032 GC0712     CLOSE F-Cobc-Output-FILE
  1033 GC0712     DISPLAY S-Switches-SCR
  1034 GC0712     CALL 'C$SLEEP' USING 2
  1035 GC0712     MOVE SPACES TO WS-Output-Msg-TXT
  1036            IF WS-RS-Compile-Failed-BOOL
  1037 GC0712         PERFORM 250-Autoload-Listing
  1038                PERFORM 900-Terminate
  1039       *> ----- Control will not return
  1040            END-IF
  1041            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 27

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 28
====== =========================================================================================

  1043       *>***************************************************************
  1044       *> Generate a source + xref listing using 'LISTING' subroutine **
  1045       *>***************************************************************
  1046 GC0410 220-Make-Listing SECTION.
  1047 GC0410     MOVE ' Generating listing...' TO WS-Output-Msg-TXT
  1048 GC0410     DISPLAY S-Switches-SCR
  1049 GC0410     MOVE 0 TO RETURN-CODE
  1050       *>***************************************************************
  1051       *> Create the listing                                          **
  1052       *>***************************************************************
  1053 GC0410     MOVE SPACES TO WS-Output-Msg-TXT
  1054 GC0410     CALL 'LISTING' USING WS-Listing-Filename-TXT
  1055 GC0712                          WS-File-Name-TXT
  1056 GC0712                          WS-OS-Type-CD
  1057 GC1213                          LPP
  1058 GC1213                          LPPP
  1059 GC1213                          WS-Listing-CD
  1060 GC0410     ON EXCEPTION
  1061 GC0410         MOVE ' LISTING module is not available'
  1062 GC0410           TO WS-Output-Msg-TXT
  1063 GC0410         MOVE 1 TO RETURN-CODE
  1064 GC0410     END-CALL
  1065 GC0410     IF RETURN-CODE = 0
  1066 GC0712         MOVE ' Source+Xref listing generated '
  1067 GC0712           TO WS-Output-Msg-TXT
  1068 GC0410     END-IF
  1069 GC0712     DISPLAY S-Switches-SCR
  1070 GC0712     CALL 'C$SLEEP' USING 2
  1071 GC0712     PERFORM 250-Autoload-Listing
  1072 GC0410     .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 28

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 29
====== =========================================================================================

  1074       *>***************************************************************
  1075       *> Run the compiled program                                    **
  1076       *>***************************************************************
  1077        230-Run-Program SECTION.
  1078 GC0114     MOVE ' Preparing to run program ... press ENTER to close '
  1079 GC0114       TO WS-Output-Msg-TXT
  1080 GC0114     DISPLAY S-Switches-SCR
  1081 GC0114     CALL 'C$SLEEP' USING 3
  1082 GC0909     MOVE SPACES TO WS-Cmd-TXT
  1083 GC0909     MOVE 1 TO WS-I-SUB
  1084       *>***************************************************************
  1085       *> If necessary, start with 'cobcrun' command                  **
  1086       *>***************************************************************
  1087 GC0712     IF WS-CS-LIBRARY-CHR NOT = ' '
  1088                STRING 'cobcrun ' DELIMITED SIZE
  1089                       INTO WS-Cmd-TXT
  1090                       WITH POINTER WS-I-SUB
  1091            END-IF
  1092       *>***************************************************************
  1093       *> Add any necessary path prefix                               **
  1094       *>***************************************************************
  1095 GC0712     SET WS-RS-Double-Quote-Used-BOOL TO FALSE
  1096            IF WS-Prog-Folder-TXT NOT = SPACES
  1097 GC0909         IF WS-OS-Cygwin-BOOL AND WS-Prog-Folder-TXT (2:1) = ':'
  1098 GC0909             STRING '/cygdrive/'
  1099 GC0909                 INTO WS-Cmd-TXT
  1100 GC0909                 WITH POINTER WS-I-SUB
  1101 GC0909             STRING LOWER-CASE(WS-Prog-Folder-TXT (1:1))
  1102 GC0909                 INTO WS-Cmd-TXT
  1103 GC0909                 WITH POINTER WS-I-SUB
  1104 GC0909             PERFORM
  1105 GC0909                 VARYING WS-J-SUB FROM 3 BY 1
  1106 GC0909                 UNTIL WS-J-SUB > LENGTH(TRIM(WS-Prog-Folder-TXT))
  1107 GC0909                 IF WS-Prog-Folder-TXT (WS-J-SUB:1) = '\'
  1108 GC0909                     STRING '/'
  1109 GC0909                         INTO WS-Cmd-TXT
  1110 GC0909                         WITH POINTER WS-I-SUB
  1111 GC0909                 ELSE
  1112 GC0909                     STRING WS-Prog-Folder-TXT (WS-J-SUB:1)
  1113 GC0909                         INTO WS-Cmd-TXT
  1114 GC0909                         WITH POINTER WS-I-SUB
  1115 GC0909                 END-IF
  1116 GC0909             END-PERFORM
  1117 GC0909         ELSE
  1118 GC0410             STRING '"' TRIM(WS-Prog-Folder-TXT,TRAILING)
  1119 GC0909                 INTO WS-Cmd-TXT
  1120 GC0909                 WITH POINTER WS-I-SUB
  1121 GC0712             SET WS-RS-Double-Quote-Used-BOOL TO TRUE

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 29

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 30
====== =========================================================================================
  1122 GC0909         END-IF
  1123 GC0712         STRING WS-OS-Dir-CHR
  1124 GC0909             INTO WS-Cmd-TXT
  1125 GC0909             WITH POINTER WS-I-SUB
  1126 GC0909     ELSE
  1127 GC0909         IF WS-OS-Cygwin-BOOL OR WS-OS-UNIX-BOOL
  1128 GC0909             STRING './'
  1129 GC0909                 INTO WS-Cmd-TXT
  1130 GC0909                 WITH POINTER WS-I-SUB
  1131 GC0909         END-IF
  1132            END-IF
  1133       *>***************************************************************
  1134       *> Insert program filename                                     **
  1135       *>***************************************************************
  1136 GC0909     STRING TRIM(WS-Pgm-Nm-TXT,TRAILING)
  1137 GC0909         INTO WS-Cmd-TXT
  1138 GC0909         WITH POINTER WS-I-SUB
  1139       *>***************************************************************
  1140       *> Insert proper extension                                     **
  1141       *>***************************************************************
  1142 GC0712     IF WS-CS-LIBRARY-CHR = ' '
  1143 GC0712         IF WS-OS-Exe-Ext-CONST > ' '
  1144 GC0712             STRING WS-OS-Exe-Ext-CONST DELIMITED SPACE
  1145 GC0712                 INTO WS-Cmd-TXT
  1146 GC0712                 WITH POINTER WS-I-SUB
  1147 GC0712         END-IF
  1148 GC0712     ELSE
  1149 GC0712         IF WS-OS-Lib-Ext-CONST > ' '
  1150 GC0712             STRING WS-OS-Lib-Ext-CONST DELIMITED SPACE
  1151 GC0712                 INTO WS-Cmd-TXT
  1152 GC0712                 WITH POINTER WS-I-SUB
  1153 GC0712         END-IF
  1154 GC0712     END-IF
  1155 GC0712     IF WS-RS-Double-Quote-Used-BOOL
  1156 GC0712         STRING '"' DELIMITED SIZE
  1157 GC0712             INTO WS-Cmd-TXT
  1158 GC0712             WITH POINTER WS-I-SUB
  1159 GC0712     END-IF
  1160            IF WS-CS-Args-TXT NOT = SPACES
  1161 GC0809         STRING ' ' TRIM(WS-CS-Args-TXT,TRAILING)
  1162                    INTO WS-Cmd-TXT
  1163                    WITH POINTER WS-I-SUB
  1164            END-IF
  1165       *>***************************************************************
  1166       *> Run the program                                             **
  1167       *>***************************************************************
  1168 GC0114     CALL X'E4'
  1169            CALL 'SYSTEM' USING TRIM(WS-Cmd-TXT,TRAILING)
  1170 GC0712     MOVE SPACES TO WS-Output-Msg-TXT

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 30

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 31
====== =========================================================================================
  1171 GC0114     ACCEPT WS-Output-Msg-TXT(1:1) AT 0101
  1172            PERFORM 900-Terminate
  1173       * -- Control will NOT return
  1174            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 31

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 32
====== =========================================================================================

  1176       *>***************************************************************
  1177       *> Determine if the program being compiled is a MAIN program   **
  1178       *>***************************************************************
  1179        240-Find-LINKAGE-SECTION SECTION.
  1180            OPEN INPUT F-Source-Code-FILE
  1181 GC0712     MOVE ' ' TO WS-CS-LIBRARY-CHR
  1182            SET WS-RS-More-To-1st-Prog-BOOL   TO TRUE
  1183            PERFORM UNTIL WS-RS-1st-Prog-Complete-BOOL
  1184                READ F-Source-Code-FILE AT END
  1185                    CLOSE F-Source-Code-FILE
  1186                    EXIT SECTION
  1187                END-READ
  1188 GC0712         CALL 'CHECKSRC'
  1189 GC0712             USING BY CONTENT   F-Source-Code-REC
  1190 GC0712                   BY REFERENCE WS-RS-Source-Record-Type-CHR
  1191                IF WS-RS-Source-Rec-Ident-BOOL
  1192                    SET WS-RS-1st-Prog-Complete-BOOL TO TRUE
  1193                END-IF
  1194            END-PERFORM
  1195 GC0712     SET WS-RS-Source-Rec-Ignored-BOOL TO TRUE
  1196            PERFORM UNTIL WS-RS-Source-Rec-Linkage-BOOL
  1197                       OR WS-RS-Source-Rec-Ident-BOOL
  1198                READ F-Source-Code-FILE AT END
  1199                    CLOSE F-Source-Code-FILE
  1200                    EXIT SECTION
  1201                END-READ
  1202 GC0712         CALL 'CHECKSRC'
  1203 GC0712             USING BY CONTENT   F-Source-Code-REC
  1204 GC0712                   BY REFERENCE WS-RS-Source-Record-Type-CHR
  1205            END-PERFORM
  1206            CLOSE F-Source-Code-FILE
  1207            IF WS-RS-Source-Rec-Linkage-BOOL
  1208 GC0712         MOVE SELCHAR TO WS-CS-LIBRARY-CHR
  1209            END-IF
  1210            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 32

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 33
====== =========================================================================================

  1212 GC0712*>***************************************************************
  1213 GC0712*> Attempt to open the listing file as a command.  This will - **
  1214 GC1113*> if the user has associated filetype/extension 'gclst' with  **
  1215 GC0712*> an application - invoke the appropriate application to      **
  1216 GC0712*> allow the user to view the listing.                         **
  1217 GC0712*>***************************************************************'
  1218 GC0712 250-Autoload-Listing SECTION.
  1219 GC0712     EVALUATE TRUE
  1220 GC0712         WHEN WS-OS-Windows-BOOL OR WS-OS-Cygwin-BOOL
  1221 GC0712             MOVE SPACES TO WS-Cmd-TXT
  1222 GC0712             STRING
  1223 GC0712                 'cmd /c '
  1224 GC0712                 TRIM(WS-Listing-Filename-TXT,TRAILING)
  1225 GC0712                 DELIMITED SIZE INTO WS-Cmd-TXT
  1226 GC0712             CALL 'SYSTEM' USING TRIM(WS-Cmd-TXT,TRAILING)
  1227 GC0712         WHEN WS-OS-OSX-BOOL
  1228 GC0712             MOVE SPACES TO WS-Cmd-TXT
  1229 GC0712             STRING
  1230 GC0712                 'open -t '
  1231 GC0712                 TRIM(WS-Listing-Filename-TXT,TRAILING)
  1232 GC0712                 DELIMITED SIZE INTO WS-Cmd-TXT
  1233 GC0712             CALL 'SYSTEM' USING TRIM(WS-Cmd-TXT,TRAILING)
  1234 GC0712     END-EVALUATE
  1235 GC0712*>   ************************************************************
  1236 GC0712*>   ** Since we had to do our own '-save-temps' when we       **
  1237 GC0712*>   ** compiled (in order to generate the cross-reference     **
  1238 GC0712*>   ** listing) we now need to clean up after ourselves.      **
  1239 GC0712*>   ************************************************************
  1240 GC1112     DISPLAY S-Blank-SCR
  1241 GC0712     IF WS-OS-Windows-BOOL
  1242 GC0712         MOVE CONCATENATE('del ',TRIM(WS-Pgm-Nm-TXT,TRAILING))
  1243 GC0712           TO WS-Cmd-TXT
  1244 GC0712     ELSE
  1245 GC0712         MOVE CONCATENATE('rm ',TRIM(WS-Pgm-Nm-TXT,TRAILING))
  1246 GC0712           TO WS-Cmd-TXT
  1247 GC0712     END-IF
  1248 GC0712     CALL 'SYSTEM'
  1249 GC0712         USING CONCATENATE(TRIM(WS-Cmd-TXT,TRAILING),'.c')
  1250 GC0712     CALL 'SYSTEM'
  1251 GC0712         USING CONCATENATE(TRIM(WS-Cmd-TXT,TRAILING),'.c.h')
  1252 GC0712     CALL 'SYSTEM'
  1253 GC0712         USING CONCATENATE(TRIM(WS-Cmd-TXT,TRAILING),'.c.l*.h')
  1254 GC0712     CALL 'SYSTEM'
  1255 GC0712         USING CONCATENATE(TRIM(WS-Cmd-TXT,TRAILING),'.i')
  1256 GC0712     CALL 'SYSTEM'
  1257 GC0712         USING CONCATENATE(TRIM(WS-Cmd-TXT,TRAILING),'.o')
  1258
  1259 GC0712     .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 33

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 34
====== =========================================================================================

  1261       *>***************************************************************
  1262       *> Display a message and halt the program                      **
  1263       *>***************************************************************
  1264        900-Terminate SECTION.
  1265 GC0909     IF WS-Output-Msg-TXT > SPACES
  1266 GC0909         DISPLAY S-Switches-SCR
  1267 GC0909         CALL 'C$SLEEP' USING 2
  1268 GC0909     END-IF
  1269            DISPLAY S-Blank-SCR
  1270            STOP RUN
  1271            .
  1272
  1273        END PROGRAM GCic.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 34

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 35
====== =========================================================================================

  1275        IDENTIFICATION DIVISION.
  1276        PROGRAM-ID.  CHECKSRC.
  1277       *>***************************************************************
  1278       *> This subprogram will scan a line of source code it is given **
  1279       *> looking for 'LINKAGE SECTION' or 'IDENTIFICATION DIVISION'. **
  1280       *>                                                             **
  1281       *>  ****NOTE****   ****NOTE****    ****NOTE****   ****NOTE***  **
  1282       *>                                                             **
  1283       *> These two strings must be found IN THEIR ENTIRETY within    **
  1284       *> the 1st 80 columns of program source records, and cannot    **
  1285       *> follow either a '*>' sequence OR a '*' in col 7.            **
  1286       *>***************************************************************
  1287       *>  DATE  CHANGE DESCRIPTION                                   **
  1288       *> ====== ==================================================== **
  1289       *> GC0809 Initial coding.                                      **
  1290       *>***************************************************************
  1291        ENVIRONMENT DIVISION.
  1292        CONFIGURATION SECTION.
  1293        REPOSITORY.
  1294            FUNCTION ALL INTRINSIC.
  1295        DATA DIVISION.
  1296        WORKING-STORAGE SECTION.
  1297        01  WS-Compressed-Src-TXT.
  1298            05 WS-CS-CHR                          OCCURS 80 TIMES
  1299                                                  PIC X(1).
  1300
  1301        01  WS-Runtime-Switches-TXT.
  1302            05 WS-RS-Found-SPACE-CHR              PIC X(1).
  1303               88 WS-RS-Skipping-SPACE-BOOL     VALUE 'Y'.
  1304               88 WS-RS-Not-Skipping-SPACE-BOOL VALUE 'N'.
  1305
  1306        01  WS-I-SUB                              USAGE BINARY-CHAR.
  1307
  1308        01  WS-J-SUB                              USAGE BINARY-CHAR.
  1309        LINKAGE SECTION.
  1310        01  L-Argument-1-TXT.
  1311            02 L-A1-CHR                           OCCURS 80 TIMES
  1312                                                  PIC X(1).
  1313
  1314        01  L-Argument-2-CHR                      PIC X(1).
  1315            88 L-A2-LINKAGE-SECTION-BOOL VALUE 'L'.
  1316            88 L-A2-IDENT-DIVISION-BOOL  VALUE 'I'.
  1317            88 L-A2-Nothing-Special-BOOL VALUE ' '.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 35

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 36
====== =========================================================================================

  1319 GC0712 PROCEDURE DIVISION USING BY VALUE     L-Argument-1-TXT
  1320 GC0712                          BY REFERENCE L-Argument-2-CHR.
  1321        000-Main SECTION.
  1322            SET L-A2-Nothing-Special-BOOL TO TRUE
  1323            IF L-A1-CHR (7) = '*'
  1324                GOBACK
  1325            END-IF
  1326            .
  1327       *>
  1328       *> Compress multiple consecutive spaces
  1329       *>
  1330            SET WS-RS-Not-Skipping-SPACE-BOOL TO TRUE
  1331            MOVE 0 TO WS-J-SUB
  1332            MOVE SPACES TO WS-Compressed-Src-TXT
  1333            PERFORM VARYING WS-I-SUB FROM 1 BY 1
  1334                      UNTIL WS-I-SUB > 80
  1335                IF L-A1-CHR (WS-I-SUB) = SPACE
  1336                    IF WS-RS-Not-Skipping-SPACE-BOOL
  1337                        ADD 1 TO WS-J-SUB
  1338                        MOVE UPPER-CASE(L-A1-CHR (WS-I-SUB))
  1339                          TO WS-CS-CHR (WS-J-SUB)
  1340                        SET WS-RS-Skipping-SPACE-BOOL TO TRUE
  1341                    END-IF
  1342                ELSE
  1343                    SET WS-RS-Not-Skipping-SPACE-BOOL TO TRUE
  1344                    ADD 1 TO WS-J-SUB
  1345                    MOVE L-A1-CHR (WS-I-SUB) TO WS-CS-CHR (WS-J-SUB)
  1346                END-IF
  1347            END-PERFORM
  1348       *>
  1349       *> Scan the compressed source line
  1350       *>
  1351            PERFORM VARYING WS-I-SUB FROM 1 BY 1
  1352                      UNTIL WS-I-SUB > 66
  1353                EVALUATE TRUE
  1354                    WHEN WS-CS-CHR (WS-I-SUB) = '*'
  1355                        IF WS-Compressed-Src-TXT (WS-I-SUB : 2) = '*>'
  1356                            GOBACK
  1357                        END-IF
  1358                    WHEN (WS-CS-CHR (WS-I-SUB) = 'L') AND (WS-I-SUB < 66)
  1359                        IF WS-Compressed-Src-TXT (WS-I-SUB : 15)
  1360                           = 'LINKAGE SECTION'
  1361                            SET L-A2-LINKAGE-SECTION-BOOL TO TRUE
  1362                            GOBACK
  1363                        END-IF
  1364                    WHEN (WS-CS-CHR (WS-I-SUB) = 'I') AND (WS-I-SUB < 58)
  1365                        IF WS-Compressed-Src-TXT (WS-I-SUB : 23)
  1366                           = 'IDENTIFICATION DIVISION'

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 36

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 37
====== =========================================================================================
  1367                            SET L-A2-IDENT-DIVISION-BOOL TO TRUE
  1368                            GOBACK
  1369                        END-IF
  1370                END-EVALUATE
  1371            END-PERFORM
  1372       *>
  1373       *> If we get to here, we never found anything!
  1374       *>
  1375 +           GOBACK
  1376            .
  1377        END PROGRAM CHECKSRC.
  1378
  1379        IDENTIFICATION DIVISION.
  1380        PROGRAM-ID.  LISTING.
  1381       *>***************************************************************
  1382       *> This subprogram generates a cross-reference listing of an   **
  1383       *> GNU COBOL program.                                          **
  1384       *>***************************************************************
  1385       *>                                                             **
  1386       *> AUTHOR:       GARY L. CUTLER                                **
  1387       *>               Copyright (C) 2010, Gary L. Cutler, GPL       **
  1388       *>                                                             **
  1389       *> DATE-WRITTEN: April 1, 2010                                 **
  1390       *>                                                             **
  1391       *>***************************************************************
  1392       *>  DATE  CHANGE DESCRIPTION                                   **
  1393       *> ====== ==================================================== **
  1394       *> GC0410 Initial coding                                       **
  1395       *> GC0711 Updates to accommodate the 12MAR2010 version of OC   **
  1396       *> GC0710 Handle duplicate data names (i.e. 'CORRESPONDING' or **
  1397       *>        qualified items) better; ignore 'END PROGRAM' recs   **
  1398       *>        so program name doesn't appear in listing.           **
  1399       *> GC0313 Fix problem where the first procedure name defined   **
  1400       *>        in the PROCEDURE DIVISION lacks a "Defined" line     **
  1401       *>        number.                                              **
  1402       *> GC1213 Updated for 23NOV2013 version of GNU COBOL 2.1; Stop **
  1403       *>        showing functions as if they were identifiers in the **
  1404       *>        xref listing; Flag all CALL argument references with **
  1405       *>        a "C" rather than "*" because they aren't necessari- **
  1406       *>        ly altered; Fixed assorted formatting bugs; DOWN-    **
  1407       *>        WARD COMPATIBLE WITH GNU COBOL 2.0 SYNTAX            **
  1408       *> GC0314 Fix problem where 1st char of 1st token on a line is **
  1409       *>        lost if >>SOURCE MODE IS FREE is in effect and the   **
  1410       *>        1st character is non-blank.                          **
  1411       *>***************************************************************
  1412        ENVIRONMENT DIVISION.
  1413        CONFIGURATION SECTION.
  1414        REPOSITORY.
  1415            FUNCTION ALL INTRINSIC.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 37

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 38
====== =========================================================================================
  1416        INPUT-OUTPUT SECTION.
  1417        FILE-CONTROL.
  1418            SELECT F-Expanded-Src-FILE  ASSIGN TO WS-Expanded-Src-Fn-TXT
  1419                                        ORGANIZATION IS LINE SEQUENTIAL.
  1420 GC0712     SELECT F-Listing-FILE       ASSIGN TO L-Listing-Fn-TXT
  1421                                        ORGANIZATION IS LINE SEQUENTIAL.
  1422            SELECT F-Original-Src-FILE  ASSIGN TO L-Src-Fn-TXT
  1423                                        ORGANIZATION IS LINE SEQUENTIAL.
  1424            SELECT F-Sort-Work-FILE     ASSIGN TO DISK.
  1425        DATA DIVISION.
  1426        FILE SECTION.
  1427        FD  F-Expanded-Src-FILE.
  1428        01  F-Expanded-Src-REC.
  1429            05 F-ES-1-CHR                         PIC X.
  1430            05 F-ES-2-256-TXT-256                 PIC X(256).
  1431 GC0712 01  F-Expanded-Src2-REC.
  1432 GC0712     05 F-ES-1-7-TXT                       PIC X(7).
  1433 GC0712     05 F-ES-8-256-TXT                     PIC X(249).
  1434
  1435 GC0712 FD  F-Listing-FILE.
  1436 GC1213 01  F-Listing-96-REC                      PIC X(96).
  1437 GC1213 01  F-Listing-135-REC                     PIC X(135).
  1438        01  F-Listing-REC                         PIC X(135).
  1439
  1440        FD  F-Original-Src-FILE.
  1441        01  F-Original-Src-REC.
  1442 GC0410     05 F-OS-1-128-TXT.
  1443 GC0410        10 FILLER                          PIC X(6).
  1444 GC0410        10 F-OS-7-CHR                      PIC X(1).
  1445 GC0712        10 F-OS-8-72-TXT                   PIC X(65).
  1446 GC0712        10 FILLER                          PIC X(56).
  1447            05 F-OS-129-256-TXT                   PIC X(128).
  1448
  1449        SD  F-Sort-Work-FILE.
  1450        01  F-Sort-Work-REC.
  1451            05 F-SW-Prog-ID-TXT                   PIC X(15).
  1452            05 F-SW-Token-Uc-TXT                  PIC X(32).
  1453            05 F-SW-Token-TXT                     PIC X(32).
  1454            05 F-SW-Section-TXT                   PIC X(15).
  1455            05 F-SW-Def-Line-NUM                  PIC 9(6).
  1456            05 F-SW-Reference-TXT.
  1457               10 F-SW-Ref-Line-NUM               PIC 9(6).
  1458               10 F-SW-Ref-Flag-CHR               PIC X(1).
  1459
  1460        WORKING-STORAGE SECTION.
  1461 GC1213 01  WS-Copyright-TXT                      PIC X(86).
  1462
  1463        01  WS-Curr-CHR                           PIC X(1).
  1464            88 WS-Curr-Char-Is-Punct-BOOL         VALUE '=', '(', ')',

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 38

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 39
====== =========================================================================================
  1465                                                        '*', '/', '&',
  1466                                                        ';', ',', '<',
  1467                                                        '>', ':'.
  1468            88 WS-Curr-Char-Is-Quote-BOOL         VALUE "'", '"'.
  1469            88 WS-Curr-Char-Is-X-BOOL             VALUE 'x', 'X'.
  1470            88 WS-Curr-Char-Is-Z-BOOL             VALUE 'z', 'Z'.
  1471
  1472        01  WS-Curr-Division-TXT                  PIC X(1).
  1473 GC1010     88 WS-CD-In-IDENT-DIV-BOOL            VALUE 'i', 'I', '?'.
  1474 GC1010     88 WS-CD-In-ENV-DIV-BOOL              VALUE 'e', 'E'.
  1475 GC1010     88 WS-CD-In-DATA-DIV-BOOL             VALUE 'd', 'D'.
  1476 GC1010     88 WS-CD-In-PROC-DIV-BOOL             VALUE 'p', 'P'.
  1477
  1478        01  WS-Curr-Line-NUM                      PIC 9(6).
  1479
  1480        01  WS-Curr-Prog-ID-TXT.
  1481            05 FILLER                             PIC X(12).
  1482            05 WS-CPI-13-15-TXT                   PIC X(3).
  1483 GC0712     05 WS-CPI-16-CHR                      PIC X(1).
  1484
  1485        01  WS-Curr-Section-TXT.
  1486            05 WS-CS-1-CHR                        PIC X(1).
  1487            05 WS-CS-2-14-TXT.
  1488               10 FILLER                          PIC X(10).
  1489               10 WS-CS-11-14-TXT                 PIC X(3).
  1490            05 WS-CS-15-CHR                       PIC X(1).
  1491
  1492        01  WS-Curr-Verb-TXT                      PIC X(12).
  1493
  1494        01  WS-Delim-TXT                          PIC X(2).
  1495
  1496        01  WS-Dummy-TXT                          PIC X(1).
  1497
  1498        01  WS-Expanded-Src-Fn-TXT                PIC X(256).
  1499
  1500        01  WS-Filename-TXT                       PIC X(256).
  1501
  1502 GC1213 01  WS-Flags-TXT.
  1503 GC1213     05 WS-Suppress-FF-CHR                 PIC X(1).
  1504
  1505 GC1213 01  WS-Formatted-DT                       PIC 9999/99/99.
  1506
  1507        01  WS-Group-Indicators-TXT.
  1508            05 WS-GI-Prog-ID-TXT                  PIC X(15).
  1509            05 WS-GI-Token-TXT                    PIC X(32).
  1510
  1511        01  WS-Held-Reference-TXT                 PIC X(100).
  1512
  1513        01  WS-I-SUB                              USAGE BINARY-LONG.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 39

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 40
====== =========================================================================================
  1514
  1515        01  WS-J-SUB                              USAGE BINARY-LONG.
  1516
  1517        01  WS-Lines-Left-NUM                     USAGE BINARY-LONG.
  1518
  1519        01  WS-Lines-Per-Page-NUM                 USAGE BINARY-LONG.
  1520
  1521        01  WS-Lines-Per-Page-Env-TXT             PIC X(256).
  1522
  1523 GC1010 01  WS-Main-Module-Name-TXT               PIC X(256).
  1524
  1525        01  WS-Next-CHR                           PIC X(1).
  1526            88 WS-Next-Char-Is-Quote-BOOL         VALUE '"', "'".
  1527
  1528        01  WS-OS-Type-FILLER-TXT.
  1529            05 VALUE 'Windows'                    PIC X(14).
  1530            05 VALUE 'Windows/Cygwin'             PIC X(14).
  1531            05 VALUE 'UNIX/Linux'                 PIC X(14).
  1532            05 VALUE 'OSX'                        PIC X(14).
  1533            05 VALUE 'Windows/MinGW'              PIC X(14).
  1534        01  WS-OS-Types-TXT REDEFINES WS-OS-Type-FILLER-TXT.
  1535            05 WS-OS-Type-TXT                     PIC X(14)
  1536                                           OCCURS 5 TIMES .
  1537
  1538 GC0712 01  WS-Page-NUM                           USAGE BINARY-LONG.
  1539
  1540 GC0712 01  WS-Page-No-TXT.
  1541 GC0712     05 WS-PN-Literal-TXT                  PIC X(6).
  1542 GC0712     05 WS-PN-Page-NUM                     PIC Z(3)9.
  1543
  1544 GC1213 01  WS-Program-Path-TXT                   PIC X(135).
  1545
  1546        01  WS-Reserved-Words-TXT.
  1547            05 VALUE '                                 ' PIC X(33).
  1548 GC1213     05 VALUE 'FABS                             ' PIC X(33).
  1549            05 VALUE 'VACCEPT                          ' PIC X(33).
  1550            05 VALUE ' ACCESS                          ' PIC X(33).
  1551 GC1213     05 VALUE 'FACOS                            ' PIC X(33).
  1552            05 VALUE ' ACTIVE-CLASS                    ' PIC X(33).      UNIMPLEMENTED
  1553            05 VALUE 'VADD                             ' PIC X(33).
  1554            05 VALUE ' ADDRESS                         ' PIC X(33).
  1555            05 VALUE ' ADVANCING                       ' PIC X(33).
  1556            05 VALUE 'KAFTER                           ' PIC X(33).
  1557            05 VALUE ' ALIGNED                         ' PIC X(33).      UNIMPLEMENTED
  1558            05 VALUE ' ALL                             ' PIC X(33).
  1559            05 VALUE 'VALLOCATE                        ' PIC X(33).
  1560            05 VALUE ' ALPHABET                        ' PIC X(33).
  1561            05 VALUE ' ALPHABETIC                      ' PIC X(33).
  1562            05 VALUE ' ALPHABETIC-LOWER                ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 40

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 41
====== =========================================================================================
  1563            05 VALUE ' ALPHABETIC-UPPER                ' PIC X(33).
  1564            05 VALUE ' ALPHANUMERIC                    ' PIC X(33).
  1565            05 VALUE ' ALPHANUMERIC-EDITED             ' PIC X(33).
  1566            05 VALUE ' ALSO                            ' PIC X(33).
  1567            05 VALUE 'VALTER                           ' PIC X(33).
  1568            05 VALUE ' ALTERNATE                       ' PIC X(33).
  1569            05 VALUE ' AND                             ' PIC X(33).
  1570 GC1213     05 VALUE 'FANNUITY                         ' PIC X(33).
  1571            05 VALUE ' ANY                             ' PIC X(33).
  1572            05 VALUE ' ANYCASE                         ' PIC X(33).      UNIMPLEMENTED
  1573            05 VALUE ' ARE                             ' PIC X(33).
  1574            05 VALUE ' AREA                            ' PIC X(33).
  1575            05 VALUE ' AREAS                           ' PIC X(33).
  1576            05 VALUE ' ARGUMENT-NUMBER                 ' PIC X(33).
  1577            05 VALUE ' ARGUMENT-VALUE                  ' PIC X(33).
  1578            05 VALUE ' ARITHMETIC                      ' PIC X(33).      UNIMPLEMENTED
  1579            05 VALUE ' AS                              ' PIC X(33).
  1580            05 VALUE ' ASCENDING                       ' PIC X(33).
  1581            05 VALUE ' ASCII                           ' PIC X(33).
  1582 GC1213     05 VALUE 'FASIN                            ' PIC X(33).
  1583            05 VALUE ' ASSIGN                          ' PIC X(33).
  1584            05 VALUE ' AT                              ' PIC X(33).
  1585 GC1213     05 VALUE 'FATAN                            ' PIC X(33).
  1586 GC0711     05 VALUE ' ATTRIBUTE                       ' PIC X(33).
  1587            05 VALUE ' AUTHOR                          ' PIC X(33).      OBSOLETE
  1588            05 VALUE ' AUTO                            ' PIC X(33).
  1589            05 VALUE ' AUTO-SKIP                       ' PIC X(33).
  1590            05 VALUE ' AUTOMATIC                       ' PIC X(33).
  1591            05 VALUE ' AUTOTERMINATE                   ' PIC X(33).
  1592            05 VALUE ' AWAY-FROM-ZERO                  ' PIC X(33).
  1593            05 VALUE ' B-AND                           ' PIC X(33).      UNIMPLEMENTED
  1594            05 VALUE ' B-NOT                           ' PIC X(33).      UNIMPLEMENTED
  1595            05 VALUE ' B-OR                            ' PIC X(33).      UNIMPLEMENTED
  1596            05 VALUE ' B-XOR                           ' PIC X(33).      UNIMPLEMENTED
  1597            05 VALUE ' BACKGROUND-COLOR                ' PIC X(33).
  1598            05 VALUE ' BACKGROUND-COLOUR               ' PIC X(33).
  1599            05 VALUE ' BASED                           ' PIC X(33).
  1600            05 VALUE ' BEEP                            ' PIC X(33).
  1601            05 VALUE ' BEFORE                          ' PIC X(33).
  1602            05 VALUE ' BELL                            ' PIC X(33).
  1603            05 VALUE ' BINARY                          ' PIC X(33).
  1604            05 VALUE ' BINARY-C-LONG                   ' PIC X(33).
  1605            05 VALUE ' BINARY-CHAR                     ' PIC X(33).
  1606            05 VALUE ' BINARY-DOUBLE                   ' PIC X(33).
  1607            05 VALUE ' BINARY-INT                      ' PIC X(33).
  1608            05 VALUE ' BINARY-LONG                     ' PIC X(33).
  1609            05 VALUE ' BINARY-LONG-LONG                ' PIC X(33).
  1610            05 VALUE ' BINARY-SHORT                    ' PIC X(33).
  1611            05 VALUE ' BIT                             ' PIC X(33).      UNIMPLEMENTED

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 41

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 42
====== =========================================================================================
  1612            05 VALUE ' BLANK                           ' PIC X(33).
  1613            05 VALUE ' BLINK                           ' PIC X(33).
  1614            05 VALUE ' BLOCK                           ' PIC X(33).
  1615            05 VALUE ' BOOLEAN                         ' PIC X(33).      UNIMPLEMENTED
  1616 GC1213     05 VALUE 'FBOOLEAN-OF-INTEGER              ' PIC X(33).      UNIMPLEMENTED
  1617            05 VALUE ' BOTTOM                          ' PIC X(33).
  1618            05 VALUE 'YBY                              ' PIC X(33).
  1619 GC1213     05 VALUE 'FBYTE-LENGTH                     ' PIC X(33).
  1620            05 VALUE 'MC01                             ' PIC X(33).
  1621            05 VALUE 'MC02                             ' PIC X(33).
  1622            05 VALUE 'MC03                             ' PIC X(33).
  1623            05 VALUE 'MC04                             ' PIC X(33).
  1624            05 VALUE 'MC05                             ' PIC X(33).
  1625            05 VALUE 'MC06                             ' PIC X(33).
  1626            05 VALUE 'MC07                             ' PIC X(33).
  1627            05 VALUE 'MC08                             ' PIC X(33).
  1628            05 VALUE 'MC09                             ' PIC X(33).
  1629            05 VALUE 'MC10                             ' PIC X(33).
  1630            05 VALUE 'MC11                             ' PIC X(33).
  1631            05 VALUE 'MC12                             ' PIC X(33).
  1632            05 VALUE 'VCALL                            ' PIC X(33).
  1633            05 VALUE 'MCALL-CONVENTION                 ' PIC X(33).
  1634            05 VALUE 'VCANCEL                          ' PIC X(33).
  1635            05 VALUE ' CAPACITY                        ' PIC X(33).      UNIMPLEMENTED
  1636            05 VALUE ' CD                              ' PIC X(33).      OBSOLETE
  1637            05 VALUE ' CENTER                          ' PIC X(33).      UNIMPLEMENTED
  1638            05 VALUE ' CF                              ' PIC X(33).
  1639            05 VALUE ' CH                              ' PIC X(33).
  1640            05 VALUE ' CHAIN                           ' PIC X(33).      UNIMPLEMENTED
  1641            05 VALUE ' CHAINING                        ' PIC X(33).
  1642 GC1213     05 VALUE 'FCHAR                            ' PIC X(33).
  1643 GC1213     05 VALUE 'FCHAR-NATIONAL                   ' PIC X(33).      UNIMPLEMENTED
  1644            05 VALUE ' CHARACTER                       ' PIC X(33).
  1645            05 VALUE ' CHARACTERS                      ' PIC X(33).
  1646            05 VALUE ' CLASS                           ' PIC X(33).
  1647            05 VALUE ' CLASS-ID                        ' PIC X(33).      UNIMPLEMENTED
  1648 GC0711     05 VALUE ' CLASSIFICATION                  ' PIC X(33).
  1649            05 VALUE 'VCLOSE                           ' PIC X(33).
  1650 GC1213     05 VALUE 'FCOB-CRT-STATUS                  ' PIC X(33).
  1651            05 VALUE ' CODE                            ' PIC X(33).
  1652            05 VALUE ' CODE-SET                        ' PIC X(33).
  1653            05 VALUE ' COL                             ' PIC X(33).
  1654            05 VALUE ' COLLATING                       ' PIC X(33).
  1655            05 VALUE ' COLS                            ' PIC X(33).
  1656            05 VALUE ' COLUMN                          ' PIC X(33).
  1657            05 VALUE ' COLUMNS                         ' PIC X(33).
  1658 GC1213     05 VALUE 'FCOMBINED-DATETIME               ' PIC X(33).
  1659            05 VALUE ' COMMA                           ' PIC X(33).
  1660            05 VALUE ' COMMAND-LINE                    ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 42

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 43
====== =========================================================================================
  1661            05 VALUE 'VCOMMIT                          ' PIC X(33).
  1662            05 VALUE ' COMMON                          ' PIC X(33).
  1663            05 VALUE ' COMMUNICATION                   ' PIC X(33).      OBSOLETE
  1664            05 VALUE ' COMP                            ' PIC X(33).
  1665            05 VALUE ' COMP-1                          ' PIC X(33).
  1666            05 VALUE ' COMP-2                          ' PIC X(33).
  1667            05 VALUE ' COMP-3                          ' PIC X(33).
  1668            05 VALUE ' COMP-4                          ' PIC X(33).
  1669            05 VALUE ' COMP-5                          ' PIC X(33).
  1670            05 VALUE ' COMP-6                          ' PIC X(33).
  1671            05 VALUE ' COMP-X                          ' PIC X(33).
  1672            05 VALUE ' COMPUTATIONAL                   ' PIC X(33).
  1673            05 VALUE ' COMPUTATIONAL-1                 ' PIC X(33).
  1674            05 VALUE ' COMPUTATIONAL-2                 ' PIC X(33).
  1675            05 VALUE ' COMPUTATIONAL-3                 ' PIC X(33).
  1676            05 VALUE ' COMPUTATIONAL-4                 ' PIC X(33).
  1677            05 VALUE ' COMPUTATIONAL-5                 ' PIC X(33).
  1678            05 VALUE ' COMPUTATIONAL-X                 ' PIC X(33).
  1679            05 VALUE 'VCOMPUTE                         ' PIC X(33).
  1680 GC1213     05 VALUE 'FCONCATENATE                     ' PIC X(33).
  1681 GC0712     05 VALUE ' CONDITION                       ' PIC X(33).
  1682            05 VALUE 'KCONFIGURATION                   ' PIC X(33).
  1683            05 VALUE 'MCONSOLE                         ' PIC X(33).
  1684            05 VALUE ' CONSTANT                        ' PIC X(33).
  1685            05 VALUE ' CONTAINS                        ' PIC X(33).
  1686 GC0712     05 VALUE 'ACONTENT                         ' PIC X(33).
  1687            05 VALUE 'VCONTINUE                        ' PIC X(33).
  1688            05 VALUE ' CONTROL                         ' PIC X(33).
  1689            05 VALUE ' CONTROLS                        ' PIC X(33).
  1690 GC0711     05 VALUE ' CONVERSION                      ' PIC X(33).
  1691            05 VALUE 'KCONVERTING                      ' PIC X(33).
  1692            05 VALUE ' COPY                            ' PIC X(33).
  1693            05 VALUE ' CORR                            ' PIC X(33).
  1694            05 VALUE ' CORRESPONDING                   ' PIC X(33).
  1695 GC1213     05 VALUE 'FCOS                             ' PIC X(33).
  1696            05 VALUE 'KCOUNT                           ' PIC X(33).
  1697            05 VALUE ' CRT                             ' PIC X(33).
  1698            05 VALUE ' CRT-UNDER                       ' PIC X(33).
  1699            05 VALUE 'MCSP                             ' PIC X(33).
  1700            05 VALUE ' CURRENCY                        ' PIC X(33).
  1701 GC1213     05 VALUE 'FCURRENCY-SYMBOL                 ' PIC X(33).
  1702 GC1213     05 VALUE 'FCURRENT-DATE                    ' PIC X(33).
  1703            05 VALUE ' CURSOR                          ' PIC X(33).
  1704            05 VALUE ' CYCLE                           ' PIC X(33).
  1705            05 VALUE 'KDATA                            ' PIC X(33).
  1706            05 VALUE ' DATA-POINTER                    ' PIC X(33).      UNIMPLEMENTED
  1707            05 VALUE ' DATE                            ' PIC X(33).
  1708            05 VALUE ' DATE-COMPILED                   ' PIC X(33).      OBSOLETE
  1709            05 VALUE ' DATE-MODIFIED                   ' PIC X(33).      OBSOLETE

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 43

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 44
====== =========================================================================================
  1710 GC1213     05 VALUE 'FDATE-OF-INTEGER                 ' PIC X(33).
  1711 GC1213     05 VALUE 'FDATE-TO-YYYYMMDD                ' PIC X(33).
  1712            05 VALUE ' DATE-WRITTEN                    ' PIC X(33).      OBSOLETE
  1713            05 VALUE ' DAY                             ' PIC X(33).
  1714 GC1213     05 VALUE 'FDAY-OF-INTEGER                  ' PIC X(33).
  1715            05 VALUE ' DAY-OF-WEEK                     ' PIC X(33).
  1716 GC1213     05 VALUE 'IDAY-TO-YYYYDDD                  ' PIC X(33).
  1717            05 VALUE ' DE                              ' PIC X(33).
  1718 GC0712     05 VALUE 'IDEBUG-CONTENTS                  ' PIC X(33).
  1719 GC0712     05 VALUE 'IDEBUG-ITEM                      ' PIC X(33).
  1720 GC0712     05 VALUE 'IDEBUG-LINE                      ' PIC X(33).
  1721 GC0712     05 VALUE 'IDEBUG-NAME                      ' PIC X(33).
  1722 GC0712     05 VALUE 'IDEBUG-SUB-1                     ' PIC X(33).
  1723 GC0712     05 VALUE 'IDEBUG-SUB-2                     ' PIC X(33).
  1724 GC0712     05 VALUE 'IDEBUG-SUB-3                     ' PIC X(33).
  1725            05 VALUE ' DEBUGGING                       ' PIC X(33).
  1726            05 VALUE ' DECIMAL-POINT                   ' PIC X(33).
  1727            05 VALUE ' DECLARATIVES                    ' PIC X(33).
  1728            05 VALUE ' DEFAULT                         ' PIC X(33).
  1729            05 VALUE 'VDELETE                          ' PIC X(33).
  1730            05 VALUE ' DELIMITED                       ' PIC X(33).
  1731            05 VALUE 'KDELIMITER                       ' PIC X(33).
  1732            05 VALUE ' DEPENDING                       ' PIC X(33).
  1733            05 VALUE ' DESCENDING                      ' PIC X(33).
  1734            05 VALUE ' DESTINATION                     ' PIC X(33).      UNIMPLEMENTED
  1735            05 VALUE ' DETAIL                          ' PIC X(33).
  1736 GC0711     05 VALUE ' DISC                            ' PIC X(33).
  1737            05 VALUE ' DISK                            ' PIC X(33).
  1738            05 VALUE 'VDISPLAY                         ' PIC X(33).
  1739 GC1213     05 VALUE 'FDISPLAY-OF                      ' PIC X(33).      UNIMPLEMENTED
  1740            05 VALUE 'VDIVIDE                          ' PIC X(33).
  1741            05 VALUE 'KDIVISION                        ' PIC X(33).
  1742            05 VALUE 'KDOWN                            ' PIC X(33).
  1743            05 VALUE ' DUPLICATES                      ' PIC X(33).
  1744            05 VALUE ' DYNAMIC                         ' PIC X(33).
  1745 GC1213     05 VALUE 'FE                               ' PIC X(33).
  1746            05 VALUE ' EBCDIC                          ' PIC X(33).
  1747 GC0712     05 VALUE ' EC                              ' PIC X(33).
  1748            05 VALUE ' EGI                             ' PIC X(33).      OBSOLETE
  1749            05 VALUE 'VELSE                            ' PIC X(33).
  1750            05 VALUE ' EMI                             ' PIC X(33).      OBSOLETE
  1751            05 VALUE ' EMPTY-CHECK                     ' PIC X(33).
  1752            05 VALUE 'VENABLE                          ' PIC X(33).      OBSOLETE
  1753 GC0710     05 VALUE 'KEND                             ' PIC X(33).
  1754            05 VALUE ' END-ACCEPT                      ' PIC X(33).
  1755            05 VALUE ' END-ADD                         ' PIC X(33).
  1756            05 VALUE ' END-CALL                        ' PIC X(33).
  1757            05 VALUE ' END-CHAIN                       ' PIC X(33).      UNIMPLEMENTED
  1758            05 VALUE ' END-COMPUTE                     ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 44

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 45
====== =========================================================================================
  1759            05 VALUE ' END-DELETE                      ' PIC X(33).
  1760            05 VALUE ' END-DISPLAY                     ' PIC X(33).
  1761            05 VALUE ' END-DIVIDE                      ' PIC X(33).
  1762            05 VALUE ' END-EVALUATE                    ' PIC X(33).
  1763            05 VALUE ' END-IF                          ' PIC X(33).
  1764            05 VALUE ' END-MULTIPLY                    ' PIC X(33).
  1765            05 VALUE ' END-OF-PAGE                     ' PIC X(33).
  1766            05 VALUE ' END-PERFORM                     ' PIC X(33).
  1767            05 VALUE ' END-READ                        ' PIC X(33).
  1768            05 VALUE ' END-RECEIVE                     ' PIC X(33).      OBSOLETE
  1769            05 VALUE ' END-RETURN                      ' PIC X(33).
  1770            05 VALUE ' END-REWRITE                     ' PIC X(33).
  1771            05 VALUE ' END-SEARCH                      ' PIC X(33).
  1772            05 VALUE ' END-START                       ' PIC X(33).
  1773            05 VALUE ' END-STRING                      ' PIC X(33).
  1774            05 VALUE ' END-SUBTRACT                    ' PIC X(33).
  1775            05 VALUE ' END-UNSTRING                    ' PIC X(33).
  1776            05 VALUE ' END-WRITE                       ' PIC X(33).
  1777            05 VALUE 'VENTRY                           ' PIC X(33).
  1778            05 VALUE ' ENTRY-CONVENTION                ' PIC X(33).      UNIMPLEMENTED
  1779            05 VALUE 'KENVIRONMENT                     ' PIC X(33).
  1780            05 VALUE ' ENVIRONMENT-NAME                ' PIC X(33).
  1781            05 VALUE ' ENVIRONMENT-VALUE               ' PIC X(33).
  1782            05 VALUE ' EO                              ' PIC X(33).      UNIMPLEMENTED
  1783            05 VALUE ' EOL                             ' PIC X(33).
  1784            05 VALUE ' EOP                             ' PIC X(33).
  1785            05 VALUE ' EOS                             ' PIC X(33).
  1786            05 VALUE ' EQUAL                           ' PIC X(33).
  1787            05 VALUE 'KEQUALS                          ' PIC X(33).
  1788            05 VALUE ' ERASE                           ' PIC X(33).
  1789            05 VALUE ' ERROR                           ' PIC X(33).
  1790            05 VALUE ' ESCAPE                          ' PIC X(33).
  1791            05 VALUE ' ESI                             ' PIC X(33).      OBSOLETE
  1792            05 VALUE 'VEVALUATE                        ' PIC X(33).
  1793            05 VALUE ' EXCEPTION                       ' PIC X(33).
  1794 GC1213     05 VALUE 'FEXCEPTION-FILE                  ' PIC X(33).
  1795 GC1213     05 VALUE 'FEXCEPTION-FILE-N                ' PIC X(33).      UNIMPLEMENTED
  1796 GC1213     05 VALUE 'FEXCEPTION-LOCATION              ' PIC X(33).
  1797 GC1213     05 VALUE 'FEXCEPTION-LOCATION-N            ' PIC X(33).      UNIMPLEMENTED
  1798            05 VALUE ' EXCEPTION-OBJECT                ' PIC X(33).      UNIMPLEMENTED
  1799 GC1213     05 VALUE 'FEXCEPTION-STATEMENT             ' PIC X(33).
  1800 GC1213     05 VALUE 'FEXCEPTION-STATUS                ' PIC X(33).
  1801            05 VALUE ' EXCLUSIVE                       ' PIC X(33).
  1802            05 VALUE 'VEXIT                            ' PIC X(33).
  1803 GC1213     05 VALUE 'FEXP                             ' PIC X(33).
  1804 GC1213     05 VALUE 'FEXP10                           ' PIC X(33).
  1805            05 VALUE ' EXPANDS                         ' PIC X(33).      UNIMPLEMENTED
  1806            05 VALUE ' EXTEND                          ' PIC X(33).
  1807            05 VALUE ' EXTERNAL                        ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 45

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 46
====== =========================================================================================
  1808 GC1213     05 VALUE 'FFACTORIAL                       ' PIC X(33).
  1809            05 VALUE ' FACTORY                         ' PIC X(33).      UNIMPLEMENTED
  1810            05 VALUE ' FALSE                           ' PIC X(33).
  1811            05 VALUE 'KFD                              ' PIC X(33).
  1812            05 VALUE 'KFILE                            ' PIC X(33).
  1813            05 VALUE ' FILE-CONTROL                    ' PIC X(33).
  1814            05 VALUE ' FILE-ID                         ' PIC X(33).
  1815 GC1113     05 VALUE ' FILLER                          ' PIC X(33).
  1816            05 VALUE ' FINAL                           ' PIC X(33).
  1817            05 VALUE ' FIRST                           ' PIC X(33).
  1818 GC0712     05 VALUE ' FLOAT-BINARY-128                ' PIC X(33).      UNIMPLEMENTED
  1819 GC0712     05 VALUE ' FLOAT-BINARY-32                 ' PIC X(33).      UNIMPLEMENTED
  1820 GC0712     05 VALUE ' FLOAT-BINARY-64                 ' PIC X(33).      UNIMPLEMENTED
  1821            05 VALUE ' FLOAT-DECIMAL-16                ' PIC X(33).
  1822            05 VALUE ' FLOAT-DECIMAL-34                ' PIC X(33).
  1823            05 VALUE ' FLOAT-EXTENDED                  ' PIC X(33).      UNIMPLEMENTED
  1824 GC0712     05 VALUE ' FLOAT-INFINITY                  ' PIC X(33).      UNIMPLEMENTED
  1825            05 VALUE ' FLOAT-LONG                      ' PIC X(33).
  1826 GC0712     05 VALUE ' FLOAT-NOT-A-NUMBER              ' PIC X(33).      UNIMPLEMENTED
  1827            05 VALUE ' FLOAT-SHORT                     ' PIC X(33).
  1828            05 VALUE ' FOOTING                         ' PIC X(33).
  1829            05 VALUE ' FOR                             ' PIC X(33).
  1830            05 VALUE ' FOREGROUND-COLOR                ' PIC X(33).
  1831            05 VALUE ' FOREGROUND-COLOUR               ' PIC X(33).
  1832 GC0711     05 VALUE ' FOREVER                         ' PIC X(33).
  1833            05 VALUE ' FORMAT                          ' PIC X(33).      UNIMPLEMENTED
  1834 GC1213     05 VALUE 'FFORMATTED-CURRENT-DATE          ' PIC X(33).      UNIMPLEMENTED
  1835 GC1213     05 VALUE 'FFORMATTED-DATE                  ' PIC X(33).      UNIMPLEMENTED
  1836 GC1213     05 VALUE 'FFORMATTED-DATETIME              ' PIC X(33).      UNIMPLEMENTED
  1837 GC1213     05 VALUE 'FFORMATTED-TIME                  ' PIC X(33).      UNIMPLEMENTED
  1838            05 VALUE 'MFORMFEED                        ' PIC X(33).
  1839 GC1213     05 VALUE 'FFRACTION-PART                   ' PIC X(33).
  1840            05 VALUE 'VFREE                            ' PIC X(33).
  1841            05 VALUE ' FROM                            ' PIC X(33).
  1842            05 VALUE ' FULL                            ' PIC X(33).
  1843            05 VALUE ' FUNCTION                        ' PIC X(33).
  1844 GC0712     05 VALUE 'KFUNCTION-ID                     ' PIC X(33).
  1845            05 VALUE ' FUNCTION-POINTER                ' PIC X(33).      UNIMPLEMENTED
  1846            05 VALUE 'VGENERATE                        ' PIC X(33).
  1847            05 VALUE ' GET                             ' PIC X(33).      UNIMPLEMENTED
  1848            05 VALUE 'KGIVING                          ' PIC X(33).
  1849            05 VALUE ' GLOBAL                          ' PIC X(33).
  1850            05 VALUE 'VGO                              ' PIC X(33).
  1851            05 VALUE 'VGOBACK                          ' PIC X(33).
  1852            05 VALUE ' GREATER                         ' PIC X(33).
  1853            05 VALUE ' GROUP                           ' PIC X(33).
  1854            05 VALUE ' GROUP-USAGE                     ' PIC X(33).      UNIMPLEMENTED
  1855            05 VALUE ' HEADING                         ' PIC X(33).
  1856            05 VALUE ' HIGH-VALUE                      ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 46

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 47
====== =========================================================================================
  1857            05 VALUE ' HIGH-VALUES                     ' PIC X(33).
  1858 GC1213     05 VALUE 'FHIGHEST-ALGEBRAIC               ' PIC X(33).
  1859            05 VALUE ' HIGHLIGHT                       ' PIC X(33).
  1860            05 VALUE ' I-O                             ' PIC X(33).
  1861            05 VALUE ' I-O-CONTROL                     ' PIC X(33).
  1862            05 VALUE 'KID                              ' PIC X(33).
  1863            05 VALUE 'KIDENTIFICATION                  ' PIC X(33).
  1864            05 VALUE 'VIF                              ' PIC X(33).
  1865            05 VALUE ' IGNORE                          ' PIC X(33).
  1866            05 VALUE ' IGNORING                        ' PIC X(33).
  1867            05 VALUE ' IMPLEMENTS                      ' PIC X(33).      UNIMPLEMENTED
  1868            05 VALUE ' IN                              ' PIC X(33).
  1869            05 VALUE ' INDEX                           ' PIC X(33).
  1870            05 VALUE 'KINDEXED                         ' PIC X(33).
  1871            05 VALUE ' INDICATE                        ' PIC X(33).
  1872            05 VALUE ' INDIRECT                        ' PIC X(33).      UNIMPLEMENTED
  1873            05 VALUE ' INHERITS                        ' PIC X(33).      UNIMPLEMENTED
  1874            05 VALUE ' INITIAL                         ' PIC X(33).
  1875            05 VALUE 'VINITIALISE                      ' PIC X(33).
  1876            05 VALUE ' INITIALISED                     ' PIC X(33).
  1877            05 VALUE 'VINITIALIZE                      ' PIC X(33).
  1878            05 VALUE ' INITIALIZED                     ' PIC X(33).
  1879            05 VALUE 'VINITIATE                        ' PIC X(33).
  1880            05 VALUE ' INPUT                           ' PIC X(33).
  1881            05 VALUE 'KINPUT-OUTPUT                    ' PIC X(33).
  1882            05 VALUE 'VINSPECT                         ' PIC X(33).
  1883            05 VALUE ' INSTALLATION                    ' PIC X(33).      OBSOLETE
  1884 GC1213     05 VALUE 'FINTEGER                         ' PIC X(33).
  1885 GC1213     05 VALUE 'FINTEGER-OF-BOOLEAN              ' PIC X(33).      UNIMPLEMENTED
  1886 GC1213     05 VALUE 'FINTEGER-OF-DATE                 ' PIC X(33).
  1887 GC1213     05 VALUE 'FINTEGER-OF-DAY                  ' PIC X(33).
  1888 GC1213     05 VALUE 'FINTEGER-OF-FORMATTED-DATE       ' PIC X(33).      UNIMPLEMENTED
  1889 GC1213     05 VALUE 'FINTEGER-PART                    ' PIC X(33).
  1890            05 VALUE ' INTERFACE                       ' PIC X(33).      UNIMPLEMENTED
  1891            05 VALUE ' INTERFACE-ID                    ' PIC X(33).      UNIMPLEMENTED
  1892            05 VALUE ' INTERMEDIATE                    ' PIC X(33).      UNIMPLEMENTED
  1893            05 VALUE 'KINTO                            ' PIC X(33).
  1894            05 VALUE ' INTRINSIC                       ' PIC X(33).
  1895            05 VALUE ' INVALID                         ' PIC X(33).
  1896            05 VALUE ' INVOKE                          ' PIC X(33).      UNIMPLEMENTED
  1897            05 VALUE ' IS                              ' PIC X(33).
  1898            05 VALUE ' JUST                            ' PIC X(33).
  1899            05 VALUE ' JUSTIFIED                       ' PIC X(33).
  1900            05 VALUE ' KEPT                            ' PIC X(33).
  1901            05 VALUE ' KEY                             ' PIC X(33).
  1902            05 VALUE ' KEYBOARD                        ' PIC X(33).
  1903            05 VALUE ' LABEL                           ' PIC X(33).
  1904            05 VALUE ' LAST                            ' PIC X(33).
  1905            05 VALUE ' LC_ALL                          ' PIC X(33).      UNIMPLEMENTED

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 47

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 48
====== =========================================================================================
  1906            05 VALUE ' LC_COLLATE                      ' PIC X(33).      UNIMPLEMENTED
  1907            05 VALUE ' LC_CTYPE                        ' PIC X(33).      UNIMPLEMENTED
  1908            05 VALUE ' LC_MESSAGES                     ' PIC X(33).      UNIMPLEMENTED
  1909            05 VALUE ' LC_MONETARY                     ' PIC X(33).      UNIMPLEMENTED
  1910            05 VALUE ' LC_NUMERIC                      ' PIC X(33).      UNIMPLEMENTED
  1911            05 VALUE ' LC_TIME                         ' PIC X(33).      UNIMPLEMENTED
  1912            05 VALUE ' LEADING                         ' PIC X(33).
  1913            05 VALUE ' LEFT                            ' PIC X(33).
  1914            05 VALUE ' LEFT-JUSTIFY                    ' PIC X(33).      UNIMPLEMENTED
  1915            05 VALUE ' LEFTLINE                        ' PIC X(33).
  1916 GC1213     05 VALUE 'FLENGTH                          ' PIC X(33).
  1917 GC1213     05 VALUE 'FLENGTH-AN                       ' PIC X(33).
  1918            05 VALUE ' LENGTH-CHECK                    ' PIC X(33).
  1919            05 VALUE ' LESS                            ' PIC X(33).
  1920            05 VALUE ' LIMIT                           ' PIC X(33).
  1921            05 VALUE ' LIMITS                          ' PIC X(33).
  1922            05 VALUE ' LINAGE                          ' PIC X(33).
  1923            05 VALUE 'ILINAGE-COUNTER                  ' PIC X(33).
  1924            05 VALUE ' LINE                            ' PIC X(33).
  1925 GC1213     05 VALUE 'ILINE-COUNTER                    ' PIC X(33).
  1926            05 VALUE ' LINES                           ' PIC X(33).
  1927            05 VALUE 'KLINKAGE                         ' PIC X(33).
  1928            05 VALUE 'KLOCAL-STORAGE                   ' PIC X(33).
  1929            05 VALUE ' LOCALE                          ' PIC X(33).
  1930 GC1213     05 VALUE 'FLOCALE-COMPARE                  ' PIC X(33).
  1931 GC1213     05 VALUE 'FLOCALE-DATE                     ' PIC X(33).
  1932 GC1213     05 VALUE 'FLOCALE-TIME                     ' PIC X(33).
  1933 GC1213     05 VALUE 'FLOCALE-TIME-FROM-SECONDS        ' PIC X(33).
  1934            05 VALUE ' LOCK                            ' PIC X(33).
  1935 GC1213     05 VALUE 'FLOG                             ' PIC X(33).
  1936 GC1213     05 VALUE 'FLOG10                           ' PIC X(33).
  1937            05 VALUE ' LOW-VALUE                       ' PIC X(33).
  1938            05 VALUE ' LOW-VALUES                      ' PIC X(33).
  1939            05 VALUE ' LOWER                           ' PIC X(33).
  1940 GC1213     05 VALUE 'FLOWER-CASE                      ' PIC X(33).
  1941 GC1213     05 VALUE 'FLOWEST-ALGEBRAIC                ' PIC X(33).
  1942            05 VALUE ' LOWLIGHT                        ' PIC X(33).
  1943            05 VALUE ' MANUAL                          ' PIC X(33).
  1944 GC1213     05 VALUE 'FMAX                             ' PIC X(33).
  1945 GC1213     05 VALUE 'FMEAN                            ' PIC X(33).
  1946 GC1213     05 VALUE 'FMEDIAN                          ' PIC X(33).
  1947            05 VALUE ' MEMORY                          ' PIC X(33).
  1948            05 VALUE 'VMERGE                           ' PIC X(33).
  1949            05 VALUE ' MESSAGE                         ' PIC X(33).      OBSOLETE
  1950            05 VALUE ' METHOD                          ' PIC X(33).      UNIMPLEMENTED
  1951            05 VALUE ' METHOD-ID                       ' PIC X(33).      UNIMPLEMENTED
  1952 GC1213     05 VALUE 'FMIDRANGE                        ' PIC X(33).
  1953 GC1213     05 VALUE 'FMIN                             ' PIC X(33).
  1954            05 VALUE ' MINUS                           ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 48

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 49
====== =========================================================================================
  1955 GC1213     05 VALUE 'FMOD                             ' PIC X(33).
  1956            05 VALUE ' MODE                            ' PIC X(33).
  1957 GC1213     05 VALUE 'FMODULE-CALLER-ID                ' PIC X(33).
  1958 GC1213     05 VALUE 'FMODULE-DATE                     ' PIC X(33).
  1959 GC1213     05 VALUE 'FMODULE-FORMATTED-DATE           ' PIC X(33).
  1960 GC1213     05 VALUE 'FMODULE-ID                       ' PIC X(33).
  1961 GC1213     05 VALUE 'FMODULE-PATH                     ' PIC X(33).
  1962 GC1213     05 VALUE 'FMODULE-SOURCE                   ' PIC X(33).
  1963 GC1213     05 VALUE 'FMODULE-TIME                     ' PIC X(33).
  1964 GC1213     05 VALUE 'FMONETARY-DECIMAL-POINT          ' PIC X(33).
  1965 GC1213     05 VALUE 'FMONETARY-THOUSANDS-SEPARATOR    ' PIC X(33).
  1966            05 VALUE 'VMOVE                            ' PIC X(33).
  1967            05 VALUE ' MULTIPLE                        ' PIC X(33).
  1968            05 VALUE 'VMULTIPLY                        ' PIC X(33).
  1969 GC0711     05 VALUE ' NAME                            ' PIC X(33).
  1970            05 VALUE ' NATIONAL                        ' PIC X(33).
  1971            05 VALUE ' NATIONAL-EDITED                 ' PIC X(33).
  1972 GC1213     05 VALUE 'FNATIONAL-OF                     ' PIC X(33).      UNIMPLEMENTED
  1973            05 VALUE ' NATIVE                          ' PIC X(33).
  1974            05 VALUE ' NEAREST-AWAY-FROM-ZERO          ' PIC X(33).
  1975            05 VALUE ' NEAREST-EVEN                    ' PIC X(33).
  1976            05 VALUE ' NEAREST-TOWARD-ZERO             ' PIC X(33).
  1977            05 VALUE ' NEGATIVE                        ' PIC X(33).
  1978            05 VALUE ' NESTED                          ' PIC X(33).      UNIMPLEMENTED
  1979            05 VALUE 'VNEXT                            ' PIC X(33).
  1980            05 VALUE ' NO                              ' PIC X(33).
  1981            05 VALUE ' NO-ECHO                         ' PIC X(33).
  1982            05 VALUE ' NONE                            ' PIC X(33).      UNIMPLEMENTED
  1983            05 VALUE ' NORMAL                          ' PIC X(33).
  1984            05 VALUE ' NOT                             ' PIC X(33).
  1985            05 VALUE ' NULL                            ' PIC X(33).
  1986            05 VALUE ' NULLS                           ' PIC X(33).
  1987            05 VALUE ' NUMBER                          ' PIC X(33).
  1988            05 VALUE 'INUMBER-OF-CALL-PARAMETERS       ' PIC X(33).
  1989            05 VALUE ' NUMBERS                         ' PIC X(33).
  1990            05 VALUE ' NUMERIC                         ' PIC X(33).
  1991 GC1213     05 VALUE 'FNUMERIC-DECIMAL-POINT           ' PIC X(33).
  1992            05 VALUE ' NUMERIC-EDITED                  ' PIC X(33).
  1993 GC1213     05 VALUE 'FNUMERIC-THOUSANDS-SEPARATOR     ' PIC X(33).
  1994 GC1213     05 VALUE 'FNUMVAL                          ' PIC X(33).
  1995 GC1213     05 VALUE 'FNUMVAL-C                        ' PIC X(33).
  1996 GC1213     05 VALUE 'FNUMVAL-F                        ' PIC X(33).
  1997            05 VALUE ' OBJECT                          ' PIC X(33).      UNIMPLEMENTED
  1998            05 VALUE ' OBJECT-COMPUTER                 ' PIC X(33).
  1999            05 VALUE ' OBJECT-REFERENCE                ' PIC X(33).      UNIMPLEMENTED
  2000            05 VALUE ' OCCURS                          ' PIC X(33).
  2001            05 VALUE ' OF                              ' PIC X(33).
  2002            05 VALUE ' OFF                             ' PIC X(33).
  2003            05 VALUE ' OMITTED                         ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 49

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 50
====== =========================================================================================
  2004            05 VALUE ' ON                              ' PIC X(33).
  2005            05 VALUE ' ONLY                            ' PIC X(33).
  2006            05 VALUE 'VOPEN                            ' PIC X(33).
  2007            05 VALUE ' OPTIONAL                        ' PIC X(33).
  2008            05 VALUE ' OPTIONS                         ' PIC X(33).      UNIMPLEMENTED
  2009            05 VALUE ' OR                              ' PIC X(33).
  2010 GC1213     05 VALUE 'FORD                             ' PIC X(33).
  2011 GC1213     05 VALUE 'FORD-MAX                         ' PIC X(33).
  2012 GC1213     05 VALUE 'FORD-MIN                         ' PIC X(33).
  2013            05 VALUE ' ORDER                           ' PIC X(33).
  2014            05 VALUE ' ORGANISATION                    ' PIC X(33).
  2015            05 VALUE ' ORGANIZATION                    ' PIC X(33).
  2016            05 VALUE ' OTHER                           ' PIC X(33).
  2017            05 VALUE ' OUTPUT                          ' PIC X(33).
  2018            05 VALUE ' OVERFLOW                        ' PIC X(33).
  2019            05 VALUE ' OVERLINE                        ' PIC X(33).
  2020            05 VALUE ' OVERRIDE                        ' PIC X(33).
  2021            05 VALUE ' PACKED-DECIMAL                  ' PIC X(33).
  2022            05 VALUE ' PADDING                         ' PIC X(33).
  2023            05 VALUE ' PAGE                            ' PIC X(33).
  2024 GC1213     05 VALUE 'IPAGE-COUNTER                    ' PIC X(33).
  2025            05 VALUE ' PARAGRAPH                       ' PIC X(33).
  2026            05 VALUE 'VPERFORM                         ' PIC X(33).
  2027            05 VALUE ' PF                              ' PIC X(33).
  2028            05 VALUE ' PH                              ' PIC X(33).
  2029 GC1213     05 VALUE 'FPI                              ' PIC X(33).
  2030            05 VALUE 'KPIC                             ' PIC X(33).
  2031            05 VALUE 'KPICTURE                         ' PIC X(33).
  2032            05 VALUE ' PLUS                            ' PIC X(33).
  2033            05 VALUE 'KPOINTER                         ' PIC X(33).
  2034            05 VALUE ' POSITION                        ' PIC X(33).
  2035            05 VALUE ' POSITIVE                        ' PIC X(33).
  2036            05 VALUE ' PREFIXED                        ' PIC X(33).      UNIMPLEMENTED
  2037            05 VALUE ' PRESENT                         ' PIC X(33).
  2038 GC1213     05 VALUE 'FPRESENT-VALUE                   ' PIC X(33).
  2039            05 VALUE ' PREVIOUS                        ' PIC X(33).
  2040            05 VALUE 'MPRINTER                         ' PIC X(33).
  2041            05 VALUE ' PRINTING                        ' PIC X(33).
  2042            05 VALUE 'KPROCEDURE                       ' PIC X(33).
  2043            05 VALUE ' PROCEDURE-POINTER               ' PIC X(33).
  2044            05 VALUE ' PROCEDURES                      ' PIC X(33).
  2045            05 VALUE ' PROCEED                         ' PIC X(33).
  2046            05 VALUE ' PROGRAM                         ' PIC X(33).
  2047            05 VALUE 'KPROGRAM-ID                      ' PIC X(33).
  2048            05 VALUE ' PROGRAM-POINTER                 ' PIC X(33).
  2049            05 VALUE ' PROHIBITED                      ' PIC X(33).
  2050            05 VALUE ' PROMPT                          ' PIC X(33).
  2051            05 VALUE ' PROPERTY                        ' PIC X(33).      UNIMPLEMENTED
  2052            05 VALUE ' PROTOTYPE                       ' PIC X(33).      UNIMPLEMENTED

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 50

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 51
====== =========================================================================================
  2053            05 VALUE ' PURGE                           ' PIC X(33).      OBSOLETE
  2054            05 VALUE ' QUEUE                           ' PIC X(33).      OBSOLETE
  2055            05 VALUE ' QUOTE                           ' PIC X(33).
  2056            05 VALUE ' QUOTES                          ' PIC X(33).
  2057            05 VALUE ' RAISE                           ' PIC X(33).      UNIMPLEMENTED
  2058            05 VALUE ' RAISING                         ' PIC X(33).      UNIMPLEMENTED
  2059 GC1213     05 VALUE 'FRANDOM                          ' PIC X(33).
  2060 GC1213     05 VALUE 'FRANGE                           ' PIC X(33).
  2061 GC1213     05 VALUE 'KRD                              ' PIC X(33).
  2062            05 VALUE 'VREAD                            ' PIC X(33).
  2063            05 VALUE 'VREADY                           ' PIC X(33).
  2064            05 VALUE 'VRECEIVE                         ' PIC X(33).      OBSOLETE
  2065            05 VALUE ' RECORD                          ' PIC X(33).
  2066            05 VALUE ' RECORDING                       ' PIC X(33).
  2067            05 VALUE ' RECORDS                         ' PIC X(33).
  2068            05 VALUE ' RECURSIVE                       ' PIC X(33).
  2069            05 VALUE 'KREDEFINES                       ' PIC X(33).
  2070            05 VALUE ' REEL                            ' PIC X(33).
  2071 GC0712     05 VALUE 'AREFERENCE                       ' PIC X(33).
  2072            05 VALUE ' REFERENCES                      ' PIC X(33).
  2073            05 VALUE ' RELATION                        ' PIC X(33).      UNIMPLEMENTED
  2074            05 VALUE ' RELATIVE                        ' PIC X(33).
  2075            05 VALUE 'VRELEASE                         ' PIC X(33).
  2076 GC1213     05 VALUE 'FREM                             ' PIC X(33).
  2077            05 VALUE ' REMAINDER                       ' PIC X(33).
  2078            05 VALUE ' REMARKS                         ' PIC X(33).      OBSOLETE
  2079            05 VALUE ' REMOVAL                         ' PIC X(33).
  2080            05 VALUE 'KRENAMES                         ' PIC X(33).
  2081            05 VALUE ' REPLACE                         ' PIC X(33).
  2082            05 VALUE 'KREPLACING                       ' PIC X(33).
  2083            05 VALUE 'KREPORT                          ' PIC X(33).
  2084            05 VALUE ' REPORTING                       ' PIC X(33).
  2085            05 VALUE ' REPORTS                         ' PIC X(33).
  2086            05 VALUE ' REPOSITORY                      ' PIC X(33).
  2087            05 VALUE ' REQUIRED                        ' PIC X(33).
  2088            05 VALUE ' RESERVE                         ' PIC X(33).
  2089            05 VALUE 'VRESET                           ' PIC X(33).
  2090            05 VALUE ' RESUME                          ' PIC X(33).      UNIMPLEMENTED
  2091            05 VALUE ' RETRY                           ' PIC X(33).      UNIMPLEMENTED
  2092            05 VALUE 'VRETURN                          ' PIC X(33).
  2093            05 VALUE 'IRETURN-CODE                     ' PIC X(33).
  2094            05 VALUE 'KRETURNING                       ' PIC X(33).
  2095 GC1213     05 VALUE 'FREVERSE                         ' PIC X(33).
  2096            05 VALUE ' REVERSE-VIDEO                   ' PIC X(33).
  2097            05 VALUE ' REVERSED                        ' PIC X(33).
  2098            05 VALUE ' REWIND                          ' PIC X(33).
  2099            05 VALUE 'VREWRITE                         ' PIC X(33).
  2100            05 VALUE ' RF                              ' PIC X(33).
  2101            05 VALUE ' RH                              ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 51

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 52
====== =========================================================================================
  2102            05 VALUE ' RIGHT                           ' PIC X(33).
  2103            05 VALUE ' RIGHT-JUSTIFY                   ' PIC X(33).      UNIMPLEMENTED
  2104            05 VALUE 'VROLLBACK                        ' PIC X(33).
  2105            05 VALUE ' ROUNDED                         ' PIC X(33).
  2106            05 VALUE ' ROUNDING                        ' PIC X(33).      UNIMPLEMENTED
  2107            05 VALUE ' RUN                             ' PIC X(33).
  2108            05 VALUE ' SAME                            ' PIC X(33).
  2109            05 VALUE 'KSCREEN                          ' PIC X(33).
  2110            05 VALUE ' SCROLL                          ' PIC X(33).
  2111            05 VALUE 'KSD                              ' PIC X(33).
  2112            05 VALUE 'VSEARCH                          ' PIC X(33).
  2113            05 VALUE ' SECONDS                         ' PIC X(33).      UNIMPLEMENTED
  2114 GC1213     05 VALUE 'FSECONDS-FROM-FORMATTED-TIME     ' PIC X(33).
  2115 GC1213     05 VALUE 'FSECONDS-PAST-MIDNIGHT           ' PIC X(33).
  2116            05 VALUE 'KSECTION                         ' PIC X(33).
  2117            05 VALUE ' SECURE                          ' PIC X(33).
  2118            05 VALUE ' SECURITY                        ' PIC X(33).      OBSOLETE
  2119            05 VALUE ' SEGMENT                         ' PIC X(33).      OBSOLETE
  2120            05 VALUE ' SEGMENT-LIMIT                   ' PIC X(33).
  2121            05 VALUE ' SELECT                          ' PIC X(33).
  2122            05 VALUE ' SELF                            ' PIC X(33).      UNIMPLEMENTED
  2123            05 VALUE 'VSEND                            ' PIC X(33).      OBSOLETE
  2124            05 VALUE ' SENTENCE                        ' PIC X(33).
  2125            05 VALUE ' SEPARATE                        ' PIC X(33).
  2126            05 VALUE ' SEQUENCE                        ' PIC X(33).
  2127            05 VALUE ' SEQUENTIAL                      ' PIC X(33).
  2128            05 VALUE 'VSET                             ' PIC X(33).
  2129            05 VALUE ' SHARING                         ' PIC X(33).
  2130 GC1213     05 VALUE 'FSIGN                            ' PIC X(33).
  2131            05 VALUE ' SIGNED                          ' PIC X(33).
  2132            05 VALUE ' SIGNED-INT                      ' PIC X(33).
  2133            05 VALUE ' SIGNED-LONG                     ' PIC X(33).
  2134            05 VALUE ' SIGNED-SHORT                    ' PIC X(33).
  2135 GC1213     05 VALUE 'FSIN                             ' PIC X(33).
  2136            05 VALUE ' SIZE                            ' PIC X(33).
  2137            05 VALUE 'VSORT                            ' PIC X(33).
  2138            05 VALUE ' SORT-MERGE                      ' PIC X(33).
  2139            05 VALUE 'ISORT-RETURN                     ' PIC X(33).
  2140            05 VALUE ' SOURCE                          ' PIC X(33).
  2141            05 VALUE ' SOURCE-COMPUTER                 ' PIC X(33).
  2142            05 VALUE ' SOURCES                         ' PIC X(33).      UNIMPLEMENTED
  2143            05 VALUE ' SPACE                           ' PIC X(33).
  2144            05 VALUE ' SPACE-FILL                      ' PIC X(33).      UNIMPLEMENTED
  2145            05 VALUE ' SPACES                          ' PIC X(33).
  2146            05 VALUE ' SPECIAL-NAMES                   ' PIC X(33).
  2147 GC1213     05 VALUE 'FSQRT                            ' PIC X(33).
  2148            05 VALUE ' STANDARD                        ' PIC X(33).
  2149            05 VALUE ' STANDARD-1                      ' PIC X(33).
  2150            05 VALUE ' STANDARD-2                      ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 52

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 53
====== =========================================================================================
  2151            05 VALUE ' STANDARD-BINARY                 ' PIC X(33).      UNIMPLEMENTED
  2152 GC1213     05 VALUE 'FSTANDARD-COMPARE                ' PIC X(33).      UNIMPLEMENTED
  2153            05 VALUE ' STANDARD-DECIMAL                ' PIC X(33).      UNIMPLEMENTED
  2154 GC1213     05 VALUE 'FSTANDARD-DEVIATION              ' PIC X(33).
  2155            05 VALUE 'VSTART                           ' PIC X(33).
  2156            05 VALUE ' STATEMENT                       ' PIC X(33).      UNIMPLEMENTED
  2157            05 VALUE ' STATIC                          ' PIC X(33).
  2158            05 VALUE ' STATUS                          ' PIC X(33).
  2159            05 VALUE ' STDCALL                         ' PIC X(33).
  2160            05 VALUE 'MSTDERR                          ' PIC X(33).
  2161            05 VALUE 'MSTDIN                           ' PIC X(33).
  2162            05 VALUE 'MSTDOUT                          ' PIC X(33).
  2163            05 VALUE ' STEP                            ' PIC X(33).
  2164            05 VALUE 'VSTOP                            ' PIC X(33).
  2165 GC1213     05 VALUE 'FSTORED-CHAR-LENGTH              ' PIC X(33).
  2166            05 VALUE 'VSTRING                          ' PIC X(33).
  2167            05 VALUE ' STRONG                          ' PIC X(33).      UNIMPLEMENTED
  2168            05 VALUE ' SUB-QUEUE-1                     ' PIC X(33).      OBSOLETE
  2169            05 VALUE ' SUB-QUEUE-2                     ' PIC X(33).      OBSOLETE
  2170            05 VALUE ' SUB-QUEUE-3                     ' PIC X(33).      OBSOLETE
  2171 GC1213     05 VALUE 'FSUBSTITUTE                      ' PIC X(33).
  2172 GC1213     05 VALUE 'FSUBSTITUTE-CASE                 ' PIC X(33).
  2173            05 VALUE 'VSUBTRACT                        ' PIC X(33).
  2174 GC1213     05 VALUE 'FSUM                             ' PIC X(33).
  2175            05 VALUE ' SUPER                           ' PIC X(33).      UNIMPLEMENTED
  2176            05 VALUE 'VSUPPRESS                        ' PIC X(33).
  2177            05 VALUE 'MSW0                             ' PIC X(33).
  2178            05 VALUE 'MSW1                             ' PIC X(33).
  2179            05 VALUE 'MSW10                            ' PIC X(33).
  2180            05 VALUE 'MSW11                            ' PIC X(33).
  2181            05 VALUE 'MSW12                            ' PIC X(33).
  2182            05 VALUE 'MSW13                            ' PIC X(33).
  2183            05 VALUE 'MSW14                            ' PIC X(33).
  2184            05 VALUE 'MSW15                            ' PIC X(33).
  2185            05 VALUE 'MSW2                             ' PIC X(33).
  2186            05 VALUE 'MSW3                             ' PIC X(33).
  2187            05 VALUE 'MSW4                             ' PIC X(33).
  2188            05 VALUE 'MSW5                             ' PIC X(33).
  2189            05 VALUE 'MSW6                             ' PIC X(33).
  2190            05 VALUE 'MSW7                             ' PIC X(33).
  2191            05 VALUE 'MSW8                             ' PIC X(33).
  2192            05 VALUE 'MSW9                             ' PIC X(33).
  2193            05 VALUE 'MSWITCH-0                        ' PIC X(33).
  2194            05 VALUE 'MSWITCH-1                        ' PIC X(33).
  2195            05 VALUE 'MSWITCH-10                       ' PIC X(33).
  2196            05 VALUE 'MSWITCH-11                       ' PIC X(33).
  2197            05 VALUE 'MSWITCH-12                       ' PIC X(33).
  2198            05 VALUE 'MSWITCH-13                       ' PIC X(33).
  2199            05 VALUE 'MSWITCH-14                       ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 53

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 54
====== =========================================================================================
  2200            05 VALUE 'MSWITCH-15                       ' PIC X(33).
  2201            05 VALUE 'MSWITCH-2                        ' PIC X(33).
  2202            05 VALUE 'MSWITCH-3                        ' PIC X(33).
  2203            05 VALUE 'MSWITCH-4                        ' PIC X(33).
  2204            05 VALUE 'MSWITCH-5                        ' PIC X(33).
  2205            05 VALUE 'MSWITCH-6                        ' PIC X(33).
  2206            05 VALUE 'MSWITCH-7                        ' PIC X(33).
  2207            05 VALUE 'MSWITCH-8                        ' PIC X(33).
  2208            05 VALUE 'MSWITCH-9                        ' PIC X(33).
  2209            05 VALUE ' SYMBOL                          ' PIC X(33).      UNIMPLEMENTED
  2210            05 VALUE ' SYMBOLIC                        ' PIC X(33).
  2211            05 VALUE ' SYNC                            ' PIC X(33).
  2212            05 VALUE ' SYNCHRONISED                    ' PIC X(33).
  2213            05 VALUE ' SYNCHRONIZED                    ' PIC X(33).
  2214            05 VALUE 'MSYSERR                          ' PIC X(33).
  2215            05 VALUE 'MSYSIN                           ' PIC X(33).
  2216            05 VALUE 'MSYSIPT                          ' PIC X(33).
  2217            05 VALUE 'MSYSLIST                         ' PIC X(33).
  2218            05 VALUE 'MSYSLST                          ' PIC X(33).
  2219            05 VALUE 'MSYSOUT                          ' PIC X(33).
  2220            05 VALUE ' SYSTEM-DEFAULT                  ' PIC X(33).
  2221            05 VALUE ' TABLE                           ' PIC X(33).      UNIMPLEMENTED
  2222            05 VALUE 'KTALLYING                        ' PIC X(33).
  2223 GC1213     05 VALUE 'FTAN                             ' PIC X(33).
  2224            05 VALUE ' TAPE                            ' PIC X(33).
  2225            05 VALUE ' TERMINAL                        ' PIC X(33).      OBSOLETE
  2226            05 VALUE 'VTERMINATE                       ' PIC X(33).
  2227            05 VALUE ' TEST                            ' PIC X(33).
  2228 GC1213     05 VALUE 'FTEST-DATE-YYYYMMDD              ' PIC X(33).
  2229 GC1213     05 VALUE 'FTEST-DAY-YYYYDDD                ' PIC X(33).
  2230 GC1213     05 VALUE 'FTEST-FORMATTED-DATETIME         ' PIC X(33).      UNIMPLEMENTED
  2231 GC1213     05 VALUE 'FTEST-NUMVAL                     ' PIC X(33).
  2232 GC1213     05 VALUE 'FTEST-NUMVAL-C                   ' PIC X(33).
  2233 GC1213     05 VALUE 'FTEST-NUMVAL-F                   ' PIC X(33).
  2234            05 VALUE ' TEXT                            ' PIC X(33).      OBSOLETE
  2235            05 VALUE ' THAN                            ' PIC X(33).
  2236            05 VALUE ' THEN                            ' PIC X(33).
  2237            05 VALUE ' THROUGH                         ' PIC X(33).
  2238            05 VALUE ' THRU                            ' PIC X(33).
  2239            05 VALUE ' TIME                            ' PIC X(33).
  2240 GC0711     05 VALUE ' TIME-OUT                        ' PIC X(33).
  2241 GC0711     05 VALUE ' TIMEOUT                         ' PIC X(33).
  2242            05 VALUE ' TIMES                           ' PIC X(33).
  2243            05 VALUE 'KTO                              ' PIC X(33).
  2244            05 VALUE ' TOP                             ' PIC X(33).
  2245            05 VALUE ' TOWARD-GREATER                  ' PIC X(33).
  2246            05 VALUE ' TOWARD-LESSER                   ' PIC X(33).
  2247            05 VALUE ' TRAILING                        ' PIC X(33).
  2248            05 VALUE ' TRAILING-SIGN                   ' PIC X(33).      UNIMPLEMENTED

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 54

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 55
====== =========================================================================================
  2249            05 VALUE 'VTRANSFORM                       ' PIC X(33).
  2250 GC1213     05 VALUE 'FTRIM                            ' PIC X(33).
  2251            05 VALUE ' TRUE                            ' PIC X(33).
  2252            05 VALUE ' TRUNCATION                      ' PIC X(33).
  2253            05 VALUE ' TYPE                            ' PIC X(33).
  2254            05 VALUE ' TYPEDEF                         ' PIC X(33).      UNIMPLEMENTED
  2255            05 VALUE ' UCS-4                           ' PIC X(33).      UNIMPLEMENTED
  2256            05 VALUE ' UNDERLINE                       ' PIC X(33).
  2257            05 VALUE ' UNIT                            ' PIC X(33).
  2258            05 VALUE ' UNIVERSAL                       ' PIC X(33).      UNIMPLEMENTED
  2259            05 VALUE 'VUNLOCK                          ' PIC X(33).
  2260            05 VALUE ' UNSIGNED                        ' PIC X(33).
  2261            05 VALUE ' UNSIGNED-INT                    ' PIC X(33).
  2262            05 VALUE ' UNSIGNED-LONG                   ' PIC X(33).
  2263            05 VALUE ' UNSIGNED-SHORT                  ' PIC X(33).
  2264            05 VALUE 'VUNSTRING                        ' PIC X(33).
  2265            05 VALUE ' UNTIL                           ' PIC X(33).
  2266            05 VALUE 'KUP                              ' PIC X(33).
  2267            05 VALUE ' UPDATE                          ' PIC X(33).
  2268            05 VALUE ' UPON                            ' PIC X(33).
  2269            05 VALUE ' UPPER                           ' PIC X(33).
  2270 GC1213     05 VALUE 'FUPPER-CASE                      ' PIC X(33).
  2271            05 VALUE ' USAGE                           ' PIC X(33).
  2272            05 VALUE 'VUSE                             ' PIC X(33).
  2273 GC0711     05 VALUE ' USER                            ' PIC X(33).
  2274            05 VALUE ' USER-DEFAULT                    ' PIC X(33).
  2275            05 VALUE 'KUSING                           ' PIC X(33).
  2276            05 VALUE ' UTF-16                          ' PIC X(33).      UNIMPLEMENTED
  2277            05 VALUE ' UTF-8                           ' PIC X(33).      UNIMPLEMENTED
  2278            05 VALUE ' VAL-STATUS                      ' PIC X(33).      UNIMPLEMENTED
  2279            05 VALUE ' VALID                           ' PIC X(33).      UNIMPLEMENTED
  2280            05 VALUE ' VALIDATE                        ' PIC X(33).      UNIMPLEMENTED
  2281            05 VALUE ' VALIDATE-STATUS                 ' PIC X(33).      UNIMPLEMENTED
  2282 GC0712     05 VALUE 'AVALUE                           ' PIC X(33).
  2283            05 VALUE ' VALUES                          ' PIC X(33).
  2284 GC1213     05 VALUE 'FVARIANCE                        ' PIC X(33).
  2285            05 VALUE 'KVARYING                         ' PIC X(33).
  2286            05 VALUE ' VDISABLE                        ' PIC X(33).      UNIMPLEMENTED
  2287            05 VALUE ' WAIT                            ' PIC X(33).
  2288            05 VALUE 'VWHEN                            ' PIC X(33).
  2289 GC1213     05 VALUE 'FWHEN-COMPILED                   ' PIC X(33).
  2290            05 VALUE ' WITH                            ' PIC X(33).
  2291            05 VALUE ' WORDS                           ' PIC X(33).
  2292            05 VALUE 'KWORKING-STORAGE                 ' PIC X(33).
  2293            05 VALUE 'VWRITE                           ' PIC X(33).
  2294 GC1213     05 VALUE 'FYEAR-TO-YYYY                    ' PIC X(33).
  2295            05 VALUE ' YYYYDDD                         ' PIC X(33).
  2296            05 VALUE ' YYYYMMDD                        ' PIC X(33).
  2297            05 VALUE ' ZERO                            ' PIC X(33).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 55

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 56
====== =========================================================================================
  2298            05 VALUE ' ZERO-FILL                       ' PIC X(33).      UNIMPLEMENTED
  2299            05 VALUE ' ZEROES                          ' PIC X(33).
  2300            05 VALUE ' ZEROS                           ' PIC X(33).
  2301        01  WS-Reserved-Word-Table-TXT REDEFINES WS-Reserved-Words-TXT.
  2302 GC1113     05 WS-Reserved-Word-TXT        OCCURS 754 TIMES
  2303                                                  ASCENDING KEY
  2304                                                      WS-RW-Word-TXT
  2305                                                  INDEXED WS-RW-IDX.
  2306               10 WS-RW-Type-CD                   PIC X(1).
  2307               10 WS-RW-Word-TXT                  PIC X(32).
  2308
  2309        01  WS-Runtime-Switches.
  2310 GC0710     05 WS-RS-Duplicate-CHR                PIC X(1).
  2311            05 WS-RS-In-Which-Pgm-CHR             PIC X(1).
  2312               88 WS-RS-In-Main-Module-BOOL       VALUE 'M'.
  2313               88 WS-RS-In-Copybook-BOOL          VALUE 'C'.
  2314            05 WS-RS-Last-Token-Ended-Sent-CHR    PIC X(1).
  2315            05 WS-RS-Processing-PICTURE-CHR       PIC X(1).
  2316            05 WS-RS-Token-Ended-Sentence-CHR     PIC X(1).
  2317 GC0710     05 WS-RS-Verb-Has-Been-Found-CHR      PIC X(1).
  2318
  2319        01  WS-Saved-Section-TXT                  PIC X(15).
  2320
  2321 GC1213 01  WS-Src-Dashes-TXT.
  2322 GC0712     05 VALUE '======'                     PIC X(7).
  2323 GC0712     05 VALUE ALL '='                      PIC X(128).
  2324
  2325        01  WS-Src-Detail-Line-TXT.
  2326            05 WS-SDL-Line-NUM                    PIC ZZZZZ9.
  2327            05 FILLER                             PIC X(1).
  2328            05 WS-SDL-Statement-TXT               PIC X(256).
  2329
  2330 GC1213 01  WS-Src-Hold-TXT                       PIC X(256).
  2331
  2332        01  WS-Src-Line-NUM                       PIC 9(6).
  2333
  2334 GC1213 01  WS-Src-Lines-NUM                      USAGE BINARY-LONG.
  2335
  2336        01  WS-Src-SUB                            USAGE BINARY-LONG.
  2337
  2338        01  WS-Tally-QTY                          USAGE BINARY-LONG.
  2339
  2340        01  WS-Temp-10-Chars-TXT                  PIC X(10).
  2341
  2342        01  WS-Temp-32-Chars-1-TXT                PIC X(32).
  2343
  2344 GC0711 01  WS-Temp-32-Chars-2-TXT                PIC X(32).
  2345
  2346 GC0711 01  WS-Temp-32-Chars-3-TXT                PIC X(32).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 56

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 57
====== =========================================================================================
  2347
  2348 GC0712 01  WS-Temp-65-Chars-TXT                  PIC X(65).
  2349
  2350        01  WS-Temp-256-Chars-TXT                 PIC X(256).
  2351
  2352        01  WS-Today-DT                           PIC 9(8).
  2353
  2354        01  WS-Token-Curr-TXT                     PIC X(32).
  2355
  2356        01  WS-Token-Curr-Uc-TXT                  PIC X(32).
  2357
  2358        01  WS-Token-Prev-TXT                     PIC X(32).
  2359
  2360        01  WS-Token-Search-TXT                   PIC X(32).
  2361
  2362        01  WS-Token-Type-CD                      PIC X(1).
  2363 GC0712     88 WS-TT-Token-Is-Argtype-BOOL        VALUE 'A'.
  2364            88 WS-TT-Token-Is-EOF-BOOL            VALUE HIGH-VALUES.
  2365 GC1213     88 WS-TT-Token-Is-Function-BOOL       VALUE 'F'.
  2366            88 WS-TT-Token-Is-Identifier-BOOL     VALUE 'I'.
  2367 GC0712     88 WS-TT-Token-Is-Keyword-BOOL        VALUE 'K', 'V', 'A'.
  2368            88 WS-TT-Token-Is-Lit-Alpha-BOOL      VALUE 'L'.
  2369            88 WS-TT-Token-Is-Lit-Number-BOOL     VALUE 'N'.
  2370            88 WS-TT-Token-Is-Verb-BOOL           VALUE 'V'.
  2371 GC1213     88 WS-TT-Token-Is-Reserved-Wd-BOOL    VALUE ' ', 'F'.
  2372
  2373        01  WS-Usernames-QTY                      USAGE BINARY-LONG.
  2374
  2375        01  WS-Version-TXT                        PIC X(23).
  2376
  2377        01  WS-Xref-Detail-Line-TXT.
  2378            05 WS-XDL-Prog-ID-TXT                 PIC X(15).
  2379            05 FILLER                             PIC X(1).
  2380            05 WS-XDL-Token-TXT                   PIC X(32).
  2381            05 FILLER                             PIC X(1).
  2382            05 WS-XDL-Def-Line-NUM                PIC ZZZZZ9.
  2383            05 FILLER                             PIC X(1).
  2384            05 WS-XDL-Section-TXT                 PIC X(15).
  2385            05 FILLER                             PIC X(1).
  2386            05 WS-XDL-Reference-TXT               OCCURS 8 TIMES.
  2387               10 WS-XDL-Ref-Line-NUM             PIC ZZZZZ9.
  2388               10 WS-XDL-Ref-Flag-CHR             PIC X(1).
  2389               10 FILLER                          PIC X(1).
  2390
  2391 GC1213 01  WS-Xref-Lines-Per-Rec-NUM             PIC 9(1).
  2392
  2393        LINKAGE SECTION.
  2394 GC0712 01  L-Listing-Fn-TXT                      PIC X(256).
  2395

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 57

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 58
====== =========================================================================================
  2396        01  L-Src-Fn-TXT                          PIC X(256).
  2397
  2398 GC0712 01  L-OS-Type-CD                          PIC 9(1).
  2399
  2400 GC1213 01  L-LPP-NUM                             USAGE BINARY-LONG.
  2401
  2402 GC1213 01  L-LPP-Port-NUM                        USAGE BINARY-LONG.
  2403
  2404 GC1213 01  L-Listing-CD                          PIC 9(1).

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 58

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 59
====== =========================================================================================

  2406 GC0712 PROCEDURE DIVISION USING L-Listing-Fn-TXT
  2407 GC0712                          L-Src-Fn-TXT
  2408 GC0712                          L-OS-Type-CD
  2409 GC1213                          L-LPP-NUM
  2410 GC1213                          L-LPP-Port-NUM
  2411 GC1213                          L-Listing-CD.
  2412        000-Main SECTION.
  2413            PERFORM 100-Initialization
  2414 GC0712     OPEN OUTPUT F-Listing-FILE
  2415 GC0712     PERFORM 500-Produce-Source-Listing
  2416 GC0712     SORT F-Sort-Work-FILE
  2417 GC0712         ASCENDING KEY    F-SW-Prog-ID-TXT
  2418 GC0712                          F-SW-Token-Uc-TXT
  2419 GC0712                          F-SW-Ref-Line-NUM
  2420 GC0712         INPUT PROCEDURE  300-Tokenize-Source
  2421 GC0712         OUTPUT PROCEDURE 400-Produce-Xref-Listing
  2422 GC0712     CLOSE F-Listing-FILE
  2423            GOBACK
  2424            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 59

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 60
====== =========================================================================================

  2426       *>***************************************************************
  2427       *> Perform all program-wide initialization operations          **
  2428       *>***************************************************************
  2429        100-Initialization SECTION.
  2430 GC1213     MOVE 0 TO WS-Page-NUM
  2431 GC1213     MOVE 'N' TO WS-Suppress-FF-CHR
  2432 GC1213     MOVE SPACES TO WS-Copyright-TXT
  2433 GC1213     STRING 'GCic for '                  DELIMITED SIZE
  2434 GC1213            WS-OS-Type-TXT(L-OS-Type-CD) DELIMITED SPACE
  2435 GC1213            ' Copyright (C) 2009-2014, Gary L. Cutler, GPL'
  2436 GC1213                                         DELIMITED SIZE
  2437 GC1213            INTO WS-Copyright-TXT
  2438 GC1213     MOVE 'GNU COBOL 2.1 23NOV2013' TO WS-Version-TXT
  2439            MOVE TRIM(L-Src-Fn-TXT,Leading) TO L-Src-Fn-TXT
  2440 GC1010     PERFORM VARYING WS-I-SUB FROM LENGTH(L-Src-Fn-TXT) BY -1 *> Locate last direct
       ory delimiter character so that the filename can be extracted
  2441 GC1010               UNTIL L-Src-Fn-TXT(WS-I-SUB:1) = '/' OR '\'
  2442 GC1010                     OR WS-I-SUB = 0
  2443 GC1010     END-PERFORM
  2444 GC1010     IF WS-I-SUB = 0
  2445 GC1010         MOVE UPPER-CASE(L-Src-Fn-TXT) TO WS-Main-Module-Name-TXT *> No directory d
       elimiter, whole thing is filename
  2446 GC1010     ELSE
  2447 GC1010         ADD 1 TO WS-I-SUB
  2448 GC1010         MOVE UPPER-CASE(L-Src-Fn-TXT(WS-I-SUB:))
  2449 GC1010           TO WS-Main-Module-Name-TXT *> Extract filename
  2450 GC1010     END-IF
  2451 GC1213     IF L-Listing-CD = 1 *> LANDSCAPE
  2452 GC1213         MOVE 8 TO WS-Xref-Lines-Per-Rec-NUM
  2453 GC1213         ACCEPT WS-Lines-Per-Page-Env-TXT
  2454 GC1213             FROM ENVIRONMENT 'GCXREF_LINES'
  2455 GC1213     ELSE *> PORTRAIT
  2456 GC1213         MOVE 3 TO WS-Xref-Lines-Per-Rec-NUM
  2457 GC1213         ACCEPT WS-Lines-Per-Page-Env-TXT
  2458 GC1213             FROM ENVIRONMENT 'GCXREF_LINES_PORT'
  2459 GC1213     END-IF
  2460            INSPECT L-Src-Fn-TXT REPLACING ALL '\' BY '/'
  2461            MOVE L-Src-Fn-TXT TO WS-Program-Path-TXT
  2462            CALL 'C$JUSTIFY' USING WS-Program-Path-TXT, 'Right'
  2463            MOVE LENGTH(TRIM(L-Src-Fn-TXT,Trailing)) TO WS-I-SUB
  2464            MOVE 0 TO WS-J-SUB
  2465            PERFORM UNTIL L-Src-Fn-TXT(WS-I-SUB:1) = '/'
  2466                       OR WS-I-SUB = 0
  2467                SUBTRACT 1 FROM WS-I-SUB
  2468                ADD      1 TO   WS-J-SUB
  2469            END-PERFORM
  2470            UNSTRING L-Src-Fn-TXT((WS-I-SUB + 1):WS-J-SUB)
  2471                DELIMITED BY '.'

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 60

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 61
====== =========================================================================================
  2472                INTO WS-Filename-TXT
  2473                     WS-Dummy-TXT
  2474 GC1010     STRING
  2475 GC1010            TRIM(WS-Filename-TXT,Trailing)
  2476 GC1010            '.i'
  2477 GC1010            DELIMITED SIZE
  2478 GC1010            INTO WS-Expanded-Src-Fn-TXT
  2479 GC1010     CALL 'CBL_CHECK_FILE_EXIST' USING WS-Expanded-Src-Fn-TXT
  2480 GC1010                                       WS-Temp-256-Chars-TXT
  2481 GC1010     IF RETURN-CODE NOT = 0
  2482 GC1010         GOBACK
  2483 GC1010     END-IF
  2484            IF WS-Lines-Per-Page-Env-TXT NOT = SPACES
  2485                MOVE NUMVAL(WS-Lines-Per-Page-Env-TXT)
  2486                  TO WS-Lines-Per-Page-NUM
  2487            ELSE
  2488 GC1213         IF L-LISTING-CD = 1 *> LANDSCAPE
  2489 GC1213             MOVE L-LPP-NUM TO WS-Lines-Per-Page-NUM
  2490 GC1213         ELSE                *> PORTRAIT
  2491 GC1213             MOVE L-LPP-Port-NUM TO WS-Lines-Per-Page-NUM
  2492 GC1213         END-IF
  2493            END-IF
  2494 GC1213     SUBTRACT 3 FROM WS-Lines-Per-Page-NUM *> FOR PAGE FOOTER
  2495            ACCEPT WS-Today-DT FROM DATE YYYYMMDD
  2496 GC1213     MOVE WS-Today-DT TO WS-Formatted-DT
  2497            MOVE '????????????...' TO WS-Curr-Prog-ID-TXT
  2498            MOVE SPACES            TO WS-Curr-Verb-TXT
  2499                                      WS-Held-Reference-TXT
  2500            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 61

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 62
====== =========================================================================================

  2502        300-Tokenize-Source SECTION.
  2503            OPEN INPUT F-Expanded-Src-FILE
  2504            MOVE SPACES TO F-Expanded-Src-REC
  2505            MOVE 256 TO WS-Src-SUB
  2506            MOVE 0 TO WS-Usernames-QTY
  2507                      WS-Curr-Line-NUM
  2508            MOVE '?' TO WS-Curr-Division-TXT
  2509 GC0710     MOVE 'N' TO WS-RS-Verb-Has-Been-Found-CHR
  2510            PERFORM FOREVER
  2511                PERFORM 310-Get-Token
  2512                IF WS-TT-Token-Is-EOF-BOOL
  2513                    EXIT PERFORM
  2514                END-IF
  2515                MOVE UPPER-CASE(WS-Token-Curr-TXT)
  2516                  TO WS-Token-Curr-Uc-TXT
  2517 GC1010         IF WS-TT-Token-Is-Keyword-BOOL
  2518 GC1010         OR WS-TT-Token-Is-Reserved-Wd-BOOL
  2519 GC1010             MOVE WS-Token-Curr-Uc-TXT TO WS-Token-Curr-TXT
  2520 GC1010         END-IF
  2521                IF WS-TT-Token-Is-Verb-BOOL
  2522                    MOVE WS-Token-Curr-Uc-TXT TO WS-Curr-Verb-TXT
  2523                                                 WS-Token-Prev-TXT
  2524                    IF WS-Held-Reference-TXT NOT = SPACES
  2525                        MOVE WS-Held-Reference-TXT TO F-Sort-Work-REC
  2526                        MOVE SPACES         TO WS-Held-Reference-TXT
  2527                        RELEASE F-Sort-Work-REC
  2528                    END-IF
  2529                END-IF
  2530                EVALUATE TRUE
  2531                WHEN WS-CD-In-IDENT-DIV-BOOL
  2532                    PERFORM 320-IDENTIFICATION-DIVISION
  2533                WHEN WS-CD-In-ENV-DIV-BOOL
  2534                    PERFORM 330-ENVIRONMENT-DIVISION
  2535                WHEN WS-CD-In-DATA-DIV-BOOL
  2536                    PERFORM 340-DATA-DIVISION
  2537                WHEN WS-CD-In-PROC-DIV-BOOL
  2538                    PERFORM 350-PROCEDURE-DIVISION
  2539                END-EVALUATE
  2540                IF WS-TT-Token-Is-Keyword-BOOL
  2541                    MOVE WS-Token-Curr-Uc-TXT TO WS-Token-Prev-TXT
  2542                END-IF
  2543                IF WS-RS-Token-Ended-Sentence-CHR = 'Y'
  2544                AND WS-Curr-Division-TXT NOT = 'I'
  2545                    MOVE SPACES TO WS-Token-Prev-TXT
  2546                                   WS-Curr-Verb-TXT
  2547                END-IF
  2548
  2549            END-PERFORM

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 62

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 63
====== =========================================================================================
  2550            CLOSE F-Expanded-Src-FILE
  2551            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 63

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 64
====== =========================================================================================

  2553        310-Get-Token SECTION.
  2554       *>-- Position to 1st non-blank character
  2555            MOVE WS-RS-Token-Ended-Sentence-CHR
  2556              TO WS-RS-Last-Token-Ended-Sent-CHR
  2557            MOVE 'N' TO WS-RS-Token-Ended-Sentence-CHR
  2558            PERFORM UNTIL F-Expanded-Src-REC(WS-Src-SUB : 1) NOT = SPACE
  2559                IF WS-Src-SUB > 255
  2560                    READ F-Expanded-Src-FILE AT END
  2561                        IF WS-Held-Reference-TXT NOT = SPACES
  2562                            MOVE WS-Held-Reference-TXT TO F-Sort-Work-REC
  2563                            MOVE SPACES         TO WS-Held-Reference-TXT
  2564                            RELEASE F-Sort-Work-REC
  2565                        END-IF
  2566                        SET WS-TT-Token-Is-EOF-BOOL TO TRUE
  2567                        MOVE 0 TO WS-Curr-Line-NUM
  2568                        EXIT SECTION
  2569                    END-READ
  2570 GC0712             IF F-ES-1-7-TXT NOT = '#DEFLIT'
  2571 GC0712                 IF F-ES-1-CHR = '#'
  2572 GC0712                     PERFORM 311-Control-Record
  2573 GC0712                 ELSE
  2574 GC0712                     PERFORM 312-Expanded-Src-Record
  2575 GC0712                 END-IF
  2576 GC0712             END-IF
  2577                ELSE
  2578                    ADD 1 TO WS-Src-SUB
  2579                END-IF
  2580            END-PERFORM
  2581       *>-- Extract token string
  2582            MOVE F-Expanded-Src-REC(WS-Src-SUB : 1)
  2583              TO WS-Curr-CHR
  2584            MOVE F-Expanded-Src-REC(WS-Src-SUB + 1: 1)
  2585              TO WS-Next-CHR
  2586            IF WS-Curr-CHR = '.'
  2587                ADD 1 TO WS-Src-SUB
  2588                MOVE WS-Curr-CHR TO WS-Token-Curr-TXT
  2589                MOVE SPACE TO WS-Token-Type-CD
  2590                MOVE 'Y' TO WS-RS-Token-Ended-Sentence-CHR
  2591                EXIT SECTION
  2592            END-IF
  2593            IF WS-Curr-Char-Is-Punct-BOOL
  2594            AND WS-Curr-CHR = '='
  2595            AND WS-Curr-Division-TXT = 'P'
  2596                ADD 1 TO WS-Src-SUB
  2597                MOVE 'EQUALS' TO WS-Token-Curr-TXT
  2598                MOVE 'K'      TO WS-Token-Type-CD
  2599                EXIT SECTION
  2600            END-IF

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 64

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 65
====== =========================================================================================
  2601            IF WS-Curr-Char-Is-Punct-BOOL *> So subscripts don't get flagged w/ '*'
  2602            AND WS-Curr-CHR = '('
  2603            AND WS-Curr-Division-TXT = 'P'
  2604                MOVE SPACES TO WS-Token-Prev-TXT
  2605            END-IF
  2606            IF WS-Curr-Char-Is-Punct-BOOL
  2607                ADD 1 TO WS-Src-SUB
  2608                MOVE WS-Curr-CHR TO WS-Token-Curr-TXT
  2609                MOVE SPACE TO WS-Token-Type-CD
  2610                EXIT SECTION
  2611            END-IF
  2612            IF WS-Curr-Char-Is-Quote-BOOL
  2613                ADD 1 TO WS-Src-SUB
  2614                UNSTRING F-Expanded-Src-REC
  2615                    DELIMITED BY WS-Curr-CHR
  2616                    INTO WS-Token-Curr-TXT
  2617                    WITH POINTER WS-Src-SUB
  2618                IF F-Expanded-Src-REC(WS-Src-SUB : 1) = '.'
  2619                    MOVE 'Y' TO WS-RS-Token-Ended-Sentence-CHR
  2620                    ADD 1 TO WS-Src-SUB
  2621                END-IF
  2622                SET WS-TT-Token-Is-Lit-Alpha-BOOL TO TRUE
  2623                EXIT SECTION
  2624            END-IF
  2625            IF WS-Curr-Char-Is-X-BOOL AND WS-Next-Char-Is-Quote-BOOL
  2626                ADD 2 TO WS-Src-SUB
  2627                UNSTRING F-Expanded-Src-REC
  2628                    DELIMITED BY WS-Next-CHR
  2629                    INTO WS-Token-Curr-TXT
  2630                    WITH POINTER WS-Src-SUB
  2631                IF F-Expanded-Src-REC(WS-Src-SUB : 1) = '.'
  2632                    MOVE 'Y' TO WS-RS-Token-Ended-Sentence-CHR
  2633                    ADD 1 TO WS-Src-SUB
  2634                END-IF
  2635                SET WS-TT-Token-Is-Lit-Number-BOOL TO TRUE
  2636                EXIT SECTION
  2637            END-IF
  2638            IF WS-Curr-Char-Is-Z-BOOL AND WS-Next-Char-Is-Quote-BOOL
  2639                ADD 2 TO WS-Src-SUB
  2640                UNSTRING F-Expanded-Src-REC
  2641                    DELIMITED BY WS-Next-CHR
  2642                    INTO WS-Token-Curr-TXT
  2643                    WITH POINTER WS-Src-SUB
  2644                IF F-Expanded-Src-REC(WS-Src-SUB : 1) = '.'
  2645                    MOVE 'Y' TO WS-RS-Token-Ended-Sentence-CHR
  2646                    ADD 1 TO WS-Src-SUB
  2647                END-IF
  2648                SET WS-TT-Token-Is-Lit-Alpha-BOOL TO TRUE
  2649                EXIT SECTION

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 65

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 66
====== =========================================================================================
  2650            END-IF
  2651            IF WS-RS-Processing-PICTURE-CHR = 'Y'
  2652                UNSTRING F-Expanded-Src-REC
  2653                    DELIMITED BY '. ' OR ' '
  2654                    INTO WS-Token-Curr-TXT
  2655                    DELIMITER IN WS-Delim-TXT
  2656                    WITH POINTER WS-Src-SUB
  2657                IF WS-Delim-TXT = '. '
  2658                    MOVE 'Y' TO WS-RS-Token-Ended-Sentence-CHR
  2659                    ADD 1 TO WS-Src-SUB
  2660                END-IF
  2661                IF UPPER-CASE(WS-Token-Curr-TXT) = 'IS'
  2662                    MOVE SPACE TO WS-Token-Type-CD
  2663                    EXIT SECTION
  2664                ELSE
  2665                    MOVE 'N' TO WS-RS-Processing-PICTURE-CHR
  2666                    MOVE SPACE TO WS-Token-Type-CD
  2667                    EXIT SECTION
  2668                END-IF
  2669            END-IF
  2670            UNSTRING F-Expanded-Src-REC
  2671                DELIMITED BY '. ' OR ' ' OR '=' OR '(' OR ')' OR '*'
  2672                                  OR '/' OR '&' OR ';' OR ',' OR '<'
  2673                                  OR '>' OR ':'
  2674                INTO WS-Token-Curr-TXT
  2675                DELIMITER IN WS-Delim-TXT
  2676                WITH POINTER WS-Src-SUB
  2677            IF WS-Delim-TXT = '. '
  2678                MOVE 'Y' TO WS-RS-Token-Ended-Sentence-CHR
  2679            END-IF
  2680            IF WS-Delim-TXT NOT = '. ' AND ' '
  2681                SUBTRACT 1 FROM WS-Src-SUB
  2682            END-IF
  2683       *>-- Classify Token
  2684            MOVE UPPER-CASE(WS-Token-Curr-TXT) TO WS-Token-Search-TXT
  2685            IF WS-Token-Search-TXT = 'EQUAL' OR 'EQUALS'
  2686                MOVE 'EQUALS' TO WS-Token-Curr-TXT
  2687                MOVE 'K'      TO WS-Token-Type-CD
  2688                EXIT SECTION
  2689            END-IF
  2690            SEARCH ALL WS-Reserved-Word-TXT
  2691                WHEN WS-RW-Word-TXT (WS-RW-IDX) = WS-Token-Search-TXT
  2692                    MOVE WS-RW-Type-CD (WS-RW-IDX) TO WS-Token-Type-CD
  2693 GC0710             IF WS-TT-Token-Is-Verb-BOOL
  2694 GC0710                 MOVE 'Y' TO WS-RS-Verb-Has-Been-Found-CHR
  2695 GC0710             END-IF
  2696                    EXIT SECTION
  2697            END-SEARCH
  2698       *>-- Not a reserved word, must be a user name

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 66

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 67
====== =========================================================================================
  2699            SET WS-TT-Token-Is-Identifier-BOOL TO TRUE
  2700            PERFORM 313-Check-For-Numeric-Token
  2701            IF WS-TT-Token-Is-Lit-Number-BOOL
  2702                IF  (WS-RS-Last-Token-Ended-Sent-CHR = 'Y')
  2703                AND (WS-Curr-Division-TXT = 'D')
  2704                    MOVE 'LEVEL #' TO WS-Token-Curr-TXT
  2705                    MOVE 'K'       TO WS-Token-Type-CD
  2706                    EXIT SECTION
  2707                ELSE
  2708                    EXIT SECTION
  2709                END-IF
  2710            END-IF
  2711            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 67

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 68
====== =========================================================================================

  2713        311-Control-Record SECTION.
  2714            UNSTRING F-ES-2-256-TXT-256
  2715                DELIMITED BY '"'
  2716                INTO WS-Temp-10-Chars-TXT
  2717                     WS-Temp-256-Chars-TXT
  2718                     WS-Dummy-TXT
  2719            INSPECT WS-Temp-10-Chars-TXT REPLACING ALL '"' BY SPACE
  2720 GC0712     IF WS-Temp-10-Chars-TXT(1:4) = 'line'
  2721 GC0712         MOVE SPACES TO WS-Temp-10-Chars-TXT(1:4)
  2722 GC0712     END-IF
  2723            COMPUTE WS-I-SUB = NUMVAL(WS-Temp-10-Chars-TXT) - 1
  2724 GC1010     IF UPPER-CASE(TRIM(WS-Temp-256-Chars-TXT,Trailing)) =
  2725 GC1010        TRIM(WS-Main-Module-Name-TXT)
  2726                MOVE WS-I-SUB TO WS-Curr-Line-NUM
  2727                SET WS-RS-In-Main-Module-BOOL TO TRUE
  2728                IF WS-Saved-Section-TXT NOT = SPACES
  2729                    MOVE WS-Saved-Section-TXT TO WS-Curr-Section-TXT
  2730                END-IF
  2731            ELSE
  2732                SET WS-RS-In-Copybook-BOOL TO TRUE
  2733                IF WS-Saved-Section-TXT = SPACES
  2734                    MOVE WS-Curr-Section-TXT TO WS-Saved-Section-TXT
  2735                END-IF
  2736                MOVE LENGTH(TRIM(WS-Temp-256-Chars-TXT,Trailing))
  2737                  TO WS-I-SUB
  2738                MOVE 0 TO WS-J-SUB
  2739                PERFORM UNTIL WS-Temp-256-Chars-TXT(WS-I-SUB:1) = '/'
  2740                           OR WS-I-SUB = 0
  2741                    SUBTRACT 1 FROM WS-I-SUB
  2742                    ADD      1 TO   WS-J-SUB
  2743                END-PERFORM
  2744                UNSTRING WS-Temp-256-Chars-TXT((WS-I-SUB + 1):WS-J-SUB)
  2745                    DELIMITED BY '.'
  2746                    INTO WS-Filename-TXT
  2747                         WS-Dummy-TXT
  2748                MOVE '['      TO WS-CS-1-CHR
  2749                MOVE WS-Filename-TXT TO WS-CS-2-14-TXT
  2750                IF WS-CS-11-14-TXT NOT = SPACES
  2751                    MOVE '...' TO WS-CS-11-14-TXT
  2752                END-IF
  2753                MOVE ']'      TO WS-CS-15-CHR
  2754            END-IF
  2755            MOVE SPACES TO F-Expanded-Src-REC *> Force another READ
  2756            MOVE 256    TO WS-Src-SUB
  2757            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 68

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 69
====== =========================================================================================

  2759        312-Expanded-Src-Record SECTION.
  2760 GC0314     IF F-Expanded-Src-REC(1:1) = SPACE
  2761 GC0314         MOVE 2 TO WS-Src-SUB
  2762 GC0314     ELSE
  2763 GC0314         MOVE 1 TO WS-Src-SUB
  2764 GC0314     END-IF
  2765            IF WS-RS-In-Main-Module-BOOL
  2766                ADD 1 To WS-Curr-Line-NUM
  2767            END-IF
  2768            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 69

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 70
====== =========================================================================================

  2770        313-Check-For-Numeric-Token SECTION.
  2771            MOVE WS-Token-Curr-TXT TO WS-Temp-32-Chars-1-TXT
  2772            INSPECT WS-Temp-32-Chars-1-TXT
  2773 GC0711         CONVERTING '0123456789' TO SPACES
  2774 GC0711     IF WS-Temp-32-Chars-1-TXT = SPACES                      *> Simple Unsigned Int
       eger
  2775                SET WS-TT-Token-Is-Lit-Number-BOOL TO TRUE
  2776                EXIT SECTION
  2777            END-IF
  2778 GC0711     MOVE SPACES TO WS-Temp-32-Chars-2-TXT
  2779 GC0711                    WS-Temp-32-Chars-3-TXT
  2780 GC0711                    WS-Dummy-TXT
  2781 GC0711     UNSTRING WS-Temp-32-Chars-1-TXT
  2782 GC0711         DELIMITED BY 'e' OR 'E'
  2783 GC0711         INTO WS-Temp-32-Chars-2-TXT
  2784 GC0711              WS-Temp-32-Chars-3-TXT
  2785 GC0711              WS-Dummy-TXT
  2786 GC0711     IF WS-Dummy-TXT NOT = SPACES                    *> More than one 'E' - Not Num
       eric
  2787 GC0711         EXIT SECTION
  2788 GC0711     END-IF
  2789 GC0711     IF WS-Temp-32-Chars-2-TXT(1:1) = '+' OR '-'
  2790 GC0711         MOVE SPACE TO WS-Temp-32-Chars-2-TXT(1:1)
  2791 GC0711     END-IF
  2792 GC0711     IF WS-Temp-32-Chars-3-TXT(1:1) = '+' OR '-'
  2793 GC0711         MOVE SPACE TO WS-Temp-32-Chars-3-TXT(1:1)
  2794 GC0711     END-IF
  2795            MOVE 0 TO WS-Tally-QTY
  2796 GC0711     INSPECT WS-Temp-32-Chars-2-TXT
  2797                TALLYING WS-Tally-QTY FOR ALL '.'
  2798            IF WS-Tally-QTY = 1
  2799 GC0711         INSPECT WS-Temp-32-Chars-2-TXT REPLACING ALL '.' BY SPACE
  2800            END-IF
  2801 GC0711     INSPECT WS-Temp-32-Chars-3-TXT
  2802 GC0711         TALLYING WS-Tally-QTY FOR ALL '.'
  2803 GC0711     IF WS-Tally-QTY = 1
  2804 GC0711         INSPECT WS-Temp-32-Chars-3-TXT REPLACING ALL '.' BY SPACE
  2805 GC0711     END-IF
  2806 GC0711     IF WS-Temp-32-Chars-2-TXT = SPACES AND WS-Temp-32-Chars-3-TXT = SPACES
  2807                SET WS-TT-Token-Is-Lit-Number-BOOL TO TRUE
  2808                EXIT SECTION
  2809            END-IF
  2810            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 70

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 71
====== =========================================================================================

  2812        320-IDENTIFICATION-DIVISION SECTION.
  2813 GC0712     IF WS-TT-Token-Is-Argtype-BOOL
  2814 GC0712         SET WS-TT-Token-Is-Reserved-Wd-BOOL TO TRUE
  2815 GC0712     END-IF
  2816 GC0710     MOVE 'N' TO WS-RS-Verb-Has-Been-Found-CHR
  2817            IF WS-TT-Token-Is-Keyword-BOOL
  2818            AND WS-Token-Curr-TXT = 'DIVISION'
  2819                MOVE WS-Token-Prev-TXT TO WS-Curr-Division-TXT
  2820                EXIT SECTION
  2821            END-IF
  2822 GC0712     IF WS-Token-Prev-TXT = 'PROGRAM-ID' OR 'FUNCTION-ID'
  2823                MOVE SPACES TO WS-Token-Prev-TXT
  2824                MOVE WS-Token-Curr-TXT TO WS-Curr-Prog-ID-TXT
  2825 GC0712         IF WS-CPI-16-CHR NOT = SPACES
  2826                    MOVE '...' TO WS-CPI-13-15-TXT
  2827                END-IF
  2828                EXIT SECTION
  2829            END-IF
  2830            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 71

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 72
====== =========================================================================================

  2832        330-ENVIRONMENT-DIVISION SECTION.
  2833 GC0712     IF WS-TT-Token-Is-Argtype-BOOL
  2834 GC0712         SET WS-TT-Token-Is-Reserved-Wd-BOOL TO TRUE
  2835 GC0712     END-IF
  2836            IF WS-TT-Token-Is-Keyword-BOOL
  2837            AND WS-Token-Curr-TXT = 'DIVISION'
  2838                MOVE WS-Token-Prev-TXT TO WS-Curr-Division-TXT
  2839                EXIT SECTION
  2840            END-IF
  2841            IF WS-TT-Token-Is-Keyword-BOOL
  2842            AND WS-Token-Curr-TXT = 'SECTION'
  2843                MOVE WS-Token-Prev-TXT TO WS-Curr-Section-TXT
  2844                EXIT SECTION
  2845            END-IF
  2846            IF WS-TT-Token-Is-Identifier-BOOL
  2847 GC0712         IF WS-Token-Prev-TXT = 'FUNCTION'
  2848 GC0712             PERFORM 360-Release-Def
  2849 GC0712         ELSE
  2850 GC0712             PERFORM 361-Release-Ref
  2851 GC0712         END-IF
  2852            END-IF
  2853 GC1213     IF WS-TT-Token-Is-Function-BOOL
  2854 GC1213         PERFORM 361-Release-Ref
  2855 GC1213     END-IF
  2856            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 72

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 73
====== =========================================================================================

  2858        340-DATA-DIVISION SECTION.
  2859 GC0712     IF WS-TT-Token-Is-Argtype-BOOL
  2860 GC0712         SET WS-TT-Token-Is-Reserved-Wd-BOOL TO TRUE
  2861 GC0712     END-IF
  2862            IF WS-TT-Token-Is-Keyword-BOOL
  2863            AND WS-Token-Curr-TXT = 'DIVISION'
  2864                MOVE WS-Token-Prev-TXT TO WS-Curr-Division-TXT
  2865                EXIT SECTION
  2866            END-IF
  2867            IF WS-TT-Token-Is-Keyword-BOOL
  2868            AND WS-Token-Curr-TXT = 'SECTION'
  2869                MOVE WS-Token-Prev-TXT TO WS-Curr-Section-TXT
  2870                EXIT SECTION
  2871            END-IF
  2872            IF  (WS-Token-Curr-TXT = 'PIC' OR 'PICTURE')
  2873            AND (WS-TT-Token-Is-Keyword-BOOL)
  2874                MOVE 'Y' TO WS-RS-Processing-PICTURE-CHR
  2875                EXIT SECTION
  2876            END-IF
  2877 GC0710     IF WS-TT-Token-Is-Reserved-Wd-BOOL
  2878 GC0710     AND WS-Token-Prev-TXT = 'LEVEL #'
  2879 GC0710         MOVE SPACES TO WS-Token-Prev-TXT
  2880 GC0710         EXIT SECTION
  2881 GC0710     END-IF
  2882            IF WS-TT-Token-Is-Identifier-BOOL
  2883                EVALUATE WS-Token-Prev-TXT
  2884                WHEN 'FD'
  2885                    PERFORM 360-Release-Def
  2886                    MOVE SPACES TO WS-Token-Prev-TXT
  2887 GC1213         WHEN 'RD'
  2888 GC1213             PERFORM 360-Release-Def
  2889 GC1213             MOVE SPACES TO WS-Token-Prev-TXT
  2890                WHEN 'SD'
  2891                    PERFORM 360-Release-Def
  2892                    MOVE SPACES TO WS-Token-Prev-TXT
  2893                WHEN 'LEVEL #'
  2894                    PERFORM 360-Release-Def
  2895                    MOVE SPACES TO WS-Token-Prev-TXT
  2896                WHEN 'INDEXED'
  2897                    PERFORM 360-Release-Def
  2898                    MOVE SPACES TO WS-Token-Prev-TXT
  2899                WHEN 'USING'
  2900                    PERFORM 362-Release-Upd
  2901                    MOVE SPACES TO WS-Token-Prev-TXT
  2902                WHEN 'INTO'
  2903                    PERFORM 362-Release-Upd
  2904                    MOVE SPACES TO WS-Token-Prev-TXT
  2905                WHEN OTHER

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 73

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 74
====== =========================================================================================
  2906 GC1213             IF WS-Token-Curr-TXT NOT = 'SUM'
  2907 GC1213                 PERFORM 361-Release-Ref
  2908 GC1213             END-IF
  2909                END-EVALUATE
  2910                EXIT SECTION
  2911            END-IF
  2912            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 74

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 75
====== =========================================================================================

  2914        350-PROCEDURE-DIVISION SECTION.
  2915            IF WS-Curr-Section-TXT NOT = 'PROCEDURE'
  2916                MOVE 'PROCEDURE' TO WS-Curr-Section-TXT
  2917            END-IF
  2918 GC0710     IF WS-Token-Curr-Uc-TXT = 'PROGRAM'
  2919 GC0710     AND WS-Token-Prev-TXT = 'END'
  2920 GC0710         MOVE '?' TO WS-Curr-Division-TXT
  2921 GC0710         EXIT SECTION
  2922 GC0710     END-IF
  2923            IF WS-TT-Token-Is-Keyword-BOOL
  2924            AND WS-Token-Curr-TXT = 'DIVISION'
  2925                MOVE WS-Token-Prev-TXT TO WS-Curr-Division-TXT
  2926                EXIT SECTION
  2927            END-IF
  2928 GC0313     IF WS-TT-Token-Is-Identifier-BOOL
  2929 GC0313     AND WS-Token-Prev-TXT = SPACES
  2930 GC0313     AND WS-Curr-Verb-TXT = SPACES
  2931 GC0313*> ----- Definition of a Paragraph or Section
  2932 GC0313         PERFORM 360-Release-Def
  2933 GC0313         MOVE SPACES TO WS-Token-Prev-TXT
  2934 GC0313         EXIT SECTION
  2935 GC0313     END-IF
  2936            IF NOT WS-TT-Token-Is-Identifier-BOOL
  2937                EXIT SECTION
  2938            END-IF
  2939            EVALUATE WS-Curr-Verb-TXT
  2940            WHEN 'ACCEPT'
  2941                PERFORM 351-ACCEPT
  2942            WHEN 'ADD'
  2943                PERFORM 351-ADD
  2944            WHEN 'ALLOCATE'
  2945                PERFORM 351-ALLOCATE
  2946            WHEN 'CALL'
  2947                PERFORM 351-CALL
  2948            WHEN 'COMPUTE'
  2949                PERFORM 351-COMPUTE
  2950            WHEN 'DIVIDE'
  2951                PERFORM 351-DIVIDE
  2952            WHEN 'FREE'
  2953                PERFORM 351-FREE
  2954 GC1213     WHEN 'GENERATE'
  2955 GC1213         PERFORM 351-GENERATE
  2956            WHEN 'INITIALIZE'
  2957                PERFORM 351-INITIALIZE
  2958 GC1213     WHEN 'INITIATE'
  2959 GC1213         PERFORM 351-GENERATE
  2960            WHEN 'INSPECT'
  2961                PERFORM 351-INSPECT

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 75

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 76
====== =========================================================================================
  2962            WHEN 'MOVE'
  2963                PERFORM 351-MOVE
  2964            WHEN 'MULTIPLY'
  2965                PERFORM 351-MULTIPLY
  2966            WHEN 'PERFORM'
  2967                PERFORM 351-PERFORM
  2968            WHEN 'SET'
  2969                PERFORM 351-SET
  2970            WHEN 'STRING'
  2971                PERFORM 351-STRING
  2972            WHEN 'SUBTRACT'
  2973                PERFORM 351-SUBTRACT
  2974 GC1213     WHEN 'TERMINATE'
  2975 GC1213         PERFORM 351-GENERATE
  2976            WHEN 'TRANSFORM'
  2977                PERFORM 351-TRANSFORM
  2978            WHEN 'UNSTRING'
  2979                PERFORM 351-UNSTRING
  2980            WHEN OTHER
  2981                PERFORM 361-Release-Ref
  2982            END-EVALUATE
  2983            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 76

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 77
====== =========================================================================================

  2985        351-ACCEPT SECTION.
  2986            EVALUATE WS-Token-Prev-TXT
  2987            WHEN 'ACCEPT'
  2988                PERFORM 362-Release-Upd
  2989                MOVE SPACES TO WS-Token-Prev-TXT
  2990            WHEN OTHER
  2991                PERFORM 361-Release-Ref
  2992            END-EVALUATE
  2993            .
  2994
  2995        351-ADD SECTION.
  2996            EVALUATE WS-Token-Prev-TXT
  2997            WHEN 'GIVING'
  2998                PERFORM 362-Release-Upd
  2999            WHEN 'TO'
  3000                PERFORM 362-Release-Upd
  3001            WHEN OTHER
  3002                PERFORM 361-Release-Ref
  3003            END-EVALUATE
  3004            .
  3005
  3006        351-ALLOCATE SECTION.
  3007            EVALUATE WS-Token-Prev-TXT
  3008            WHEN 'ALLOCATE'
  3009                PERFORM 362-Release-Upd
  3010                MOVE SPACES TO WS-Token-Prev-TXT
  3011            WHEN 'RETURNING'
  3012                PERFORM 362-Release-Upd
  3013            WHEN OTHER
  3014                PERFORM 361-Release-Ref
  3015            END-EVALUATE
  3016            .
  3017
  3018        351-CALL SECTION.
  3019            EVALUATE WS-Token-Prev-TXT
  3020            WHEN 'RETURNING'
  3021                PERFORM 362-Release-Upd
  3022            WHEN 'GIVING'
  3023                PERFORM 362-Release-Upd
  3024            WHEN OTHER
  3025 GC1213        PERFORM 365-Release-Arg
  3026            END-EVALUATE
  3027            .
  3028
  3029        351-COMPUTE SECTION.
  3030            EVALUATE WS-Token-Prev-TXT
  3031            WHEN 'COMPUTE'
  3032                PERFORM 362-Release-Upd

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 77

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 78
====== =========================================================================================
  3033            WHEN OTHER
  3034                PERFORM 361-Release-Ref
  3035            END-EVALUATE
  3036            .
  3037
  3038        351-DIVIDE SECTION.
  3039            EVALUATE WS-Token-Prev-TXT
  3040            WHEN 'INTO'
  3041                PERFORM 363-Set-Upd
  3042                MOVE F-Sort-Work-REC TO WS-Held-Reference-TXT
  3043            WHEN 'GIVING'
  3044                IF WS-Held-Reference-TXT NOT = SPACES
  3045                    MOVE WS-Held-Reference-TXT To F-Sort-Work-REC
  3046                    MOVE SPACES         To WS-Held-Reference-TXT
  3047                                           F-SW-Ref-Flag-CHR
  3048                    RELEASE F-Sort-Work-REC
  3049                END-IF
  3050                PERFORM 362-Release-Upd
  3051            WHEN 'REMAINDER'
  3052                PERFORM 362-Release-Upd
  3053            WHEN OTHER
  3054                PERFORM 361-Release-Ref
  3055            END-EVALUATE
  3056            .
  3057
  3058        351-FREE SECTION.
  3059            PERFORM 362-Release-Upd
  3060            .
  3061
  3062 GC1213 351-GENERATE SECTION.
  3063 GC1213     PERFORM 362-Release-Upd
  3064 GC1213     .
  3065
  3066        351-INITIALIZE SECTION.
  3067            EVALUATE WS-Token-Prev-TXT
  3068            WHEN 'INITIALIZE'
  3069                PERFORM 362-Release-Upd
  3070            WHEN 'REPLACING'
  3071                PERFORM 361-Release-Ref
  3072            END-EVALUATE
  3073            .
  3074
  3075 GC1213 351-INITIATE SECTION.
  3076 GC1213     PERFORM 362-Release-Upd
  3077 GC1213     .
  3078
  3079        351-INSPECT SECTION.
  3080            EVALUATE WS-Token-Prev-TXT
  3081            WHEN 'INSPECT'

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 78

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 79
====== =========================================================================================
  3082                PERFORM 364-Set-Ref
  3083                MOVE SPACES TO WS-Held-Reference-TXT
  3084                MOVE SPACES TO WS-Token-Prev-TXT
  3085            WHEN 'TALLYING'
  3086                PERFORM 362-Release-Upd
  3087                MOVE SPACES TO WS-Token-Prev-TXT
  3088            WHEN 'REPLACING'
  3089                IF WS-Held-Reference-TXT NOT = SPACES
  3090                    MOVE WS-Held-Reference-TXT TO F-Sort-Work-REC
  3091                    MOVE SPACES         TO WS-Held-Reference-TXT
  3092                    MOVE '*'            TO F-SW-Ref-Flag-CHR
  3093                    RELEASE F-Sort-Work-REC
  3094                END-IF
  3095                MOVE SPACES TO WS-Token-Prev-TXT
  3096            WHEN 'CONVERTING'
  3097                IF WS-Held-Reference-TXT NOT = SPACES
  3098                    MOVE WS-Held-Reference-TXT TO F-Sort-Work-REC
  3099                    MOVE SPACES         TO WS-Held-Reference-TXT
  3100                    MOVE '*'            TO F-SW-Ref-Flag-CHR
  3101                    RELEASE F-Sort-Work-REC
  3102                END-IF
  3103                MOVE SPACES TO WS-Token-Prev-TXT
  3104            WHEN OTHER
  3105                PERFORM 361-Release-Ref
  3106            END-EVALUATE
  3107           .
  3108
  3109        351-MOVE SECTION.
  3110            EVALUATE WS-Token-Prev-TXT
  3111            WHEN 'TO'
  3112                PERFORM 362-Release-Upd
  3113            WHEN OTHER
  3114                PERFORM 361-Release-Ref
  3115            END-EVALUATE
  3116            .
  3117
  3118        351-MULTIPLY SECTION.
  3119            EVALUATE WS-Token-Prev-TXT
  3120            WHEN 'BY'
  3121                PERFORM 363-Set-Upd
  3122                MOVE F-Sort-Work-REC TO WS-Held-Reference-TXT
  3123            WHEN 'GIVING'
  3124                MOVE WS-Held-Reference-TXT TO F-Sort-Work-REC
  3125                MOVE SPACES         TO WS-Held-Reference-TXT
  3126                                       F-SW-Ref-Flag-CHR
  3127                RELEASE F-Sort-Work-REC
  3128                PERFORM 362-Release-Upd
  3129            WHEN OTHER
  3130                PERFORM 361-Release-Ref

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 79

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 80
====== =========================================================================================
  3131            END-EVALUATE
  3132            .
  3133
  3134        351-PERFORM SECTION.
  3135            EVALUATE WS-Token-Prev-TXT
  3136            WHEN 'VARYING'
  3137                PERFORM 362-Release-Upd
  3138                MOVE SPACES TO WS-Token-Prev-TXT
  3139            WHEN 'AFTER'
  3140                PERFORM 362-Release-Upd
  3141                MOVE SPACES TO WS-Token-Prev-TXT
  3142            WHEN OTHER
  3143                PERFORM 361-Release-Ref
  3144            END-EVALUATE
  3145            .
  3146
  3147        351-SET SECTION.
  3148            EVALUATE WS-Token-Prev-TXT
  3149            WHEN 'SET'
  3150                PERFORM 362-Release-Upd
  3151            WHEN OTHER
  3152                PERFORM 361-Release-Ref
  3153            END-EVALUATE
  3154            .
  3155
  3156        351-STRING SECTION.
  3157            EVALUATE WS-Token-Prev-TXT
  3158            WHEN 'INTO'
  3159                PERFORM 362-Release-Upd
  3160            WHEN 'POINTER'
  3161                PERFORM 362-Release-Upd
  3162            WHEN OTHER
  3163                PERFORM 361-Release-Ref
  3164            END-EVALUATE
  3165            .
  3166
  3167        351-SUBTRACT SECTION.
  3168            EVALUATE WS-Token-Prev-TXT
  3169            WHEN 'GIVING'
  3170                PERFORM 362-Release-Upd
  3171            WHEN 'FROM'
  3172                PERFORM 362-Release-Upd
  3173            WHEN OTHER
  3174                PERFORM 361-Release-Ref
  3175            END-EVALUATE
  3176            .
  3177
  3178 GC1213 351-TERMINATE SECTION.
  3179 GC1213     PERFORM 362-Release-Upd

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 80

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 81
====== =========================================================================================
  3180 GC1213     .
  3181
  3182        351-TRANSFORM SECTION.
  3183            EVALUATE WS-Token-Prev-TXT
  3184            WHEN 'TRANSFORM'
  3185                PERFORM 362-Release-Upd
  3186                MOVE SPACES TO WS-Token-Prev-TXT
  3187            WHEN OTHER
  3188                PERFORM 361-Release-Ref
  3189            END-EVALUATE
  3190            .
  3191
  3192        351-UNSTRING SECTION.
  3193            EVALUATE WS-Token-Prev-TXT
  3194            WHEN 'INTO'
  3195                PERFORM 362-Release-Upd
  3196            WHEN 'DELIMITER'
  3197                PERFORM 362-Release-Upd
  3198            WHEN 'COUNT'
  3199                PERFORM 362-Release-Upd
  3200            WHEN 'POINTER'
  3201                PERFORM 362-Release-Upd
  3202            WHEN 'TALLYING'
  3203                PERFORM 362-Release-Upd
  3204            WHEN OTHER
  3205                PERFORM 361-Release-Ref
  3206            END-EVALUATE
  3207            .
  3208
  3209        360-Release-Def SECTION.
  3210            MOVE SPACES                 TO F-Sort-Work-REC
  3211            MOVE WS-Curr-Prog-ID-TXT    TO F-SW-Prog-ID-TXT
  3212            MOVE WS-Token-Curr-Uc-TXT   TO F-SW-Token-Uc-TXT
  3213            MOVE WS-Token-Curr-TXT      TO F-SW-Token-TXT
  3214            MOVE WS-Curr-Section-TXT    TO F-SW-Section-TXT
  3215            MOVE WS-Curr-Line-NUM       TO F-SW-Def-Line-NUM
  3216            MOVE 0                      TO F-SW-Ref-Line-NUM
  3217            RELEASE F-Sort-Work-REC
  3218            .
  3219
  3220        361-Release-Ref SECTION.
  3221            PERFORM 364-Set-Ref
  3222            RELEASE F-Sort-Work-REC
  3223            .
  3224
  3225        362-Release-Upd SECTION.
  3226            PERFORM 363-Set-Upd
  3227            RELEASE F-Sort-Work-REC
  3228            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 81

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 82
====== =========================================================================================
  3229
  3230        363-Set-Upd SECTION.
  3231            MOVE SPACES                 TO F-Sort-Work-REC
  3232            MOVE WS-Curr-Prog-ID-TXT    TO F-SW-Prog-ID-TXT
  3233            MOVE WS-Token-Curr-Uc-TXT   TO F-SW-Token-Uc-TXT
  3234            MOVE WS-Token-Curr-TXT      TO F-SW-Token-TXT
  3235            MOVE WS-Curr-Section-TXT    TO F-SW-Section-TXT
  3236            MOVE WS-Curr-Line-NUM       TO F-SW-Ref-Line-NUM
  3237            MOVE '*'                    TO F-SW-Ref-Flag-CHR
  3238            .
  3239
  3240        364-Set-Ref SECTION.
  3241            MOVE SPACES                 TO F-Sort-Work-REC
  3242            MOVE WS-Curr-Prog-ID-TXT    TO F-SW-Prog-ID-TXT
  3243            MOVE WS-Token-Curr-Uc-TXT   TO F-SW-Token-Uc-TXT
  3244            MOVE WS-Token-Curr-TXT      TO F-SW-Token-TXT
  3245            MOVE WS-Curr-Section-TXT    TO F-SW-Section-TXT
  3246            MOVE WS-Curr-Line-NUM       TO F-SW-Ref-Line-NUM
  3247            .
  3248
  3249 GC1213 365-Release-Arg SECTION.
  3250 GC1213     PERFORM 366-Set-Arg
  3251 GC1213     RELEASE F-Sort-Work-REC
  3252 GC1213     .
  3253
  3254 GC1213 366-Set-Arg SECTION.
  3255 GC1213     MOVE SPACES                 TO F-Sort-Work-REC
  3256 GC1213     MOVE WS-Curr-Prog-ID-TXT    TO F-SW-Prog-ID-TXT
  3257 GC1213     MOVE WS-Token-Curr-Uc-TXT   TO F-SW-Token-Uc-TXT
  3258 GC1213     MOVE WS-Token-Curr-TXT      TO F-SW-Token-TXT
  3259 GC1213     MOVE WS-Curr-Section-TXT    TO F-SW-Section-TXT
  3260 GC1213     MOVE WS-Curr-Line-NUM       TO F-SW-Ref-Line-NUM
  3261 GC1213     MOVE 'C'                    TO F-SW-Ref-Flag-CHR
  3262 GC1213     .
  3263

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 82

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 83
====== =========================================================================================

  3265        400-Produce-Xref-Listing SECTION.
  3266            MOVE SPACES       TO WS-Xref-Detail-Line-TXT
  3267                                 WS-Group-Indicators-TXT
  3268            MOVE 0            TO WS-I-SUB
  3269                                 WS-Lines-Left-NUM
  3270 GC0710     MOVE 'N'          TO WS-RS-Duplicate-CHR
  3271            PERFORM FOREVER
  3272                RETURN F-Sort-Work-FILE AT END
  3273 GC1213             IF WS-Xref-Detail-Line-TXT NOT = SPACES
  3274 GC1213                 PERFORM 410-Generate-Report-Line
  3275 GC1213             END-IF
  3276 GC1213             MOVE SPACES TO WS-Xref-Detail-Line-TXT
  3277 GC1213             PERFORM 410-Generate-Report-Line
  3278 GC1213                 UNTIL WS-Lines-Left-NUM = 0
  3279 GC1213             MOVE 'Y' TO WS-Suppress-FF-CHR
  3280 GC1213             PERFORM 420-Generate-Xref-Footer
  3281                    EXIT PERFORM
  3282                END-RETURN
  3283                IF F-SW-Prog-ID-TXT  NOT = WS-GI-Prog-ID-TXT
  3284                OR F-SW-Token-Uc-TXT NOT = WS-GI-Token-TXT
  3285 GC0710             MOVE 'N' TO WS-RS-Duplicate-CHR
  3286                    IF WS-Xref-Detail-Line-TXT NOT = SPACES
  3287                        PERFORM 410-Generate-Report-Line
  3288                    END-IF
  3289                    IF F-SW-Prog-ID-TXT NOT = WS-GI-Prog-ID-TXT
  3290 GC1213                 MOVE SPACES TO WS-Xref-Detail-Line-TXT
  3291 GC1213                 PERFORM 410-Generate-Report-Line
  3292 GC1213                     UNTIL WS-Lines-Left-NUM = 0
  3293                    END-IF
  3294                    MOVE F-SW-Prog-ID-TXT  TO WS-GI-Prog-ID-TXT
  3295                    MOVE F-SW-Token-Uc-TXT TO WS-GI-Token-TXT
  3296                END-IF
  3297 GC0710         IF F-SW-Token-Uc-TXT = WS-GI-Token-TXT
  3298 GC0710         AND F-SW-Def-Line-NUM NOT = SPACES
  3299 GC0710         AND WS-Xref-Detail-Line-TXT NOT = SPACES
  3300 GC0710             MOVE 'Y' TO WS-RS-Duplicate-CHR
  3301 GC0710             PERFORM 410-Generate-Report-Line
  3302 GC0710             MOVE 0 TO WS-I-SUB
  3303 GC0710             MOVE F-SW-Prog-ID-TXT TO WS-XDL-Prog-ID-TXT
  3304 GC0710             MOVE '  (Duplicate Definition)' TO WS-XDL-Token-TXT
  3305 GC0710             MOVE F-SW-Section-TXT TO WS-XDL-Section-TXT
  3306 GC0710             MOVE F-SW-Def-Line-NUM TO WS-XDL-Def-Line-NUM
  3307 GC0710             EXIT PERFORM CYCLE
  3308 GC0710         END-IF
  3309 GC0710         IF F-SW-Token-Uc-TXT = WS-GI-Token-TXT
  3310 GC0710         AND F-SW-Def-Line-NUM = SPACES
  3311 GC0710         AND WS-RS-Duplicate-CHR = 'Y'
  3312 GC0710             MOVE 'N' TO WS-RS-Duplicate-CHR

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 83

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 84
====== =========================================================================================
  3313 GC0710             PERFORM 410-Generate-Report-Line
  3314 GC0710             MOVE 0 TO WS-I-SUB
  3315 GC0710             MOVE F-SW-Prog-ID-TXT TO WS-XDL-Prog-ID-TXT
  3316 GC0710             MOVE '  (Duplicate References)' TO WS-XDL-Token-TXT
  3317 GC0710         END-IF
  3318                IF WS-Xref-Detail-Line-TXT = SPACES
  3319                    MOVE F-SW-Prog-ID-TXT TO WS-XDL-Prog-ID-TXT
  3320                    MOVE F-SW-Token-TXT TO WS-XDL-Token-TXT
  3321                    MOVE F-SW-Section-TXT TO WS-XDL-Section-TXT
  3322                    IF F-SW-Def-Line-NUM NOT = SPACES
  3323                        MOVE F-SW-Def-Line-NUM TO WS-XDL-Def-Line-NUM
  3324                    END-IF
  3325                END-IF
  3326                IF F-SW-Reference-TXT > '000000'
  3327                    ADD 1 TO WS-I-SUB
  3328                    IF WS-I-SUB > WS-Xref-Lines-Per-Rec-NUM
  3329                        PERFORM 410-Generate-Report-Line
  3330                        MOVE 1 TO WS-I-SUB
  3331                    END-IF
  3332                    MOVE F-SW-Ref-Line-NUM
  3333                      TO WS-XDL-Ref-Line-NUM (WS-I-SUB)
  3334                    MOVE F-SW-Ref-Flag-CHR
  3335                      TO WS-XDL-Ref-Flag-CHR (WS-I-SUB)
  3336                END-IF
  3337            END-PERFORM
  3338            IF WS-Xref-Detail-Line-TXT NOT = SPACES
  3339                PERFORM 410-Generate-Report-Line
  3340            END-IF
  3341            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 84

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 85
====== =========================================================================================

  3343        410-Generate-Report-Line SECTION.
  3344            IF WS-Lines-Left-NUM < 1
  3345 GC1213         PERFORM 420-Generate-Xref-Footer
  3346 GC1213         ADD  1           TO WS-Page-NUM
  3347 GC1213         MOVE 'Page:'     TO WS-PN-Literal-TXT
  3348 GC1213         MOVE WS-Page-NUM TO WS-PN-Page-NUM
  3349 GC1213         CALL 'C$JUSTIFY' USING WS-PN-Page-NUM, 'Left'
  3350 GC1213         CALL 'C$JUSTIFY' USING WS-Page-No-TXT, 'Right'
  3351 GC1213         IF L-Listing-CD = 1 *> LANDSCAPE
  3352 GC1213             MOVE WS-Version-TXT
  3353 GC1213               TO F-Listing-135-REC
  3354 GC1213             MOVE 'Cross-Reference Listing'
  3355 GC1213               TO F-Listing-135-REC(25:23)
  3356 GC1213             MOVE WS-Formatted-DT
  3357 GC1213               TO F-Listing-135-REC(126:10)
  3358 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #1
  3359 GC1213             MOVE WS-Program-Path-TXT
  3360 GC1213               TO F-Listing-135-REC
  3361 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #2
  3362 GC1213             MOVE 'PROGRAM-ID      Identifier/Register/Function' &
  3363 GC1213                  '     Defn   Where Defined   References'
  3364 GC1213               TO F-Listing-135-REC
  3365 GC1213             MOVE WS-Page-No-TXT
  3366 GC1213               TO F-Listing-135-REC(126:10)
  3367 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #3
  3368 GC1213             MOVE ALL '=' TO F-Listing-135-REC
  3369 GC1213             MOVE SPACE TO F-Listing-135-REC(16:1)
  3370 GC1213                           F-Listing-135-REC(49:1)
  3371 GC1213                           F-Listing-135-REC(56:1)
  3372 GC1213                           F-Listing-135-REC(72:1)
  3373 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #4
  3374 GC1213         ELSE                *> PORTRAIT
  3375 GC1213             MOVE WS-Version-TXT
  3376 GC1213               TO F-Listing-96-REC
  3377 GC1213             MOVE 'Cross-Reference Listing'
  3378 GC1213               TO F-Listing-96-REC(25:23)
  3379 GC1213             MOVE WS-Formatted-DT
  3380 GC1213               TO F-Listing-96-REC(87:10)
  3381 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #1
  3382 GC1213             MOVE WS-Program-Path-TXT(40:96)
  3383 GC1213               TO F-Listing-96-REC
  3384 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #2
  3385 GC1213             MOVE 'PROGRAM-ID      Identifier/Register/Function' &
  3386 GC1213                  '     Defn   Where Defined   References'
  3387 GC1213               TO F-Listing-96-REC
  3388 GC1213             MOVE WS-Page-No-TXT
  3389 GC1213               TO F-Listing-96-REC(87:10)
  3390 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #3

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 85

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 86
====== =========================================================================================
  3391 GC1213             MOVE ALL '=' TO F-Listing-96-REC
  3392 GC1213             MOVE SPACE TO F-Listing-96-REC(16:1)
  3393 GC1213                           F-Listing-96-REC(49:1)
  3394 GC1213                           F-Listing-96-REC(56:1)
  3395 GC1213                           F-Listing-96-REC(72:1)
  3396 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #4
  3397 GC1213         END-IF
  3398 GC1213         COMPUTE WS-Lines-Left-NUM = WS-Lines-Per-Page-NUM - 4
  3399            END-IF
  3400 GC1213     IF L-Listing-CD = 1 *> LANDSCAPE
  3401 GC1213         WRITE F-Listing-135-REC FROM WS-Xref-Detail-Line-TXT
  3402 GC1213             BEFORE 1
  3403 GC1213     ELSE                *> PORTRAIT
  3404 GC1213         WRITE F-Listing-96-REC FROM WS-Xref-Detail-Line-TXT
  3405 GC1213             BEFORE 1
  3406 GC1213     END-IF
  3407            MOVE SPACES TO WS-Xref-Detail-Line-TXT
  3408            MOVE 0 TO WS-I-SUB
  3409            SUBTRACT 1 FROM WS-Lines-Left-NUM
  3410            .
  3411 GC1213 420-Generate-Xref-Footer SECTION.
  3412 GC1213     IF L-Listing-CD = 1 *> LANDSCAPE
  3413 GC1213         WRITE F-Listing-135-REC FROM SPACES BEFORE 1 *> Footer Line #1
  3414 GC1213         MOVE ALL '='
  3415 GC1213           TO F-Listing-135-REC
  3416 GC1213         WRITE F-Listing-135-REC BEFORE 1 *> Footer Line #2
  3417 GC1213         MOVE WS-Copyright-TXT
  3418 GC1213           TO F-Listing-135-REC
  3419 GC1213         MOVE WS-Page-No-TXT
  3420 GC1213           TO F-Listing-135-REC(126:10)
  3421 GC1213         IF WS-Suppress-FF-CHR = 'Y'
  3422 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Footer Line #3
  3423 GC1213         ELSE
  3424 GC1213             WRITE F-Listing-135-REC BEFORE PAGE *> Footer Line #3
  3425 GC1213             WRITE F-Listing-135-REC FROM SPACES BEFORE 1 *> Spaces After FF Charac
       ter
  3426 GC1213         END-IF
  3427 GC1213     ELSE                *> PORTRAIT
  3428 GC1213         WRITE F-Listing-96-REC FROM SPACES BEFORE 1 *> Footer Line #1
  3429 GC1213         MOVE ALL '='
  3430 GC1213           TO F-Listing-96-REC
  3431 GC1213         WRITE F-Listing-96-REC BEFORE 1 *> Footer Line #2
  3432 GC1213         MOVE WS-Copyright-TXT
  3433 GC1213           TO F-Listing-96-REC
  3434 GC1213         MOVE WS-Page-No-TXT
  3435 GC1213           TO F-Listing-96-REC(87:10)
  3436 GC1213         IF WS-Suppress-FF-CHR = 'Y'
  3437 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Footer Line #3
  3438 GC1213         ELSE

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 86

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 87
====== =========================================================================================
  3439 GC1213             WRITE F-Listing-96-REC BEFORE PAGE *> Footer Line #3
  3440 GC1213             WRITE F-Listing-96-REC FROM SPACES BEFORE 1 *> Spaces After FF Charact
       er
  3441 GC1213         END-IF
  3442 GC1213     END-IF
  3443 GC1213     .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 87

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 88
====== =========================================================================================

  3445        500-Produce-Source-Listing SECTION.
  3446            OPEN INPUT F-Original-Src-FILE
  3447                       F-Expanded-Src-FILE
  3448            MOVE 0 TO WS-Src-Line-NUM
  3449            PERFORM FOREVER
  3450                READ F-Expanded-Src-FILE AT END
  3451 GC1213             MOVE SPACES TO WS-Src-Detail-Line-TXT
  3452 GC1213             PERFORM 530-Generate-Source-Line
  3453 GC1213                 UNTIL WS-Lines-Left-NUM = 0
  3454                    EXIT PERFORM
  3455                END-READ
  3456 GC0712         IF F-ES-1-7-TXT NOT = '#DEFLIT'
  3457 GC0712             IF F-ES-1-CHR = '#'
  3458 GC0712                 PERFORM 510-Control-Record
  3459 GC0712             ELSE
  3460 GC0712                 PERFORM 520-Expanded-Src-Record
  3461 GC0712             END-IF
  3462 GC0712         END-IF
  3463            END-PERFORM
  3464            CLOSE F-Original-Src-FILE
  3465                  F-Expanded-Src-FILE
  3466            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 88

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 89
====== =========================================================================================

  3468        510-Control-Record SECTION.
  3469            UNSTRING F-ES-2-256-TXT-256
  3470                DELIMITED BY '"'
  3471                INTO WS-Temp-10-Chars-TXT
  3472                     WS-Temp-256-Chars-TXT
  3473                     WS-Dummy-TXT
  3474 GC1010     IF UPPER-CASE(TRIM(WS-Temp-256-Chars-TXT,Trailing)) =
  3475 GC1010        TRIM(WS-Main-Module-Name-TXT) *> Main Pgm
  3476                SET WS-RS-In-Main-Module-BOOL TO TRUE
  3477                IF WS-Src-Line-NUM > 0
  3478                    READ F-Expanded-Src-FILE END-READ
  3479                END-IF
  3480            ELSE *> COPY
  3481                SET WS-RS-In-Copybook-BOOL TO TRUE
  3482            END-IF
  3483            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 89

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 90
====== =========================================================================================

  3485        520-Expanded-Src-Record SECTION.
  3486            IF WS-RS-In-Main-Module-BOOL
  3487                ADD 1 To WS-Curr-Line-NUM
  3488 GC0712         READ F-Original-Src-FILE AT END CONTINUE END-READ
  3489                ADD 1 TO WS-Src-Line-NUM
  3490                MOVE SPACES TO WS-Src-Detail-Line-TXT
  3491                MOVE WS-Src-Line-NUM TO WS-SDL-Line-NUM
  3492 GC1213         MOVE F-Original-Src-REC TO WS-SDL-Statement-TXT
  3493 GC0712         MOVE LOWER-CASE(TRIM(F-OS-8-72-TXT,LEADING))
  3494 GC0712           TO WS-Temp-65-Chars-TXT
  3495 GC0712         INSPECT WS-Temp-65-Chars-TXT REPLACING ALL '.' BY SPACE
  3496 GC0712         EVALUATE TRUE
  3497 GC0712             WHEN F-OS-7-CHR = '/'
  3498 GC1213                 MOVE SPACES TO WS-Src-Detail-Line-TXT
  3499 GC1213                 PERFORM 530-Generate-Source-Line
  3500 GC1213                     UNTIL WS-Lines-Left-NUM = 0
  3501 GC0712             WHEN WS-Temp-65-Chars-TXT = "eject"
  3502 GC1213                 MOVE SPACES TO WS-Src-Detail-Line-TXT
  3503 GC1213                 PERFORM 530-Generate-Source-Line
  3504 GC1213                     UNTIL WS-Lines-Left-NUM = 0
  3505 GC0712                 EXIT SECTION
  3506 GC0712             WHEN WS-Temp-65-Chars-TXT = "skip1"
  3507 GC0712                 MOVE SPACES TO WS-Src-Detail-Line-TXT
  3508 GC0712                 PERFORM 530-Generate-Source-Line
  3509 GC0712                 EXIT SECTION
  3510 GC0712             WHEN WS-Temp-65-Chars-TXT = "skip2"
  3511 GC0712                 MOVE SPACES TO WS-Src-Detail-Line-TXT
  3512 GC0712                 PERFORM 530-Generate-Source-Line 2 TIMES
  3513 GC0712                 EXIT SECTION
  3514 GC0712             WHEN WS-Temp-65-Chars-TXT = "skip3"
  3515 GC0712                 MOVE SPACES TO WS-Src-Detail-Line-TXT
  3516 GC0712                 PERFORM 530-Generate-Source-Line 3 TIMES
  3517 GC0712                 EXIT SECTION
  3518 GC0712         END-EVALUATE
  3519                PERFORM 530-Generate-Source-Line
  3520            ELSE
  3521                IF F-Expanded-Src-REC NOT = SPACES
  3522                    MOVE SPACES TO WS-Src-Detail-Line-TXT
  3523 GC1213             MOVE F-Expanded-Src-REC
  3524                      TO WS-SDL-Statement-TXT
  3525 GC0712             MOVE LOWER-CASE(TRIM(F-OS-8-72-TXT,LEADING))
  3526 GC0712               TO WS-Temp-65-Chars-TXT
  3527 GC0712             INSPECT WS-Temp-65-Chars-TXT
  3528 GC0712                 REPLACING ALL '.' BY SPACE
  3529 GC0712             EVALUATE TRUE
  3530 GC0712                 WHEN WS-Temp-65-Chars-TXT = "eject"
  3531 GC0712                     MOVE 0 TO WS-Lines-Left-NUM
  3532 GC0712                     EXIT SECTION

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 90

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 91
====== =========================================================================================
  3533 GC0712                 WHEN WS-Temp-65-Chars-TXT = "skip1"
  3534 GC0712                     MOVE SPACES TO WS-Src-Detail-Line-TXT
  3535 GC0712                     PERFORM 530-Generate-Source-Line
  3536 GC0712                     EXIT SECTION
  3537 GC0712                 WHEN WS-Temp-65-Chars-TXT = "skip2"
  3538 GC0712                     MOVE SPACES TO WS-Src-Detail-Line-TXT
  3539 GC0712                     PERFORM 530-Generate-Source-Line 2 TIMES
  3540 GC0712                     EXIT SECTION
  3541 GC0712                 WHEN WS-Temp-65-Chars-TXT = "skip3"
  3542 GC0712                     MOVE SPACES TO WS-Src-Detail-Line-TXT
  3543 GC0712                     PERFORM 530-Generate-Source-Line 3 TIMES
  3544 GC0712                     EXIT SECTION
  3545 GC0712             END-EVALUATE
  3546                    PERFORM 530-Generate-Source-Line
  3547                END-IF
  3548            END-IF
  3549            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 91

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 92
====== =========================================================================================

  3551        530-Generate-Source-Line SECTION.
  3552 GC1213     MOVE 1 TO WS-Src-Lines-NUM
  3553 GC1213     IF L-Listing-CD = 1 *> LANDSCAPE
  3554 GC1213         IF WS-SDL-Statement-TXT(129:128) > SPACES
  3555 GC1213             ADD 1 TO WS-Src-Lines-NUM
  3556 GC1213         END-IF
  3557 GC1213     ELSE                *> PORTRAIT
  3558 GC1213         IF WS-SDL-Statement-TXT(90:167) > SPACES
  3559 GC1213             ADD 1 TO WS-Src-Lines-NUM
  3560 GC1213             IF WS-SDL-Statement-TXT(179:78) > SPACES
  3561 GC1213                 ADD 1 TO WS-Src-Lines-NUM
  3562 GC1213             END-IF
  3563 GC1213         END-IF
  3564 GC1213     END-IF
  3565 GC1213     IF WS-Lines-Left-NUM < WS-Src-Lines-NUM
  3566 GC1213         IF WS-Page-Num > 0 *> Don't print footer before page 1
  3567 GC1213             IF L-Listing-CD = 1 *> LANDSCAPE
  3568 GC1213                 IF WS-Src-Lines-NUM = 2
  3569 GC1213                     WRITE F-Listing-135-REC FROM SPACES BEFORE 1 *> Blank Line
  3570 GC1213                 END-IF
  3571 GC1213                 WRITE F-Listing-135-REC FROM SPACES BEFORE 1 *> Footer Line #1
  3572 GC1213                 MOVE ALL '='
  3573 GC1213                   TO F-Listing-135-REC
  3574 GC1213                 WRITE F-Listing-135-REC BEFORE 1 *> Footer Line #2
  3575 GC1213                 MOVE WS-Copyright-TXT
  3576 GC1213                   TO F-Listing-135-REC
  3577 GC1213                 MOVE WS-Page-No-TXT
  3578 GC1213                   TO F-Listing-135-REC(126:10)
  3579 GC1213                 WRITE F-Listing-135-REC BEFORE PAGE *> Footer Line #3
  3580 GC1213                 WRITE F-Listing-135-REC FROM SPACES BEFORE 1 *> Spaces After FF Ch
       aracter
  3581 GC1213             ELSE                *> PORTRAIT
  3582 GC1213                 EVALUATE WS-Src-Lines-NUM
  3583 GC1213                 WHEN 1 *> Need no extra blank lines
  3584 GC1213                     CONTINUE
  3585 GC1213                 WHEN 2 *> Need 1 extra blank line
  3586 GC1213                     WRITE F-Listing-96-REC FROM SPACES BEFORE 1
  3587 GC1213                 WHEN 3 *> Need 2 extra blank lines
  3588 GC1213                     WRITE F-Listing-96-REC FROM SPACES BEFORE 1
  3589 GC1213                     WRITE F-Listing-96-REC FROM SPACES BEFORE 1
  3590 GC1213                 END-EVALUATE
  3591 GC1213                 WRITE F-Listing-96-REC FROM SPACES BEFORE 1 *> Footer Line #1
  3592 GC1213                 MOVE ALL '='
  3593 GC1213                   TO F-Listing-96-REC
  3594 GC1213                 WRITE F-Listing-96-REC BEFORE 1 *> Footer Line #2
  3595 GC1213                 MOVE WS-Copyright-TXT
  3596 GC1213                   TO F-Listing-96-REC
  3597 GC1213                 MOVE WS-Page-No-TXT

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 92

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 93
====== =========================================================================================
  3598 GC1213                   TO F-Listing-96-REC(87:10)
  3599 GC1213                 WRITE F-Listing-96-REC BEFORE PAGE *> Footer Line #3
  3600 GC1213                 WRITE F-Listing-96-REC FROM SPACES BEFORE 1 *> Spaces After FF Cha
       racter
  3601 GC1213             END-IF
  3602 GC1213         END-IF
  3603 GC1213         ADD  1           TO WS-Page-NUM
  3604 GC1213         MOVE 'Page:'     TO WS-PN-Literal-TXT
  3605 GC1213         MOVE WS-Page-NUM TO WS-PN-Page-NUM
  3606 GC1213         CALL 'C$JUSTIFY' USING WS-PN-Page-NUM, 'Left'
  3607 GC1213         CALL 'C$JUSTIFY' USING WS-Page-No-TXT, 'Right'
  3608 GC1213         IF L-Listing-CD = 1 *> LANDSCAPE
  3609 GC1213             MOVE WS-Version-TXT
  3610 GC1213               TO F-Listing-135-REC
  3611 GC1213             MOVE 'Source Listing'
  3612 GC1213               TO F-Listing-135-REC(25:14)
  3613 GC1213             MOVE WS-Formatted-DT
  3614 GC1213               TO F-Listing-135-REC(126:10)
  3615 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #1
  3616 GC1213             MOVE WS-Program-Path-TXT
  3617 GC1213               TO F-Listing-135-REC
  3618 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #2
  3619 GC1213             MOVE 'Line   Statement'
  3620 GC1213               TO F-Listing-135-REC
  3621 GC1213             MOVE WS-Page-No-TXT
  3622 GC1213               TO F-Listing-135-REC(126:10)
  3623 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #3
  3624 GC1213             MOVE WS-Src-Dashes-TXT
  3625 GC1213               TO F-Listing-135-REC
  3626 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Page Header Line #4
  3627 GC1213         ELSE                *> PORTRAIT
  3628 GC1213             MOVE WS-Version-TXT
  3629 GC1213               TO F-Listing-96-REC
  3630 GC1213             MOVE 'Source Listing'
  3631 GC1213               TO F-Listing-96-REC(25:14)
  3632 GC1213             MOVE WS-Formatted-DT
  3633 GC1213               TO F-Listing-96-REC(87:10)
  3634 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #1
  3635 GC1213             MOVE WS-Program-Path-TXT(40:96)
  3636 GC1213               TO F-Listing-96-REC
  3637 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #2
  3638 GC1213             MOVE 'Line   Statement'
  3639 GC1213               TO F-Listing-96-REC
  3640 GC1213             MOVE WS-Page-No-TXT
  3641 GC1213               TO F-Listing-96-REC(87:10)
  3642 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #3
  3643 GC1213             MOVE WS-Src-Dashes-TXT
  3644 GC1213               TO F-Listing-96-REC
  3645 GC1213             WRITE F-Listing-96-REC BEFORE 1 *> Page Header Line #4

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 93

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 94
====== =========================================================================================
  3646 GC1213         END-IF
  3647 GC1213         COMPUTE WS-Lines-Left-NUM = WS-Lines-Per-Page-NUM - 4
  3648 GC1213     END-IF
  3649 GC1213     IF L-Listing-CD = 1 *> LANDSCAPE
  3650 GC1213         EVALUATE WS-Src-Lines-NUM
  3651 GC1213         WHEN 1
  3652 GC1213             MOVE WS-Src-Detail-Line-TXT TO F-Listing-135-REC
  3653 GC1213             WRITE F-Listing-96-REC BEFORE 1
  3654 GC1213             SUBTRACT 1 FROM WS-Lines-Left-NUM
  3655 GC1213         WHEN 2
  3656 GC1213             MOVE WS-SDL-Statement-TXT TO WS-Src-Hold-TXT
  3657 GC1213             MOVE WS-Src-Detail-Line-TXT TO F-Listing-135-REC
  3658 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Prints chars 1-128 of stmnt
  3659 GC1213             MOVE SPACES TO WS-Src-Detail-Line-TXT
  3660 GC1213             MOVE WS-Src-Hold-TXT(129:128) TO WS-SDL-Statement-TXT
  3661 GC1213             MOVE WS-Src-Detail-Line-TXT TO F-Listing-135-REC
  3662 GC1213             WRITE F-Listing-135-REC BEFORE 1 *> Prints chars 129-256 of stmnt
  3663 GC1213             SUBTRACT 2 FROM WS-Lines-Left-NUM
  3664 GC1213         END-EVALUATE
  3665 GC1213     ELSE                *> PORTRAIT
  3666 GC1213         EVALUATE WS-Src-Lines-NUM
  3667 GC1213         WHEN 1 *> Print only chars 1-89 of stmnt
  3668 GC1213             WRITE F-Listing-96-REC FROM WS-Src-Detail-Line-TXT
  3669 GC1213                 BEFORE 1
  3670 GC1213             SUBTRACT 1 FROM WS-Lines-Left-NUM
  3671 GC1213         WHEN 2 *> Print only chars 1-89 and 90-178 of text
  3672 GC1213             MOVE WS-SDL-Statement-TXT TO WS-Src-Hold-TXT
  3673 GC1213             WRITE F-Listing-96-REC FROM WS-Src-Detail-Line-TXT
  3674 GC1213                 BEFORE 1
  3675 GC1213             MOVE SPACES TO WS-Src-Detail-Line-TXT
  3676 GC1213             MOVE WS-Src-Hold-TXT(90:89) TO WS-SDL-Statement-TXT
  3677 GC1213             WRITE F-Listing-96-REC FROM WS-Src-Detail-Line-TXT
  3678 GC1213                 BEFORE 1
  3679 GC1213             SUBTRACT 2 FROM WS-Lines-Left-NUM
  3680 GC1213         WHEN 3 *> Print chars 1-89, 90-178 and 179-256 of stmnt
  3681 GC1213             MOVE WS-SDL-Statement-TXT TO WS-Src-Hold-TXT
  3682 GC1213             WRITE F-Listing-96-REC FROM WS-Src-Detail-Line-TXT
  3683 GC1213                 BEFORE 1
  3684 GC1213             MOVE SPACES TO WS-Src-Detail-Line-TXT
  3685 GC1213             MOVE WS-Src-Hold-TXT(90:89) TO WS-SDL-Statement-TXT
  3686 GC1213             WRITE F-Listing-96-REC FROM WS-Src-Detail-Line-TXT
  3687 GC1213                 BEFORE 1
  3688 GC1213             MOVE SPACES TO WS-Src-Detail-Line-TXT
  3689 GC1213             MOVE WS-Src-Hold-TXT(179:78) TO WS-SDL-Statement-TXT
  3690 GC1213             WRITE F-Listing-96-REC FROM WS-Src-Detail-Line-TXT
  3691 GC1213                 BEFORE 1
  3692 GC1213             SUBTRACT 3 FROM WS-Lines-Left-NUM
  3693 GC1213         END-EVALUATE
  3694 GC1213     END-IF

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 94

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
Line   Statement                                                                        Page: 95
====== =========================================================================================
  3695            MOVE SPACES TO WS-Src-Detail-Line-TXT
  3696            .
  3697
  3698        END PROGRAM LISTING.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 95

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References      Page: 96
=============== ================================ ====== =============== ========================
CHECKSRC        000-Main                           1321 PROCEDURE
CHECKSRC        L-A1-CHR                           1311 LINKAGE           1323    1335    1338
                                                                          1345
CHECKSRC        L-A2-IDENT-DIVISION-BOOL           1316 LINKAGE           1367*
CHECKSRC        L-A2-LINKAGE-SECTION-BOOL          1315 LINKAGE           1361*
CHECKSRC        L-A2-Nothing-Special-BOOL          1317 LINKAGE           1322*
CHECKSRC        L-Argument-1-TXT                   1310 LINKAGE           1319
CHECKSRC        L-Argument-2-CHR                   1314 LINKAGE           1320
CHECKSRC        WS-Compressed-Src-TXT              1297 WORKING-STORAGE   1332*   1355    1359
                                                                          1365
CHECKSRC        WS-CS-CHR                          1298 WORKING-STORAGE   1339*   1345*   1354
                                                                          1358    1364
CHECKSRC        WS-I-SUB                           1306 WORKING-STORAGE   1333*   1334    1335
                                                                          1338    1345    1351*
                                                                          1352    1354    1355
                                                                          1358    1358    1359
                                                                          1364    1364    1365
CHECKSRC        WS-J-SUB                           1308 WORKING-STORAGE   1331*   1337*   1339
                                                                          1344*   1345
CHECKSRC        WS-RS-Found-SPACE-CHR              1302 WORKING-STORAGE
CHECKSRC        WS-RS-Not-Skipping-SPACE-BOOL      1304 WORKING-STORAGE   1330*   1336    1343*
CHECKSRC        WS-RS-Skipping-SPACE-BOOL          1303 WORKING-STORAGE   1340*
CHECKSRC        WS-Runtime-Switches-TXT            1301 WORKING-STORAGE

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 96

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References      Page: 97
=============== ================================ ====== =============== ========================
GCic            000-File-Error                      661 PROCEDURE
GCic            000-Main                            682 PROCEDURE
GCic            100-Initialization                  706 PROCEDURE          683
GCic            200-Let-User-Set-Switches           819 PROCEDURE          686
GCic            210-Run-Compiler                    910 PROCEDURE          687
GCic            220-Make-Listing                   1046 PROCEDURE          691
GCic            230-Run-Program                    1077 PROCEDURE          695
GCic            240-Find-LINKAGE-SECTION           1179 PROCEDURE          753
GCic            250-Autoload-Listing               1218 PROCEDURE          697    1037    1071
GCic            900-Terminate                      1264 PROCEDURE          699     747     890
                                                                          1038    1172
GCic            COB-COLOR-BLACK                     185 [screenio     ]    446     451     541
                                                                           551     561     566
                                                                           576     583     598
                                                                           613     629     636
                                                                           643
GCic            COB-COLOR-BLUE                      185 [screenio     ]    529
GCic            COB-COLOR-CYAN                      185 [screenio     ]    542
GCic            COB-COLOR-GREEN                     185 [screenio     ]    452     567     614
                                                                           630
GCic            COB-COLOR-MAGENTA                   185 [screenio     ]
GCic            COB-COLOR-RED                       185 [screenio     ]    535     599
GCic            COB-COLOR-WHITE                     185 [screenio     ]    447     530     536
                                                                           552     562     577
                                                                           584     637     644
GCic            COB-COLOR-YELLOW                    185 [screenio     ]
GCic            COB-SCR-ESC                         185 [screenio     ]    889
GCic            COB-SCR-F1                          185 [screenio     ]    836
GCic            COB-SCR-F10                         185 [screenio     ]
GCic            COB-SCR-F11                         185 [screenio     ]
GCic            COB-SCR-F12                         185 [screenio     ]    892
GCic            COB-SCR-F13                         185 [screenio     ]
GCic            COB-SCR-F14                         185 [screenio     ]
GCic            COB-SCR-F15                         185 [screenio     ]
GCic            COB-SCR-F16                         185 [screenio     ]
GCic            COB-SCR-F17                         185 [screenio     ]
GCic            COB-SCR-F18                         185 [screenio     ]
GCic            COB-SCR-F19                         185 [screenio     ]
GCic            COB-SCR-F2                          185 [screenio     ]    842
GCic            COB-SCR-F20                         185 [screenio     ]
GCic            COB-SCR-F21                         185 [screenio     ]
GCic            COB-SCR-F22                         185 [screenio     ]
GCic            COB-SCR-F23                         185 [screenio     ]
GCic            COB-SCR-F24                         185 [screenio     ]
GCic            COB-SCR-F25                         185 [screenio     ]
GCic            COB-SCR-F26                         185 [screenio     ]
GCic            COB-SCR-F27                         185 [screenio     ]
GCic            COB-SCR-F28                         185 [screenio     ]
GCic            COB-SCR-F29                         185 [screenio     ]

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 97

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References      Page: 98
=============== ================================ ====== =============== ========================
GCic            COB-SCR-F3                          185 [screenio     ]    848
GCic            COB-SCR-F30                         185 [screenio     ]
GCic            COB-SCR-F31                         185 [screenio     ]
GCic            COB-SCR-F32                         185 [screenio     ]
GCic            COB-SCR-F33                         185 [screenio     ]
GCic            COB-SCR-F34                         185 [screenio     ]
GCic            COB-SCR-F35                         185 [screenio     ]
GCic            COB-SCR-F36                         185 [screenio     ]
GCic            COB-SCR-F37                         185 [screenio     ]
GCic            COB-SCR-F38                         185 [screenio     ]
GCic            COB-SCR-F39                         185 [screenio     ]
GCic            COB-SCR-F4                          185 [screenio     ]    854
GCic            COB-SCR-F40                         185 [screenio     ]
GCic            COB-SCR-F41                         185 [screenio     ]
GCic            COB-SCR-F42                         185 [screenio     ]
GCic            COB-SCR-F43                         185 [screenio     ]
GCic            COB-SCR-F44                         185 [screenio     ]
GCic            COB-SCR-F45                         185 [screenio     ]
GCic            COB-SCR-F46                         185 [screenio     ]
GCic            COB-SCR-F47                         185 [screenio     ]
GCic            COB-SCR-F48                         185 [screenio     ]
GCic            COB-SCR-F49                         185 [screenio     ]
GCic            COB-SCR-F5                          185 [screenio     ]    860
GCic            COB-SCR-F50                         185 [screenio     ]
GCic            COB-SCR-F51                         185 [screenio     ]
GCic            COB-SCR-F52                         185 [screenio     ]
GCic            COB-SCR-F53                         185 [screenio     ]
GCic            COB-SCR-F54                         185 [screenio     ]
GCic            COB-SCR-F55                         185 [screenio     ]
GCic            COB-SCR-F56                         185 [screenio     ]
GCic            COB-SCR-F57                         185 [screenio     ]
GCic            COB-SCR-F58                         185 [screenio     ]
GCic            COB-SCR-F59                         185 [screenio     ]
GCic            COB-SCR-F6                          185 [screenio     ]    865
GCic            COB-SCR-F60                         185 [screenio     ]
GCic            COB-SCR-F61                         185 [screenio     ]
GCic            COB-SCR-F62                         185 [screenio     ]
GCic            COB-SCR-F63                         185 [screenio     ]
GCic            COB-SCR-F64                         185 [screenio     ]
GCic            COB-SCR-F7                          185 [screenio     ]    871
GCic            COB-SCR-F8                          185 [screenio     ]    877
GCic            COB-SCR-F9                          185 [screenio     ]    883
GCic            COB-SCR-FATAL                       185 [screenio     ]
GCic            COB-SCR-KEY-DOWN                    185 [screenio     ]
GCic            COB-SCR-KEY-UP                      185 [screenio     ]
GCic            COB-SCR-MAX-FIELD                   185 [screenio     ]
GCic            COB-SCR-NO-FIELD                    185 [screenio     ]
GCic            COB-SCR-OK                          185 [screenio     ]
GCic            COB-SCR-PAGE_DOWN                   185 [screenio     ]

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 98

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References      Page: 99
=============== ================================ ====== =============== ========================
GCic            COB-SCR-PAGE_UP                     185 [screenio     ]
GCic            COB-SCR-PRINT                       185 [screenio     ]
GCic            COB-SCR-TIME-OUT                    185 [screenio     ]
GCic            F-Cobc-Output-FILE                  178 FILE               169    1014    1032
GCic            F-Cobc-Output-REC                   179 FILE              1015    1020*   1021
                                                                          1029*   1030
GCic            F-Source-Code-FILE                  181 FILE               172     662    1180
                                                                          1184    1185    1198
                                                                          1199    1206
GCic            F-Source-Code-REC                   182 FILE              1189C   1203C
GCic            F1                                      WORKING-STORAGE    213
GCic            F12                                     WORKING-STORAGE    207
GCic            F2                                      WORKING-STORAGE    220
GCic            F3                                      WORKING-STORAGE    216
GCic            F4                                      WORKING-STORAGE    214
GCic            F5                                      WORKING-STORAGE    217     264
GCic            F6                                      WORKING-STORAGE    218
GCic            F7                                      WORKING-STORAGE    221
GCic            F8                                      WORKING-STORAGE    215
GCic            F9                                      WORKING-STORAGE    219
GCic            LD-Horiz-Line                       431 SCREEN             807
GCic            LD-LL-Corner                        426 SCREEN             463     493     509
                                                                           523
GCic            LD-Lower-T                          430 SCREEN             495
GCic            LD-LR-Corner                        428 SCREEN             465     497     511
                                                                           525
GCic            LD-UL-Corner                        425 SCREEN             453     467     499
                                                                           513
GCic            LD-Upper-T                          429 SCREEN             469
GCic            LD-UR-Corner                        427 SCREEN             455     471     501
                                                                           515
GCic            LD-Vert-Line                        432 SCREEN             457     458     460
                                                                           461     473     474
                                                                           475     477     478
                                                                           479     481     482
                                                                           483     485     486
                                                                           487     489     490
                                                                           491     503     504
                                                                           506     507     517
                                                                           518     520     521
GCic            LPP                                     PROCEDURE         1057C
GCic            LPPP                                    PROCEDURE         1058C
GCic            RETURN-CODE                             PROCEDURE         1016    1049*   1063*
                                                                          1065
GCic            S-Blank-SCR                         444 SCREEN             690    1240    1269
GCic            S-Switches-SCR                      446 SCREEN             833*    914    1004
                                                                          1033    1048    1069
                                                                          1080    1266
GCic            SELCHAR                                 PROCEDURE          725     828     831

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 99

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 100
=============== ================================ ====== =============== ========================
                                                                           838     844     850
                                                                           856     867     873
                                                                           879     885    1208
GCic            WS-Cmd-Args-TXT                     236 WORKING-STORAGE    729*    731     732
                                                                           735     740
GCic            WS-Cmd-End-Quote-CHR                238 WORKING-STORAGE    733*    736
GCic            WS-Cmd-SUB                          240 WORKING-STORAGE    730*    731     732
                                                                           734*    738*    743*
GCic            WS-Cmd-TXT                          234 WORKING-STORAGE    911*   1006*   1011*
                                                                          1013C   1082*   1089*
                                                                          1099*   1102*   1109*
                                                                          1113*   1119*   1124*
                                                                          1129*   1137*   1145*
                                                                          1151*   1157*   1162*
                                                                          1169C   1221*   1225*
                                                                          1226C   1228*   1232*
                                                                          1233C   1243*   1246*
                                                                          1249C   1251C   1253C
                                                                          1255C   1257C
GCic            WS-Cobc-Cmd-TXT                     242 WORKING-STORAGE    912*    921*    925*
                                                                           929*    933*    938*
                                                                           943*    948*    953*
                                                                           958*    963*    967*
                                                                           980*    988*    992*
                                                                          1007
GCic            WS-Compilation-Switches-TXT         187 WORKING-STORAGE
GCic            WS-Config-Fn-TXT                    244 WORKING-STORAGE    917*    923
GCic            WS-CS-All-Switches-TXT              222 WORKING-STORAGE
GCic            WS-CS-Arg-H1-TXT                    189 WORKING-STORAGE    647*
GCic            WS-CS-Arg-H2-TXT                    190 WORKING-STORAGE    648*
GCic            WS-CS-Args-TXT                      188 WORKING-STORAGE   1160    1161
GCic            WS-CS-Config-NUM                    207 WORKING-STORAGE    639     893*    894
                                                                           895*    916
GCic            WS-CS-DEBUG-CHR                     224 WORKING-STORAGE    600     837     838*
                                                                           840*    936
GCic            WS-CS-EXECUTE-CHR                   225 WORKING-STORAGE    603     693     855
                                                                           856*    858*
GCic            WS-CS-Extra-H1-TXT                  210 WORKING-STORAGE    645*
GCic            WS-CS-Extra-H2-TXT                  211 WORKING-STORAGE    646*
GCic            WS-CS-Extra-TXT                     209 WORKING-STORAGE    984     986
GCic            WS-CS-Filename-TXT                  200 WORKING-STORAGE    639     916
GCic            WS-CS-Filenames-Table-TXT           199 WORKING-STORAGE
GCic            WS-CS-Filenames-TXT                 191 WORKING-STORAGE    199
GCic            WS-CS-FREE-CHR                      226 WORKING-STORAGE    608     878     879*
                                                                           881*    961
GCic            WS-CS-LIBRARY-CHR                   227 WORKING-STORAGE    602     849     850*
                                                                           852*    927    1087
                                                                          1142    1181*   1208*
GCic            WS-CS-LISTING-CHR                   228 WORKING-STORAGE    604     689     825*

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 100

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 101
=============== ================================ ====== =============== ========================
                                                                           828*    831*    974
                                                                           976*    978
GCic            WS-CS-NOFUNC-CHR                    229 WORKING-STORAGE    606     866     867*
                                                                           869*    951
GCic            WS-CS-NOTRUNC-CHR                   230 WORKING-STORAGE    609     884     885*
                                                                           887*    941
GCic            WS-CS-Switch-Defaults-TXT           212 WORKING-STORAGE    223
GCic            WS-CS-TRACEALL-CHR                  231 WORKING-STORAGE    601     843     844*
                                                                           846*    946
GCic            WS-CS-WARNALL-CHR                   232 WORKING-STORAGE    607     872     873*
                                                                           875*    956
GCic            WS-Delete-Fn-TXT                    246 WORKING-STORAGE
GCic            WS-File-Name-TXT                    248 WORKING-STORAGE    172     670     675
                                                                           737*    742*    745
                                                                           758     761     768
                                                                           771     782    1055C
GCic            WS-File-Status-Message-TXT          252 WORKING-STORAGE
GCic            WS-FN-CHR                           249 WORKING-STORAGE    763     770*    774*
GCic            WS-FSM-Msg-TXT                      256 WORKING-STORAGE    665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
                                                                           665*    665*    665*
GCic            WS-FSM-Status-CD                    254 WORKING-STORAGE    174     665     667
GCic            WS-Horizontal-Line-TXT              258 WORKING-STORAGE    454     464     468
                                                                           470     494     496
                                                                           500     510     514
                                                                           524     807*
GCic            WS-I-SUB                            260 WORKING-STORAGE    761*    762     763
                                                                           764     766     770
                                                                           774     789*    790
                                                                           791     792     794
                                                                           798     802     915*
                                                                           926*    930*    934*
                                                                           939*    944*    949*
                                                                           954*    959*    964*
                                                                           968*    981*    989*
                                                                           993*   1083*   1090*
                                                                          1100*   1103*   1110*
                                                                          1114*   1120*   1125*
                                                                          1130*   1138*   1146*
                                                                          1152*   1158*   1163*
GCic            WS-J-SUB                            262 WORKING-STORAGE   1105*   1106    1107
                                                                          1112

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 101

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 102
=============== ================================ ====== =============== ========================
GCic            WS-Listing-CD                       264 WORKING-STORAGE    822     861*    862
                                                                           863*   1059C
GCic            WS-Listing-Filename-TXT             266 WORKING-STORAGE    169     998*    999C
                                                                          1008    1026    1054C
                                                                          1224    1231
GCic            WS-Listing-TXT                      268 WORKING-STORAGE    620     824*    827*
                                                                           830*
GCic            WS-OC-Compile-DT                    270 WORKING-STORAGE    532     715*
GCic            WS-OS-Cygwin-BOOL                   304 WORKING-STORAGE    758     782    1097
                                                                          1127    1220
GCic            WS-OS-Dir-CHR                       279 WORKING-STORAGE    759*    763     774
                                                                           783*   1123
GCic            WS-OS-Exe-Ext-CONST                 280 WORKING-STORAGE   1143    1144
GCic            WS-OS-Lib-Ext-CONST                 281 WORKING-STORAGE   1149    1150
GCic            WS-OS-Lib-Type-CONST                282 WORKING-STORAGE    618
GCic            WS-OS-OSX-BOOL                      306 WORKING-STORAGE   1227
GCic            WS-OS-Type-CD                       283 WORKING-STORAGE    809    1056C
GCic            WS-OS-Type-FILLER-TXT               308 WORKING-STORAGE    314
GCic            WS-OS-Type-TXT                      315 WORKING-STORAGE    809
GCic            WS-OS-Types-TXT                     314 WORKING-STORAGE
GCic            WS-OS-UNIX-BOOL                     305 WORKING-STORAGE   1127
GCic            WS-OS-Windows-BOOL                  303 WORKING-STORAGE   1220    1241
GCic            WS-Output-Msg-TXT                   318 WORKING-STORAGE    537     666*    812*
                                                                           899*    913*   1003*
                                                                          1018*   1019    1027*
                                                                          1035*   1047*   1053*
                                                                          1062*   1067*   1079*
                                                                          1170*   1171*   1265
GCic            WS-Path-Delimiter-CHR               320 WORKING-STORAGE
GCic            WS-PFN-CHR                          327 WORKING-STORAGE    791     798*    802*
GCic            WS-Pgm-Nm-TXT                       330 WORKING-STORAGE    795*    800*    997
                                                                          1136    1242    1245
GCic            WS-Prog-Extension-TXT               322 WORKING-STORAGE    796*    801*
GCic            WS-Prog-File-Name-TXT               326 WORKING-STORAGE    578     768*    773*
                                                                           789     795     799
                                                                           991
GCic            WS-Prog-Folder-TXT                  324 WORKING-STORAGE    579     767*    772*
                                                                           776     777*    780C
                                                                          1096    1097    1101
                                                                          1106    1107    1112
                                                                          1118
GCic            WS-RS-1st-Prog-Complete-BOOL        343 WORKING-STORAGE   1183    1192*
GCic            WS-RS-Compile-Failed-BOOL           336 WORKING-STORAGE   1024*   1036
GCic            WS-RS-Compile-OK-BOOL               334 WORKING-STORAGE    688    1017*
GCic            WS-RS-Compile-OK-CHR                333 WORKING-STORAGE
GCic            WS-RS-Compile-OK-Warn-BOOL          335 WORKING-STORAGE    688
GCic            WS-RS-Complete-BOOL                 338 WORKING-STORAGE    685    1022*
GCic            WS-RS-Complete-CHR                  337 WORKING-STORAGE
GCic            WS-RS-Double-Quote-Used-BOOL        341 WORKING-STORAGE   1095*   1121*   1155

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 102

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 103
=============== ================================ ====== =============== ========================
GCic            WS-RS-IDENT-DIV-CHR                 342 WORKING-STORAGE
GCic            WS-RS-More-To-1st-Prog-BOOL         344 WORKING-STORAGE   1182*
GCic            WS-RS-No-Switch-Changes-BOOL        346 WORKING-STORAGE    821     902*
GCic            WS-RS-No-Switch-Chgs-CHR            345 WORKING-STORAGE
GCic            WS-RS-Not-Complete-BOOL             339 WORKING-STORAGE    684*
GCic            WS-RS-Output-File-Avail-BOOL        350 WORKING-STORAGE    694    1005*
GCic            WS-RS-Output-File-Busy-BOOL         349 WORKING-STORAGE
GCic            WS-RS-Output-File-Busy-CHR          348 WORKING-STORAGE
GCic            WS-RS-Quote-CHR                     340 WORKING-STORAGE
GCic            WS-RS-Source-Rec-Ident-BOOL         353 WORKING-STORAGE   1191    1197
GCic            WS-RS-Source-Rec-Ignored-BOOL       354 WORKING-STORAGE   1195*
GCic            WS-RS-Source-Rec-Linkage-BOOL       352 WORKING-STORAGE   1196    1207
GCic            WS-RS-Source-Record-Type-CHR        351 WORKING-STORAGE   1190C   1204C
GCic            WS-RS-Switch-Changes-BOOL           347 WORKING-STORAGE    820*
GCic            WS-RS-Switch-Error-CHR              355 WORKING-STORAGE
GCic            WS-RS-Switch-Is-Bad-BOOL            356 WORKING-STORAGE
GCic            WS-RS-Switch-Is-Good-BOOL           357 WORKING-STORAGE
GCic            WS-Runtime-Switches-TXT             332 WORKING-STORAGE
GCic            WS-Tally-QTY                        359 WORKING-STORAGE    971*    973*    975

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 103

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 104
=============== ================================ ====== =============== ========================
LISTING         000-Main                           2412 PROCEDURE
LISTING         100-Initialization                 2429 PROCEDURE         2413
LISTING         300-Tokenize-Source                2502 PROCEDURE         2420
LISTING         310-Get-Token                      2553 PROCEDURE         2511
LISTING         311-Control-Record                 2713 PROCEDURE         2572
LISTING         312-Expanded-Src-Record            2759 PROCEDURE         2574
LISTING         313-Check-For-Numeric-Token        2770 PROCEDURE         2700
LISTING         320-IDENTIFICATION-DIVISION        2812 PROCEDURE         2532
LISTING         330-ENVIRONMENT-DIVISION           2832 PROCEDURE         2534
LISTING         340-DATA-DIVISION                  2858 PROCEDURE         2536
LISTING         350-PROCEDURE-DIVISION             2914 PROCEDURE         2538
LISTING         351-ACCEPT                         2985 PROCEDURE         2941
LISTING         351-ADD                            2995 PROCEDURE         2943
LISTING         351-ALLOCATE                       3006 PROCEDURE         2945
LISTING         351-CALL                           3018 PROCEDURE         2947
LISTING         351-COMPUTE                        3029 PROCEDURE         2949
LISTING         351-DIVIDE                         3038 PROCEDURE         2951
LISTING         351-FREE                           3058 PROCEDURE         2953
LISTING         351-GENERATE                       3062 PROCEDURE         2955    2959    2975
LISTING         351-INITIALIZE                     3066 PROCEDURE         2957
LISTING         351-INITIATE                       3075 PROCEDURE
LISTING         351-INSPECT                        3079 PROCEDURE         2961
LISTING         351-MOVE                           3109 PROCEDURE         2963
LISTING         351-MULTIPLY                       3118 PROCEDURE         2965
LISTING         351-PERFORM                        3134 PROCEDURE         2967
LISTING         351-SET                            3147 PROCEDURE         2969
LISTING         351-STRING                         3156 PROCEDURE         2971
LISTING         351-SUBTRACT                       3167 PROCEDURE         2973
LISTING         351-TERMINATE                      3178 PROCEDURE
LISTING         351-TRANSFORM                      3182 PROCEDURE         2977
LISTING         351-UNSTRING                       3192 PROCEDURE         2979
LISTING         360-Release-Def                    3209 PROCEDURE         2848    2885    2888
                                                                          2891    2894    2897
                                                                          2932
LISTING         361-Release-Ref                    3220 PROCEDURE         2850    2854    2907
                                                                          2981    2991    3002
                                                                          3014    3034    3054
                                                                          3071    3105    3114
                                                                          3130    3143    3152
                                                                          3163    3174    3188
                                                                          3205
LISTING         362-Release-Upd                    3225 PROCEDURE         2900    2903    2988
                                                                          2998    3000    3009
                                                                          3012    3021    3023
                                                                          3032    3050    3052
                                                                          3059    3063    3069
                                                                          3076    3086    3112
                                                                          3128    3137    3140
                                                                          3150    3159    3161

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 104

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 105
=============== ================================ ====== =============== ========================
                                                                          3170    3172    3179
                                                                          3185    3195    3197
                                                                          3199    3201    3203
LISTING         363-Set-Upd                        3230 PROCEDURE         3041    3121    3226
LISTING         364-Set-Ref                        3240 PROCEDURE         3082    3221
LISTING         365-Release-Arg                    3249 PROCEDURE         3025
LISTING         366-Set-Arg                        3254 PROCEDURE         3250
LISTING         400-Produce-Xref-Listing           3265 PROCEDURE         2421
LISTING         410-Generate-Report-Line           3343 PROCEDURE         3274    3277    3287
                                                                          3291    3301    3313
                                                                          3329    3339
LISTING         420-Generate-Xref-Footer           3411 PROCEDURE         3280    3345
LISTING         500-Produce-Source-Listing         3445 PROCEDURE         2415
LISTING         510-Control-Record                 3468 PROCEDURE         3458
LISTING         520-Expanded-Src-Record            3485 PROCEDURE         3460
LISTING         530-Generate-Source-Line           3551 PROCEDURE         3452    3499    3503
                                                                          3508    3512    3516
                                                                          3519    3535    3539
                                                                          3543    3546
LISTING         F-ES-1-7-TXT                       1432 FILE              2570    3456
LISTING         F-ES-1-CHR                         1429 FILE              2571    3457
LISTING         F-ES-2-256-TXT-256                 1430 FILE              2714    3469
LISTING         F-ES-8-256-TXT                     1433 FILE
LISTING         F-Expanded-Src-FILE                1427 FILE              1418    2503    2550
                                                                          2560    3447    3450
                                                                          3465    3478
LISTING         F-Expanded-Src-REC                 1428 FILE              2504*   2558    2582
                                                                          2584    2614    2618
                                                                          2627    2631    2640
                                                                          2644    2652    2670
                                                                          2755*   2760    3521
                                                                          3523
LISTING         F-Expanded-Src2-REC                1431 FILE
LISTING         F-Listing-135-REC                  1437 FILE              3353*   3355*   3357*
                                                                          3358    3360*   3361
                                                                          3364*   3366*   3367
                                                                          3368*   3369*   3370
                                                                          3371    3372    3373
                                                                          3401    3413    3415*
                                                                          3416    3418*   3420*
                                                                          3422    3424    3425
                                                                          3569    3571    3573*
                                                                          3574    3576*   3578*
                                                                          3579    3580    3610*
                                                                          3612*   3614*   3615
                                                                          3617*   3618    3620*
                                                                          3622*   3623    3625*
                                                                          3626    3652*   3657*
                                                                          3658    3661*   3662

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 105

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 106
=============== ================================ ====== =============== ========================
LISTING         F-Listing-96-REC                   1436 FILE              3376*   3378*   3380*
                                                                          3381    3383*   3384
                                                                          3387*   3389*   3390
                                                                          3391*   3392*   3393
                                                                          3394    3395    3396
                                                                          3404    3428    3430*
                                                                          3431    3433*   3435*
                                                                          3437    3439    3440
                                                                          3586    3588    3589
                                                                          3591    3593*   3594
                                                                          3596*   3598*   3599
                                                                          3600    3629*   3631*
                                                                          3633*   3634    3636*
                                                                          3637    3639*   3641*
                                                                          3642    3644*   3645
                                                                          3653    3668    3673
                                                                          3677    3682    3686
                                                                          3690
LISTING         F-Listing-FILE                     1435 FILE              1420    2414    2422
LISTING         F-Listing-REC                      1438 FILE
LISTING         F-Original-Src-FILE                1440 FILE              1422    3446    3464
                                                                          3488
LISTING         F-Original-Src-REC                 1441 FILE              3492
LISTING         F-OS-1-128-TXT                     1442 FILE
LISTING         F-OS-129-256-TXT                   1447 FILE
LISTING         F-OS-7-CHR                         1444 FILE              3497
LISTING         F-OS-8-72-TXT                      1445 FILE              3493    3525
LISTING         F-Sort-Work-FILE                   1449 FILE              1424    2416    3272
LISTING         F-Sort-Work-REC                    1450 FILE              2525*   2527    2562*
                                                                          2564    3042    3045*
                                                                          3048    3090*   3093
                                                                          3098*   3101    3122
                                                                          3124*   3127    3210*
                                                                          3217    3222    3227
                                                                          3231*   3241*   3251
                                                                          3255*
LISTING         F-SW-Def-Line-NUM                  1455 FILE              3215*   3298    3306
                                                                          3310    3322    3323
LISTING         F-SW-Prog-ID-TXT                   1451 FILE              2417    3211*   3232*
                                                                          3242*   3256*   3283
                                                                          3289    3294    3303
                                                                          3315    3319
LISTING         F-SW-Ref-Flag-CHR                  1458 FILE              3047*   3092*   3100*
                                                                          3126*   3237*   3261*
                                                                          3334
LISTING         F-SW-Ref-Line-NUM                  1457 FILE              2419    3216*   3236*
                                                                          3246*   3260*   3332
LISTING         F-SW-Reference-TXT                 1456 FILE              3326
LISTING         F-SW-Section-TXT                   1454 FILE              3214*   3235*   3245*

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 106

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 107
=============== ================================ ====== =============== ========================
                                                                          3259*   3305    3321
LISTING         F-SW-Token-TXT                     1453 FILE              3213*   3234*   3244*
                                                                          3258*   3320
LISTING         F-SW-Token-Uc-TXT                  1452 FILE              2418    3212*   3233*
                                                                          3243*   3257*   3284
                                                                          3295    3297    3309
LISTING         L-Listing-CD                       2404 LINKAGE           2411    2451    2488
                                                                          3351    3400    3412
                                                                          3553    3567    3608
                                                                          3649
LISTING         L-Listing-Fn-TXT                   2394 LINKAGE           1420    2406
LISTING         L-LPP-NUM                          2400 LINKAGE           2409    2489
LISTING         L-LPP-Port-NUM                     2402 LINKAGE           2410    2491
LISTING         L-OS-Type-CD                       2398 LINKAGE           2408    2434
LISTING         L-Src-Fn-TXT                       2396 LINKAGE           1422    2407    2439
                                                                          2439*   2440    2441
                                                                          2445    2448    2461
                                                                          2463    2465    2470
LISTING         RETURN-CODE                             PROCEDURE         2481
LISTING         WS-CD-In-DATA-DIV-BOOL             1475 WORKING-STORAGE   2535
LISTING         WS-CD-In-ENV-DIV-BOOL              1474 WORKING-STORAGE   2533
LISTING         WS-CD-In-IDENT-DIV-BOOL            1473 WORKING-STORAGE   2531
LISTING         WS-CD-In-PROC-DIV-BOOL             1476 WORKING-STORAGE   2537
LISTING         WS-Copyright-TXT                   1461 WORKING-STORAGE   2432*   2437*   3417
                                                                          3432    3575    3595
LISTING         WS-CPI-13-15-TXT                   1482 WORKING-STORAGE   2826*
LISTING         WS-CPI-16-CHR                      1483 WORKING-STORAGE   2825
LISTING         WS-CS-1-CHR                        1486 WORKING-STORAGE   2748*
LISTING         WS-CS-11-14-TXT                    1489 WORKING-STORAGE   2750    2751*
LISTING         WS-CS-15-CHR                       1490 WORKING-STORAGE   2753*
LISTING         WS-CS-2-14-TXT                     1487 WORKING-STORAGE   2749*
LISTING         WS-Curr-Char-Is-Punct-BOOL         1464 WORKING-STORAGE   2593    2601    2606
LISTING         WS-Curr-Char-Is-Quote-BOOL         1468 WORKING-STORAGE   2612
LISTING         WS-Curr-Char-Is-X-BOOL             1469 WORKING-STORAGE   2625
LISTING         WS-Curr-Char-Is-Z-BOOL             1470 WORKING-STORAGE   2638
LISTING         WS-Curr-CHR                        1463 WORKING-STORAGE   2583*   2586    2588
                                                                          2594    2602    2608
                                                                          2615
LISTING         WS-Curr-Division-TXT               1472 WORKING-STORAGE   2508*   2544    2595
                                                                          2603    2703    2819*
                                                                          2838*   2864*   2920*
                                                                          2925*
LISTING         WS-Curr-Line-NUM                   1478 WORKING-STORAGE   2507*   2567*   2726*
                                                                          2766*   3215    3236
                                                                          3246    3260    3487*
LISTING         WS-Curr-Prog-ID-TXT                1480 WORKING-STORAGE   2497*   2824*   3211
                                                                          3232    3242    3256
LISTING         WS-Curr-Section-TXT                1485 WORKING-STORAGE   2729*   2734    2843*
                                                                          2869*   2915    2916*

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 107

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 108
=============== ================================ ====== =============== ========================
                                                                          3214    3235    3245
                                                                          3259
LISTING         WS-Curr-Verb-TXT                   1492 WORKING-STORAGE   2498*   2522*   2546*
                                                                          2930    2939
LISTING         WS-Delim-TXT                       1494 WORKING-STORAGE   2655*   2657    2675*
                                                                          2677    2680
LISTING         WS-Dummy-TXT                       1496 WORKING-STORAGE   2473*   2718*   2747*
                                                                          2780*   2785*   2786
                                                                          3473*
LISTING         WS-Expanded-Src-Fn-TXT             1498 WORKING-STORAGE   1418    2478*   2479C
LISTING         WS-Filename-TXT                    1500 WORKING-STORAGE   2472*   2475    2746*
                                                                          2749
LISTING         WS-Flags-TXT                       1502 WORKING-STORAGE
LISTING         WS-Formatted-DT                    1505 WORKING-STORAGE   2496*   3356    3379
                                                                          3613    3632
LISTING         WS-GI-Prog-ID-TXT                  1508 WORKING-STORAGE   3283    3289    3294*
LISTING         WS-GI-Token-TXT                    1509 WORKING-STORAGE   3284    3295*   3297
                                                                          3309
LISTING         WS-Group-Indicators-TXT            1507 WORKING-STORAGE   3267*
LISTING         WS-Held-Reference-TXT              1511 WORKING-STORAGE   2499*   2524    2525
                                                                          2526*   2561    2562
                                                                          2563*   3042*   3044
                                                                          3045    3046*   3083*
                                                                          3089    3090    3091*
                                                                          3097    3098    3099*
                                                                          3122*   3124    3125*
LISTING         WS-I-SUB                           1513 WORKING-STORAGE   2440*   2441    2442
                                                                          2444    2447*   2448
                                                                          2463*   2465    2466
                                                                          2467    2470    2723*
                                                                          2726    2737*   2739
                                                                          2740    2741    2744
                                                                          3268*   3302*   3314*
                                                                          3327*   3328    3330*
                                                                          3333    3335    3408*
LISTING         WS-J-SUB                           1515 WORKING-STORAGE   2464*   2468*   2470
                                                                          2738*   2742*   2744
LISTING         WS-Lines-Left-NUM                  1517 WORKING-STORAGE   3269*   3278    3292
                                                                          3344    3398*   3409
                                                                          3453    3500    3504
                                                                          3531*   3565    3647*
                                                                          3654    3663    3670
                                                                          3679    3692
LISTING         WS-Lines-Per-Page-Env-TXT          1521 WORKING-STORAGE   2453*   2457*   2484
                                                                          2485
LISTING         WS-Lines-Per-Page-NUM              1519 WORKING-STORAGE   2486*   2489*   2491*
                                                                          2494    3398    3647
LISTING         WS-Main-Module-Name-TXT            1523 WORKING-STORAGE   2445*   2449*   2725
                                                                          3475

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 108

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 109
=============== ================================ ====== =============== ========================
LISTING         WS-Next-Char-Is-Quote-BOOL         1526 WORKING-STORAGE   2625    2638
LISTING         WS-Next-CHR                        1525 WORKING-STORAGE   2585*   2628    2641
LISTING         WS-OS-Type-FILLER-TXT              1528 WORKING-STORAGE   1534
LISTING         WS-OS-Type-TXT                     1535 WORKING-STORAGE   2434
LISTING         WS-OS-Types-TXT                    1534 WORKING-STORAGE
LISTING         WS-Page-No-TXT                     1540 WORKING-STORAGE   3350C   3365    3388
                                                                          3419    3434    3577
                                                                          3597    3607C   3621
                                                                          3640
LISTING         WS-Page-NUM                        1538 WORKING-STORAGE   2430*   3346*   3348
                                                                          3566    3603*   3605
LISTING         WS-PN-Literal-TXT                  1541 WORKING-STORAGE   3347*   3604*
LISTING         WS-PN-Page-NUM                     1542 WORKING-STORAGE   3348*   3349C   3605*
                                                                          3606C
LISTING         WS-Program-Path-TXT                1544 WORKING-STORAGE   2461*   2462C   3359
                                                                          3382    3616    3635
LISTING         WS-Reserved-Word-Table-TXT         2301 WORKING-STORAGE
LISTING         WS-Reserved-Word-TXT               2302 WORKING-STORAGE   2690
LISTING         WS-Reserved-Words-TXT              1546 WORKING-STORAGE   2301
LISTING         WS-RS-Duplicate-CHR                2310 WORKING-STORAGE   3270*   3285*   3300*
                                                                          3311    3312*
LISTING         WS-RS-In-Copybook-BOOL             2313 WORKING-STORAGE   2732*   3481*
LISTING         WS-RS-In-Main-Module-BOOL          2312 WORKING-STORAGE   2727*   2765    3476*
                                                                          3486
LISTING         WS-RS-In-Which-Pgm-CHR             2311 WORKING-STORAGE
LISTING         WS-RS-Last-Token-Ended-Sent-CHR    2314 WORKING-STORAGE   2556*   2702
LISTING         WS-RS-Processing-PICTURE-CHR       2315 WORKING-STORAGE   2651    2665*   2874*
LISTING         WS-RS-Token-Ended-Sentence-CHR     2316 WORKING-STORAGE   2543    2555    2557*
                                                                          2590*   2619*   2632*
                                                                          2645*   2658*   2678*
LISTING         WS-RS-Verb-Has-Been-Found-CHR      2317 WORKING-STORAGE   2509*   2694*   2816*
LISTING         WS-Runtime-Switches                2309 WORKING-STORAGE
LISTING         WS-RW-IDX                          2305 WORKING-STORAGE   2691    2692
LISTING         WS-RW-Type-CD                      2306 WORKING-STORAGE   2692
LISTING         WS-RW-Word-TXT                     2307 WORKING-STORAGE   2304    2691
LISTING         WS-Saved-Section-TXT               2319 WORKING-STORAGE   2728    2729    2733
                                                                          2734*
LISTING         WS-SDL-Line-NUM                    2326 WORKING-STORAGE   3491*
LISTING         WS-SDL-Statement-TXT               2328 WORKING-STORAGE   3492*   3524*   3554
                                                                          3558    3560    3656
                                                                          3660*   3672    3676*
                                                                          3681    3685*   3689*
LISTING         WS-Src-Dashes-TXT                  2321 WORKING-STORAGE   3624    3643
LISTING         WS-Src-Detail-Line-TXT             2325 WORKING-STORAGE   3451*   3490*   3498*
                                                                          3502*   3507*   3511*
                                                                          3515*   3522*   3534*
                                                                          3538*   3542*   3652
                                                                          3657    3659*   3661
                                                                          3668    3673    3675*

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 109

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 110
=============== ================================ ====== =============== ========================
                                                                          3677    3682    3684*
                                                                          3686    3688*   3690
                                                                          3695*
LISTING         WS-Src-Hold-TXT                    2330 WORKING-STORAGE   3656*   3660    3672*
                                                                          3676    3681*   3685
                                                                          3689
LISTING         WS-Src-Line-NUM                    2332 WORKING-STORAGE   3448*   3477    3489*
                                                                          3491
LISTING         WS-Src-Lines-NUM                   2334 WORKING-STORAGE   3552*   3555*   3559*
                                                                          3561*   3565    3568
                                                                          3582    3650    3666
LISTING         WS-Src-SUB                         2336 WORKING-STORAGE   2505*   2558    2559
                                                                          2578*   2582    2584
                                                                          2587*   2596*   2607*
                                                                          2613*   2617*   2618
                                                                          2620*   2626*   2630*
                                                                          2631    2633*   2639*
                                                                          2643*   2644    2646*
                                                                          2656*   2659*   2676*
                                                                          2681    2756*   2761*
                                                                          2763*
LISTING         WS-Suppress-FF-CHR                 1503 WORKING-STORAGE   2431*   3279*   3421
                                                                          3436
LISTING         WS-Tally-QTY                       2338 WORKING-STORAGE   2795*   2797*   2798
                                                                          2802*   2803
LISTING         WS-Temp-10-Chars-TXT               2340 WORKING-STORAGE   2716*   2720    2721*
                                                                          2723    3471*
LISTING         WS-Temp-256-Chars-TXT              2350 WORKING-STORAGE   2480C   2717*   2724
                                                                          2736    2739    2744
                                                                          3472*   3474
LISTING         WS-Temp-32-Chars-1-TXT             2342 WORKING-STORAGE   2771*   2774    2781
LISTING         WS-Temp-32-Chars-2-TXT             2344 WORKING-STORAGE   2778*   2783*   2789
                                                                          2790*   2806
LISTING         WS-Temp-32-Chars-3-TXT             2346 WORKING-STORAGE   2779*   2784*   2792
                                                                          2793*   2806
LISTING         WS-Temp-65-Chars-TXT               2348 WORKING-STORAGE   3494*   3501    3506
                                                                          3510    3514    3526*
                                                                          3530    3533    3537
                                                                          3541
LISTING         WS-Today-DT                        2352 WORKING-STORAGE   2495*   2496
LISTING         WS-Token-Curr-TXT                  2354 WORKING-STORAGE   2515    2519*   2588*
                                                                          2597*   2608*   2616*
                                                                          2629*   2642*   2654*
                                                                          2661    2674*   2684
                                                                          2686*   2704*   2771
                                                                          2818    2824    2837
                                                                          2842    2863    2868
                                                                          2872    2906    2924
                                                                          3213    3234    3244

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 110

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 111
=============== ================================ ====== =============== ========================
                                                                          3258
LISTING         WS-Token-Curr-Uc-TXT               2356 WORKING-STORAGE   2516*   2519    2522
                                                                          2541    2918    3212
                                                                          3233    3243    3257
LISTING         WS-Token-Prev-TXT                  2358 WORKING-STORAGE   2523*   2541*   2545*
                                                                          2604*   2819    2822
                                                                          2823*   2838    2843
                                                                          2847    2864    2869
                                                                          2878    2879*   2883
                                                                          2886*   2889*   2892*
                                                                          2895*   2898*   2901*
                                                                          2904*   2919    2925
                                                                          2929    2933*   2986
                                                                          2989*   2996    3007
                                                                          3010*   3019    3030
                                                                          3039    3067    3080
                                                                          3084*   3087*   3095*
                                                                          3103*   3110    3119
                                                                          3135    3138*   3141*
                                                                          3148    3157    3168
                                                                          3183    3186*   3193
LISTING         WS-Token-Search-TXT                2360 WORKING-STORAGE   2684*   2685    2691
LISTING         WS-Token-Type-CD                   2362 WORKING-STORAGE   2589*   2598*   2609*
                                                                          2662*   2666*   2687*
                                                                          2692*   2705*
LISTING         WS-TT-Token-Is-Argtype-BOOL        2363 WORKING-STORAGE   2813    2833    2859
LISTING         WS-TT-Token-Is-EOF-BOOL            2364 WORKING-STORAGE   2512    2566*
LISTING         WS-TT-Token-Is-Function-BOOL       2365 WORKING-STORAGE   2853
LISTING         WS-TT-Token-Is-Identifier-BOOL     2366 WORKING-STORAGE   2699*   2846    2882
                                                                          2928    2936
LISTING         WS-TT-Token-Is-Keyword-BOOL        2367 WORKING-STORAGE   2517    2540    2817
                                                                          2836    2841    2862
                                                                          2867    2873    2923
LISTING         WS-TT-Token-Is-Lit-Alpha-BOOL      2368 WORKING-STORAGE   2622*   2648*
LISTING         WS-TT-Token-Is-Lit-Number-BOOL     2369 WORKING-STORAGE   2635*   2701    2775*
                                                                          2807*
LISTING         WS-TT-Token-Is-Reserved-Wd-BOOL    2371 WORKING-STORAGE   2518    2814*   2834*
                                                                          2860*   2877
LISTING         WS-TT-Token-Is-Verb-BOOL           2370 WORKING-STORAGE   2521    2693
LISTING         WS-Usernames-QTY                   2373 WORKING-STORAGE   2506*
LISTING         WS-Version-TXT                     2375 WORKING-STORAGE   2438*   3352    3375
                                                                          3609    3628
LISTING         WS-XDL-Def-Line-NUM                2382 WORKING-STORAGE   3306*   3323*
LISTING         WS-XDL-Prog-ID-TXT                 2378 WORKING-STORAGE   3303*   3315*   3319*
LISTING         WS-XDL-Ref-Flag-CHR                2388 WORKING-STORAGE   3335*
LISTING         WS-XDL-Ref-Line-NUM                2387 WORKING-STORAGE   3333*
LISTING         WS-XDL-Reference-TXT               2386 WORKING-STORAGE
LISTING         WS-XDL-Section-TXT                 2384 WORKING-STORAGE   3305*   3321*
LISTING         WS-XDL-Token-TXT                   2380 WORKING-STORAGE   3304*   3316*   3320*

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 111

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                             C:/Users/tda010/Documents/Programs/Samples/GCic.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References     Page: 112
=============== ================================ ====== =============== ========================
LISTING         WS-Xref-Detail-Line-TXT            2377 WORKING-STORAGE   3266*   3273    3276*
                                                                          3286    3290*   3299
                                                                          3318    3338    3401
                                                                          3404    3407*
LISTING         WS-Xref-Lines-Per-Rec-NUM          2391 WORKING-STORAGE   2452*   2456*   3328

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                    Page: 112

6. STREAMIO
***********

STREAMIO is a utility I created to assist with handling stream I/O
functions.  I've used it to construct a number of useful little
command-line utilities.

Usage of this subroutine is completely documented in the program
comments.  The program COPYs a copybook named STREAMIOcb, the format of
which is described in the program comments.

Both STREAMIO.cbl and STREAMIOcb.cpy are included in the "samples"
directory of any pre-built distributions of GNU COBOL that I have
created.

In addition to general GNU COBOL concepts, this program provides a
useful demonstration of the following:

   * Coding a GNU COBOL subroutine

   * Using the "REPLACING" clause on a CDF "COPY" statement

   * Using hexadecimal alphanumeric literals

   * Using the following statements:

        o "ACCEPT FROM ENVIRONMENT" statement

        o "INSPECT" statement

        o "STRING" statement

   * Using the following built-in subroutines:

        o "C$PARAMSIZE" built-in system subroutine

        o "CBL_CLOSE_FILE" built-in system subroutine

        o "CBL_DELETE_FILE" built-in system subroutine

        o "CBL_EXIT_PROC" built-in system subroutine

        o "CBL_OPEN_FILE" built-in system subroutine

        o "CBL_READ_FILE" built-in system subroutine

        o "CBL_WRITE_FILE" built-in system subroutine

   * Using the following intrinsic functions:

        o "RANDOM" intrinsic function

        o "TRIM" intrinsic function

First, here is the STREAMIOcb.cpy copybook:

           05 SCB-Handle-NUM                    PIC X(4) COMP-X.
           05 SCB-Mode-CD                       PIC X(1).
              88 SCB-MODE-Input-BOOL            VALUE 'I', 'i'.
              88 SCB-MODE-Output-BOOL           VALUE 'O', 'o'.
              88 SCB-MODE-Both-BOOL             VALUE 'B', 'b'.
           05 SCB-Function-CD                   PIC X(2).
              88 SCB-Func-CLOSE-BOOL            VALUE 'C ', 'c '.
              88 SCB-Func-DELETE-BOOL           VALUE 'D ', 'd '.
              88 SCB-Func-OPEN-BOOL             VALUE 'O ', 'o '.
              88 SCB-Func-READ-BOOL             VALUE 'R ', 'r '.
              88 SCB-Func-READ-Delim-BOOL       VALUE 'RD', 'rd',
                                                      'rD', 'Rd'.
              88 SCB-Func-WRITE-BOOL            VALUE 'W ', 'w '.
              88 SCB-Func-WRITE-Delim-BOOL      VALUE 'WD', 'wd',
                                                      'wD', 'Wd'.
           05 SCB-Delimiter-Mode-CD             PIC X(1).
              88 SCB-DELIM-Unix-BOOL            VALUE 'U', 'u'.
              88 SCB-DELIM-Windows-BOOL         VALUE 'W', 'w'.
           05 SCB-Offset-NUM                    PIC X(8) COMP-X.
           05 SCB-Error-Routine-PTR             USAGE PROGRAM-POINTER.
           05 SCB-Error-Routine-NUM REDEFINES SCB-Error-Routine-PTR
                                                USAGE BINARY-LONG.
           05 SCB-Return-CD                     USAGE BINARY-LONG.
           05 SCB-Filename-TXT                  PIC X(256).

The program source and cross-reference listing, produced using the GNU
COBOL Interactive Compiler front-end (GCic.cbl, one of the sample
programs included here), begins on the next page.

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 1
====== =========================================================================================
     1        >>SOURCE FORMAT IS FIXED
     2        IDENTIFICATION DIVISION.
     3        PROGRAM-ID. STREAMIO.
     4       *>****************************************************************
     5       *> Author: Gary L. Cutler                                       **
     6       *>                                                              **
     7       *> This routine centralizes all bytestream file I/O  functions  **
     8       *> into one routine.  The manner in which this routine is       **
     9       *> CALLed is as follows:                                        **
    10       *>                                                              **
    11       *>           CALL "STREAMIO" USING control-block [ , arg2 ]     **
    12       *>                                                              **
    13       *> where 'control-block' is defined by the "STREAMIOcb.cpy"     **
    14       *> copybook and 'arg2' will vary, depending upon the function   **
    15       *> specified in the control block.                              **
    16       *>                                                              **
    17       *> The STREAMIO routine has an advantage over the various       **
    18       *> "CBL_xxxxxx_FILE" routines in that:                          **
    19       *>                                                              **
    20       *> 1. It automates the establishment and on-going adjustment of **
    21       *>    the file-offset value in such a way as to simplify the    **
    22       *>    sequential processing of a bytestream file (you may still **
    23       *>    specify a file-offset manually on each read or write, if  **
    24       *>    you wish)                                                 **
    25       *>                                                              **
    26       *> 2. It auto-detects the size of the I/O buffer you supply to  **
    27       *>    STREAMIO, using that as the byte-count of all read and    **
    28       *>    write operations.                                         **
    29       *>                                                              **
    30       *> 3. Not only does it support the raw input and output of data **
    31       *>    that the CBL_READ_FILE and CBL_WRITE_FILE routines do,    **
    32       *>    but on input it is also capable of delivering just a      **
    33       *>    single newline-delimited or carriage-return/newline de-   **
    34       *>    limited record to the caller.                             **
    35       *>                                                              **
    36       *> 4. On output, STREAMIO can optionally append either a new-   **
    37       *>    line or carriage-return/newline sequence (your choice) to **
    38       *>    the end of every record it writes.                        **
    39       *>                                                              **
    40       *> 5. STREAMIO can automatically generate filenames for output  **
    41       *>    files if you wish, simplifying the process of creating    **
    42       *>    scratch or work files.                                    **
    43       *>                                                              **
    44       *> 6. The STREAMIO routine also allows you to (optionally) re-  **
    45       *>    gister a general error-handling routine to be given con-  **
    46       *>    trol should a fatal error be detected with STREAMIO.      **
    47       *>                                                              **
    48       *>    This routine can be "turned on" and "turned off" at will. **
    49       *>                                                              **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 1

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 2
====== =========================================================================================
    50       *> The control block format is as follows.  This structure must **
    51       *> be defined under an 01-level data item of your creation and  **
    52       *> should be INITIALIZEd before any items within it are used.   **
    53       *>                                                              **
    54       *> 05 SCB-Handle-NUM                   PIC X(4) COMP-X.         **
    55       *> 05 SCB-Mode-CD                      PIC X(1).                **
    56       *>    88 SCB-Mode-Input-BOOL           VALUE 'I', 'i'.          **
    57       *>    88 SCB-Mode-Output-BOOL          VALUE 'O', 'o'.          **
    58       *>    88 SCB-Mode-Both-BOOL            VALUE 'B', 'b'.          **
    59       *> 05 SCB-Function-CD                  PIC X(2).                **
    60       *>    88 SCB-Func-CLOSE-BOOL           VALUE 'C ', 'c '.        **
    61       *>    88 SCB-Func-DELETE-BOOL          VALUE 'D ', 'd '.        **
    62       *>    88 SCB-Func-OPEN-BOOL            VALUE 'O ', 'o '.        **
    63       *>    88 SCB-Func-READ-BOOL            VALUE 'R ', 'r '.        **
    64       *>    88 SCB-Func-READ-Delim-BOOL      VALUE 'RD', 'rd',        **
    65       *>                                           'rD', 'Rd'.        **
    66       *>    88 SCB-Func-WRITE-BOOL           VALUE 'W ', 'w '.        **
    67       *>    88 SCB-Func-WRITE-Delim-BOOL     VALUE 'WD', 'wd',        **
    68       *>                                           'wD', 'Wd'.        **
    69       *> 05 SCB-Delimiter-Mode-CD            PIC X(1).                **
    70       *>    88 SCB-Delim-Unix-BOOL           VALUE 'U', 'u'.          **
    71       *>    88 SCB-Delim-Windows-BOOL        VALUE 'W', 'w'.          **
    72       *> 05 SCB-Offset-NUM                   PIC X(8) COMP-X.         **
    73       *> 05 SCB-Error-Routine-PTR            USAGE PROGRAM-POINTER.   **
    74       *> 05 SCB-Error-Routine-NUM REDEFINES SCB-Error-Routine-PTR     **
    75       *>                                     USAGE BINARY-LONG.       **
    76       *> 05 SCB-Return-CD                    USAGE BINARY-LONG.       **
    77       *> 05 SCB-Filename-TXT                 PIC X(256).              **
    78       *>                                                              **
    79       *> Such a structure is defined for your use using the copybook  **
    80       *> "STREAMIOcb.cpy" (you may also define your own, provided it  **
    81       *> conforms to the above layout).                               **
    82       *>--------------------------------------------------------------**
    83       *> SCB-Handle-NUM                                               **
    84       *>--------------------------------------------------------------**
    85       *>                                                              **
    86       *> Serves as a file handle to the file once it has been opened  **
    87       *> (via the "SCB-Func-OPEN-BOOL" function).                     **
    88       *>                                                              **
    89       *>--------------------------------------------------------------**
    90       *> SCB-Mode-CD                                                  **
    91       *>--------------------------------------------------------------**
    92       *>                                                              **
    93       *> Prior to calling "STREAMIO" for the first time for a file,   **
    94       *> the appropriate subordinate level-88 must be set to TRUE to  **
    95       *> select an I/O mode.  You may also simply move one of the     **
    96       *> string values listed on the level-88 items to "SCB-Mode-CD". **
    97       *>                                                              **
    98       *>--------------------------------------------------------------**

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 2

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 3
====== =========================================================================================
    99       *> SCB-Function-CD                                              **
   100       *>--------------------------------------------------------------**
   101       *>                                                              **
   102       *> The appropriate subordinate level-88 must be set to TRUE to  **
   103       *> select a function you'd like to execute against a file.  You **
   104       *> may also simply move one of the string values listed on the  **
   105       *> level-88 items to "SCB-Function-CD".                         **
   106       *>                                                              **
   107       *> Available functions are as follows:                          **
   108       *>                                                              **
   109       *> SCB-Func-OPEN-BOOL                                           **
   110       *>                                                              **
   111       *>      This must be the function specified the first time you  **
   112       *>      call STREAMIO for any given file.  It opens the file &  **
   113       *>      makes it available for use according to the             **
   114       *>      "SCB-Mode-CD" specification.                            **
   115       *>                                                              **
   116       *>      The filename being opened must be specified in the      **
   117       *>      "SCB-Filename-TXT" field.                               **
   118       *>                                                              **
   119       *>      The SCB-Offset-NUM field will be initialized to ZERO.   **
   120       *>                                                              **
   121       *>      If "arg2" is specified in conjunction with this funct-  **
   122       *>      ion, it will be ignored.                                **
   123       *>                                                              **
   124       *> SCB-Func-CLOSE-BOOL                                          **
   125       *>                                                              **
   126       *>      This function should be the one specified the LAST time **
   127       *>      you call STREAMIO against a specific file.  After this  **
   128       *>      function has been executed, you'll have to re-open the  **
   129       *>      file if you wish to use it with STREAMIO again.         **
   130       *>                                                              **
   131       *>      The SCB-Handle-NUM item will be reset to ZERO.          **
   132       *>                                                              **
   133       *>      If "arg2" is specified in conjunction with this funct-  **
   134       *>      ion, it will be ignored.                                **
   135       *>                                                              **
   136       *> SCB-Func-DELETE-BOOL                                         **
   137       *>                                                              **
   138       *>      This function will delete the file specified in the     **
   139       *>      control block (see SCB-Filename-TXT).                   **
   140       *>                                                              **
   141       *>      This function should not be performed against a file    **
   142       *>      that is open.                                           **
   143       *>                                                              **
   144       *>      If "arg2" is specified in conjunction with this funct-  **
   145       *>      ion, it will be ignored.                                **
   146       *>                                                              **
   147       *> SCB-Func-READ-BOOL                                           **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 3

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 4
====== =========================================================================================
   148       *>                                                              **
   149       *>      This function invokes a standard CBL_READ_FILE against  **
   150       *>      the file specified in the control block (see            **
   151       *>      SCB-Filename-TXT).                                      **
   152       *>                                                              **
   153       *>      The buffer into which you wish to read data must be     **
   154       *>      supplied as "arg2".  The size of that buffer, in bytes, **
   155       *>      will define the "byte-count" value supplied to the      **
   156       *>      CBL_READ_FILE subroutine.  The buffer data item will be **
   157       *>      set to SPACES before the read takes place.              **
   158       *>                                                              **
   159       *>      If the file-offset value (SCB-Offset-NUM) is greater    **
   160       *>      than the size of the file, a "no more data" return code **
   161       *>      (01) will be passed back in SCB-Return-CD and the       **
   162       *>      buffer will have been set to SPACES.                    **
   163       *>                                                              **
   164       *>      At the conclusion of a successful SCB-Func-READ-BOOL,   **
   165       *>      the value of SCB-Offset-NUM will have been automati-    **
   166       *>      cally incremented by the byte-count size of "arg2".     **
   167       *>                                                              **
   168       *> SCB-Func-WRITE-BOOL                                          **
   169       *>                                                              **
   170       *>      This function invokes a standard CBL_WRITE_FILE against **
   171       *>      the file specified in the control block (see            **
   172       *>      SCB-Filename-TXT).                                      **
   173       *>                                                              **
   174       *>      The buffer from which data will be written to the file  **
   175       *>      must be supplied as "arg2".  The size of that buffer,   **
   176       *>      in bytes, will define the "byte-count" value supplied   **
   177       *>      CBL_WRITE_FILE subroutine.  The buffer data will be     **
   178       *>      written to the file-offset position defined by the      **
   179       *>      SCB-Offset-NUM value.  You may specify "arg2" either    **
   180       *>      as an actual alphanumeric data item or as an alpha-     **
   181       *>      numeric literal.                                        **
   182       *>                                                              **
   183       *>      If the file-offset value (SCB-Offset-NUM) is greater    **
   184       *>      than the size of the file, a "no more data" return code **
   185       *>      will be passed back in SCB-Return-CD and the buffer     **
   186       *>      will have been set to SPACES.                           **
   187       *>                                                              **
   188       *>      At the conclusion of a successful SCB-Func-WRITE-BOOL   **
   189       *>      operation, the value of SCB-Offset-NUM will have been   **
   190       *>      automatically incremented by the byte-count size of     **
   191       *>      "arg2".                                                 **
   192       *>                                                              **
   193       *> SCB-Func-READ-Delim-BOOL                                     **
   194       *>                                                              **
   195       *>      SCB-Func-READ-Delim-BOOL bahaves like the SCB-FUNC-     **
   196       *>      READ function, with the following behavioral dif-       **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 4

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 5
====== =========================================================================================
   197       *>      ferences:                                               **
   198       *>                                                              **
   199       *>      1. When data is read from the file, only that data read **
   200       *>         up to BUT NOT INCLUDING an end-of-line delimiter     **
   201       *>         sequence (either a LF or CRLF) will be retained in   **
   202       *>         the buffer - the remainder of the buffer from the    **
   203       *>         end-of-line sequence onward will be reset to SPACES. **
   204       *>         The file-offset value (SCB-Offset-NUM) will be in-   **
   205       *>         cremented ONLY by the amount of data transferred up  **
   206       *>         to AND INCLUDING the end-of-line sequence.           **
   207       *>                                                              **
   208       *>      2. When data is read from the file and an end-of-line   **
   209       *>         delimiter sequence (either a LF or a CRLF) cannot be **
   210       *>         found within the buffer, the assumption is made that **
   211       *>         the record is too long to fit within the buffer.  In **
   212       *>         these instances, an SCB-Return-CD value of 02 will   **
   213       *>         be returned and the SCB-Offset-NUM value will be     **
   214       *>         incremented past the next end-of-line sequence in    **
   215       *>         the file (this will involve at least one additional  **
   216       *>         call to CBL_READ_FILE to locate that eol sequence,   **
   217       *>         but any additional such reads will be done internal- **
   218       *>         ly to STREAMIO and will be entirely transparent to   **
   219       *>         the caller of STREAMIO.                              **
   220       *>                                                              **
   221       *>      DO NOT USE the Streamio-READ-Delim function if the      **
   222       *>      possibility exists that linefeed (X"0A") or carriage-   **
   223       *>      return (X"0D") characters could exist as actual data    **
   224       *>      characters in the file.                                 **
   225       *>                                                              **
   226       *> SCB-Func-WRITE-Delim-BOOL                                    **
   227       *>                                                              **
   228       *>      SCB-Func-WRITE-Delim-BOOL acts like the Streamio-       **
   229       *>      FUNC-WRITE function, with the following difference:     **
   230       *>                                                              **
   231       *>      After the specified data is written to the file, an     **
   232       *>      end-of-line sequence will also be written to the file.  **
   233       *>      The file-offset value (SCB-Value) will be incremented   **
   234       *>      by the byte-count size of the data PLUS the size of the **
   235       *>      end-of-line sequence.  One of two possible end-of-line  **
   236       *>      sequences must be specified using the value of SCB-     **
   237       *>      Delimter-Mode.                                          **
   238       *>                                                              **
   239       *>--------------------------------------------------------------**
   240       *> SCB-Delimiter-Mode-CD                                        **
   241       *>--------------------------------------------------------------**
   242       *>                                                              **
   243       *> This data item is needed only when issuing the Streamio-     **
   244       *> FUNC-WRITE-Delim function.  In those circumstances, this     **
   245       *> item defines what end-of-line delimiter sequence is to be    **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 5

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 6
====== =========================================================================================
   246       *> written:                                                     **
   247       *>                                                              **
   248       *> If SCB-Delim-Unix-BOOL is true, a linefeed character will    **
   249       *> be written.                                                  **
   250       *>                                                              **
   251       *> If SCB-Delim-Windows-BOOL is true, a carriage-return and     **
   252       *> linefeed sequence will be written.                           **
   253       *>                                                              **
   254       *>--------------------------------------------------------------**
   255       *> SCB-Offset-NUM                                               **
   256       *>--------------------------------------------------------------**
   257       *>                                                              **
   258       *> This data item specifies the next relative byte number with- **
   259       *> in the file where the next read or write will start.         **
   260       *>                                                              **
   261       *> SCB-Offset-NUM is automatically set to 0 (the first byte)    **
   262       *> when the file is opened, and is automatically incremented as **
   263       *> the file is read or written via STREAMIO.                    **
   264       *>                                                              **
   265       *> You may also manually set this value as desired before any   **
   266       *> call to STREAMIO.                                            **
   267       *>                                                              **
   268       *>--------------------------------------------------------------**
   269       *> SCB-Error-Routine-PTR                                        **
   270       *>--------------------------------------------------------------**
   271       *>                                                              **
   272       *> To specify a general error-handling routine for handling     **
   273       *> STREAMIO failures, Create the routine and define an entry-   **
   274       *> name for it via the ENTRY statement.  Then use the following **
   275       *> to set that routine up as the error handler:                 **
   276       *>                                                              **
   277       *>    SET SCB-Error-Routine-PTR TO ENTRY "entry-name"           **
   278       *>                                                              **
   279       *> To "turn off" the error-routine:                             **
   280       *>                                                              **
   281       *>    SET SCB-Error-Routine-PTR TO NULL                         **
   282       *>                                                              **
   283       *> If a fatal error occurs (any error not marked with a ">" in  **
   284       *> the SCB-Return-CD discussion), the error routine you spe-    **
   285       *> cified (if any) will be set up as an exit routine via the    **
   286       *> CBL_EXIT_PROC subroutine; the STREAMIO routine will then is- **
   287       *> sue a STOP RUN to intentionally trigger your error routine.  **
   288       *> You will not be able to recover your program once your error **
   289       *> routine triggers.  If you wish to be able to recover from    **
   290       *> fatal STREAMIO errors, you should NOT use the SCB-Error-     **
   291       *> Routine feature but instead you should explicitly test the   **
   292       *> SCB-Return-CD value after every call to STREAMIO.            **
   293       *>                                                              **
   294       *> A default error routine is defined by the "STREAMIOError.cpy"**

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 6

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 7
====== =========================================================================================
   295       *> copybook.                                                    **
   296       *>                                                              **
   297       *>--------------------------------------------------------------**
   298       *> SCB-Return-CD                                                **
   299       *>--------------------------------------------------------------**
   300       *>                                                              **
   301       *> The following are the possible SCB-Return-CD values.  The    **
   302       *> ones marked with a ">" will NOT trigger an error-routine, if **
   303       *> one is currently registered via SCB-Error-Routine-PTR.       **
   304       *>                                                              **
   305       *>   12 I/O error writing to file                               **
   306       *>   11 File does not exist                                     **
   307       *>   10 File already OPEN or already CLOSEd                     **
   308       *> > 02 READ-Delim was truncated                                **
   309       *> > 01 No more data is available from the current              **
   310       *>      SCB-Offset-NUM                                          **
   311       *> > 00 OK - the operation was successful                       **
   312       *>   -1 Invalid SCB-Function-CD                                 **
   313       *>   -2 Invalid SCB-Mode-CD                                     **
   314       *>   -3 CBL_xxxxx_FILE routine rejected operation               **
   315       *>   -4 Invalid delimiter mode specified (Not U/W)              **
   316       *>                                                              **
   317       *>--------------------------------------------------------------**
   318       *> SCB-Filename-TXT                                             **
   319       *>--------------------------------------------------------------**
   320       *>                                                              **
   321       *> This is the name of the file you wish to access.             **
   322       *>                                                              **
   323       *> If you are planning on reading the file, the file MUST exist **
   324       *> at the time the SCB-Func-OPEN-BOOL is executed.              **
   325       *>                                                              **
   326       *> If you are planning on writing to the file, the file need    **
   327       *> exist when the SCB-Func-OPEN-BOOL is issued.                 **
   328       *>                                                              **
   329       *> In general, the contents of SCB-Filename-TXT should re-      **
   330       *> flect the complete path to the file as well as the name of   **
   331       *> the file itself, unless the file is contained in whatever    **
   332       *> directory is current at the time the SCB-Func-OPEN-BOOL is   **
   333       *> executed.                                                    **
   334       *>                                                              **
   335       *> The following special values may be used for                 **
   336       *> SCB-Filename-TXT:                                            **
   337       *>                                                              **
   338       *> SPACES If the filename is SPACES, a filename will be created **
   339       *>        automatically for you in whatever directory is de-    **
   340       *>        fined by the TEMP environment variable.  If there IS  **
   341       *>        no TEMP variable defined, the "/tmp" folder will be   **
   342       *>        assumed.  The filename will be STREAMIO-nnnnnnnn.dat  **
   343       *>        where "nnnnnnnn" is a random number.                  **

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 7

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 8
====== =========================================================================================
   344       *>                                                              **
   345       *> .      If you specify only a dot (period) as the filename,   **
   346       *>        the behavior will be the same as with a value of      **
   347       *>        SPACES except there will be no ".dat" at the end of   **
   348       *>        the generated filename.                               **
   349       *>                                                              **
   350       *> .ext   If you specify a filename extension prefixed with a   **
   351       *>        dot (period), the behavior will be the same as if a   **
   352       *>        value of SPACES were specified, except that the given **
   353       *>        extension will be used instead of ".dat".  Note that  **
   354       *>        if you are using a Unix/Cygwin implementation of      **
   355       *>        OpenCOBOL and you'd like to specify a hidden file in  **
   356       *>        the current directory as the SCB-Filename-TXT, you    **
   357       *>        MUST code the filename as "./.xxxxx" to avoid having  **
   358       *>        it treated as this special name.                      **
   359       *>                                                              **
   360       *>****************************************************************
   361        ENVIRONMENT DIVISION.
   362        CONFIGURATION SECTION.
   363        REPOSITORY.
   364            FUNCTION ALL INTRINSIC.
   365        DATA DIVISION.
   366        WORKING-STORAGE SECTION.
   367        01  WS-Access-Mode-CD                     PIC X(1) COMP-X.
   368        01  WS-Arg-Length-NUM                     PIC X(4) COMP-X.
   369        01  WS-Buffer-TXT                         PIC X(256).
   370        01  WS-Delim-Buffer-TXT                   PIC X(2).
   371        01  WS-Env-Temp-TXT                       PIC X(256).
   372        01  WS-Slash-CHR                          PIC X(1).
   373        01  WS-Tally-NUM                          USAGE BINARY-LONG.
   374        01  WS-8-Digit-NUM                        PIC 9(8).
   375        01  WS-256-Byte-TXT                       PIC X(256).
   376        LINKAGE SECTION.
   377        01  L-StreamIO-Control-Block-TXT.
   378            COPY STREAMIOcb
   379                REPLACING LEADING ==SCB-== BY ==L-SCB-==.
        05 L-SCB-Handle-NUM PIC X(4) COMP-X.
        05 L-SCB-Mode-CD PIC X(1).
        88 L-SCB-MODE-Input-BOOL VALUE 'I' 'i'.
        88 L-SCB-MODE-Output-BOOL VALUE 'O' 'o'.
        88 L-SCB-MODE-Both-BOOL VALUE 'B' 'b'.
        05 L-SCB-Function-CD PIC X(2).
        88 L-SCB-Func-CLOSE-BOOL VALUE 'C ' 'c '.
        88 L-SCB-Func-DELETE-BOOL VALUE 'D ' 'd '.
        88 L-SCB-Func-OPEN-BOOL VALUE 'O ' 'o '.
        88 L-SCB-Func-READ-BOOL VALUE 'R ' 'r '.
        88 L-SCB-Func-READ-Delim-BOOL VALUE 'RD' 'rd'
        'rD' 'Rd'.
        88 L-SCB-Func-WRITE-BOOL VALUE 'W ' 'w '.

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 8

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                         Page: 9
====== =========================================================================================
        88 L-SCB-Func-WRITE-Delim-BOOL VALUE 'WD' 'wd'
        'wD' 'Wd'.
        05 L-SCB-Delimiter-Mode-CD PIC X(1).
        88 L-SCB-DELIM-Unix-BOOL VALUE 'U' 'u'.
        88 L-SCB-DELIM-Windows-BOOL VALUE 'W' 'w'.
        05 L-SCB-Offset-NUM PIC X(8) COMP-X.
        05 L-SCB-Error-Routine-PTR USAGE PROGRAM-POINTER.
        05 L-SCB-Error-Routine-NUM REDEFINES L-SCB-Error-Routine-PTR
        USAGE BINARY-LONG.
        05 L-SCB-Return-CD USAGE BINARY-LONG.
        05 L-SCB-Filename-TXT PIC X(256).
   380        01  L-Arg2-TXT                            PIC X ANY LENGTH.
   381        PROCEDURE DIVISION USING L-StreamIO-Control-Block-TXT,
   382                                 L-Arg2-TXT.
   383        000-Main SECTION.
   384            MOVE 00 TO L-SCB-Return-CD
   385            EVALUATE TRUE
   386                WHEN L-SCB-Func-CLOSE-BOOL
   387                    PERFORM 030-Validate-Handle-NonZero
   388                    PERFORM 200-CLOSE
   389                WHEN L-SCB-Func-DELETE-BOOL
   390                    CALL "CBL_DELETE_FILE" USING L-SCB-Filename-TXT
   391                WHEN L-SCB-Func-OPEN-BOOL
   392                    PERFORM 020-Validate-Handle-Zero
   393                    PERFORM 100-OPEN
   394                WHEN L-SCB-Func-READ-BOOL
   395                    PERFORM 030-Validate-Handle-NonZero
   396                    PERFORM 400-READ
   397                WHEN L-SCB-Func-READ-Delim-BOOL
   398                    PERFORM 030-Validate-Handle-NonZero
   399                    PERFORM 500-READ-Delim
   400                WHEN L-SCB-Func-WRITE-BOOL
   401                    PERFORM 030-Validate-Handle-NonZero
   402                    PERFORM 300-WRITE
   403                WHEN L-SCB-Func-WRITE-Delim-BOOL
   404                    EVALUATE TRUE
   405                        WHEN L-SCB-Delim-Unix-BOOL
   406                            PERFORM 030-Validate-Handle-NonZero
   407                            PERFORM 300-WRITE
   408                            MOVE 1 TO WS-Arg-Length-NUM
   409                            MOVE X"0A" TO WS-Delim-Buffer-TXT
   410                        WHEN L-SCB-Delim-Windows-BOOL
   411                            PERFORM 030-Validate-Handle-NonZero
   412                            PERFORM 300-WRITE
   413                            MOVE 2 TO WS-Arg-Length-NUM
   414                            MOVE X"0D0A" TO WS-Delim-Buffer-TXT
   415                       WHEN OTHER
   416                            MOVE -4 TO L-SCB-Return-CD
   417                            PERFORM 099-ERROR-Return

================================================================================================
GCic for OSX Copyright (C) 2009-2014, Gary L. Cutler, GPL                                Page: 9

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                        Page: 10
====== =========================================================================================
   418                    END-EVALUATE
   419                    CALL "CBL_WRITE_FILE" USING L-SCB-Handle-NUM
   420                                                L-SCB-Offset-NUM
   421                                                WS-Arg-Length-NUM
   422                                                0
   423                                                WS-Delim-Buffer-TXT
   424                    PERFORM 040-Check-WRITE-SCB-Return-CD
   425                    ADD WS-Arg-Length-NUM TO L-SCB-Offset-NUM
   426                WHEN OTHER
   427                    MOVE -1 TO L-SCB-Return-CD
   428                    PERFORM 099-ERROR-Return
   429            END-EVALUATE
   430            GOBACK
   431            .
   432        020-Validate-Handle-Zero SECTION.
   433            IF L-SCB-Handle-NUM NOT = ZERO
   434                MOVE 10 TO L-SCB-Return-CD
   435                PERFORM 099-ERROR-Return
   436            END-IF
   437            .
   438        030-Validate-Handle-NonZero SECTION.
   439            IF L-SCB-Handle-NUM = ZERO
   440                MOVE 10 TO L-SCB-Return-CD
   441                PERFORM 099-ERROR-Return
   442            END-IF
   443            .
   444        040-Check-WRITE-SCB-Return-CD SECTION.
   445            IF RETURN-CODE < 0
   446                MOVE -3 TO L-SCB-Return-CD
   447                PERFORM 099-ERROR-Return
   448            END-IF
   449            IF RETURN-CODE = 30
   450                MOVE 12 TO L-SCB-Return-CD
   451                PERFORM 099-ERROR-Return
   452            END-IF
   453            MOVE 00 TO L-SCB-Return-CD
   454            .
   455        050-Check-READ-SCB-Return-CD SECTION.
   456            IF RETURN-CODE < 0
   457                MOVE -3 TO L-SCB-Return-CD
   458                PERFORM 099-ERROR-Return
   459            END-IF
   460            IF RETURN-CODE = 10
   461                MOVE 01 TO L-SCB-Return-CD
   462                GOBACK
   463            END-IF
   464            MOVE 00 TO L-SCB-Return-CD
   465            .
   466        060-Identify-TEMP SECTION.

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 10

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                        Page: 11
====== =========================================================================================
   467            ACCEPT WS-Env-Temp-TXT FROM ENVIRONMENT "TEMP"
   468            EVALUATE TRUE
   469                WHEN WS-Env-Temp-TXT (1:1) = "/"
   470                    MOVE "/"    TO WS-Slash-CHR
   471                WHEN WS-Env-Temp-TXT (2:1) = ":"
   472                    MOVE "\"    TO WS-Slash-CHR
   473                WHEN OTHER
   474                    MOVE "/tmp" TO WS-Env-Temp-TXT
   475                    MOVE "/"    TO WS-Slash-CHR
   476            END-EVALUATE
   477            .
   478        099-ERROR-Return SECTION.
   479            IF L-SCB-Error-Routine-NUM NOT = 0
   480                CALL "CBL_EXIT_PROC" USING 0, L-SCB-Error-Routine-PTR
   481                STOP RUN
   482            END-IF
   483            GOBACK
   484            .
   485        100-OPEN SECTION.
   486            IF  (L-SCB-Mode-Input-BOOL OR L-SCB-Mode-Both-BOOL)
   487            AND (L-SCB-Filename-TXT = SPACES OR LOW-VALUES)
   488                MOVE 11 TO L-SCB-Return-CD
   489                PERFORM 099-ERROR-Return
   490            END-IF
   491            EVALUATE TRUE
   492                WHEN L-SCB-Filename-TXT = SPACES OR LOW-VALUES
   493                    PERFORM 060-Identify-TEMP
   494                    MOVE SPACES TO L-SCB-Filename-TXT
   495                    COMPUTE
   496                        WS-8-Digit-NUM =
   497                        RANDOM(SECONDS-PAST-MIDNIGHT) * 100000000
   498                    END-COMPUTE
   499                    STRING
   500                        TRIM(WS-Env-Temp-TXT,TRAILING)
   501                        WS-Slash-CHR
   502                        "STREAMIO-"
   503                        WS-8-Digit-NUM
   504                        ".dat"
   505                        DELIMITED BY SIZE
   506                        INTO L-SCB-Filename-TXT
   507                WHEN L-SCB-Filename-TXT(1:1) = "."
   508                    PERFORM 060-Identify-TEMP
   509                    IF L-SCB-Filename-TXT(2:1) = SPACE
   510                        MOVE SPACES TO WS-256-Byte-TXT
   511                    ELSE
   512                        MOVE L-SCB-Filename-TXT TO WS-256-Byte-TXT
   513                    END-IF
   514                    MOVE SPACES TO L-SCB-Filename-TXT
   515                    COMPUTE WS-8-Digit-NUM =

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 11

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                        Page: 12
====== =========================================================================================
   516                        RANDOM(SECONDS-PAST-MIDNIGHT) * 100000000
   517                    STRING
   518                        TRIM(WS-Env-Temp-TXT,TRAILING)
   519                        WS-Slash-CHR
   520                        "STREAMIO-"
   521                        WS-8-Digit-NUM
   522                        TRIM(WS-256-Byte-TXT,TRAILING)
   523                        DELIMITED BY SIZE
   524                        INTO L-SCB-Filename-TXT
   525            END-EVALUATE
   526            EVALUATE TRUE
   527                WHEN L-SCB-Mode-Input-BOOL
   528                    MOVE 1 TO WS-Access-Mode-CD
   529                WHEN L-SCB-Mode-Output-BOOL
   530                    MOVE 2 TO WS-Access-Mode-CD
   531                WHEN L-SCB-Mode-Both-BOOL
   532                    MOVE 3 TO WS-Access-Mode-CD
   533                WHEN OTHER
   534                    MOVE -2 TO L-SCB-Return-CD
   535                    PERFORM 099-ERROR-Return
   536            END-EVALUATE
   537            CALL "CBL_OPEN_FILE" USING TRIM(L-SCB-Filename-TXT,TRAILING)
   538                                       WS-Access-Mode-CD
   539                                       0
   540                                       0
   541                                       L-SCB-Handle-NUM
   542            IF RETURN-CODE = 35
   543                MOVE 11 TO L-SCB-Return-CD
   544                PERFORM 099-ERROR-Return
   545            END-IF
   546            IF RETURN-CODE < 0
   547                MOVE -2 TO L-SCB-Return-CD
   548                PERFORM 099-ERROR-Return
   549            END-IF
   550            MOVE 00 TO L-SCB-Return-CD
   551            MOVE 0 TO L-SCB-Offset-NUM
   552            .
   553        200-CLOSE SECTION.
   554            CALL "CBL_CLOSE_FILE" USING L-SCB-Handle-NUM
   555            IF RETURN-CODE < 0
   556                MOVE -2 TO L-SCB-Return-CD
   557                PERFORM 099-ERROR-Return
   558            END-IF
   559            MOVE 00 TO L-SCB-Return-CD
   560            MOVE 0 TO L-SCB-Handle-NUM
   561            .
   562        300-WRITE SECTION.
   563            CALL "C$PARAMSIZE" USING 2
   564            MOVE RETURN-CODE TO WS-Arg-Length-NUM

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 12

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                        Page: 13
====== =========================================================================================
   565            CALL "CBL_WRITE_FILE" USING L-SCB-Handle-NUM
   566                                        L-SCB-Offset-NUM
   567                                        WS-Arg-Length-NUM
   568                                        0
   569                                        L-Arg2-TXT
   570            PERFORM 040-Check-WRITE-SCB-Return-CD
   571            ADD WS-Arg-Length-NUM TO L-SCB-Offset-NUM
   572            .
   573        400-READ SECTION.
   574            CALL "C$PARAMSIZE" USING 2
   575            MOVE RETURN-CODE TO WS-Arg-Length-NUM
   576            MOVE SPACES TO L-Arg2-TXT(1:WS-Arg-Length-NUM)
   577            CALL "CBL_READ_FILE" USING L-SCB-Handle-NUM
   578                                       L-SCB-Offset-NUM
   579                                       WS-Arg-Length-NUM
   580                                       0
   581                                       L-Arg2-TXT
   582            PERFORM 050-Check-READ-SCB-Return-CD
   583            ADD WS-Arg-Length-NUM TO L-SCB-Offset-NUM
   584            .
   585        500-READ-Delim SECTION.
   586            CALL "C$PARAMSIZE" USING 2
   587            MOVE RETURN-CODE TO WS-Arg-Length-NUM
   588            MOVE SPACES TO L-Arg2-TXT(1:WS-Arg-Length-NUM)
   589            CALL "CBL_READ_FILE" USING L-SCB-Handle-NUM
   590                                       L-SCB-Offset-NUM
   591                                       WS-Arg-Length-NUM
   592                                       0
   593                                       L-Arg2-TXT
   594            PERFORM 050-Check-READ-SCB-Return-CD
   595            MOVE 0 TO WS-Tally-NUM
   596            INSPECT L-Arg2-TXT(1:WS-Arg-Length-NUM)
   597                TALLYING WS-Tally-NUM FOR ALL X"0A"
   598            IF WS-Tally-NUM = 0 *> No LF found - return truncated data and position past n
       ext LF (if any)
   599                IF L-Arg2-TXT(WS-Arg-Length-NUM:1) = X"0D"
   600                    MOVE SPACE TO L-Arg2-TXT(WS-Arg-Length-NUM:1)
   601                END-IF
   602                ADD WS-Arg-Length-NUM TO L-SCB-Offset-NUM
   603                MOVE 02 TO L-SCB-Return-CD
   604                MOVE 256 TO WS-Arg-Length-NUM
   605                PERFORM UNTIL 0 = 1
   606                    MOVE SPACES TO WS-Buffer-TXT
   607                    CALL "CBL_READ_FILE" USING L-SCB-Handle-NUM
   608                                               L-SCB-Offset-NUM
   609                                               WS-Arg-Length-NUM
   610                                               0
   611                                               WS-Buffer-TXT
   612                    IF RETURN-CODE < 0

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 13

GNU COBOL 2.1 23NOV2013 Source Listing                                                2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
Line   Statement                                                                        Page: 14
====== =========================================================================================
   613                        MOVE -3 TO L-SCB-Return-CD
   614                        PERFORM 099-ERROR-Return
   615                    END-IF
   616                    IF RETURN-CODE = 10
   617                        GOBACK
   618                    END-IF
   619                    MOVE 0 TO WS-Tally-NUM
   620                    INSPECT WS-Buffer-TXT
   621                        TALLYING WS-Tally-NUM FOR ALL X"0A"
   622                    IF WS-Tally-NUM = 0
   623                        ADD 256 TO L-SCB-Offset-NUM
   624                    ELSE
   625                        MOVE 0 TO WS-Tally-NUM
   626                        INSPECT WS-Buffer-TXT
   627                            TALLYING WS-Tally-NUM
   628                            FOR CHARACTERS BEFORE INITIAL X"0A"
   629                        ADD WS-Tally-NUM, 1 TO L-SCB-Offset-NUM
   630                        GOBACK
   631                    END-IF
   632                END-PERFORM
   633            ELSE         *> There is (at least) one LF in the buffer
   634                MOVE 0 TO WS-Tally-NUM
   635                INSPECT L-Arg2-TXT(1:WS-Arg-Length-NUM)
   636                    TALLYING WS-Tally-NUM
   637                    FOR CHARACTERS BEFORE INITIAL X"0A"
   638                ADD WS-Tally-NUM, 1 TO L-SCB-Offset-NUM
   639                IF WS-Tally-NUM > 1
   640                    IF L-Arg2-TXT(WS-Tally-NUM:1) = X"0D"
   641                        COMPUTE WS-Arg-Length-NUM =
   642                                  WS-Arg-Length-NUM
   643                                - WS-Tally-NUM
   644                                + 1
   645                    ELSE
   646                        COMPUTE WS-Arg-Length-NUM =
   647                                  WS-Arg-Length-NUM
   648                                - WS-Tally-NUM
   649                        ADD 1 TO WS-Tally-NUM
   650                    END-IF
   651                    MOVE SPACES
   652                      TO L-Arg2-TXT(WS-Tally-NUM:WS-Arg-Length-NUM)
   653                ELSE
   654                    MOVE SPACES
   655                      TO L-Arg2-TXT(1:WS-Arg-Length-NUM)
   656                END-IF
   657            END-IF
   658            .

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 14

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References      Page: 15
=============== ================================ ====== =============== ========================
STREAMIO        000-Main                            383 PROCEDURE
STREAMIO        020-Validate-Handle-Zero            432 PROCEDURE          392
STREAMIO        030-Validate-Handle-NonZero         438 PROCEDURE          387     395     398
                                                                           401     406     411
STREAMIO        040-Check-WRITE-SCB-Return-CD       444 PROCEDURE          424     570
STREAMIO        050-Check-READ-SCB-Return-CD        455 PROCEDURE          582     594
STREAMIO        060-Identify-TEMP                   466 PROCEDURE          493     508
STREAMIO        099-ERROR-Return                    478 PROCEDURE          417     428     435
                                                                           441     447     451
                                                                           458     489     535
                                                                           544     548     557
                                                                           614
STREAMIO        100-OPEN                            485 PROCEDURE          393
STREAMIO        200-CLOSE                           553 PROCEDURE          388
STREAMIO        300-WRITE                           562 PROCEDURE          402     407     412
STREAMIO        400-READ                            573 PROCEDURE          396
STREAMIO        500-READ-Delim                      585 PROCEDURE          399
STREAMIO        L-Arg2-TXT                          380 LINKAGE            382     569C    576*
                                                                           581C    588*    593C
                                                                           599     600*    640
                                                                           652*    655*
STREAMIO        L-SCB-DELIM-Unix-BOOL               379 [STREAMIOcb   ]    405
STREAMIO        L-SCB-DELIM-Windows-BOOL            379 [STREAMIOcb   ]    410
STREAMIO        L-SCB-Delimiter-Mode-CD             379 [STREAMIOcb   ]
STREAMIO        L-SCB-Error-Routine-NUM             379 [STREAMIOcb   ]    479
STREAMIO        L-SCB-Error-Routine-PTR             379 [STREAMIOcb   ]    379     480C
STREAMIO        L-SCB-Filename-TXT                  379 [STREAMIOcb   ]    390C    487     492
                                                                           494*    506*    507
                                                                           509     512     514*
                                                                           524*    537C
STREAMIO        L-SCB-Func-CLOSE-BOOL               379 [STREAMIOcb   ]    386
STREAMIO        L-SCB-Func-DELETE-BOOL              379 [STREAMIOcb   ]    389
STREAMIO        L-SCB-Func-OPEN-BOOL                379 [STREAMIOcb   ]    391
STREAMIO        L-SCB-Func-READ-BOOL                379 [STREAMIOcb   ]    394
STREAMIO        L-SCB-Func-READ-Delim-BOOL          379 [STREAMIOcb   ]    397
STREAMIO        L-SCB-Func-WRITE-BOOL               379 [STREAMIOcb   ]    400
STREAMIO        L-SCB-Func-WRITE-Delim-BOOL         379 [STREAMIOcb   ]    403
STREAMIO        L-SCB-Function-CD                   379 [STREAMIOcb   ]
STREAMIO        L-SCB-Handle-NUM                    379 [STREAMIOcb   ]    419C    433     439
                                                                           541C    554C    560*
                                                                           565C    577C    589C
                                                                           607C
STREAMIO        L-SCB-MODE-Both-BOOL                379 [STREAMIOcb   ]    486     531
STREAMIO        L-SCB-Mode-CD                       379 [STREAMIOcb   ]
STREAMIO        L-SCB-MODE-Input-BOOL               379 [STREAMIOcb   ]    486     527
STREAMIO        L-SCB-MODE-Output-BOOL              379 [STREAMIOcb   ]    529
STREAMIO        L-SCB-Offset-NUM                    379 [STREAMIOcb   ]    420C    425*    551*
                                                                           566C    571*    578C
                                                                           583*    590C    602*

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 15

GNU COBOL 2.1 23NOV2013 Cross-Reference Listing                                       2014/03/27
                                         C:/Users/tda010/Documents/Programs/Samples/STREAMIO.cbl
PROGRAM-ID      Identifier/Register/Function     Defn   Where Defined   References      Page: 16
=============== ================================ ====== =============== ========================
                                                                           608C    623*    629*
                                                                           638*
STREAMIO        L-SCB-Return-CD                     379 [STREAMIOcb   ]    384*    416*    427*
                                                                           434*    440*    446*
                                                                           450*    453*    457*
                                                                           461*    464*    488*
                                                                           534*    543*    547*
                                                                           550*    556*    559*
                                                                           603*    613*
STREAMIO        L-StreamIO-Control-Block-TXT        377 LINKAGE            381
STREAMIO        RETURN-CODE                             PROCEDURE          445     449     456
                                                                           460     542     546
                                                                           555     564     575
                                                                           587     612     616
STREAMIO        WS-256-Byte-TXT                     375 WORKING-STORAGE    510*    512*    522
STREAMIO        WS-8-Digit-NUM                      374 WORKING-STORAGE    496*    503     515*
                                                                           521
STREAMIO        WS-Access-Mode-CD                   367 WORKING-STORAGE    528*    530*    532*
                                                                           538C
STREAMIO        WS-Arg-Length-NUM                   368 WORKING-STORAGE    408*    413*    421C
                                                                           425     564*    567C
                                                                           571     575*    576
                                                                           579C    583     587*
                                                                           588     591C    596
                                                                           599     600     602
                                                                           604*    609C    635
                                                                           641*    642     646*
                                                                           647     652     655
STREAMIO        WS-Buffer-TXT                       369 WORKING-STORAGE    606*    611C
STREAMIO        WS-Delim-Buffer-TXT                 370 WORKING-STORAGE    409*    414*    423C
STREAMIO        WS-Env-Temp-TXT                     371 WORKING-STORAGE    467*    469     471
                                                                           474*    500     518
STREAMIO        WS-Slash-CHR                        372 WORKING-STORAGE    470*    472*    475*
                                                                           501     519
STREAMIO        WS-Tally-NUM                        373 WORKING-STORAGE    595*    597*    598
                                                                           619*    621*    622
                                                                           625*    627*    629
                                                                           634*    636*    638
                                                                           639     640     643
                                                                           648     649*    652

================================================================================================
GCic for Windows/MinGW Copyright (C) 2009-2014, Gary L. Cutler, GPL                     Page: 16

7. GNU Free Documentation License
*********************************

                     Version 1.3, 3 November 2008

     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
     `http://fsf.org/'

     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

  0. PREAMBLE

     The purpose of this License is to make a manual, textbook, or other
     functional and useful document "free" in the sense of freedom: to
     assure everyone the effective freedom to copy and redistribute it,
     with or without modifying it, either commercially or
     noncommercially.  Secondarily, this License preserves for the
     author and publisher a way to get credit for their work, while not
     being considered responsible for modifications made by others.

     This License is a kind of "copyleft", which means that derivative
     works of the document must themselves be free in the same sense.
     It complements the GNU General Public License, which is a copyleft
     license designed for free software.

     We have designed this License in order to use it for manuals for
     free software, because free software needs free documentation: a
     free program should come with manuals providing the same freedoms
     that the software does.  But this License is not limited to
     software manuals; it can be used for any textual work, regardless
     of subject matter or whether it is published as a printed book.
     We recommend this License principally for works whose purpose is
     instruction or reference.

  1. APPLICABILITY AND DEFINITIONS

     This License applies to any manual or other work, in any medium,
     that contains a notice placed by the copyright holder saying it
     can be distributed under the terms of this License.  Such a notice
     grants a world-wide, royalty-free license, unlimited in duration,
     to use that work under the conditions stated herein.  The
     "Document", below, refers to any such manual or work.  Any member
     of the public is a licensee, and is addressed as "you".  You
     accept the license if you copy, modify or distribute the work in a
     way requiring permission under copyright law.

     A "Modified Version" of the Document means any work containing the
     Document or a portion of it, either copied verbatim, or with
     modifications and/or translated into another language.

     A "Secondary Section" is a named appendix or a front-matter section
     of the Document that deals exclusively with the relationship of the
     publishers or authors of the Document to the Document's overall
     subject (or to related matters) and contains nothing that could
     fall directly within that overall subject.  (Thus, if the Document
     is in part a textbook of mathematics, a Secondary Section may not
     explain any mathematics.)  The relationship could be a matter of
     historical connection with the subject or with related matters, or
     of legal, commercial, philosophical, ethical or political position
     regarding them.

     The "Invariant Sections" are certain Secondary Sections whose
     titles are designated, as being those of Invariant Sections, in
     the notice that says that the Document is released under this
     License.  If a section does not fit the above definition of
     Secondary then it is not allowed to be designated as Invariant.
     The Document may contain zero Invariant Sections.  If the Document
     does not identify any Invariant Sections then there are none.

     The "Cover Texts" are certain short passages of text that are
     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
     that says that the Document is released under this License.  A
     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
     be at most 25 words.

     A "Transparent" copy of the Document means a machine-readable copy,
     represented in a format whose specification is available to the
     general public, that is suitable for revising the document
     straightforwardly with generic text editors or (for images
     composed of pixels) generic paint programs or (for drawings) some
     widely available drawing editor, and that is suitable for input to
     text formatters or for automatic translation to a variety of
     formats suitable for input to text formatters.  A copy made in an
     otherwise Transparent file format whose markup, or absence of
     markup, has been arranged to thwart or discourage subsequent
     modification by readers is not Transparent.  An image format is
     not Transparent if used for any substantial amount of text.  A
     copy that is not "Transparent" is called "Opaque".

     Examples of suitable formats for Transparent copies include plain
     ASCII without markup, Texinfo input format, LaTeX input format,
     SGML or XML using a publicly available DTD, and
     standard-conforming simple HTML, PostScript or PDF designed for
     human modification.  Examples of transparent image formats include
     PNG, XCF and JPG.  Opaque formats include proprietary formats that
     can be read and edited only by proprietary word processors, SGML or
     XML for which the DTD and/or processing tools are not generally
     available, and the machine-generated HTML, PostScript or PDF
     produced by some word processors for output purposes only.

     The "Title Page" means, for a printed book, the title page itself,
     plus such following pages as are needed to hold, legibly, the
     material this License requires to appear in the title page.  For
     works in formats which do not have any title page as such, "Title
     Page" means the text near the most prominent appearance of the
     work's title, preceding the beginning of the body of the text.

     The "publisher" means any person or entity that distributes copies
     of the Document to the public.

     A section "Entitled XYZ" means a named subunit of the Document
     whose title either is precisely XYZ or contains XYZ in parentheses
     following text that translates XYZ in another language.  (Here XYZ
     stands for a specific section name mentioned below, such as
     "Acknowledgements", "Dedications", "Endorsements", or "History".)
     To "Preserve the Title" of such a section when you modify the
     Document means that it remains a section "Entitled XYZ" according
     to this definition.

     The Document may include Warranty Disclaimers next to the notice
     which states that this License applies to the Document.  These
     Warranty Disclaimers are considered to be included by reference in
     this License, but only as regards disclaiming warranties: any other
     implication that these Warranty Disclaimers may have is void and
     has no effect on the meaning of this License.

  2. VERBATIM COPYING

     You may copy and distribute the Document in any medium, either
     commercially or noncommercially, provided that this License, the
     copyright notices, and the license notice saying this License
     applies to the Document are reproduced in all copies, and that you
     add no other conditions whatsoever to those of this License.  You
     may not use technical measures to obstruct or control the reading
     or further copying of the copies you make or distribute.  However,
     you may accept compensation in exchange for copies.  If you
     distribute a large enough number of copies you must also follow
     the conditions in section 3.

     You may also lend copies, under the same conditions stated above,
     and you may publicly display copies.

  3. COPYING IN QUANTITY

     If you publish printed copies (or copies in media that commonly
     have printed covers) of the Document, numbering more than 100, and
     the Document's license notice requires Cover Texts, you must
     enclose the copies in covers that carry, clearly and legibly, all
     these Cover Texts: Front-Cover Texts on the front cover, and
     Back-Cover Texts on the back cover.  Both covers must also clearly
     and legibly identify you as the publisher of these copies.  The
     front cover must present the full title with all words of the
     title equally prominent and visible.  You may add other material
     on the covers in addition.  Copying with changes limited to the
     covers, as long as they preserve the title of the Document and
     satisfy these conditions, can be treated as verbatim copying in
     other respects.

     If the required texts for either cover are too voluminous to fit
     legibly, you should put the first ones listed (as many as fit
     reasonably) on the actual cover, and continue the rest onto
     adjacent pages.

     If you publish or distribute Opaque copies of the Document
     numbering more than 100, you must either include a
     machine-readable Transparent copy along with each Opaque copy, or
     state in or with each Opaque copy a computer-network location from
     which the general network-using public has access to download
     using public-standard network protocols a complete Transparent
     copy of the Document, free of added material.  If you use the
     latter option, you must take reasonably prudent steps, when you
     begin distribution of Opaque copies in quantity, to ensure that
     this Transparent copy will remain thus accessible at the stated
     location until at least one year after the last time you
     distribute an Opaque copy (directly or through your agents or
     retailers) of that edition to the public.

     It is requested, but not required, that you contact the authors of
     the Document well before redistributing any large number of
     copies, to give them a chance to provide you with an updated
     version of the Document.

  4. MODIFICATIONS

     You may copy and distribute a Modified Version of the Document
     under the conditions of sections 2 and 3 above, provided that you
     release the Modified Version under precisely this License, with
     the Modified Version filling the role of the Document, thus
     licensing distribution and modification of the Modified Version to
     whoever possesses a copy of it.  In addition, you must do these
     things in the Modified Version:

       A. Use in the Title Page (and on the covers, if any) a title
          distinct from that of the Document, and from those of
          previous versions (which should, if there were any, be listed
          in the History section of the Document).  You may use the
          same title as a previous version if the original publisher of
          that version gives permission.

       B. List on the Title Page, as authors, one or more persons or
          entities responsible for authorship of the modifications in
          the Modified Version, together with at least five of the
          principal authors of the Document (all of its principal
          authors, if it has fewer than five), unless they release you
          from this requirement.

       C. State on the Title page the name of the publisher of the
          Modified Version, as the publisher.

       D. Preserve all the copyright notices of the Document.

       E. Add an appropriate copyright notice for your modifications
          adjacent to the other copyright notices.

       F. Include, immediately after the copyright notices, a license
          notice giving the public permission to use the Modified
          Version under the terms of this License, in the form shown in
          the Addendum below.

       G. Preserve in that license notice the full lists of Invariant
          Sections and required Cover Texts given in the Document's
          license notice.

       H. Include an unaltered copy of this License.

       I. Preserve the section Entitled "History", Preserve its Title,
          and add to it an item stating at least the title, year, new
          authors, and publisher of the Modified Version as given on
          the Title Page.  If there is no section Entitled "History" in
          the Document, create one stating the title, year, authors,
          and publisher of the Document as given on its Title Page,
          then add an item describing the Modified Version as stated in
          the previous sentence.

       J. Preserve the network location, if any, given in the Document
          for public access to a Transparent copy of the Document, and
          likewise the network locations given in the Document for
          previous versions it was based on.  These may be placed in
          the "History" section.  You may omit a network location for a
          work that was published at least four years before the
          Document itself, or if the original publisher of the version
          it refers to gives permission.

       K. For any section Entitled "Acknowledgements" or "Dedications",
          Preserve the Title of the section, and preserve in the
          section all the substance and tone of each of the contributor
          acknowledgements and/or dedications given therein.

       L. Preserve all the Invariant Sections of the Document,
          unaltered in their text and in their titles.  Section numbers
          or the equivalent are not considered part of the section
          titles.

       M. Delete any section Entitled "Endorsements".  Such a section
          may not be included in the Modified Version.

       N. Do not retitle any existing section to be Entitled
          "Endorsements" or to conflict in title with any Invariant
          Section.

       O. Preserve any Warranty Disclaimers.

     If the Modified Version includes new front-matter sections or
     appendices that qualify as Secondary Sections and contain no
     material copied from the Document, you may at your option
     designate some or all of these sections as invariant.  To do this,
     add their titles to the list of Invariant Sections in the Modified
     Version's license notice.  These titles must be distinct from any
     other section titles.

     You may add a section Entitled "Endorsements", provided it contains
     nothing but endorsements of your Modified Version by various
     parties--for example, statements of peer review or that the text
     has been approved by an organization as the authoritative
     definition of a standard.

     You may add a passage of up to five words as a Front-Cover Text,
     and a passage of up to 25 words as a Back-Cover Text, to the end
     of the list of Cover Texts in the Modified Version.  Only one
     passage of Front-Cover Text and one of Back-Cover Text may be
     added by (or through arrangements made by) any one entity.  If the
     Document already includes a cover text for the same cover,
     previously added by you or by arrangement made by the same entity
     you are acting on behalf of, you may not add another; but you may
     replace the old one, on explicit permission from the previous
     publisher that added the old one.

     The author(s) and publisher(s) of the Document do not by this
     License give permission to use their names for publicity for or to
     assert or imply endorsement of any Modified Version.

  5. COMBINING DOCUMENTS

     You may combine the Document with other documents released under
     this License, under the terms defined in section 4 above for
     modified versions, provided that you include in the combination
     all of the Invariant Sections of all of the original documents,
     unmodified, and list them all as Invariant Sections of your
     combined work in its license notice, and that you preserve all
     their Warranty Disclaimers.

     The combined work need only contain one copy of this License, and
     multiple identical Invariant Sections may be replaced with a single
     copy.  If there are multiple Invariant Sections with the same name
     but different contents, make the title of each such section unique
     by adding at the end of it, in parentheses, the name of the
     original author or publisher of that section if known, or else a
     unique number.  Make the same adjustment to the section titles in
     the list of Invariant Sections in the license notice of the
     combined work.

     In the combination, you must combine any sections Entitled
     "History" in the various original documents, forming one section
     Entitled "History"; likewise combine any sections Entitled
     "Acknowledgements", and any sections Entitled "Dedications".  You
     must delete all sections Entitled "Endorsements."

  6. COLLECTIONS OF DOCUMENTS

     You may make a collection consisting of the Document and other
     documents released under this License, and replace the individual
     copies of this License in the various documents with a single copy
     that is included in the collection, provided that you follow the
     rules of this License for verbatim copying of each of the
     documents in all other respects.

     You may extract a single document from such a collection, and
     distribute it individually under this License, provided you insert
     a copy of this License into the extracted document, and follow
     this License in all other respects regarding verbatim copying of
     that document.

  7. AGGREGATION WITH INDEPENDENT WORKS

     A compilation of the Document or its derivatives with other
     separate and independent documents or works, in or on a volume of
     a storage or distribution medium, is called an "aggregate" if the
     copyright resulting from the compilation is not used to limit the
     legal rights of the compilation's users beyond what the individual
     works permit.  When the Document is included in an aggregate, this
     License does not apply to the other works in the aggregate which
     are not themselves derivative works of the Document.

     If the Cover Text requirement of section 3 is applicable to these
     copies of the Document, then if the Document is less than one half
     of the entire aggregate, the Document's Cover Texts may be placed
     on covers that bracket the Document within the aggregate, or the
     electronic equivalent of covers if the Document is in electronic
     form.  Otherwise they must appear on printed covers that bracket
     the whole aggregate.

  8. TRANSLATION

     Translation is considered a kind of modification, so you may
     distribute translations of the Document under the terms of section
     4.  Replacing Invariant Sections with translations requires special
     permission from their copyright holders, but you may include
     translations of some or all Invariant Sections in addition to the
     original versions of these Invariant Sections.  You may include a
     translation of this License, and all the license notices in the
     Document, and any Warranty Disclaimers, provided that you also
     include the original English version of this License and the
     original versions of those notices and disclaimers.  In case of a
     disagreement between the translation and the original version of
     this License or a notice or disclaimer, the original version will
     prevail.

     If a section in the Document is Entitled "Acknowledgements",
     "Dedications", or "History", the requirement (section 4) to
     Preserve its Title (section 1) will typically require changing the
     actual title.

  9. TERMINATION

     You may not copy, modify, sublicense, or distribute the Document
     except as expressly provided under this License.  Any attempt
     otherwise to copy, modify, sublicense, or distribute it is void,
     and will automatically terminate your rights under this License.

     However, if you cease all violation of this License, then your
     license from a particular copyright holder is reinstated (a)
     provisionally, unless and until the copyright holder explicitly
     and finally terminates your license, and (b) permanently, if the
     copyright holder fails to notify you of the violation by some
     reasonable means prior to 60 days after the cessation.

     Moreover, your license from a particular copyright holder is
     reinstated permanently if the copyright holder notifies you of the
     violation by some reasonable means, this is the first time you have
     received notice of violation of this License (for any work) from
     that copyright holder, and you cure the violation prior to 30 days
     after your receipt of the notice.

     Termination of your rights under this section does not terminate
     the licenses of parties who have received copies or rights from
     you under this License.  If your rights have been terminated and
     not permanently reinstated, receipt of a copy of some or all of
     the same material does not give you any rights to use it.

 10. FUTURE REVISIONS OF THIS LICENSE

     The Free Software Foundation may publish new, revised versions of
     the GNU Free Documentation License from time to time.  Such new
     versions will be similar in spirit to the present version, but may
     differ in detail to address new problems or concerns.  See
     `http://www.gnu.org/copyleft/'.

     Each version of the License is given a distinguishing version
     number.  If the Document specifies that a particular numbered
     version of this License "or any later version" applies to it, you
     have the option of following the terms and conditions either of
     that specified version or of any later version that has been
     published (not as a draft) by the Free Software Foundation.  If
     the Document does not specify a version number of this License,
     you may choose any version ever published (not as a draft) by the
     Free Software Foundation.  If the Document specifies that a proxy
     can decide which future versions of this License can be used, that
     proxy's public statement of acceptance of a version permanently
     authorizes you to choose that version for the Document.

 11. RELICENSING

     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
     World Wide Web server that publishes copyrightable works and also
     provides prominent facilities for anybody to edit those works.  A
     public wiki that anybody can edit is an example of such a server.
     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
     site means any set of copyrightable works thus published on the MMC
     site.

     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
     license published by Creative Commons Corporation, a not-for-profit
     corporation with a principal place of business in San Francisco,
     California, as well as future copyleft versions of that license
     published by that same organization.

     "Incorporate" means to publish or republish a Document, in whole or
     in part, as part of another Document.

     An MMC is "eligible for relicensing" if it is licensed under this
     License, and if all works that were first published under this
     License somewhere other than this MMC, and subsequently
     incorporated in whole or in part into the MMC, (1) had no cover
     texts or invariant sections, and (2) were thus incorporated prior
     to November 1, 2008.

     The operator of an MMC Site may republish an MMC contained in the
     site under CC-BY-SA on the same site at any time before August 1,
     2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents
====================================================

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:

       Copyright (C)  YEAR  YOUR NAME.
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
       or any later version published by the Free Software Foundation;
       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
       Texts.  A copy of the license is included in the section entitled ``GNU
       Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:

         with the Invariant Sections being LIST THEIR TITLES, with
         the Front-Cover Texts being LIST, and with the Back-Cover Texts
         being LIST.

If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License, to
permit their use in free software.