https://gcc.gnu.org/g:422a63d91129c363e326b9167cb37c231bd606cd

commit r17-1787-g422a63d91129c363e326b9167cb37c231bd606cd
Author: James K. Lowden <[email protected]>
Date:   Tue Jun 23 16:36:41 2026 -0400

    cobol: accept CDF PROCESS directive
    
    If the IBM PROCESS directive appears before IDENTIFICATION DIVISION
    with -dialect ibm, it is now a warning.  In all other cases it is an
    error.  Controlled by -Wibm-cdf. Fixes RT 3609.
    
    gcc/cobol/ChangeLog:
    
            * cbldiag.h (enum cbl_diag_id_t): Add IbmCdf.
            * cdf.y: Renumber tokens.
            * cobol1.cc (cobol_langhook_handle_option): Accept -Wibm-cdf.
            * gcobol.1: Document Wibm-cdf
            * lang-specs.h: Add Wno-ibm-cdf to spec string.
            * lang.opt: Add Wibm-cdf.
            * messages.cc (cobol_warning_suppress): Add IbmCdf to 
cbl_diagnostics.
            * parse.y: Handle PROCESS token.
            * scan.l: Return PROCESS token.
            * token_names.h: Update.

Diff:
---
 gcc/cobol/cbldiag.h     |    3 +-
 gcc/cobol/cdf.y         |   64 +-
 gcc/cobol/cobol1.cc     |    4 +
 gcc/cobol/gcobol.1      |    9 +
 gcc/cobol/lang-specs.h  |    1 +
 gcc/cobol/lang.opt      |    5 +
 gcc/cobol/messages.cc   |    4 +
 gcc/cobol/parse.y       |   48 +-
 gcc/cobol/scan.l        |   10 +-
 gcc/cobol/token_names.h | 1622 +++++++++++++++++++++++------------------------
 10 files changed, 881 insertions(+), 889 deletions(-)

diff --git a/gcc/cobol/cbldiag.h b/gcc/cobol/cbldiag.h
index 5df71fa68d3e..338c47ed38a9 100644
--- a/gcc/cobol/cbldiag.h
+++ b/gcc/cobol/cbldiag.h
@@ -158,10 +158,11 @@ enum cbl_diag_id_t : uint64_t {
   LexReplaceE,
   LexSeparatorE,
 
+  IbmCdf,
   IbmEjectE,
   IbmEqualAssignE,
   IbmLengthOf, 
-  IbmProcedurePointer, 
+  IbmProcedurePointer,
   IbmSectionNegE,
   IbmSectionRangeE,
   IbmSectionSegmentW,
diff --git a/gcc/cobol/cdf.y b/gcc/cobol/cdf.y
index 83548a2bbb8d..f239e60ae602 100644
--- a/gcc/cobol/cdf.y
+++ b/gcc/cobol/cdf.y
@@ -274,7 +274,7 @@ apply_cdf_turn( const exception_turn_t& turn ) {
 %type  <cdfarg>        namelit name_any name_one
 %type  <string>        name subscript subscripts inof
 %token <boolean>  BOOL
-%token <number>  FEATURE 367  NUMBER 304  EXCEPTION_NAME 280    "EXCEPTION 
NAME"
+%token <number>  FEATURE 368  NUMBER 304  EXCEPTION_NAME 280    "EXCEPTION 
NAME"
 
 %type  <cdfval>        cdf_expr
 %type  <cdfval>        cdf_relexpr cdf_reloper cdf_and cdf_bool_expr
@@ -286,47 +286,47 @@ apply_cdf_turn( const exception_turn_t& turn ) {
 
 %type   <number>        cdf_stackable
 
-%token BY 488
-%token COPY 364
-%token CDF_DISPLAY 386    ">>DISPLAY"
-%token IN 606
+%token BY 489
+%token COPY 365
+%token CDF_DISPLAY 387    ">>DISPLAY"
+%token IN 607
 %token NAME 286
 %token NUMSTR 306    "numeric literal"
-%token OF 687
+%token OF 688
 %token PSEUDOTEXT 723
 %token REPLACING 745
 %token LITERAL 299
-%token SUPPRESS 378
-
-%token LSUB 369    "("
-%token SUBSCRIPT 377  RSUB 374    ")"
-
-%token CDF_DEFINE 385    ">>DEFINE"
-%token CDF_IF 387    ">>IF"
-%token CDF_ELSE 388    ">>ELSE"
-%token CDF_END_IF 389    ">>END-IF"
-%token CDF_EVALUATE 390    ">>EVALUATE"
-%token CDF_WHEN 391    ">>WHEN"
-%token CDF_END_EVALUATE 392    ">>END-EVALUATE"
-
-%token ALL 452
-%token CALL_CONVENTION 393    ">>CALL-CONVENTION"
-%token COBOL_WORDS 382    ">>COBOL-WORDS"
-%token CDF_PUSH 396    ">>PUSH"
-%token CDF_POP 397    ">>POP"
-%token SOURCE_FORMAT 398    ">>SOURCE FORMAT"
-
-%token AS 470  CONSTANT 363  DEFINED 365
+%token SUPPRESS 379
+
+%token LSUB 370    "("
+%token SUBSCRIPT 378  RSUB 375    ")"
+
+%token CDF_DEFINE 386    ">>DEFINE"
+%token CDF_IF 388    ">>IF"
+%token CDF_ELSE 389    ">>ELSE"
+%token CDF_END_IF 390    ">>END-IF"
+%token CDF_EVALUATE 391    ">>EVALUATE"
+%token CDF_WHEN 392    ">>WHEN"
+%token CDF_END_EVALUATE 393    ">>END-EVALUATE"
+
+%token ALL 453
+%token CALL_CONVENTION 394    ">>CALL-CONVENTION"
+%token COBOL_WORDS 383    ">>COBOL-WORDS"
+%token CDF_PUSH 397    ">>PUSH"
+%token CDF_POP 398    ">>POP"
+%token SOURCE_FORMAT 399    ">>SOURCE FORMAT"
+
+%token AS 471  CONSTANT 364  DEFINED 366
 %type  <boolean>            DEFINED
-%token OTHER 699  PARAMETER_kw 370    "PARAMETER"
-%token OFF 688  OVERRIDE 371
+%token OTHER 700  PARAMETER_kw 371    "PARAMETER"
+%token OFF 689  OVERRIDE 372
 %token THRU 950
 %token TRUE_kw 815    "True"
 
-%token CALL_COBOL 394    "CALL"
-%token CALL_VERBATIM 395    "CALL (as C)"
+%token CALL_COBOL 395    "CALL"
+%token CALL_VERBATIM 396    "CALL (as C)"
 
-%token TURN 817  CHECKING 498  LOCATION 650  ON 690  WITH 844
+%token TURN 817  CHECKING 499  LOCATION 651  ON 691  WITH 844
 
 %left OR 951
 %left AND 952
diff --git a/gcc/cobol/cobol1.cc b/gcc/cobol/cobol1.cc
index 0cc170197175..f7d832d5d2e7 100644
--- a/gcc/cobol/cobol1.cc
+++ b/gcc/cobol/cobol1.cc
@@ -733,6 +733,10 @@ cobol_langhook_handle_option (size_t scode,
           cobol_warning(IbmEjectE, cobol_eject, warning_as_error);
           return true;
 
+        case OPT_Wibm_cdf:
+          cobol_warning(IbmCdf, cobol_ibmcdf, warning_as_error);
+          return true;
+
         case OPT_Woperator_space:
           cobol_warning(LexSeparatorE, operator_space, warning_as_error);
           return true;
diff --git a/gcc/cobol/gcobol.1 b/gcc/cobol/gcobol.1
index 3442f898177d..8d39a1b3612c 100644
--- a/gcc/cobol/gcobol.1
+++ b/gcc/cobol/gcobol.1
@@ -57,6 +57,7 @@
 .Op Fl Wno-copybook-found
 .Op Fl Wno-ec-unknown
 .Op Fl Wno-entry-convention
+.Op Fl Wno-ibm-cdf
 .Op Fl Wno-iconv-error
 .Op Fl Wno-include-file-found
 .Op Fl Wno-include-file-not-found
@@ -673,6 +674,14 @@ Warn if SET ... TO LOCALE is used.
 .
 `.\" convert errors to warnings
 Warn if a line directive is malformed (instead of error).
+.It Fl Wibm-cdf
+Warn if IBM-specific CDF directives are used (instead of error).
+With
+.Fl dialect Sy ibm
+some potentially important directives produce a warning.
+This option allows the warning to be defeated or, with
+.Fl Werror ,
+converted to an error.
 .It Fl Wno-iconv-error
 Warn if iconv(3) cannot convert between encodings (instead of error).
 .It Fl Wno-include-file-not-found
diff --git a/gcc/cobol/lang-specs.h b/gcc/cobol/lang-specs.h
index 84dd1757152b..65f49b662883 100644
--- a/gcc/cobol/lang-specs.h
+++ b/gcc/cobol/lang-specs.h
@@ -67,6 +67,7 @@
        "%{Wno-copybook-found} "
        "%{Wno-ec-unknown} "
        "%{Wno-entry-convention} "
+       "%{Wno-ibm-cdf} "
        "%{Wno-iconv-error} "
        "%{Wno-include-file-found} "
        "%{Wno-include-file-not-found} "
diff --git a/gcc/cobol/lang.opt b/gcc/cobol/lang.opt
index 8abd816ae64c..bd4cb22b0b28 100644
--- a/gcc/cobol/lang.opt
+++ b/gcc/cobol/lang.opt
@@ -228,6 +228,11 @@ Wnllanginfo-error
 Cobol Warning Var(nllanginfo_error, 1) Init(1)
 Warn if nlanglanginfo(3) fails.
 
+; IbmCdf
+Wibm-cdf
+Cobol Warning Var(cobol_ibmcdf, 1) Init(1)
+Warn if IBM-specific CDF directives are used.
+
 ; IbmLengthOf
 Wlength-of
 Cobol Warning Var(cobol_length_of, 1) Init(1)
diff --git a/gcc/cobol/messages.cc b/gcc/cobol/messages.cc
index a6178e574205..347333f758c7 100644
--- a/gcc/cobol/messages.cc
+++ b/gcc/cobol/messages.cc
@@ -122,6 +122,7 @@ std::set<cbl_diag_t> cbl_diagnostics {
 
   { EcUnknownW, "-Wec-unknown", diagnostics::kind::warning },
 
+  { IbmCdf, "-Wibm-cdf", diagnostics::kind::error, dialect_ibm_e },
   { IbmEjectE, "-Wcobol-eject", diagnostics::kind::error, dialect_ibm_e },
   { IbmLengthOf, "-Wlength-of", diagnostics::kind::error, dialect_ibm_mf_gnu },
   { IbmEqualAssignE, "-Wequal-assign", diagnostics::kind::error, dialect_ibm_e 
},
@@ -250,6 +251,9 @@ cobol_warning_suppress( cbl_dialect_t dialect ) {
   for( auto diag : cbl_diagnostics ) {
     if( diag.dialect & dialect ) {
       switch(diag.id) {
+      case IbmCdf:
+        diag.kind = diagnostics::kind::warning;
+        break;
       case IbmSectionNegE:
       case IbmSectionRangeE:
       case IbmSectionSegmentW:
diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index 73b8ff6ace3a..63210685947e 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -403,7 +403,7 @@ class locale_tgt_t {
 %token  <boolean>       PERFORM BACKWARD
 %token  <number>        POSITIVE
 %token  <field_attr>   POINTER
-%token  <string>        SECTION
+%token  <string>        PROCESS SECTION
 %token  <number>        STANDARD_ALPHABET "STANDARD ALPHABET"
 %token  <string>        SWITCH
 %token  <string>        UPSI 
@@ -596,7 +596,7 @@ class locale_tgt_t {
                        PAGE_COUNTER "PAGE-COUNTER"
                        PF PH PI PIC PICTURE
                        PLUS PRESENT_VALUE PRINT_SWITCH
-                       PROCEDURE PROCEDURES PROCEED PROCESS PROCESSING
+                       PROCEDURE PROCEDURES PROCEED PROCESSING
                        PROGRAM_ID "PROGRAM-ID"
                        PROGRAM_kw "Program" PROPERTY PROTOTYPE PSEUDOTEXT
 
@@ -1284,7 +1284,7 @@ class locale_tgt_t {
                        PAGE_COUNTER
                         PF PH PI PIC PICTURE PIC_P
                         PLUS POINTER POSITIVE PRESENT_VALUE PRINT_SWITCH
-                        PROCEDURE PROCEDURES PROCEED PROCESS
+                        PROCEDURE PROCEDURES PROCEED 
                         PROGRAM_ID
                        PROGRAM_kw PROPERTY PROTOTYPE PSEUDOTEXT
 
@@ -1631,6 +1631,9 @@ cobol_words1:     COBOL_WORDS EQUATE NAME[keyword] WITH 
NAME[name] {
        |       COBOL_WORDS RESERVE NAME[name] {
                  if( ! cdf_tokens.reserve(@name, $name) ) { YYERROR; }
                }
+        |       PROCESS {
+                  cbl_message(@1, IbmCdf, "%qs", $1);
+                }
                ;
 
 program_id:     PROGRAM_ID dot namestr[name] program_as program_attrs[attr] dot
@@ -3718,45 +3721,6 @@ field:          cdf
                     }
                   }
                   field_done();
-
-#if 0
-                  const auto& field(*$data_descr);
-
-                  // Format data.initial per picture
-                  if( 0 == pristine_values.count(field.data.initial) ) {
-                    if( field.data.digits > 0 && !field.is_zero() ) {
-                      char *initial;
-                      int rdigits = field.data.rdigits < 0?
-                                    1 : field.data.rdigits + 1;
-
-                      if( field.has_attr(scaled_e) ) {
-                        if( field.data.rdigits > 0 ) {
-                          rdigits = field.data.digits + field.data.rdigits;
-                        } else {
-                          rdigits = 0;
-                        }
-                      }
-                      initial = string_of(field.data.value_of());
-                      if( !initial ) {
-                        error_msg(@1, "could not convert value to string");
-                        YYERROR;
-                      }
-                      char decimal = symbol_decimal_point();
-                      std::replace(initial, initial + strlen(initial), '.', 
decimal);
-                      free(const_cast<char*>($data_descr->data.initial));
-                      $data_descr->data.initial = initial;
-                      if( yydebug ) {
-                        const char *value_str = 
string_of(field.data.value_of());
-                        dbgmsg("%s::data.initial is (%%%d.%d) %s ==> '%s'",
-                              field.name,
-                              field.data.digits,
-                              rdigits,
-                              value_str? value_str : "",
-                              field.data.initial);
-                      }
-                    }
-                  }
-#endif
                 }
                 ;
 
diff --git a/gcc/cobol/scan.l b/gcc/cobol/scan.l
index 5255cf48b32c..1f9f3dd2b080 100644
--- a/gcc/cobol/scan.l
+++ b/gcc/cobol/scan.l
@@ -2288,9 +2288,13 @@ USE({SPC}FOR)?           { return USE; }
 [*]CBL         { return STAR_CBL; }
 [*]CONTROL     { return STAR_CBL; }
 
-^[ ]*[*](PROCESS\b|CBL\b).*$ {
-                 auto p = std::find(yytext, yytext + yyleng, '*');
-                 not_implemented("CDF '%s' was ignored", p);
+(PROCESS|CBL)({BLANK}.*)?/{EOL} {
+                 yylval.string = xstrdup(yytext);
+                  for(char *p = yylval.string + strlen(yylval.string) - 1;
+                      *p == 0x20; p-- ) {
+                      *p = '\0';
+                  }
+                 return PROCESS;
                }
 ^[ ]*[@]OPTIONS.+$ {
                  auto p = std::find(yytext, yytext + yyleng, '@');
diff --git a/gcc/cobol/token_names.h b/gcc/cobol/token_names.h
index acb002a339d4..27c39935470d 100644
--- a/gcc/cobol/token_names.h
+++ b/gcc/cobol/token_names.h
@@ -57,413 +57,413 @@ tokens = {
        { "backward", BACKWARD }, // 311
        { "positive", POSITIVE }, // 312
        { "pointer", POINTER }, // 313
-       { "section", SECTION }, // 314
-       { "standard-alphabet", STANDARD_ALPHABET }, // 315
-       { "switch", SWITCH }, // 316
-       { "upsi", UPSI }, // 317
-       { "zero", ZERO }, // 318
-       { "zeros", ZERO }, // 318
-       { "zeroes", ZERO }, // 318
-       { "sysin", SYSIN }, // 319
-       { "sysipt", SYSIPT }, // 320
-       { "sysout", SYSOUT }, // 321
-       { "syslist", SYSLIST }, // 322
-       { "syslst", SYSLST }, // 323
-       { "syspunch", SYSPUNCH }, // 324
-       { "syspch", SYSPCH }, // 325
-       { "console", CONSOLE }, // 326
-       { "c01", C01 }, // 327
-       { "c02", C02 }, // 328
-       { "c03", C03 }, // 329
-       { "c04", C04 }, // 330
-       { "c05", C05 }, // 331
-       { "c06", C06 }, // 332
-       { "c07", C07 }, // 333
-       { "c08", C08 }, // 334
-       { "c09", C09 }, // 335
-       { "c10", C10 }, // 336
-       { "c11", C11 }, // 337
-       { "c12", C12 }, // 338
-       { "csp", CSP }, // 339
-       { "s01", S01 }, // 340
-       { "s02", S02 }, // 341
-       { "s03", S03 }, // 342
-       { "s04", S04 }, // 343
-       { "s05", S05 }, // 344
-       { "afp-5a", AFP_5A }, // 345
-       { "stdin", STDIN }, // 346
-       { "stdout", STDOUT }, // 347
-       { "stderr", STDERR }, // 348
-       { "list", LIST }, // 349
-       { "map", MAP }, // 350
-       { "nolist", NOLIST }, // 351
-       { "nomap", NOMAP }, // 352
-       { "nosource", NOSOURCE }, // 353
-       { "might-be", MIGHT_BE }, // 354
-       { "function-udf", FUNCTION_UDF }, // 355
-       { "function-udf-0", FUNCTION_UDF_0 }, // 356
-       { "default", DEFAULT }, // 357
-       { "date-fmt", DATE_FMT }, // 358
-       { "time-fmt", TIME_FMT }, // 359
-       { "datetime-fmt", DATETIME_FMT }, // 360
-       { "basis", BASIS }, // 361
-       { "cbl", CBL }, // 362
-       { "constant", CONSTANT }, // 363
-       { "copy", COPY }, // 364
-       { "defined", DEFINED }, // 365
-       { "enter", ENTER }, // 366
-       { "feature", FEATURE }, // 367
-       { "insertt", INSERTT }, // 368
-       { "lsub", LSUB }, // 369
-       { "parameter", PARAMETER_kw }, // 370
-       { "override", OVERRIDE }, // 371
-       { "ready", READY }, // 372
-       { "reset", RESET }, // 373
-       { "rsub", RSUB }, // 374
-       { "service-reload", SERVICE_RELOAD }, // 375
-       { "star-cbl", STAR_CBL }, // 376
-       { "subscript", SUBSCRIPT }, // 377
-       { "suppress", SUPPRESS }, // 378
-       { "title", TITLE }, // 379
-       { "trace", TRACE }, // 380
-       { "use", USE }, // 381
-       { "cobol-words", COBOL_WORDS }, // 382
-       { "equate", EQUATE }, // 383
-       { "undefine", UNDEFINE }, // 384
-       { "cdf-define", CDF_DEFINE }, // 385
-       { "cdf-display", CDF_DISPLAY }, // 386
-       { "cdf-if", CDF_IF }, // 387
-       { "cdf-else", CDF_ELSE }, // 388
-       { "cdf-end-if", CDF_END_IF }, // 389
-       { "cdf-evaluate", CDF_EVALUATE }, // 390
-       { "cdf-when", CDF_WHEN }, // 391
-       { "cdf-end-evaluate", CDF_END_EVALUATE }, // 392
-       { "call-convention", CALL_CONVENTION }, // 393
-       { "call-cobol", CALL_COBOL }, // 394
-       { "call-verbatim", CALL_VERBATIM }, // 395
-       { "cdf-push", CDF_PUSH }, // 396
-       { "cdf-pop", CDF_POP }, // 397
-       { "source-format", SOURCE_FORMAT }, // 398
-       { "if", IF }, // 399
-       { "then", THEN }, // 400
-       { "else", ELSE }, // 401
-       { "sentence", SENTENCE }, // 402
-       { "accept", ACCEPT }, // 403
-       { "add", ADD }, // 404
-       { "alter", ALTER }, // 405
-       { "call", CALL }, // 406
-       { "cancel", CANCEL }, // 407
-       { "close", CLOSE }, // 408
-       { "compute", COMPUTE }, // 409
-       { "continue", CONTINUE }, // 410
-       { "delete", DELETE }, // 411
-       { "display", DISPLAY }, // 412
-       { "divide", DIVIDE }, // 413
-       { "evaluate", EVALUATE }, // 414
-       { "exit", EXIT }, // 415
-       { "filler", FILLER_kw }, // 416
-       { "goback", GOBACK }, // 417
-       { "goto", GOTO }, // 418
-       { "initialize", INITIALIZE }, // 419
-       { "inspect", INSPECT }, // 420
-       { "merge", MERGE }, // 421
-       { "move", MOVE }, // 422
-       { "multiply", MULTIPLY }, // 423
-       { "open", OPEN }, // 424
-       { "paragraph", PARAGRAPH }, // 425
-       { "read", READ }, // 426
-       { "release", RELEASE }, // 427
-       { "return", RETURN }, // 428
-       { "rewrite", REWRITE }, // 429
-       { "search", SEARCH }, // 430
-       { "set", SET }, // 431
-       { "select", SELECT }, // 432
-       { "sort", SORT }, // 433
-       { "sort-merge", SORT_MERGE }, // 434
-       { "string", STRING_kw }, // 435
-       { "stop", STOP }, // 436
-       { "subtract", SUBTRACT }, // 437
-       { "start", START }, // 438
-       { "unstring", UNSTRING }, // 439
-       { "write", WRITE }, // 440
-       { "when", WHEN }, // 441
-       { "argument-number", ARGUMENT_NUMBER }, // 442
-       { "argument-value", ARGUMENT_VALUE }, // 443
-       { "environment-name", ENVIRONMENT_NAME }, // 444
-       { "environment-value", ENVIRONMENT_VALUE }, // 445
-       { "abs", ABS }, // 446
-       { "access", ACCESS }, // 447
-       { "acos", ACOS }, // 448
-       { "actual", ACTUAL }, // 449
-       { "advancing", ADVANCING }, // 450
-       { "after", AFTER }, // 451
-       { "all", ALL }, // 452
-       { "allocate", ALLOCATE }, // 453
-       { "alphabet", ALPHABET }, // 454
-       { "alphabetic", ALPHABETIC }, // 455
-       { "alphabetic-lower", ALPHABETIC_LOWER }, // 456
-       { "alphabetic-upper", ALPHABETIC_UPPER }, // 457
-       { "alphanumeric", ALPHANUMERIC }, // 458
-       { "alphanumeric-edited", ALPHANUMERIC_EDITED }, // 459
-       { "also", ALSO }, // 460
-       { "alternate", ALTERNATE }, // 461
-       { "annuity", ANNUITY }, // 462
-       { "anum", ANUM }, // 463
-       { "any", ANY }, // 464
-       { "anycase", ANYCASE }, // 465
-       { "apply", APPLY }, // 466
-       { "are", ARE }, // 467
-       { "area", AREA }, // 468
-       { "areas", AREAS }, // 469
-       { "as", AS }, // 470
-       { "ascending", ASCENDING }, // 471
-       { "activating", ACTIVATING }, // 472
-       { "asin", ASIN }, // 473
-       { "assign", ASSIGN }, // 474
-       { "at", AT }, // 475
-       { "atan", ATAN }, // 476
-       { "based", BASED }, // 477
-       { "baseconvert", BASECONVERT }, // 478
-       { "before", BEFORE }, // 479
-       { "binary", BINARY }, // 480
-       { "bit", BIT }, // 481
-       { "bit-of", BIT_OF }, // 482
-       { "bit-to-char", BIT_TO_CHAR }, // 483
-       { "blank", BLANK }, // 484
-       { "block", BLOCK_kw }, // 485
-       { "boolean-of-integer", BOOLEAN_OF_INTEGER }, // 486
-       { "bottom", BOTTOM }, // 487
-       { "by", BY }, // 488
-       { "byte", BYTE }, // 489
-       { "byte-length", BYTE_LENGTH }, // 490
-       { "cf", CF }, // 491
-       { "ch", CH }, // 492
-       { "changed", CHANGED }, // 493
-       { "char", CHAR }, // 494
-       { "char-national", CHAR_NATIONAL }, // 495
-       { "character", CHARACTER }, // 496
-       { "characters", CHARACTERS }, // 497
-       { "checking", CHECKING }, // 498
-       { "class", CLASS }, // 499
-       { "cobol", COBOL }, // 500
-       { "code", CODE }, // 501
-       { "code-set", CODESET }, // 502
-       { "collating", COLLATING }, // 503
-       { "column", COLUMN }, // 504
-       { "combined-datetime", COMBINED_DATETIME }, // 505
-       { "comma", COMMA }, // 506
-       { "command-line", COMMAND_LINE }, // 507
-       { "command-line-count", COMMAND_LINE_COUNT }, // 508
-       { "commit", COMMIT }, // 509
-       { "common", COMMON }, // 510
-       { "concat", CONCAT }, // 511
-       { "condition", CONDITION }, // 512
-       { "configuration", CONFIGURATION_SECT }, // 513
-       { "contains", CONTAINS }, // 514
-       { "content", CONTENT }, // 515
-       { "control", CONTROL }, // 516
-       { "controls", CONTROLS }, // 517
-       { "convert", CONVERT }, // 518
-       { "converting", CONVERTING }, // 519
-       { "corresponding", CORRESPONDING }, // 520
-       { "cos", COS }, // 521
-       { "count", COUNT }, // 522
-       { "currency", CURRENCY }, // 523
-       { "current", CURRENT }, // 524
-       { "current-date", CURRENT_DATE }, // 525
-       { "data", DATA }, // 526
-       { "date", DATE }, // 527
-       { "date-compiled", DATE_COMPILED }, // 528
-       { "date-of-integer", DATE_OF_INTEGER }, // 529
-       { "date-to-yyyymmdd", DATE_TO_YYYYMMDD }, // 530
-       { "date-written", DATE_WRITTEN }, // 531
-       { "day", DAY }, // 532
-       { "day-of-integer", DAY_OF_INTEGER }, // 533
-       { "day-of-week", DAY_OF_WEEK }, // 534
-       { "day-to-yyyyddd", DAY_TO_YYYYDDD }, // 535
-       { "dbcs", DBCS }, // 536
-       { "de", DE }, // 537
-       { "debugging", DEBUGGING }, // 538
-       { "decimal-point", DECIMAL_POINT }, // 539
-       { "declaratives", DECLARATIVES }, // 540
-       { "delimited", DELIMITED }, // 541
-       { "delimiter", DELIMITER }, // 542
-       { "depending", DEPENDING }, // 543
-       { "descending", DESCENDING }, // 544
-       { "detail", DETAIL }, // 545
-       { "direct", DIRECT }, // 546
-       { "direct-access", DIRECT_ACCESS }, // 547
-       { "down", DOWN }, // 548
-       { "duplicates", DUPLICATES }, // 549
-       { "dynamic", DYNAMIC }, // 550
-       { "e", E }, // 551
-       { "ebcdic", EBCDIC }, // 552
-       { "ec", EC }, // 553
-       { "egcs", EGCS }, // 554
-       { "encoding", ENCODING }, // 555
-       { "entry", ENTRY }, // 556
-       { "environment", ENVIRONMENT }, // 557
-       { "every", EVERY }, // 558
-       { "examine", EXAMINE }, // 559
-       { "exhibit", EXHIBIT }, // 560
-       { "exp", EXP }, // 561
-       { "exp10", EXP10 }, // 562
-       { "extend", EXTEND }, // 563
-       { "external", EXTERNAL }, // 564
-       { "exception-file", EXCEPTION_FILE }, // 565
-       { "exception-file-n", EXCEPTION_FILE_N }, // 566
-       { "exception-location", EXCEPTION_LOCATION }, // 567
-       { "exception-location-n", EXCEPTION_LOCATION_N }, // 568
-       { "exception-statement", EXCEPTION_STATEMENT }, // 569
-       { "exception-status", EXCEPTION_STATUS }, // 570
-       { "factorial", FACTORIAL }, // 571
-       { "false", FALSE_kw }, // 572
-       { "fd", FD }, // 573
-       { "file-control", FILE_CONTROL }, // 574
-       { "file", FILE_KW }, // 575
-       { "file-limit", FILE_LIMIT }, // 576
-       { "final", FINAL }, // 577
-       { "finally", FINALLY }, // 578
-       { "find-string", FIND_STRING }, // 579
-       { "first", FIRST }, // 580
-       { "fixed", FIXED }, // 581
-       { "footing", FOOTING }, // 582
-       { "for", FOR }, // 583
-       { "formatted-current-date", FORMATTED_CURRENT_DATE }, // 584
-       { "formatted-date", FORMATTED_DATE }, // 585
-       { "formatted-datetime", FORMATTED_DATETIME }, // 586
-       { "formatted-time", FORMATTED_TIME }, // 587
-       { "form-overflow", FORM_OVERFLOW }, // 588
-       { "free", FREE }, // 589
-       { "fraction-part", FRACTION_PART }, // 590
-       { "from", FROM }, // 591
-       { "function", FUNCTION }, // 592
-       { "generate", GENERATE }, // 593
-       { "giving", GIVING }, // 594
-       { "global", GLOBAL }, // 595
-       { "go", GO }, // 596
-       { "group", GROUP }, // 597
-       { "heading", HEADING }, // 598
-       { "hex", HEX }, // 599
-       { "hex-of", HEX_OF }, // 600
-       { "hex-to-char", HEX_TO_CHAR }, // 601
-       { "high-values", HIGH_VALUES }, // 602
-       { "highest-algebraic", HIGHEST_ALGEBRAIC }, // 603
-       { "hold", HOLD }, // 604
-       { "ibm-360", IBM_360 }, // 605
-       { "in", IN }, // 606
-       { "include", INCLUDE }, // 607
-       { "index", INDEX }, // 608
-       { "indexed", INDEXED }, // 609
-       { "indicate", INDICATE }, // 610
-       { "initial", INITIAL_kw }, // 611
-       { "initiate", INITIATE }, // 612
-       { "input", INPUT }, // 613
-       { "installation", INSTALLATION }, // 614
-       { "interface", INTERFACE }, // 615
-       { "integer", INTEGER }, // 616
-       { "integer-of-boolean", INTEGER_OF_BOOLEAN }, // 617
-       { "integer-of-date", INTEGER_OF_DATE }, // 618
-       { "integer-of-day", INTEGER_OF_DAY }, // 619
-       { "integer-of-formatted-date", INTEGER_OF_FORMATTED_DATE }, // 620
-       { "integer-part", INTEGER_PART }, // 621
-       { "into", INTO }, // 622
-       { "intrinsic", INTRINSIC }, // 623
-       { "invoke", INVOKE }, // 624
-       { "i-o", IO }, // 625
-       { "i-o-control", IO_CONTROL }, // 626
-       { "is", IS }, // 627
-       { "isnt", ISNT }, // 628
-       { "kanji", KANJI }, // 629
-       { "key", KEY }, // 630
-       { "label", LABEL }, // 631
-       { "last", LAST }, // 632
-       { "leading", LEADING }, // 633
-       { "left", LEFT }, // 634
-       { "length", LENGTH }, // 635
-       { "length-of", LENGTH_OF }, // 636
-       { "limit", LIMIT }, // 637
-       { "limits", LIMITS }, // 638
-       { "line", LINE }, // 639
-       { "lines", LINES }, // 640
-       { "line-counter", LINE_COUNTER }, // 641
-       { "linage", LINAGE }, // 642
-       { "linkage", LINKAGE }, // 643
-       { "locale", LOCALE }, // 644
-       { "locale-compare", LOCALE_COMPARE }, // 645
-       { "locale-date", LOCALE_DATE }, // 646
-       { "locale-time", LOCALE_TIME }, // 647
-       { "locale-time-from-seconds", LOCALE_TIME_FROM_SECONDS }, // 648
-       { "local-storage", LOCAL_STORAGE }, // 649
-       { "location", LOCATION }, // 650
-       { "lock", LOCK }, // 651
-       { "lock-on", LOCK_ON }, // 652
-       { "log", LOG }, // 653
-       { "log10", LOG10 }, // 654
-       { "lower-case", LOWER_CASE }, // 655
-       { "low-values", LOW_VALUES }, // 656
-       { "lowest-algebraic", LOWEST_ALGEBRAIC }, // 657
-       { "lparen", LPAREN }, // 658
-       { "manual", MANUAL }, // 659
-       { "maxx", MAXX }, // 660
-       { "mean", MEAN }, // 661
-       { "median", MEDIAN }, // 662
-       { "midrange", MIDRANGE }, // 663
-       { "minn", MINN }, // 664
-       { "multiple", MULTIPLE }, // 665
-       { "mod", MOD }, // 666
-       { "mode", MODE }, // 667
-       { "module-name", MODULE_NAME }, // 668
-       { "named", NAMED }, // 669
-       { "nat", NAT }, // 670
-       { "national", NATIONAL }, // 671
-       { "national-edited", NATIONAL_EDITED }, // 672
-       { "national-of", NATIONAL_OF }, // 673
-       { "native", NATIVE }, // 674
-       { "nested", NESTED }, // 675
-       { "next", NEXT }, // 676
-       { "no", NO }, // 677
-       { "note", NOTE }, // 678
-       { "nulls", NULLS }, // 679
-       { "null", NULLS }, // 679
-       { "nullptr", NULLPTR }, // 680
-       { "numeric", NUMERIC }, // 681
-       { "numeric-edited", NUMERIC_EDITED }, // 682
-       { "numval", NUMVAL }, // 683
-       { "numval-c", NUMVAL_C }, // 684
-       { "numval-f", NUMVAL_F }, // 685
-       { "occurs", OCCURS }, // 686
-       { "of", OF }, // 687
-       { "off", OFF }, // 688
-       { "omitted", OMITTED }, // 689
-       { "on", ON }, // 690
-       { "only", ONLY }, // 691
-       { "optional", OPTIONAL }, // 692
-       { "options", OPTIONS }, // 693
-       { "ord", ORD }, // 694
-       { "order", ORDER }, // 695
-       { "ord-max", ORD_MAX }, // 696
-       { "ord-min", ORD_MIN }, // 697
-       { "organization", ORGANIZATION }, // 698
-       { "other", OTHER }, // 699
-       { "otherwise", OTHERWISE }, // 700
-       { "output", OUTPUT }, // 701
-       { "packed-decimal", PACKED_DECIMAL }, // 702
-       { "padding", PADDING }, // 703
-       { "page", PAGE }, // 704
-       { "page-counter", PAGE_COUNTER }, // 705
-       { "pf", PF }, // 706
-       { "ph", PH }, // 707
-       { "pi", PI }, // 708
-       { "pic", PIC }, // 709
-       { "picture", PICTURE }, // 710
-       { "plus", PLUS }, // 711
-       { "present-value", PRESENT_VALUE }, // 712
-       { "print-switch", PRINT_SWITCH }, // 713
-       { "procedure", PROCEDURE }, // 714
-       { "procedures", PROCEDURES }, // 715
-       { "proceed", PROCEED }, // 716
-       { "process", PROCESS }, // 717
+       { "process", PROCESS }, // 314
+       { "section", SECTION }, // 315
+       { "standard-alphabet", STANDARD_ALPHABET }, // 316
+       { "switch", SWITCH }, // 317
+       { "upsi", UPSI }, // 318
+       { "zero", ZERO }, // 319
+       { "zeros", ZERO }, // 319
+       { "zeroes", ZERO }, // 319
+       { "sysin", SYSIN }, // 320
+       { "sysipt", SYSIPT }, // 321
+       { "sysout", SYSOUT }, // 322
+       { "syslist", SYSLIST }, // 323
+       { "syslst", SYSLST }, // 324
+       { "syspunch", SYSPUNCH }, // 325
+       { "syspch", SYSPCH }, // 326
+       { "console", CONSOLE }, // 327
+       { "c01", C01 }, // 328
+       { "c02", C02 }, // 329
+       { "c03", C03 }, // 330
+       { "c04", C04 }, // 331
+       { "c05", C05 }, // 332
+       { "c06", C06 }, // 333
+       { "c07", C07 }, // 334
+       { "c08", C08 }, // 335
+       { "c09", C09 }, // 336
+       { "c10", C10 }, // 337
+       { "c11", C11 }, // 338
+       { "c12", C12 }, // 339
+       { "csp", CSP }, // 340
+       { "s01", S01 }, // 341
+       { "s02", S02 }, // 342
+       { "s03", S03 }, // 343
+       { "s04", S04 }, // 344
+       { "s05", S05 }, // 345
+       { "afp-5a", AFP_5A }, // 346
+       { "stdin", STDIN }, // 347
+       { "stdout", STDOUT }, // 348
+       { "stderr", STDERR }, // 349
+       { "list", LIST }, // 350
+       { "map", MAP }, // 351
+       { "nolist", NOLIST }, // 352
+       { "nomap", NOMAP }, // 353
+       { "nosource", NOSOURCE }, // 354
+       { "might-be", MIGHT_BE }, // 355
+       { "function-udf", FUNCTION_UDF }, // 356
+       { "function-udf-0", FUNCTION_UDF_0 }, // 357
+       { "default", DEFAULT }, // 358
+       { "date-fmt", DATE_FMT }, // 359
+       { "time-fmt", TIME_FMT }, // 360
+       { "datetime-fmt", DATETIME_FMT }, // 361
+       { "basis", BASIS }, // 362
+       { "cbl", CBL }, // 363
+       { "constant", CONSTANT }, // 364
+       { "copy", COPY }, // 365
+       { "defined", DEFINED }, // 366
+       { "enter", ENTER }, // 367
+       { "feature", FEATURE }, // 368
+       { "insertt", INSERTT }, // 369
+       { "lsub", LSUB }, // 370
+       { "parameter", PARAMETER_kw }, // 371
+       { "override", OVERRIDE }, // 372
+       { "ready", READY }, // 373
+       { "reset", RESET }, // 374
+       { "rsub", RSUB }, // 375
+       { "service-reload", SERVICE_RELOAD }, // 376
+       { "star-cbl", STAR_CBL }, // 377
+       { "subscript", SUBSCRIPT }, // 378
+       { "suppress", SUPPRESS }, // 379
+       { "title", TITLE }, // 380
+       { "trace", TRACE }, // 381
+       { "use", USE }, // 382
+       { "cobol-words", COBOL_WORDS }, // 383
+       { "equate", EQUATE }, // 384
+       { "undefine", UNDEFINE }, // 385
+       { "cdf-define", CDF_DEFINE }, // 386
+       { "cdf-display", CDF_DISPLAY }, // 387
+       { "cdf-if", CDF_IF }, // 388
+       { "cdf-else", CDF_ELSE }, // 389
+       { "cdf-end-if", CDF_END_IF }, // 390
+       { "cdf-evaluate", CDF_EVALUATE }, // 391
+       { "cdf-when", CDF_WHEN }, // 392
+       { "cdf-end-evaluate", CDF_END_EVALUATE }, // 393
+       { "call-convention", CALL_CONVENTION }, // 394
+       { "call-cobol", CALL_COBOL }, // 395
+       { "call-verbatim", CALL_VERBATIM }, // 396
+       { "cdf-push", CDF_PUSH }, // 397
+       { "cdf-pop", CDF_POP }, // 398
+       { "source-format", SOURCE_FORMAT }, // 399
+       { "if", IF }, // 400
+       { "then", THEN }, // 401
+       { "else", ELSE }, // 402
+       { "sentence", SENTENCE }, // 403
+       { "accept", ACCEPT }, // 404
+       { "add", ADD }, // 405
+       { "alter", ALTER }, // 406
+       { "call", CALL }, // 407
+       { "cancel", CANCEL }, // 408
+       { "close", CLOSE }, // 409
+       { "compute", COMPUTE }, // 410
+       { "continue", CONTINUE }, // 411
+       { "delete", DELETE }, // 412
+       { "display", DISPLAY }, // 413
+       { "divide", DIVIDE }, // 414
+       { "evaluate", EVALUATE }, // 415
+       { "exit", EXIT }, // 416
+       { "filler", FILLER_kw }, // 417
+       { "goback", GOBACK }, // 418
+       { "goto", GOTO }, // 419
+       { "initialize", INITIALIZE }, // 420
+       { "inspect", INSPECT }, // 421
+       { "merge", MERGE }, // 422
+       { "move", MOVE }, // 423
+       { "multiply", MULTIPLY }, // 424
+       { "open", OPEN }, // 425
+       { "paragraph", PARAGRAPH }, // 426
+       { "read", READ }, // 427
+       { "release", RELEASE }, // 428
+       { "return", RETURN }, // 429
+       { "rewrite", REWRITE }, // 430
+       { "search", SEARCH }, // 431
+       { "set", SET }, // 432
+       { "select", SELECT }, // 433
+       { "sort", SORT }, // 434
+       { "sort-merge", SORT_MERGE }, // 435
+       { "string", STRING_kw }, // 436
+       { "stop", STOP }, // 437
+       { "subtract", SUBTRACT }, // 438
+       { "start", START }, // 439
+       { "unstring", UNSTRING }, // 440
+       { "write", WRITE }, // 441
+       { "when", WHEN }, // 442
+       { "argument-number", ARGUMENT_NUMBER }, // 443
+       { "argument-value", ARGUMENT_VALUE }, // 444
+       { "environment-name", ENVIRONMENT_NAME }, // 445
+       { "environment-value", ENVIRONMENT_VALUE }, // 446
+       { "abs", ABS }, // 447
+       { "access", ACCESS }, // 448
+       { "acos", ACOS }, // 449
+       { "actual", ACTUAL }, // 450
+       { "advancing", ADVANCING }, // 451
+       { "after", AFTER }, // 452
+       { "all", ALL }, // 453
+       { "allocate", ALLOCATE }, // 454
+       { "alphabet", ALPHABET }, // 455
+       { "alphabetic", ALPHABETIC }, // 456
+       { "alphabetic-lower", ALPHABETIC_LOWER }, // 457
+       { "alphabetic-upper", ALPHABETIC_UPPER }, // 458
+       { "alphanumeric", ALPHANUMERIC }, // 459
+       { "alphanumeric-edited", ALPHANUMERIC_EDITED }, // 460
+       { "also", ALSO }, // 461
+       { "alternate", ALTERNATE }, // 462
+       { "annuity", ANNUITY }, // 463
+       { "anum", ANUM }, // 464
+       { "any", ANY }, // 465
+       { "anycase", ANYCASE }, // 466
+       { "apply", APPLY }, // 467
+       { "are", ARE }, // 468
+       { "area", AREA }, // 469
+       { "areas", AREAS }, // 470
+       { "as", AS }, // 471
+       { "ascending", ASCENDING }, // 472
+       { "activating", ACTIVATING }, // 473
+       { "asin", ASIN }, // 474
+       { "assign", ASSIGN }, // 475
+       { "at", AT }, // 476
+       { "atan", ATAN }, // 477
+       { "based", BASED }, // 478
+       { "baseconvert", BASECONVERT }, // 479
+       { "before", BEFORE }, // 480
+       { "binary", BINARY }, // 481
+       { "bit", BIT }, // 482
+       { "bit-of", BIT_OF }, // 483
+       { "bit-to-char", BIT_TO_CHAR }, // 484
+       { "blank", BLANK }, // 485
+       { "block", BLOCK_kw }, // 486
+       { "boolean-of-integer", BOOLEAN_OF_INTEGER }, // 487
+       { "bottom", BOTTOM }, // 488
+       { "by", BY }, // 489
+       { "byte", BYTE }, // 490
+       { "byte-length", BYTE_LENGTH }, // 491
+       { "cf", CF }, // 492
+       { "ch", CH }, // 493
+       { "changed", CHANGED }, // 494
+       { "char", CHAR }, // 495
+       { "char-national", CHAR_NATIONAL }, // 496
+       { "character", CHARACTER }, // 497
+       { "characters", CHARACTERS }, // 498
+       { "checking", CHECKING }, // 499
+       { "class", CLASS }, // 500
+       { "cobol", COBOL }, // 501
+       { "code", CODE }, // 502
+       { "code-set", CODESET }, // 503
+       { "collating", COLLATING }, // 504
+       { "column", COLUMN }, // 505
+       { "combined-datetime", COMBINED_DATETIME }, // 506
+       { "comma", COMMA }, // 507
+       { "command-line", COMMAND_LINE }, // 508
+       { "command-line-count", COMMAND_LINE_COUNT }, // 509
+       { "commit", COMMIT }, // 510
+       { "common", COMMON }, // 511
+       { "concat", CONCAT }, // 512
+       { "condition", CONDITION }, // 513
+       { "configuration", CONFIGURATION_SECT }, // 514
+       { "contains", CONTAINS }, // 515
+       { "content", CONTENT }, // 516
+       { "control", CONTROL }, // 517
+       { "controls", CONTROLS }, // 518
+       { "convert", CONVERT }, // 519
+       { "converting", CONVERTING }, // 520
+       { "corresponding", CORRESPONDING }, // 521
+       { "cos", COS }, // 522
+       { "count", COUNT }, // 523
+       { "currency", CURRENCY }, // 524
+       { "current", CURRENT }, // 525
+       { "current-date", CURRENT_DATE }, // 526
+       { "data", DATA }, // 527
+       { "date", DATE }, // 528
+       { "date-compiled", DATE_COMPILED }, // 529
+       { "date-of-integer", DATE_OF_INTEGER }, // 530
+       { "date-to-yyyymmdd", DATE_TO_YYYYMMDD }, // 531
+       { "date-written", DATE_WRITTEN }, // 532
+       { "day", DAY }, // 533
+       { "day-of-integer", DAY_OF_INTEGER }, // 534
+       { "day-of-week", DAY_OF_WEEK }, // 535
+       { "day-to-yyyyddd", DAY_TO_YYYYDDD }, // 536
+       { "dbcs", DBCS }, // 537
+       { "de", DE }, // 538
+       { "debugging", DEBUGGING }, // 539
+       { "decimal-point", DECIMAL_POINT }, // 540
+       { "declaratives", DECLARATIVES }, // 541
+       { "delimited", DELIMITED }, // 542
+       { "delimiter", DELIMITER }, // 543
+       { "depending", DEPENDING }, // 544
+       { "descending", DESCENDING }, // 545
+       { "detail", DETAIL }, // 546
+       { "direct", DIRECT }, // 547
+       { "direct-access", DIRECT_ACCESS }, // 548
+       { "down", DOWN }, // 549
+       { "duplicates", DUPLICATES }, // 550
+       { "dynamic", DYNAMIC }, // 551
+       { "e", E }, // 552
+       { "ebcdic", EBCDIC }, // 553
+       { "ec", EC }, // 554
+       { "egcs", EGCS }, // 555
+       { "encoding", ENCODING }, // 556
+       { "entry", ENTRY }, // 557
+       { "environment", ENVIRONMENT }, // 558
+       { "every", EVERY }, // 559
+       { "examine", EXAMINE }, // 560
+       { "exhibit", EXHIBIT }, // 561
+       { "exp", EXP }, // 562
+       { "exp10", EXP10 }, // 563
+       { "extend", EXTEND }, // 564
+       { "external", EXTERNAL }, // 565
+       { "exception-file", EXCEPTION_FILE }, // 566
+       { "exception-file-n", EXCEPTION_FILE_N }, // 567
+       { "exception-location", EXCEPTION_LOCATION }, // 568
+       { "exception-location-n", EXCEPTION_LOCATION_N }, // 569
+       { "exception-statement", EXCEPTION_STATEMENT }, // 570
+       { "exception-status", EXCEPTION_STATUS }, // 571
+       { "factorial", FACTORIAL }, // 572
+       { "false", FALSE_kw }, // 573
+       { "fd", FD }, // 574
+       { "file-control", FILE_CONTROL }, // 575
+       { "file", FILE_KW }, // 576
+       { "file-limit", FILE_LIMIT }, // 577
+       { "final", FINAL }, // 578
+       { "finally", FINALLY }, // 579
+       { "find-string", FIND_STRING }, // 580
+       { "first", FIRST }, // 581
+       { "fixed", FIXED }, // 582
+       { "footing", FOOTING }, // 583
+       { "for", FOR }, // 584
+       { "formatted-current-date", FORMATTED_CURRENT_DATE }, // 585
+       { "formatted-date", FORMATTED_DATE }, // 586
+       { "formatted-datetime", FORMATTED_DATETIME }, // 587
+       { "formatted-time", FORMATTED_TIME }, // 588
+       { "form-overflow", FORM_OVERFLOW }, // 589
+       { "free", FREE }, // 590
+       { "fraction-part", FRACTION_PART }, // 591
+       { "from", FROM }, // 592
+       { "function", FUNCTION }, // 593
+       { "generate", GENERATE }, // 594
+       { "giving", GIVING }, // 595
+       { "global", GLOBAL }, // 596
+       { "go", GO }, // 597
+       { "group", GROUP }, // 598
+       { "heading", HEADING }, // 599
+       { "hex", HEX }, // 600
+       { "hex-of", HEX_OF }, // 601
+       { "hex-to-char", HEX_TO_CHAR }, // 602
+       { "high-values", HIGH_VALUES }, // 603
+       { "highest-algebraic", HIGHEST_ALGEBRAIC }, // 604
+       { "hold", HOLD }, // 605
+       { "ibm-360", IBM_360 }, // 606
+       { "in", IN }, // 607
+       { "include", INCLUDE }, // 608
+       { "index", INDEX }, // 609
+       { "indexed", INDEXED }, // 610
+       { "indicate", INDICATE }, // 611
+       { "initial", INITIAL_kw }, // 612
+       { "initiate", INITIATE }, // 613
+       { "input", INPUT }, // 614
+       { "installation", INSTALLATION }, // 615
+       { "interface", INTERFACE }, // 616
+       { "integer", INTEGER }, // 617
+       { "integer-of-boolean", INTEGER_OF_BOOLEAN }, // 618
+       { "integer-of-date", INTEGER_OF_DATE }, // 619
+       { "integer-of-day", INTEGER_OF_DAY }, // 620
+       { "integer-of-formatted-date", INTEGER_OF_FORMATTED_DATE }, // 621
+       { "integer-part", INTEGER_PART }, // 622
+       { "into", INTO }, // 623
+       { "intrinsic", INTRINSIC }, // 624
+       { "invoke", INVOKE }, // 625
+       { "i-o", IO }, // 626
+       { "i-o-control", IO_CONTROL }, // 627
+       { "is", IS }, // 628
+       { "isnt", ISNT }, // 629
+       { "kanji", KANJI }, // 630
+       { "key", KEY }, // 631
+       { "label", LABEL }, // 632
+       { "last", LAST }, // 633
+       { "leading", LEADING }, // 634
+       { "left", LEFT }, // 635
+       { "length", LENGTH }, // 636
+       { "length-of", LENGTH_OF }, // 637
+       { "limit", LIMIT }, // 638
+       { "limits", LIMITS }, // 639
+       { "line", LINE }, // 640
+       { "lines", LINES }, // 641
+       { "line-counter", LINE_COUNTER }, // 642
+       { "linage", LINAGE }, // 643
+       { "linkage", LINKAGE }, // 644
+       { "locale", LOCALE }, // 645
+       { "locale-compare", LOCALE_COMPARE }, // 646
+       { "locale-date", LOCALE_DATE }, // 647
+       { "locale-time", LOCALE_TIME }, // 648
+       { "locale-time-from-seconds", LOCALE_TIME_FROM_SECONDS }, // 649
+       { "local-storage", LOCAL_STORAGE }, // 650
+       { "location", LOCATION }, // 651
+       { "lock", LOCK }, // 652
+       { "lock-on", LOCK_ON }, // 653
+       { "log", LOG }, // 654
+       { "log10", LOG10 }, // 655
+       { "lower-case", LOWER_CASE }, // 656
+       { "low-values", LOW_VALUES }, // 657
+       { "lowest-algebraic", LOWEST_ALGEBRAIC }, // 658
+       { "lparen", LPAREN }, // 659
+       { "manual", MANUAL }, // 660
+       { "maxx", MAXX }, // 661
+       { "mean", MEAN }, // 662
+       { "median", MEDIAN }, // 663
+       { "midrange", MIDRANGE }, // 664
+       { "minn", MINN }, // 665
+       { "multiple", MULTIPLE }, // 666
+       { "mod", MOD }, // 667
+       { "mode", MODE }, // 668
+       { "module-name", MODULE_NAME }, // 669
+       { "named", NAMED }, // 670
+       { "nat", NAT }, // 671
+       { "national", NATIONAL }, // 672
+       { "national-edited", NATIONAL_EDITED }, // 673
+       { "national-of", NATIONAL_OF }, // 674
+       { "native", NATIVE }, // 675
+       { "nested", NESTED }, // 676
+       { "next", NEXT }, // 677
+       { "no", NO }, // 678
+       { "note", NOTE }, // 679
+       { "nulls", NULLS }, // 680
+       { "null", NULLS }, // 680
+       { "nullptr", NULLPTR }, // 681
+       { "numeric", NUMERIC }, // 682
+       { "numeric-edited", NUMERIC_EDITED }, // 683
+       { "numval", NUMVAL }, // 684
+       { "numval-c", NUMVAL_C }, // 685
+       { "numval-f", NUMVAL_F }, // 686
+       { "occurs", OCCURS }, // 687
+       { "of", OF }, // 688
+       { "off", OFF }, // 689
+       { "omitted", OMITTED }, // 690
+       { "on", ON }, // 691
+       { "only", ONLY }, // 692
+       { "optional", OPTIONAL }, // 693
+       { "options", OPTIONS }, // 694
+       { "ord", ORD }, // 695
+       { "order", ORDER }, // 696
+       { "ord-max", ORD_MAX }, // 697
+       { "ord-min", ORD_MIN }, // 698
+       { "organization", ORGANIZATION }, // 699
+       { "other", OTHER }, // 700
+       { "otherwise", OTHERWISE }, // 701
+       { "output", OUTPUT }, // 702
+       { "packed-decimal", PACKED_DECIMAL }, // 703
+       { "padding", PADDING }, // 704
+       { "page", PAGE }, // 705
+       { "page-counter", PAGE_COUNTER }, // 706
+       { "pf", PF }, // 707
+       { "ph", PH }, // 708
+       { "pi", PI }, // 709
+       { "pic", PIC }, // 710
+       { "picture", PICTURE }, // 711
+       { "plus", PLUS }, // 712
+       { "present-value", PRESENT_VALUE }, // 713
+       { "print-switch", PRINT_SWITCH }, // 714
+       { "procedure", PROCEDURE }, // 715
+       { "procedures", PROCEDURES }, // 716
+       { "proceed", PROCEED }, // 717
        { "processing", PROCESSING }, // 718
        { "program-id", PROGRAM_ID }, // 719
        { "program", PROGRAM_kw }, // 720
@@ -765,410 +765,410 @@ token_names = {
        "BACKWARD", // 53 (311)
        "POSITIVE", // 54 (312)
        "POINTER", // 55 (313)
-       "SECTION", // 56 (314)
-       "STANDARD-ALPHABET", // 57 (315)
-       "SWITCH", // 58 (316)
-       "UPSI", // 59 (317)
-       "ZERO", // 60 (318)
-       "SYSIN", // 61 (319)
-       "SYSIPT", // 62 (320)
-       "SYSOUT", // 63 (321)
-       "SYSLIST", // 64 (322)
-       "SYSLST", // 65 (323)
-       "SYSPUNCH", // 66 (324)
-       "SYSPCH", // 67 (325)
-       "CONSOLE", // 68 (326)
-       "C01", // 69 (327)
-       "C02", // 70 (328)
-       "C03", // 71 (329)
-       "C04", // 72 (330)
-       "C05", // 73 (331)
-       "C06", // 74 (332)
-       "C07", // 75 (333)
-       "C08", // 76 (334)
-       "C09", // 77 (335)
-       "C10", // 78 (336)
-       "C11", // 79 (337)
-       "C12", // 80 (338)
-       "CSP", // 81 (339)
-       "S01", // 82 (340)
-       "S02", // 83 (341)
-       "S03", // 84 (342)
-       "S04", // 85 (343)
-       "S05", // 86 (344)
-       "AFP-5A", // 87 (345)
-       "STDIN", // 88 (346)
-       "STDOUT", // 89 (347)
-       "STDERR", // 90 (348)
-       "LIST", // 91 (349)
-       "MAP", // 92 (350)
-       "NOLIST", // 93 (351)
-       "NOMAP", // 94 (352)
-       "NOSOURCE", // 95 (353)
-       "MIGHT-BE", // 96 (354)
-       "FUNCTION-UDF", // 97 (355)
-       "FUNCTION-UDF-0", // 98 (356)
-       "DEFAULT", // 99 (357)
-       "DATE-FMT", // 100 (358)
-       "TIME-FMT", // 101 (359)
-       "DATETIME-FMT", // 102 (360)
-       "BASIS", // 103 (361)
-       "CBL", // 104 (362)
-       "CONSTANT", // 105 (363)
-       "COPY", // 106 (364)
-       "DEFINED", // 107 (365)
-       "ENTER", // 108 (366)
-       "FEATURE", // 109 (367)
-       "INSERTT", // 110 (368)
-       "LSUB", // 111 (369)
-       "PARAMETER", // 112 (370)
-       "OVERRIDE", // 113 (371)
-       "READY", // 114 (372)
-       "RESET", // 115 (373)
-       "RSUB", // 116 (374)
-       "SERVICE-RELOAD", // 117 (375)
-       "STAR-CBL", // 118 (376)
-       "SUBSCRIPT", // 119 (377)
-       "SUPPRESS", // 120 (378)
-       "TITLE", // 121 (379)
-       "TRACE", // 122 (380)
-       "USE", // 123 (381)
-       "COBOL-WORDS", // 124 (382)
-       "EQUATE", // 125 (383)
-       "UNDEFINE", // 126 (384)
-       "CDF-DEFINE", // 127 (385)
-       "CDF-DISPLAY", // 128 (386)
-       "CDF-IF", // 129 (387)
-       "CDF-ELSE", // 130 (388)
-       "CDF-END-IF", // 131 (389)
-       "CDF-EVALUATE", // 132 (390)
-       "CDF-WHEN", // 133 (391)
-       "CDF-END-EVALUATE", // 134 (392)
-       "CALL-CONVENTION", // 135 (393)
-       "CALL-COBOL", // 136 (394)
-       "CALL-VERBATIM", // 137 (395)
-       "CDF-PUSH", // 138 (396)
-       "CDF-POP", // 139 (397)
-       "SOURCE-FORMAT", // 140 (398)
-       "IF", // 141 (399)
-       "THEN", // 142 (400)
-       "ELSE", // 143 (401)
-       "SENTENCE", // 144 (402)
-       "ACCEPT", // 145 (403)
-       "ADD", // 146 (404)
-       "ALTER", // 147 (405)
-       "CALL", // 148 (406)
-       "CANCEL", // 149 (407)
-       "CLOSE", // 150 (408)
-       "COMPUTE", // 151 (409)
-       "CONTINUE", // 152 (410)
-       "DELETE", // 153 (411)
-       "DISPLAY", // 154 (412)
-       "DIVIDE", // 155 (413)
-       "EVALUATE", // 156 (414)
-       "EXIT", // 157 (415)
-       "FILLER", // 158 (416)
-       "GOBACK", // 159 (417)
-       "GOTO", // 160 (418)
-       "INITIALIZE", // 161 (419)
-       "INSPECT", // 162 (420)
-       "MERGE", // 163 (421)
-       "MOVE", // 164 (422)
-       "MULTIPLY", // 165 (423)
-       "OPEN", // 166 (424)
-       "PARAGRAPH", // 167 (425)
-       "READ", // 168 (426)
-       "RELEASE", // 169 (427)
-       "RETURN", // 170 (428)
-       "REWRITE", // 171 (429)
-       "SEARCH", // 172 (430)
-       "SET", // 173 (431)
-       "SELECT", // 174 (432)
-       "SORT", // 175 (433)
-       "SORT-MERGE", // 176 (434)
-       "STRING", // 177 (435)
-       "STOP", // 178 (436)
-       "SUBTRACT", // 179 (437)
-       "START", // 180 (438)
-       "UNSTRING", // 181 (439)
-       "WRITE", // 182 (440)
-       "WHEN", // 183 (441)
-       "ARGUMENT-NUMBER", // 184 (442)
-       "ARGUMENT-VALUE", // 185 (443)
-       "ENVIRONMENT-NAME", // 186 (444)
-       "ENVIRONMENT-VALUE", // 187 (445)
-       "ABS", // 188 (446)
-       "ACCESS", // 189 (447)
-       "ACOS", // 190 (448)
-       "ACTUAL", // 191 (449)
-       "ADVANCING", // 192 (450)
-       "AFTER", // 193 (451)
-       "ALL", // 194 (452)
-       "ALLOCATE", // 195 (453)
-       "ALPHABET", // 196 (454)
-       "ALPHABETIC", // 197 (455)
-       "ALPHABETIC-LOWER", // 198 (456)
-       "ALPHABETIC-UPPER", // 199 (457)
-       "ALPHANUMERIC", // 200 (458)
-       "ALPHANUMERIC-EDITED", // 201 (459)
-       "ALSO", // 202 (460)
-       "ALTERNATE", // 203 (461)
-       "ANNUITY", // 204 (462)
-       "ANUM", // 205 (463)
-       "ANY", // 206 (464)
-       "ANYCASE", // 207 (465)
-       "APPLY", // 208 (466)
-       "ARE", // 209 (467)
-       "AREA", // 210 (468)
-       "AREAS", // 211 (469)
-       "AS", // 212 (470)
-       "ASCENDING", // 213 (471)
-       "ACTIVATING", // 214 (472)
-       "ASIN", // 215 (473)
-       "ASSIGN", // 216 (474)
-       "AT", // 217 (475)
-       "ATAN", // 218 (476)
-       "BASED", // 219 (477)
-       "BASECONVERT", // 220 (478)
-       "BEFORE", // 221 (479)
-       "BINARY", // 222 (480)
-       "BIT", // 223 (481)
-       "BIT-OF", // 224 (482)
-       "BIT-TO-CHAR", // 225 (483)
-       "BLANK", // 226 (484)
-       "BLOCK", // 227 (485)
-       "BOOLEAN-OF-INTEGER", // 228 (486)
-       "BOTTOM", // 229 (487)
-       "BY", // 230 (488)
-       "BYTE", // 231 (489)
-       "BYTE-LENGTH", // 232 (490)
-       "CF", // 233 (491)
-       "CH", // 234 (492)
-       "CHANGED", // 235 (493)
-       "CHAR", // 236 (494)
-       "CHAR-NATIONAL", // 237 (495)
-       "CHARACTER", // 238 (496)
-       "CHARACTERS", // 239 (497)
-       "CHECKING", // 240 (498)
-       "CLASS", // 241 (499)
-       "COBOL", // 242 (500)
-       "CODE", // 243 (501)
-       "CODE-SET", // 244 (502)
-       "COLLATING", // 245 (503)
-       "COLUMN", // 246 (504)
-       "COMBINED-DATETIME", // 247 (505)
-       "COMMA", // 248 (506)
-       "COMMAND-LINE", // 249 (507)
-       "COMMAND-LINE-COUNT", // 250 (508)
-       "COMMIT", // 251 (509)
-       "COMMON", // 252 (510)
-       "CONCAT", // 253 (511)
-       "CONDITION", // 254 (512)
-       "CONFIGURATION", // 255 (513)
-       "CONTAINS", // 256 (514)
-       "CONTENT", // 257 (515)
-       "CONTROL", // 258 (516)
-       "CONTROLS", // 259 (517)
-       "CONVERT", // 260 (518)
-       "CONVERTING", // 261 (519)
-       "CORRESPONDING", // 262 (520)
-       "COS", // 263 (521)
-       "COUNT", // 264 (522)
-       "CURRENCY", // 265 (523)
-       "CURRENT", // 266 (524)
-       "CURRENT-DATE", // 267 (525)
-       "DATA", // 268 (526)
-       "DATE", // 269 (527)
-       "DATE-COMPILED", // 270 (528)
-       "DATE-OF-INTEGER", // 271 (529)
-       "DATE-TO-YYYYMMDD", // 272 (530)
-       "DATE-WRITTEN", // 273 (531)
-       "DAY", // 274 (532)
-       "DAY-OF-INTEGER", // 275 (533)
-       "DAY-OF-WEEK", // 276 (534)
-       "DAY-TO-YYYYDDD", // 277 (535)
-       "DBCS", // 278 (536)
-       "DE", // 279 (537)
-       "DEBUGGING", // 280 (538)
-       "DECIMAL-POINT", // 281 (539)
-       "DECLARATIVES", // 282 (540)
-       "DELIMITED", // 283 (541)
-       "DELIMITER", // 284 (542)
-       "DEPENDING", // 285 (543)
-       "DESCENDING", // 286 (544)
-       "DETAIL", // 287 (545)
-       "DIRECT", // 288 (546)
-       "DIRECT-ACCESS", // 289 (547)
-       "DOWN", // 290 (548)
-       "DUPLICATES", // 291 (549)
-       "DYNAMIC", // 292 (550)
-       "E", // 293 (551)
-       "EBCDIC", // 294 (552)
-       "EC", // 295 (553)
-       "EGCS", // 296 (554)
-       "ENCODING", // 297 (555)
-       "ENTRY", // 298 (556)
-       "ENVIRONMENT", // 299 (557)
-       "EVERY", // 300 (558)
-       "EXAMINE", // 301 (559)
-       "EXHIBIT", // 302 (560)
-       "EXP", // 303 (561)
-       "EXP10", // 304 (562)
-       "EXTEND", // 305 (563)
-       "EXTERNAL", // 306 (564)
-       "EXCEPTION-FILE", // 307 (565)
-       "EXCEPTION-FILE-N", // 308 (566)
-       "EXCEPTION-LOCATION", // 309 (567)
-       "EXCEPTION-LOCATION-N", // 310 (568)
-       "EXCEPTION-STATEMENT", // 311 (569)
-       "EXCEPTION-STATUS", // 312 (570)
-       "FACTORIAL", // 313 (571)
-       "FALSE", // 314 (572)
-       "FD", // 315 (573)
-       "FILE-CONTROL", // 316 (574)
-       "FILE", // 317 (575)
-       "FILE-LIMIT", // 318 (576)
-       "FINAL", // 319 (577)
-       "FINALLY", // 320 (578)
-       "FIND-STRING", // 321 (579)
-       "FIRST", // 322 (580)
-       "FIXED", // 323 (581)
-       "FOOTING", // 324 (582)
-       "FOR", // 325 (583)
-       "FORMATTED-CURRENT-DATE", // 326 (584)
-       "FORMATTED-DATE", // 327 (585)
-       "FORMATTED-DATETIME", // 328 (586)
-       "FORMATTED-TIME", // 329 (587)
-       "FORM-OVERFLOW", // 330 (588)
-       "FREE", // 331 (589)
-       "FRACTION-PART", // 332 (590)
-       "FROM", // 333 (591)
-       "FUNCTION", // 334 (592)
-       "GENERATE", // 335 (593)
-       "GIVING", // 336 (594)
-       "GLOBAL", // 337 (595)
-       "GO", // 338 (596)
-       "GROUP", // 339 (597)
-       "HEADING", // 340 (598)
-       "HEX", // 341 (599)
-       "HEX-OF", // 342 (600)
-       "HEX-TO-CHAR", // 343 (601)
-       "HIGH-VALUES", // 344 (602)
-       "HIGHEST-ALGEBRAIC", // 345 (603)
-       "HOLD", // 346 (604)
-       "IBM-360", // 347 (605)
-       "IN", // 348 (606)
-       "INCLUDE", // 349 (607)
-       "INDEX", // 350 (608)
-       "INDEXED", // 351 (609)
-       "INDICATE", // 352 (610)
-       "INITIAL", // 353 (611)
-       "INITIATE", // 354 (612)
-       "INPUT", // 355 (613)
-       "INSTALLATION", // 356 (614)
-       "INTERFACE", // 357 (615)
-       "INTEGER", // 358 (616)
-       "INTEGER-OF-BOOLEAN", // 359 (617)
-       "INTEGER-OF-DATE", // 360 (618)
-       "INTEGER-OF-DAY", // 361 (619)
-       "INTEGER-OF-FORMATTED-DATE", // 362 (620)
-       "INTEGER-PART", // 363 (621)
-       "INTO", // 364 (622)
-       "INTRINSIC", // 365 (623)
-       "INVOKE", // 366 (624)
-       "I-O", // 367 (625)
-       "I-O-CONTROL", // 368 (626)
-       "IS", // 369 (627)
-       "ISNT", // 370 (628)
-       "KANJI", // 371 (629)
-       "KEY", // 372 (630)
-       "LABEL", // 373 (631)
-       "LAST", // 374 (632)
-       "LEADING", // 375 (633)
-       "LEFT", // 376 (634)
-       "LENGTH", // 377 (635)
-       "LENGTH-OF", // 378 (636)
-       "LIMIT", // 379 (637)
-       "LIMITS", // 380 (638)
-       "LINE", // 381 (639)
-       "LINES", // 382 (640)
-       "LINE-COUNTER", // 383 (641)
-       "LINAGE", // 384 (642)
-       "LINKAGE", // 385 (643)
-       "LOCALE", // 386 (644)
-       "LOCALE-COMPARE", // 387 (645)
-       "LOCALE-DATE", // 388 (646)
-       "LOCALE-TIME", // 389 (647)
-       "LOCALE-TIME-FROM-SECONDS", // 390 (648)
-       "LOCAL-STORAGE", // 391 (649)
-       "LOCATION", // 392 (650)
-       "LOCK", // 393 (651)
-       "LOCK-ON", // 394 (652)
-       "LOG", // 395 (653)
-       "LOG10", // 396 (654)
-       "LOWER-CASE", // 397 (655)
-       "LOW-VALUES", // 398 (656)
-       "LOWEST-ALGEBRAIC", // 399 (657)
-       "LPAREN", // 400 (658)
-       "MANUAL", // 401 (659)
-       "MAXX", // 402 (660)
-       "MEAN", // 403 (661)
-       "MEDIAN", // 404 (662)
-       "MIDRANGE", // 405 (663)
-       "MINN", // 406 (664)
-       "MULTIPLE", // 407 (665)
-       "MOD", // 408 (666)
-       "MODE", // 409 (667)
-       "MODULE-NAME", // 410 (668)
-       "NAMED", // 411 (669)
-       "NAT", // 412 (670)
-       "NATIONAL", // 413 (671)
-       "NATIONAL-EDITED", // 414 (672)
-       "NATIONAL-OF", // 415 (673)
-       "NATIVE", // 416 (674)
-       "NESTED", // 417 (675)
-       "NEXT", // 418 (676)
-       "NO", // 419 (677)
-       "NOTE", // 420 (678)
-       "NULLS", // 421 (679)
-       "NULLPTR", // 422 (680)
-       "NUMERIC", // 423 (681)
-       "NUMERIC-EDITED", // 424 (682)
-       "NUMVAL", // 425 (683)
-       "NUMVAL-C", // 426 (684)
-       "NUMVAL-F", // 427 (685)
-       "OCCURS", // 428 (686)
-       "OF", // 429 (687)
-       "OFF", // 430 (688)
-       "OMITTED", // 431 (689)
-       "ON", // 432 (690)
-       "ONLY", // 433 (691)
-       "OPTIONAL", // 434 (692)
-       "OPTIONS", // 435 (693)
-       "ORD", // 436 (694)
-       "ORDER", // 437 (695)
-       "ORD-MAX", // 438 (696)
-       "ORD-MIN", // 439 (697)
-       "ORGANIZATION", // 440 (698)
-       "OTHER", // 441 (699)
-       "OTHERWISE", // 442 (700)
-       "OUTPUT", // 443 (701)
-       "PACKED-DECIMAL", // 444 (702)
-       "PADDING", // 445 (703)
-       "PAGE", // 446 (704)
-       "PAGE-COUNTER", // 447 (705)
-       "PF", // 448 (706)
-       "PH", // 449 (707)
-       "PI", // 450 (708)
-       "PIC", // 451 (709)
-       "PICTURE", // 452 (710)
-       "PLUS", // 453 (711)
-       "PRESENT-VALUE", // 454 (712)
-       "PRINT-SWITCH", // 455 (713)
-       "PROCEDURE", // 456 (714)
-       "PROCEDURES", // 457 (715)
-       "PROCEED", // 458 (716)
-       "PROCESS", // 459 (717)
+       "PROCESS", // 56 (314)
+       "SECTION", // 57 (315)
+       "STANDARD-ALPHABET", // 58 (316)
+       "SWITCH", // 59 (317)
+       "UPSI", // 60 (318)
+       "ZERO", // 61 (319)
+       "SYSIN", // 62 (320)
+       "SYSIPT", // 63 (321)
+       "SYSOUT", // 64 (322)
+       "SYSLIST", // 65 (323)
+       "SYSLST", // 66 (324)
+       "SYSPUNCH", // 67 (325)
+       "SYSPCH", // 68 (326)
+       "CONSOLE", // 69 (327)
+       "C01", // 70 (328)
+       "C02", // 71 (329)
+       "C03", // 72 (330)
+       "C04", // 73 (331)
+       "C05", // 74 (332)
+       "C06", // 75 (333)
+       "C07", // 76 (334)
+       "C08", // 77 (335)
+       "C09", // 78 (336)
+       "C10", // 79 (337)
+       "C11", // 80 (338)
+       "C12", // 81 (339)
+       "CSP", // 82 (340)
+       "S01", // 83 (341)
+       "S02", // 84 (342)
+       "S03", // 85 (343)
+       "S04", // 86 (344)
+       "S05", // 87 (345)
+       "AFP-5A", // 88 (346)
+       "STDIN", // 89 (347)
+       "STDOUT", // 90 (348)
+       "STDERR", // 91 (349)
+       "LIST", // 92 (350)
+       "MAP", // 93 (351)
+       "NOLIST", // 94 (352)
+       "NOMAP", // 95 (353)
+       "NOSOURCE", // 96 (354)
+       "MIGHT-BE", // 97 (355)
+       "FUNCTION-UDF", // 98 (356)
+       "FUNCTION-UDF-0", // 99 (357)
+       "DEFAULT", // 100 (358)
+       "DATE-FMT", // 101 (359)
+       "TIME-FMT", // 102 (360)
+       "DATETIME-FMT", // 103 (361)
+       "BASIS", // 104 (362)
+       "CBL", // 105 (363)
+       "CONSTANT", // 106 (364)
+       "COPY", // 107 (365)
+       "DEFINED", // 108 (366)
+       "ENTER", // 109 (367)
+       "FEATURE", // 110 (368)
+       "INSERTT", // 111 (369)
+       "LSUB", // 112 (370)
+       "PARAMETER", // 113 (371)
+       "OVERRIDE", // 114 (372)
+       "READY", // 115 (373)
+       "RESET", // 116 (374)
+       "RSUB", // 117 (375)
+       "SERVICE-RELOAD", // 118 (376)
+       "STAR-CBL", // 119 (377)
+       "SUBSCRIPT", // 120 (378)
+       "SUPPRESS", // 121 (379)
+       "TITLE", // 122 (380)
+       "TRACE", // 123 (381)
+       "USE", // 124 (382)
+       "COBOL-WORDS", // 125 (383)
+       "EQUATE", // 126 (384)
+       "UNDEFINE", // 127 (385)
+       "CDF-DEFINE", // 128 (386)
+       "CDF-DISPLAY", // 129 (387)
+       "CDF-IF", // 130 (388)
+       "CDF-ELSE", // 131 (389)
+       "CDF-END-IF", // 132 (390)
+       "CDF-EVALUATE", // 133 (391)
+       "CDF-WHEN", // 134 (392)
+       "CDF-END-EVALUATE", // 135 (393)
+       "CALL-CONVENTION", // 136 (394)
+       "CALL-COBOL", // 137 (395)
+       "CALL-VERBATIM", // 138 (396)
+       "CDF-PUSH", // 139 (397)
+       "CDF-POP", // 140 (398)
+       "SOURCE-FORMAT", // 141 (399)
+       "IF", // 142 (400)
+       "THEN", // 143 (401)
+       "ELSE", // 144 (402)
+       "SENTENCE", // 145 (403)
+       "ACCEPT", // 146 (404)
+       "ADD", // 147 (405)
+       "ALTER", // 148 (406)
+       "CALL", // 149 (407)
+       "CANCEL", // 150 (408)
+       "CLOSE", // 151 (409)
+       "COMPUTE", // 152 (410)
+       "CONTINUE", // 153 (411)
+       "DELETE", // 154 (412)
+       "DISPLAY", // 155 (413)
+       "DIVIDE", // 156 (414)
+       "EVALUATE", // 157 (415)
+       "EXIT", // 158 (416)
+       "FILLER", // 159 (417)
+       "GOBACK", // 160 (418)
+       "GOTO", // 161 (419)
+       "INITIALIZE", // 162 (420)
+       "INSPECT", // 163 (421)
+       "MERGE", // 164 (422)
+       "MOVE", // 165 (423)
+       "MULTIPLY", // 166 (424)
+       "OPEN", // 167 (425)
+       "PARAGRAPH", // 168 (426)
+       "READ", // 169 (427)
+       "RELEASE", // 170 (428)
+       "RETURN", // 171 (429)
+       "REWRITE", // 172 (430)
+       "SEARCH", // 173 (431)
+       "SET", // 174 (432)
+       "SELECT", // 175 (433)
+       "SORT", // 176 (434)
+       "SORT-MERGE", // 177 (435)
+       "STRING", // 178 (436)
+       "STOP", // 179 (437)
+       "SUBTRACT", // 180 (438)
+       "START", // 181 (439)
+       "UNSTRING", // 182 (440)
+       "WRITE", // 183 (441)
+       "WHEN", // 184 (442)
+       "ARGUMENT-NUMBER", // 185 (443)
+       "ARGUMENT-VALUE", // 186 (444)
+       "ENVIRONMENT-NAME", // 187 (445)
+       "ENVIRONMENT-VALUE", // 188 (446)
+       "ABS", // 189 (447)
+       "ACCESS", // 190 (448)
+       "ACOS", // 191 (449)
+       "ACTUAL", // 192 (450)
+       "ADVANCING", // 193 (451)
+       "AFTER", // 194 (452)
+       "ALL", // 195 (453)
+       "ALLOCATE", // 196 (454)
+       "ALPHABET", // 197 (455)
+       "ALPHABETIC", // 198 (456)
+       "ALPHABETIC-LOWER", // 199 (457)
+       "ALPHABETIC-UPPER", // 200 (458)
+       "ALPHANUMERIC", // 201 (459)
+       "ALPHANUMERIC-EDITED", // 202 (460)
+       "ALSO", // 203 (461)
+       "ALTERNATE", // 204 (462)
+       "ANNUITY", // 205 (463)
+       "ANUM", // 206 (464)
+       "ANY", // 207 (465)
+       "ANYCASE", // 208 (466)
+       "APPLY", // 209 (467)
+       "ARE", // 210 (468)
+       "AREA", // 211 (469)
+       "AREAS", // 212 (470)
+       "AS", // 213 (471)
+       "ASCENDING", // 214 (472)
+       "ACTIVATING", // 215 (473)
+       "ASIN", // 216 (474)
+       "ASSIGN", // 217 (475)
+       "AT", // 218 (476)
+       "ATAN", // 219 (477)
+       "BASED", // 220 (478)
+       "BASECONVERT", // 221 (479)
+       "BEFORE", // 222 (480)
+       "BINARY", // 223 (481)
+       "BIT", // 224 (482)
+       "BIT-OF", // 225 (483)
+       "BIT-TO-CHAR", // 226 (484)
+       "BLANK", // 227 (485)
+       "BLOCK", // 228 (486)
+       "BOOLEAN-OF-INTEGER", // 229 (487)
+       "BOTTOM", // 230 (488)
+       "BY", // 231 (489)
+       "BYTE", // 232 (490)
+       "BYTE-LENGTH", // 233 (491)
+       "CF", // 234 (492)
+       "CH", // 235 (493)
+       "CHANGED", // 236 (494)
+       "CHAR", // 237 (495)
+       "CHAR-NATIONAL", // 238 (496)
+       "CHARACTER", // 239 (497)
+       "CHARACTERS", // 240 (498)
+       "CHECKING", // 241 (499)
+       "CLASS", // 242 (500)
+       "COBOL", // 243 (501)
+       "CODE", // 244 (502)
+       "CODE-SET", // 245 (503)
+       "COLLATING", // 246 (504)
+       "COLUMN", // 247 (505)
+       "COMBINED-DATETIME", // 248 (506)
+       "COMMA", // 249 (507)
+       "COMMAND-LINE", // 250 (508)
+       "COMMAND-LINE-COUNT", // 251 (509)
+       "COMMIT", // 252 (510)
+       "COMMON", // 253 (511)
+       "CONCAT", // 254 (512)
+       "CONDITION", // 255 (513)
+       "CONFIGURATION", // 256 (514)
+       "CONTAINS", // 257 (515)
+       "CONTENT", // 258 (516)
+       "CONTROL", // 259 (517)
+       "CONTROLS", // 260 (518)
+       "CONVERT", // 261 (519)
+       "CONVERTING", // 262 (520)
+       "CORRESPONDING", // 263 (521)
+       "COS", // 264 (522)
+       "COUNT", // 265 (523)
+       "CURRENCY", // 266 (524)
+       "CURRENT", // 267 (525)
+       "CURRENT-DATE", // 268 (526)
+       "DATA", // 269 (527)
+       "DATE", // 270 (528)
+       "DATE-COMPILED", // 271 (529)
+       "DATE-OF-INTEGER", // 272 (530)
+       "DATE-TO-YYYYMMDD", // 273 (531)
+       "DATE-WRITTEN", // 274 (532)
+       "DAY", // 275 (533)
+       "DAY-OF-INTEGER", // 276 (534)
+       "DAY-OF-WEEK", // 277 (535)
+       "DAY-TO-YYYYDDD", // 278 (536)
+       "DBCS", // 279 (537)
+       "DE", // 280 (538)
+       "DEBUGGING", // 281 (539)
+       "DECIMAL-POINT", // 282 (540)
+       "DECLARATIVES", // 283 (541)
+       "DELIMITED", // 284 (542)
+       "DELIMITER", // 285 (543)
+       "DEPENDING", // 286 (544)
+       "DESCENDING", // 287 (545)
+       "DETAIL", // 288 (546)
+       "DIRECT", // 289 (547)
+       "DIRECT-ACCESS", // 290 (548)
+       "DOWN", // 291 (549)
+       "DUPLICATES", // 292 (550)
+       "DYNAMIC", // 293 (551)
+       "E", // 294 (552)
+       "EBCDIC", // 295 (553)
+       "EC", // 296 (554)
+       "EGCS", // 297 (555)
+       "ENCODING", // 298 (556)
+       "ENTRY", // 299 (557)
+       "ENVIRONMENT", // 300 (558)
+       "EVERY", // 301 (559)
+       "EXAMINE", // 302 (560)
+       "EXHIBIT", // 303 (561)
+       "EXP", // 304 (562)
+       "EXP10", // 305 (563)
+       "EXTEND", // 306 (564)
+       "EXTERNAL", // 307 (565)
+       "EXCEPTION-FILE", // 308 (566)
+       "EXCEPTION-FILE-N", // 309 (567)
+       "EXCEPTION-LOCATION", // 310 (568)
+       "EXCEPTION-LOCATION-N", // 311 (569)
+       "EXCEPTION-STATEMENT", // 312 (570)
+       "EXCEPTION-STATUS", // 313 (571)
+       "FACTORIAL", // 314 (572)
+       "FALSE", // 315 (573)
+       "FD", // 316 (574)
+       "FILE-CONTROL", // 317 (575)
+       "FILE", // 318 (576)
+       "FILE-LIMIT", // 319 (577)
+       "FINAL", // 320 (578)
+       "FINALLY", // 321 (579)
+       "FIND-STRING", // 322 (580)
+       "FIRST", // 323 (581)
+       "FIXED", // 324 (582)
+       "FOOTING", // 325 (583)
+       "FOR", // 326 (584)
+       "FORMATTED-CURRENT-DATE", // 327 (585)
+       "FORMATTED-DATE", // 328 (586)
+       "FORMATTED-DATETIME", // 329 (587)
+       "FORMATTED-TIME", // 330 (588)
+       "FORM-OVERFLOW", // 331 (589)
+       "FREE", // 332 (590)
+       "FRACTION-PART", // 333 (591)
+       "FROM", // 334 (592)
+       "FUNCTION", // 335 (593)
+       "GENERATE", // 336 (594)
+       "GIVING", // 337 (595)
+       "GLOBAL", // 338 (596)
+       "GO", // 339 (597)
+       "GROUP", // 340 (598)
+       "HEADING", // 341 (599)
+       "HEX", // 342 (600)
+       "HEX-OF", // 343 (601)
+       "HEX-TO-CHAR", // 344 (602)
+       "HIGH-VALUES", // 345 (603)
+       "HIGHEST-ALGEBRAIC", // 346 (604)
+       "HOLD", // 347 (605)
+       "IBM-360", // 348 (606)
+       "IN", // 349 (607)
+       "INCLUDE", // 350 (608)
+       "INDEX", // 351 (609)
+       "INDEXED", // 352 (610)
+       "INDICATE", // 353 (611)
+       "INITIAL", // 354 (612)
+       "INITIATE", // 355 (613)
+       "INPUT", // 356 (614)
+       "INSTALLATION", // 357 (615)
+       "INTERFACE", // 358 (616)
+       "INTEGER", // 359 (617)
+       "INTEGER-OF-BOOLEAN", // 360 (618)
+       "INTEGER-OF-DATE", // 361 (619)
+       "INTEGER-OF-DAY", // 362 (620)
+       "INTEGER-OF-FORMATTED-DATE", // 363 (621)
+       "INTEGER-PART", // 364 (622)
+       "INTO", // 365 (623)
+       "INTRINSIC", // 366 (624)
+       "INVOKE", // 367 (625)
+       "I-O", // 368 (626)
+       "I-O-CONTROL", // 369 (627)
+       "IS", // 370 (628)
+       "ISNT", // 371 (629)
+       "KANJI", // 372 (630)
+       "KEY", // 373 (631)
+       "LABEL", // 374 (632)
+       "LAST", // 375 (633)
+       "LEADING", // 376 (634)
+       "LEFT", // 377 (635)
+       "LENGTH", // 378 (636)
+       "LENGTH-OF", // 379 (637)
+       "LIMIT", // 380 (638)
+       "LIMITS", // 381 (639)
+       "LINE", // 382 (640)
+       "LINES", // 383 (641)
+       "LINE-COUNTER", // 384 (642)
+       "LINAGE", // 385 (643)
+       "LINKAGE", // 386 (644)
+       "LOCALE", // 387 (645)
+       "LOCALE-COMPARE", // 388 (646)
+       "LOCALE-DATE", // 389 (647)
+       "LOCALE-TIME", // 390 (648)
+       "LOCALE-TIME-FROM-SECONDS", // 391 (649)
+       "LOCAL-STORAGE", // 392 (650)
+       "LOCATION", // 393 (651)
+       "LOCK", // 394 (652)
+       "LOCK-ON", // 395 (653)
+       "LOG", // 396 (654)
+       "LOG10", // 397 (655)
+       "LOWER-CASE", // 398 (656)
+       "LOW-VALUES", // 399 (657)
+       "LOWEST-ALGEBRAIC", // 400 (658)
+       "LPAREN", // 401 (659)
+       "MANUAL", // 402 (660)
+       "MAXX", // 403 (661)
+       "MEAN", // 404 (662)
+       "MEDIAN", // 405 (663)
+       "MIDRANGE", // 406 (664)
+       "MINN", // 407 (665)
+       "MULTIPLE", // 408 (666)
+       "MOD", // 409 (667)
+       "MODE", // 410 (668)
+       "MODULE-NAME", // 411 (669)
+       "NAMED", // 412 (670)
+       "NAT", // 413 (671)
+       "NATIONAL", // 414 (672)
+       "NATIONAL-EDITED", // 415 (673)
+       "NATIONAL-OF", // 416 (674)
+       "NATIVE", // 417 (675)
+       "NESTED", // 418 (676)
+       "NEXT", // 419 (677)
+       "NO", // 420 (678)
+       "NOTE", // 421 (679)
+       "NULLS", // 422 (680)
+       "NULLPTR", // 423 (681)
+       "NUMERIC", // 424 (682)
+       "NUMERIC-EDITED", // 425 (683)
+       "NUMVAL", // 426 (684)
+       "NUMVAL-C", // 427 (685)
+       "NUMVAL-F", // 428 (686)
+       "OCCURS", // 429 (687)
+       "OF", // 430 (688)
+       "OFF", // 431 (689)
+       "OMITTED", // 432 (690)
+       "ON", // 433 (691)
+       "ONLY", // 434 (692)
+       "OPTIONAL", // 435 (693)
+       "OPTIONS", // 436 (694)
+       "ORD", // 437 (695)
+       "ORDER", // 438 (696)
+       "ORD-MAX", // 439 (697)
+       "ORD-MIN", // 440 (698)
+       "ORGANIZATION", // 441 (699)
+       "OTHER", // 442 (700)
+       "OTHERWISE", // 443 (701)
+       "OUTPUT", // 444 (702)
+       "PACKED-DECIMAL", // 445 (703)
+       "PADDING", // 446 (704)
+       "PAGE", // 447 (705)
+       "PAGE-COUNTER", // 448 (706)
+       "PF", // 449 (707)
+       "PH", // 450 (708)
+       "PI", // 451 (709)
+       "PIC", // 452 (710)
+       "PICTURE", // 453 (711)
+       "PLUS", // 454 (712)
+       "PRESENT-VALUE", // 455 (713)
+       "PRINT-SWITCH", // 456 (714)
+       "PROCEDURE", // 457 (715)
+       "PROCEDURES", // 458 (716)
+       "PROCEED", // 459 (717)
        "PROCESSING", // 460 (718)
        "PROGRAM-ID", // 461 (719)
        "PROGRAM", // 462 (720)

Reply via email to