OpenCOBOL 1.1pre-rel
Data Structures | Defines | Typedefs | Enumerations | Functions | Variables
parser.c File Reference
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include "cobc.h"
#include "tree.h"
#include <stdio.h>
Include dependency graph for parser.c:

Go to the source code of this file.

Data Structures

union  yyalloc

Defines

#define YYBISON   1
#define YYSKELETON_NAME   "yacc.c"
#define YYPURE   0
#define YYLSP_NEEDED   0
#define YYTOKENTYPE
#define TOKEN_EOF   0
#define ACCEPT   258
#define ACCESS   259
#define ADD   260
#define ADDRESS   261
#define ADVANCING   262
#define AFTER   263
#define ALL   264
#define ALLOCATE   265
#define ALPHABET   266
#define ALPHABETIC   267
#define ALPHABETIC_LOWER   268
#define ALPHABETIC_UPPER   269
#define ALPHANUMERIC   270
#define ALPHANUMERIC_EDITED   271
#define ALSO   272
#define ALTER   273
#define ALTERNATE   274
#define AND   275
#define ANY   276
#define ARE   277
#define AREA   278
#define ARGUMENT_NUMBER   279
#define ARGUMENT_VALUE   280
#define AS   281
#define ASCENDING   282
#define ASSIGN   283
#define AT   284
#define AUTO   285
#define AUTOMATIC   286
#define BACKGROUND_COLOR   287
#define BASED   288
#define BEFORE   289
#define BELL   290
#define BINARY   291
#define BINARY_C_LONG   292
#define BINARY_CHAR   293
#define BINARY_DOUBLE   294
#define BINARY_LONG   295
#define BINARY_SHORT   296
#define BLANK   297
#define BLANK_LINE   298
#define BLANK_SCREEN   299
#define BLINK   300
#define BLOCK   301
#define BOTTOM   302
#define BY   303
#define BYTE_LENGTH   304
#define CALL   305
#define CANCEL   306
#define CH   307
#define CHAINING   308
#define CHARACTER   309
#define CHARACTERS   310
#define CLASS   311
#define CLOSE   312
#define CODE   313
#define CODE_SET   314
#define COLLATING   315
#define COL   316
#define COLS   317
#define COLUMN   318
#define COLUMNS   319
#define COMMA   320
#define COMMAND_LINE   321
#define COMMA_DELIM   322
#define COMMIT   323
#define COMMON   324
#define COMP   325
#define COMPUTE   326
#define COMP_1   327
#define COMP_2   328
#define COMP_3   329
#define COMP_4   330
#define COMP_5   331
#define COMP_X   332
#define CONCATENATE_FUNC   333
#define CONFIGURATION   334
#define CONSTANT   335
#define CONTAINS   336
#define CONTENT   337
#define CONTINUE   338
#define CONTROL   339
#define CONTROLS   340
#define CONTROL_FOOTING   341
#define CONTROL_HEADING   342
#define CONVERTING   343
#define CORRESPONDING   344
#define COUNT   345
#define CRT   346
#define CURRENCY   347
#define CURRENT_DATE_FUNC   348
#define CURSOR   349
#define CYCLE   350
#define DATA   351
#define DATE   352
#define DAY   353
#define DAY_OF_WEEK   354
#define DE   355
#define DEBUGGING   356
#define DECIMAL_POINT   357
#define DECLARATIVES   358
#define DEFAULT   359
#define DELETE   360
#define DELIMITED   361
#define DELIMITER   362
#define DEPENDING   363
#define DESCENDING   364
#define DETAIL   365
#define DISK   366
#define DISPLAY   367
#define DIVIDE   368
#define DIVISION   369
#define DOWN   370
#define DUPLICATES   371
#define DYNAMIC   372
#define EBCDIC   373
#define ELSE   374
#define END   375
#define END_ACCEPT   376
#define END_ADD   377
#define END_CALL   378
#define END_COMPUTE   379
#define END_DELETE   380
#define END_DISPLAY   381
#define END_DIVIDE   382
#define END_EVALUATE   383
#define END_FUNCTION   384
#define END_IF   385
#define END_MULTIPLY   386
#define END_PERFORM   387
#define END_PROGRAM   388
#define END_READ   389
#define END_RETURN   390
#define END_REWRITE   391
#define END_SEARCH   392
#define END_START   393
#define END_STRING   394
#define END_SUBTRACT   395
#define END_UNSTRING   396
#define END_WRITE   397
#define ENTRY   398
#define ENVIRONMENT   399
#define ENVIRONMENT_NAME   400
#define ENVIRONMENT_VALUE   401
#define EOL   402
#define EOP   403
#define EOS   404
#define EQUAL   405
#define EQUALS   406
#define ERASE   407
#define ERROR   408
#define ESCAPE   409
#define EVALUATE   410
#define EVENT_STATUS   411
#define EXCEPTION   412
#define EXCLUSIVE   413
#define EXIT   414
#define EXTEND   415
#define EXTERNAL   416
#define FD   417
#define FILE_CONTROL   418
#define FILE_ID   419
#define FILLER   420
#define FINAL   421
#define FIRST   422
#define FOOTING   423
#define FOR   424
#define FOREGROUND_COLOR   425
#define FOREVER   426
#define FREE   427
#define FROM   428
#define FULL   429
#define FUNCTION   430
#define FUNCTION_ID   431
#define FUNCTION_NAME   432
#define GE   433
#define GENERATE   434
#define GIVING   435
#define GLOBAL   436
#define GO   437
#define GOBACK   438
#define GREATER   439
#define GROUP   440
#define HEADING   441
#define HIGHLIGHT   442
#define HIGH_VALUE   443
#define IDENTIFICATION   444
#define IF   445
#define IGNORE   446
#define IGNORING   447
#define IN   448
#define INDEX   449
#define INDEXED   450
#define INDICATE   451
#define INITIALIZE   452
#define INITIALIZED   453
#define INITIATE   454
#define INPUT   455
#define INPUT_OUTPUT   456
#define INSPECT   457
#define INTO   458
#define INTRINSIC   459
#define INVALID   460
#define INVALID_KEY   461
#define IS   462
#define I_O   463
#define I_O_CONTROL   464
#define JUSTIFIED   465
#define KEY   466
#define LABEL   467
#define LAST   468
#define LAST_DETAIL   469
#define LE   470
#define LEADING   471
#define LEFT   472
#define LENGTH   473
#define LESS   474
#define LIMIT   475
#define LIMITS   476
#define LINAGE   477
#define LINAGE_COUNTER   478
#define LINE   479
#define LINES   480
#define LINKAGE   481
#define LITERAL   482
#define LOCALE   483
#define LOCALE_DT_FUNC   484
#define LOCAL_STORAGE   485
#define LOCK   486
#define LOWER_CASE_FUNC   487
#define LOWLIGHT   488
#define LOW_VALUE   489
#define MANUAL   490
#define MEMORY   491
#define MERGE   492
#define MINUS   493
#define MNEMONIC_NAME   494
#define MODE   495
#define MOVE   496
#define MULTIPLE   497
#define MULTIPLY   498
#define NATIONAL   499
#define NATIONAL_EDITED   500
#define NATIVE   501
#define NE   502
#define NEGATIVE   503
#define NEXT   504
#define NEXT_SENTENCE   505
#define NO   506
#define NOT   507
#define NOT_END   508
#define NOT_EOP   509
#define NOT_EXCEPTION   510
#define NOT_INVALID_KEY   511
#define NOT_OVERFLOW   512
#define NOT_SIZE_ERROR   513
#define NO_ADVANCING   514
#define NUMBER   515
#define NUMBERS   516
#define NUMERIC   517
#define NUMERIC_EDITED   518
#define NUMVALC_FUNC   519
#define OBJECT_COMPUTER   520
#define OCCURS   521
#define OF   522
#define OFF   523
#define OMITTED   524
#define ON   525
#define ONLY   526
#define OPEN   527
#define OPTIONAL   528
#define OR   529
#define ORDER   530
#define ORGANIZATION   531
#define OTHER   532
#define OUTPUT   533
#define OVERFLOW   534
#define OVERLINE   535
#define PACKED_DECIMAL   536
#define PADDING   537
#define PAGE   538
#define PAGE_FOOTING   539
#define PAGE_HEADING   540
#define PARAGRAPH   541
#define PERFORM   542
#define PICTURE   543
#define PLUS   544
#define POINTER   545
#define POSITION   546
#define POSITIVE   547
#define PRESENT   548
#define PREVIOUS   549
#define PRINTER   550
#define PRINTING   551
#define PROCEDURE   552
#define PROCEDURES   553
#define PROCEED   554
#define PROGRAM   555
#define PROGRAM_ID   556
#define PROGRAM_NAME   557
#define PROGRAM_POINTER   558
#define PROMPT   559
#define QUOTE   560
#define RANDOM   561
#define RD   562
#define READ   563
#define RECORD   564
#define RECORDING   565
#define RECORDS   566
#define RECURSIVE   567
#define REDEFINES   568
#define REEL   569
#define REFERENCE   570
#define RELATIVE   571
#define RELEASE   572
#define REMAINDER   573
#define REMOVAL   574
#define RENAMES   575
#define REPLACING   576
#define REPORT   577
#define REPORTING   578
#define REPORTS   579
#define REPORT_FOOTING   580
#define REPORT_HEADING   581
#define REPOSITORY   582
#define REQUIRED   583
#define RESERVE   584
#define RETURN   585
#define RETURNING   586
#define REVERSE_FUNC   587
#define REVERSE_VIDEO   588
#define REWIND   589
#define REWRITE   590
#define RIGHT   591
#define ROLLBACK   592
#define ROUNDED   593
#define RUN   594
#define SAME   595
#define SCREEN   596
#define SCREEN_CONTROL   597
#define SCROLL   598
#define SD   599
#define SEARCH   600
#define SECTION   601
#define SECURE   602
#define SEGMENT_LIMIT   603
#define SELECT   604
#define SEMI_COLON   605
#define SENTENCE   606
#define SEPARATE   607
#define SEQUENCE   608
#define SEQUENTIAL   609
#define SET   610
#define SHARING   611
#define SIGN   612
#define SIGNED   613
#define SIGNED_INT   614
#define SIGNED_LONG   615
#define SIGNED_SHORT   616
#define SIZE   617
#define SIZE_ERROR   618
#define SORT   619
#define SORT_MERGE   620
#define SOURCE   621
#define SOURCE_COMPUTER   622
#define SPACE   623
#define SPECIAL_NAMES   624
#define STANDARD   625
#define STANDARD_1   626
#define STANDARD_2   627
#define START   628
#define STATUS   629
#define STOP   630
#define STRING   631
#define SUBSTITUTE_FUNC   632
#define SUBSTITUTE_CASE_FUNC   633
#define SUBTRACT   634
#define SUM   635
#define SUPPRESS   636
#define SYMBOLIC   637
#define SYNCHRONIZED   638
#define TALLYING   639
#define TAPE   640
#define TERMINATE   641
#define TEST   642
#define THAN   643
#define THEN   644
#define THRU   645
#define TIME   646
#define TIMES   647
#define TO   648
#define TOK_FALSE   649
#define TOK_FILE   650
#define TOK_INITIAL   651
#define TOK_NULL   652
#define TOK_TRUE   653
#define TOP   654
#define TRAILING   655
#define TRANSFORM   656
#define TRIM_FUNCTION   657
#define TYPE   658
#define UNDERLINE   659
#define UNIT   660
#define UNLOCK   661
#define UNSIGNED   662
#define UNSIGNED_INT   663
#define UNSIGNED_LONG   664
#define UNSIGNED_SHORT   665
#define UNSTRING   666
#define UNTIL   667
#define UP   668
#define UPDATE   669
#define UPON   670
#define UPON_ARGUMENT_NUMBER   671
#define UPON_COMMAND_LINE   672
#define UPON_ENVIRONMENT_NAME   673
#define UPON_ENVIRONMENT_VALUE   674
#define UPPER_CASE_FUNC   675
#define USAGE   676
#define USE   677
#define USING   678
#define VALUE   679
#define VARYING   680
#define WAIT   681
#define WHEN   682
#define WHEN_COMPILED_FUNC   683
#define WITH   684
#define WORD   685
#define WORDS   686
#define WORKING_STORAGE   687
#define WRITE   688
#define YYYYDDD   689
#define YYYYMMDD   690
#define ZERO   691
#define UNARY_SIGN   692
#define yyerror   cb_error
#define YYDEBUG   1
#define YYERROR_VERBOSE   1
#define PENDING(x)   cb_warning (_("'%s' not implemented"), x)
#define emit_statement(x)   current_program->exec_list = cb_cons (x, current_program->exec_list)
#define push_expr(type, node)   current_expr = cb_build_list (cb_int (type), node, current_expr)
#define TERM_NONE   0
#define TERM_ACCEPT   1
#define TERM_ADD   2
#define TERM_CALL   3
#define TERM_COMPUTE   4
#define TERM_DELETE   5
#define TERM_DISPLAY   6
#define TERM_DIVIDE   7
#define TERM_EVALUATE   8
#define TERM_IF   9
#define TERM_MULTIPLY   10
#define TERM_PERFORM   11
#define TERM_READ   12
#define TERM_RECEIVE   13
#define TERM_RETURN   14
#define TERM_REWRITE   15
#define TERM_SEARCH   16
#define TERM_START   17
#define TERM_STRING   18
#define TERM_SUBTRACT   19
#define TERM_UNSTRING   20
#define TERM_WRITE   21
#define TERM_MAX   22
#define YYERROR_VERBOSE   1
#define YYSTACK_ALLOC   malloc
#define YYSTACK_FREE   free
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY(To, From, Count)
#define YYSTACK_RELOCATE(Stack)
#define YYFINAL   3
#define YYLAST   5462
#define YYNTOKENS   451
#define YYNNTS   690
#define YYNRULES   1518
#define YYNSTATES   2240
#define YYUNDEFTOK   2
#define YYMAXUTOK   692
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -1922
#define YYTABLE_NINF   -1518
#define YYSIZE_T   unsigned int
#define yyerrok   (yyerrstatus = 0)
#define yyclearin   (yychar = YYEMPTY)
#define YYEMPTY   (-2)
#define YYEOF   0
#define YYACCEPT   goto yyacceptlab
#define YYABORT   goto yyabortlab
#define YYERROR   goto yyerrlab1
#define YYFAIL   goto yyerrlab
#define YYRECOVERING()   (!!yyerrstatus)
#define YYBACKUP(Token, Value)
#define YYTERROR   1
#define YYERRCODE   256
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YYLEX   yylex ()
#define YYFPRINTF   fprintf
#define YYDPRINTF(Args)
#define YYDSYMPRINT(Args)
#define YYDSYMPRINTF(Title, Token, Value, Location)
#define YY_STACK_PRINT(Bottom, Top)
#define YY_REDUCE_PRINT(Rule)
#define YYINITDEPTH   200
#define YYMAXDEPTH   10000
#define YYPOPSTACK   (yyvsp--, yyssp--)

Typedefs

typedef short yysigned_char

Enumerations

enum  yytokentype {
  TOKEN_EOF = 0, ACCEPT = 258, ACCESS = 259, ADD = 260,
  ADDRESS = 261, ADVANCING = 262, AFTER = 263, ALL = 264,
  ALLOCATE = 265, ALPHABET = 266, ALPHABETIC = 267, ALPHABETIC_LOWER = 268,
  ALPHABETIC_UPPER = 269, ALPHANUMERIC = 270, ALPHANUMERIC_EDITED = 271, ALSO = 272,
  ALTER = 273, ALTERNATE = 274, AND = 275, ANY = 276,
  ARE = 277, AREA = 278, ARGUMENT_NUMBER = 279, ARGUMENT_VALUE = 280,
  AS = 281, ASCENDING = 282, ASSIGN = 283, AT = 284,
  AUTO = 285, AUTOMATIC = 286, BACKGROUND_COLOR = 287, BASED = 288,
  BEFORE = 289, BELL = 290, BINARY = 291, BINARY_C_LONG = 292,
  BINARY_CHAR = 293, BINARY_DOUBLE = 294, BINARY_LONG = 295, BINARY_SHORT = 296,
  BLANK = 297, BLANK_LINE = 298, BLANK_SCREEN = 299, BLINK = 300,
  BLOCK = 301, BOTTOM = 302, BY = 303, BYTE_LENGTH = 304,
  CALL = 305, CANCEL = 306, CH = 307, CHAINING = 308,
  CHARACTER = 309, CHARACTERS = 310, CLASS = 311, CLOSE = 312,
  CODE = 313, CODE_SET = 314, COLLATING = 315, COL = 316,
  COLS = 317, COLUMN = 318, COLUMNS = 319, COMMA = 320,
  COMMAND_LINE = 321, COMMA_DELIM = 322, COMMIT = 323, COMMON = 324,
  COMP = 325, COMPUTE = 326, COMP_1 = 327, COMP_2 = 328,
  COMP_3 = 329, COMP_4 = 330, COMP_5 = 331, COMP_X = 332,
  CONCATENATE_FUNC = 333, CONFIGURATION = 334, CONSTANT = 335, CONTAINS = 336,
  CONTENT = 337, CONTINUE = 338, CONTROL = 339, CONTROLS = 340,
  CONTROL_FOOTING = 341, CONTROL_HEADING = 342, CONVERTING = 343, CORRESPONDING = 344,
  COUNT = 345, CRT = 346, CURRENCY = 347, CURRENT_DATE_FUNC = 348,
  CURSOR = 349, CYCLE = 350, DATA = 351, DATE = 352,
  DAY = 353, DAY_OF_WEEK = 354, DE = 355, DEBUGGING = 356,
  DECIMAL_POINT = 357, DECLARATIVES = 358, DEFAULT = 359, DELETE = 360,
  DELIMITED = 361, DELIMITER = 362, DEPENDING = 363, DESCENDING = 364,
  DETAIL = 365, DISK = 366, DISPLAY = 367, DIVIDE = 368,
  DIVISION = 369, DOWN = 370, DUPLICATES = 371, DYNAMIC = 372,
  EBCDIC = 373, ELSE = 374, END = 375, END_ACCEPT = 376,
  END_ADD = 377, END_CALL = 378, END_COMPUTE = 379, END_DELETE = 380,
  END_DISPLAY = 381, END_DIVIDE = 382, END_EVALUATE = 383, END_FUNCTION = 384,
  END_IF = 385, END_MULTIPLY = 386, END_PERFORM = 387, END_PROGRAM = 388,
  END_READ = 389, END_RETURN = 390, END_REWRITE = 391, END_SEARCH = 392,
  END_START = 393, END_STRING = 394, END_SUBTRACT = 395, END_UNSTRING = 396,
  END_WRITE = 397, ENTRY = 398, ENVIRONMENT = 399, ENVIRONMENT_NAME = 400,
  ENVIRONMENT_VALUE = 401, EOL = 402, EOP = 403, EOS = 404,
  EQUAL = 405, EQUALS = 406, ERASE = 407, ERROR = 408,
  ESCAPE = 409, EVALUATE = 410, EVENT_STATUS = 411, EXCEPTION = 412,
  EXCLUSIVE = 413, EXIT = 414, EXTEND = 415, EXTERNAL = 416,
  FD = 417, FILE_CONTROL = 418, FILE_ID = 419, FILLER = 420,
  FINAL = 421, FIRST = 422, FOOTING = 423, FOR = 424,
  FOREGROUND_COLOR = 425, FOREVER = 426, FREE = 427, FROM = 428,
  FULL = 429, FUNCTION = 430, FUNCTION_ID = 431, FUNCTION_NAME = 432,
  GE = 433, GENERATE = 434, GIVING = 435, GLOBAL = 436,
  GO = 437, GOBACK = 438, GREATER = 439, GROUP = 440,
  HEADING = 441, HIGHLIGHT = 442, HIGH_VALUE = 443, IDENTIFICATION = 444,
  IF = 445, IGNORE = 446, IGNORING = 447, IN = 448,
  INDEX = 449, INDEXED = 450, INDICATE = 451, INITIALIZE = 452,
  INITIALIZED = 453, INITIATE = 454, INPUT = 455, INPUT_OUTPUT = 456,
  INSPECT = 457, INTO = 458, INTRINSIC = 459, INVALID = 460,
  INVALID_KEY = 461, IS = 462, I_O = 463, I_O_CONTROL = 464,
  JUSTIFIED = 465, KEY = 466, LABEL = 467, LAST = 468,
  LAST_DETAIL = 469, LE = 470, LEADING = 471, LEFT = 472,
  LENGTH = 473, LESS = 474, LIMIT = 475, LIMITS = 476,
  LINAGE = 477, LINAGE_COUNTER = 478, LINE = 479, LINES = 480,
  LINKAGE = 481, LITERAL = 482, LOCALE = 483, LOCALE_DT_FUNC = 484,
  LOCAL_STORAGE = 485, LOCK = 486, LOWER_CASE_FUNC = 487, LOWLIGHT = 488,
  LOW_VALUE = 489, MANUAL = 490, MEMORY = 491, MERGE = 492,
  MINUS = 493, MNEMONIC_NAME = 494, MODE = 495, MOVE = 496,
  MULTIPLE = 497, MULTIPLY = 498, NATIONAL = 499, NATIONAL_EDITED = 500,
  NATIVE = 501, NE = 502, NEGATIVE = 503, NEXT = 504,
  NEXT_SENTENCE = 505, NO = 506, NOT = 507, NOT_END = 508,
  NOT_EOP = 509, NOT_EXCEPTION = 510, NOT_INVALID_KEY = 511, NOT_OVERFLOW = 512,
  NOT_SIZE_ERROR = 513, NO_ADVANCING = 514, NUMBER = 515, NUMBERS = 516,
  NUMERIC = 517, NUMERIC_EDITED = 518, NUMVALC_FUNC = 519, OBJECT_COMPUTER = 520,
  OCCURS = 521, OF = 522, OFF = 523, OMITTED = 524,
  ON = 525, ONLY = 526, OPEN = 527, OPTIONAL = 528,
  OR = 529, ORDER = 530, ORGANIZATION = 531, OTHER = 532,
  OUTPUT = 533, OVERFLOW = 534, OVERLINE = 535, PACKED_DECIMAL = 536,
  PADDING = 537, PAGE = 538, PAGE_FOOTING = 539, PAGE_HEADING = 540,
  PARAGRAPH = 541, PERFORM = 542, PICTURE = 543, PLUS = 544,
  POINTER = 545, POSITION = 546, POSITIVE = 547, PRESENT = 548,
  PREVIOUS = 549, PRINTER = 550, PRINTING = 551, PROCEDURE = 552,
  PROCEDURES = 553, PROCEED = 554, PROGRAM = 555, PROGRAM_ID = 556,
  PROGRAM_NAME = 557, PROGRAM_POINTER = 558, PROMPT = 559, QUOTE = 560,
  RANDOM = 561, RD = 562, READ = 563, RECORD = 564,
  RECORDING = 565, RECORDS = 566, RECURSIVE = 567, REDEFINES = 568,
  REEL = 569, REFERENCE = 570, RELATIVE = 571, RELEASE = 572,
  REMAINDER = 573, REMOVAL = 574, RENAMES = 575, REPLACING = 576,
  REPORT = 577, REPORTING = 578, REPORTS = 579, REPORT_FOOTING = 580,
  REPORT_HEADING = 581, REPOSITORY = 582, REQUIRED = 583, RESERVE = 584,
  RETURN = 585, RETURNING = 586, REVERSE_FUNC = 587, REVERSE_VIDEO = 588,
  REWIND = 589, REWRITE = 590, RIGHT = 591, ROLLBACK = 592,
  ROUNDED = 593, RUN = 594, SAME = 595, SCREEN = 596,
  SCREEN_CONTROL = 597, SCROLL = 598, SD = 599, SEARCH = 600,
  SECTION = 601, SECURE = 602, SEGMENT_LIMIT = 603, SELECT = 604,
  SEMI_COLON = 605, SENTENCE = 606, SEPARATE = 607, SEQUENCE = 608,
  SEQUENTIAL = 609, SET = 610, SHARING = 611, SIGN = 612,
  SIGNED = 613, SIGNED_INT = 614, SIGNED_LONG = 615, SIGNED_SHORT = 616,
  SIZE = 617, SIZE_ERROR = 618, SORT = 619, SORT_MERGE = 620,
  SOURCE = 621, SOURCE_COMPUTER = 622, SPACE = 623, SPECIAL_NAMES = 624,
  STANDARD = 625, STANDARD_1 = 626, STANDARD_2 = 627, START = 628,
  STATUS = 629, STOP = 630, STRING = 631, SUBSTITUTE_FUNC = 632,
  SUBSTITUTE_CASE_FUNC = 633, SUBTRACT = 634, SUM = 635, SUPPRESS = 636,
  SYMBOLIC = 637, SYNCHRONIZED = 638, TALLYING = 639, TAPE = 640,
  TERMINATE = 641, TEST = 642, THAN = 643, THEN = 644,
  THRU = 645, TIME = 646, TIMES = 647, TO = 648,
  TOK_FALSE = 649, TOK_FILE = 650, TOK_INITIAL = 651, TOK_NULL = 652,
  TOK_TRUE = 653, TOP = 654, TRAILING = 655, TRANSFORM = 656,
  TRIM_FUNCTION = 657, TYPE = 658, UNDERLINE = 659, UNIT = 660,
  UNLOCK = 661, UNSIGNED = 662, UNSIGNED_INT = 663, UNSIGNED_LONG = 664,
  UNSIGNED_SHORT = 665, UNSTRING = 666, UNTIL = 667, UP = 668,
  UPDATE = 669, UPON = 670, UPON_ARGUMENT_NUMBER = 671, UPON_COMMAND_LINE = 672,
  UPON_ENVIRONMENT_NAME = 673, UPON_ENVIRONMENT_VALUE = 674, UPPER_CASE_FUNC = 675, USAGE = 676,
  USE = 677, USING = 678, VALUE = 679, VARYING = 680,
  WAIT = 681, WHEN = 682, WHEN_COMPILED_FUNC = 683, WITH = 684,
  WORD = 685, WORDS = 686, WORKING_STORAGE = 687, WRITE = 688,
  YYYYDDD = 689, YYYYMMDD = 690, ZERO = 691, UNARY_SIGN = 692,
  TOKEN_EOF = 0, ACCEPT = 258, ACCESS = 259, ADD = 260,
  ADDRESS = 261, ADVANCING = 262, AFTER = 263, ALL = 264,
  ALLOCATE = 265, ALPHABET = 266, ALPHABETIC = 267, ALPHABETIC_LOWER = 268,
  ALPHABETIC_UPPER = 269, ALPHANUMERIC = 270, ALPHANUMERIC_EDITED = 271, ALSO = 272,
  ALTER = 273, ALTERNATE = 274, AND = 275, ANY = 276,
  ARE = 277, AREA = 278, ARGUMENT_NUMBER = 279, ARGUMENT_VALUE = 280,
  AS = 281, ASCENDING = 282, ASSIGN = 283, AT = 284,
  AUTO = 285, AUTOMATIC = 286, BACKGROUND_COLOR = 287, BASED = 288,
  BEFORE = 289, BELL = 290, BINARY = 291, BINARY_C_LONG = 292,
  BINARY_CHAR = 293, BINARY_DOUBLE = 294, BINARY_LONG = 295, BINARY_SHORT = 296,
  BLANK = 297, BLANK_LINE = 298, BLANK_SCREEN = 299, BLINK = 300,
  BLOCK = 301, BOTTOM = 302, BY = 303, BYTE_LENGTH = 304,
  CALL = 305, CANCEL = 306, CH = 307, CHAINING = 308,
  CHARACTER = 309, CHARACTERS = 310, CLASS = 311, CLOSE = 312,
  CODE = 313, CODE_SET = 314, COLLATING = 315, COL = 316,
  COLS = 317, COLUMN = 318, COLUMNS = 319, COMMA = 320,
  COMMAND_LINE = 321, COMMA_DELIM = 322, COMMIT = 323, COMMON = 324,
  COMP = 325, COMPUTE = 326, COMP_1 = 327, COMP_2 = 328,
  COMP_3 = 329, COMP_4 = 330, COMP_5 = 331, COMP_X = 332,
  CONCATENATE_FUNC = 333, CONFIGURATION = 334, CONSTANT = 335, CONTAINS = 336,
  CONTENT = 337, CONTINUE = 338, CONTROL = 339, CONTROLS = 340,
  CONTROL_FOOTING = 341, CONTROL_HEADING = 342, CONVERTING = 343, CORRESPONDING = 344,
  COUNT = 345, CRT = 346, CURRENCY = 347, CURRENT_DATE_FUNC = 348,
  CURSOR = 349, CYCLE = 350, DATA = 351, DATE = 352,
  DAY = 353, DAY_OF_WEEK = 354, DE = 355, DEBUGGING = 356,
  DECIMAL_POINT = 357, DECLARATIVES = 358, DEFAULT = 359, DELETE = 360,
  DELIMITED = 361, DELIMITER = 362, DEPENDING = 363, DESCENDING = 364,
  DETAIL = 365, DISK = 366, DISPLAY = 367, DIVIDE = 368,
  DIVISION = 369, DOWN = 370, DUPLICATES = 371, DYNAMIC = 372,
  EBCDIC = 373, ELSE = 374, END = 375, END_ACCEPT = 376,
  END_ADD = 377, END_CALL = 378, END_COMPUTE = 379, END_DELETE = 380,
  END_DISPLAY = 381, END_DIVIDE = 382, END_EVALUATE = 383, END_FUNCTION = 384,
  END_IF = 385, END_MULTIPLY = 386, END_PERFORM = 387, END_PROGRAM = 388,
  END_READ = 389, END_RETURN = 390, END_REWRITE = 391, END_SEARCH = 392,
  END_START = 393, END_STRING = 394, END_SUBTRACT = 395, END_UNSTRING = 396,
  END_WRITE = 397, ENTRY = 398, ENVIRONMENT = 399, ENVIRONMENT_NAME = 400,
  ENVIRONMENT_VALUE = 401, EOL = 402, EOP = 403, EOS = 404,
  EQUAL = 405, EQUALS = 406, ERASE = 407, ERROR = 408,
  ESCAPE = 409, EVALUATE = 410, EVENT_STATUS = 411, EXCEPTION = 412,
  EXCLUSIVE = 413, EXIT = 414, EXTEND = 415, EXTERNAL = 416,
  FD = 417, FILE_CONTROL = 418, FILE_ID = 419, FILLER = 420,
  FINAL = 421, FIRST = 422, FOOTING = 423, FOR = 424,
  FOREGROUND_COLOR = 425, FOREVER = 426, FREE = 427, FROM = 428,
  FULL = 429, FUNCTION = 430, FUNCTION_ID = 431, FUNCTION_NAME = 432,
  GE = 433, GENERATE = 434, GIVING = 435, GLOBAL = 436,
  GO = 437, GOBACK = 438, GREATER = 439, GROUP = 440,
  HEADING = 441, HIGHLIGHT = 442, HIGH_VALUE = 443, IDENTIFICATION = 444,
  IF = 445, IGNORE = 446, IGNORING = 447, IN = 448,
  INDEX = 449, INDEXED = 450, INDICATE = 451, INITIALIZE = 452,
  INITIALIZED = 453, INITIATE = 454, INPUT = 455, INPUT_OUTPUT = 456,
  INSPECT = 457, INTO = 458, INTRINSIC = 459, INVALID = 460,
  INVALID_KEY = 461, IS = 462, I_O = 463, I_O_CONTROL = 464,
  JUSTIFIED = 465, KEY = 466, LABEL = 467, LAST = 468,
  LAST_DETAIL = 469, LE = 470, LEADING = 471, LEFT = 472,
  LENGTH = 473, LESS = 474, LIMIT = 475, LIMITS = 476,
  LINAGE = 477, LINAGE_COUNTER = 478, LINE = 479, LINES = 480,
  LINKAGE = 481, LITERAL = 482, LOCALE = 483, LOCALE_DT_FUNC = 484,
  LOCAL_STORAGE = 485, LOCK = 486, LOWER_CASE_FUNC = 487, LOWLIGHT = 488,
  LOW_VALUE = 489, MANUAL = 490, MEMORY = 491, MERGE = 492,
  MINUS = 493, MNEMONIC_NAME = 494, MODE = 495, MOVE = 496,
  MULTIPLE = 497, MULTIPLY = 498, NATIONAL = 499, NATIONAL_EDITED = 500,
  NATIVE = 501, NE = 502, NEGATIVE = 503, NEXT = 504,
  NEXT_SENTENCE = 505, NO = 506, NOT = 507, NOT_END = 508,
  NOT_EOP = 509, NOT_EXCEPTION = 510, NOT_INVALID_KEY = 511, NOT_OVERFLOW = 512,
  NOT_SIZE_ERROR = 513, NO_ADVANCING = 514, NUMBER = 515, NUMBERS = 516,
  NUMERIC = 517, NUMERIC_EDITED = 518, NUMVALC_FUNC = 519, OBJECT_COMPUTER = 520,
  OCCURS = 521, OF = 522, OFF = 523, OMITTED = 524,
  ON = 525, ONLY = 526, OPEN = 527, OPTIONAL = 528,
  OR = 529, ORDER = 530, ORGANIZATION = 531, OTHER = 532,
  OUTPUT = 533, OVERFLOW = 534, OVERLINE = 535, PACKED_DECIMAL = 536,
  PADDING = 537, PAGE = 538, PAGE_FOOTING = 539, PAGE_HEADING = 540,
  PARAGRAPH = 541, PERFORM = 542, PICTURE = 543, PLUS = 544,
  POINTER = 545, POSITION = 546, POSITIVE = 547, PRESENT = 548,
  PREVIOUS = 549, PRINTER = 550, PRINTING = 551, PROCEDURE = 552,
  PROCEDURES = 553, PROCEED = 554, PROGRAM = 555, PROGRAM_ID = 556,
  PROGRAM_NAME = 557, PROGRAM_POINTER = 558, PROMPT = 559, QUOTE = 560,
  RANDOM = 561, RD = 562, READ = 563, RECORD = 564,
  RECORDING = 565, RECORDS = 566, RECURSIVE = 567, REDEFINES = 568,
  REEL = 569, REFERENCE = 570, RELATIVE = 571, RELEASE = 572,
  REMAINDER = 573, REMOVAL = 574, RENAMES = 575, REPLACING = 576,
  REPORT = 577, REPORTING = 578, REPORTS = 579, REPORT_FOOTING = 580,
  REPORT_HEADING = 581, REPOSITORY = 582, REQUIRED = 583, RESERVE = 584,
  RETURN = 585, RETURNING = 586, REVERSE_FUNC = 587, REVERSE_VIDEO = 588,
  REWIND = 589, REWRITE = 590, RIGHT = 591, ROLLBACK = 592,
  ROUNDED = 593, RUN = 594, SAME = 595, SCREEN = 596,
  SCREEN_CONTROL = 597, SCROLL = 598, SD = 599, SEARCH = 600,
  SECTION = 601, SECURE = 602, SEGMENT_LIMIT = 603, SELECT = 604,
  SEMI_COLON = 605, SENTENCE = 606, SEPARATE = 607, SEQUENCE = 608,
  SEQUENTIAL = 609, SET = 610, SHARING = 611, SIGN = 612,
  SIGNED = 613, SIGNED_INT = 614, SIGNED_LONG = 615, SIGNED_SHORT = 616,
  SIZE = 617, SIZE_ERROR = 618, SORT = 619, SORT_MERGE = 620,
  SOURCE = 621, SOURCE_COMPUTER = 622, SPACE = 623, SPECIAL_NAMES = 624,
  STANDARD = 625, STANDARD_1 = 626, STANDARD_2 = 627, START = 628,
  STATUS = 629, STOP = 630, STRING = 631, SUBSTITUTE_FUNC = 632,
  SUBSTITUTE_CASE_FUNC = 633, SUBTRACT = 634, SUM = 635, SUPPRESS = 636,
  SYMBOLIC = 637, SYNCHRONIZED = 638, TALLYING = 639, TAPE = 640,
  TERMINATE = 641, TEST = 642, THAN = 643, THEN = 644,
  THRU = 645, TIME = 646, TIMES = 647, TO = 648,
  TOK_FALSE = 649, TOK_FILE = 650, TOK_INITIAL = 651, TOK_NULL = 652,
  TOK_TRUE = 653, TOP = 654, TRAILING = 655, TRANSFORM = 656,
  TRIM_FUNCTION = 657, TYPE = 658, UNDERLINE = 659, UNIT = 660,
  UNLOCK = 661, UNSIGNED = 662, UNSIGNED_INT = 663, UNSIGNED_LONG = 664,
  UNSIGNED_SHORT = 665, UNSTRING = 666, UNTIL = 667, UP = 668,
  UPDATE = 669, UPON = 670, UPON_ARGUMENT_NUMBER = 671, UPON_COMMAND_LINE = 672,
  UPON_ENVIRONMENT_NAME = 673, UPON_ENVIRONMENT_VALUE = 674, UPPER_CASE_FUNC = 675, USAGE = 676,
  USE = 677, USING = 678, VALUE = 679, VARYING = 680,
  WAIT = 681, WHEN = 682, WHEN_COMPILED_FUNC = 683, WITH = 684,
  WORD = 685, WORDS = 686, WORKING_STORAGE = 687, WRITE = 688,
  YYYYDDD = 689, YYYYMMDD = 690, ZERO = 691, UNARY_SIGN = 692,
  TOKEN_EOF = 0, COPY = 258, REPLACE = 259, SUPPRESS = 260,
  PRINTING = 261, REPLACING = 262, OFF = 263, IN = 264,
  OF = 265, BY = 266, EQEQ = 267, TOKEN = 268,
  TOKEN_EOF = 0, COPY = 258, REPLACE = 259, SUPPRESS = 260,
  PRINTING = 261, REPLACING = 262, OFF = 263, IN = 264,
  OF = 265, BY = 266, EQEQ = 267, TOKEN = 268
}

Functions

static void BEGIN_STATEMENT (const char *name, const size_t term)
static void BEGIN_IMPLICIT_STATEMENT (void)
static void emit_entry (const char *name, const int encode, cb_tree using_list)
static void terminator_warning (const size_t termid)
static void terminator_error (void)
static void terminator_clear (const size_t termid)
static int literal_value (cb_tree x)
static void setup_use_file (struct cb_file *fileptr)
static void yy_stack_print (short *bottom, short *top)
static void yy_reduce_print (int yyrule)
static YYSIZE_T yystrlen (char *yystr) const
static char * yystpcpy (char *yydest, const char *yysrc)
static void yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
static void yydestruct (int yytype, YYSTYPE *yyvaluep)
int yyparse ()

Variables

struct cb_programcurrent_program = NULL
struct cb_statementcurrent_statement = NULL
struct cb_labelcurrent_section = NULL
struct cb_labelcurrent_paragraph = NULL
size_t functions_are_all = 0
int non_const_word = 0
static struct cb_statementmain_statement
static cb_tree current_expr
static struct cb_fieldcurrent_field
static struct cb_fielddescription_field
static struct cb_filecurrent_file
static enum cb_storage current_storage
static size_t check_unreached = 0
static int call_mode
static int size_mode
static cb_tree perform_stack = NULL
static cb_tree qualifier = NULL
static cb_tree fgc
static cb_tree bgc
static cb_tree scroll
static cb_tree save_tree_1
static cb_tree save_tree_2
static cb_tree dummy_tree
static size_t in_declaratives = 0
static size_t current_linage = 0
static size_t prog_end = 0
static size_t use_global_ind = 0
static size_t samearea = 1
static size_t organized_seen = 0
static size_t inspect_keyword = 0
static int next_label_id = 0
static int eval_level = 0
static int eval_inc = 0
static int eval_inc2 = 0
static int depth = 0
static int dispattrs = 0
static struct cb_filelinage_file
static cb_tree next_label_list = NULL
static char * stack_progid [32]
static int term_array [TERM_MAX]
static int eval_check [64][64]
static const unsigned short yytranslate []
static const unsigned short yyprhs []
static const short yyrhs []
static const unsigned short yyrline []
static const char *const yytname []
static const unsigned short yyr1 []
static const unsigned char yyr2 []
static const unsigned short yydefact []
static const short yydefgoto []
static const short yypact []
static const short yypgoto []
static const short yytable []
static const short yycheck []
static const unsigned short yystos []
int yydebug
int yychar
YYSTYPE yylval
int yynerrs

Define Documentation

#define ACCEPT   258

Definition at line 495 of file parser.c.

#define ACCESS   259

Definition at line 496 of file parser.c.

#define ADD   260

Definition at line 497 of file parser.c.

#define ADDRESS   261

Definition at line 498 of file parser.c.

#define ADVANCING   262

Definition at line 499 of file parser.c.

#define AFTER   263

Definition at line 500 of file parser.c.

#define ALL   264

Definition at line 501 of file parser.c.

#define ALLOCATE   265

Definition at line 502 of file parser.c.

#define ALPHABET   266

Definition at line 503 of file parser.c.

#define ALPHABETIC   267

Definition at line 504 of file parser.c.

#define ALPHABETIC_LOWER   268

Definition at line 505 of file parser.c.

#define ALPHABETIC_UPPER   269

Definition at line 506 of file parser.c.

#define ALPHANUMERIC   270

Definition at line 507 of file parser.c.

#define ALPHANUMERIC_EDITED   271

Definition at line 508 of file parser.c.

#define ALSO   272

Definition at line 509 of file parser.c.

#define ALTER   273

Definition at line 510 of file parser.c.

#define ALTERNATE   274

Definition at line 511 of file parser.c.

#define AND   275

Definition at line 512 of file parser.c.

#define ANY   276

Definition at line 513 of file parser.c.

#define ARE   277

Definition at line 514 of file parser.c.

#define AREA   278

Definition at line 515 of file parser.c.

#define ARGUMENT_NUMBER   279

Definition at line 516 of file parser.c.

#define ARGUMENT_VALUE   280

Definition at line 517 of file parser.c.

#define AS   281

Definition at line 518 of file parser.c.

#define ASCENDING   282

Definition at line 519 of file parser.c.

#define ASSIGN   283

Definition at line 520 of file parser.c.

#define AT   284

Definition at line 521 of file parser.c.

#define AUTO   285

Definition at line 522 of file parser.c.

#define AUTOMATIC   286

Definition at line 523 of file parser.c.

#define BACKGROUND_COLOR   287

Definition at line 524 of file parser.c.

#define BASED   288

Definition at line 525 of file parser.c.

#define BEFORE   289

Definition at line 526 of file parser.c.

#define BELL   290

Definition at line 527 of file parser.c.

#define BINARY   291

Definition at line 528 of file parser.c.

#define BINARY_C_LONG   292

Definition at line 529 of file parser.c.

#define BINARY_CHAR   293

Definition at line 530 of file parser.c.

#define BINARY_DOUBLE   294

Definition at line 531 of file parser.c.

#define BINARY_LONG   295

Definition at line 532 of file parser.c.

#define BINARY_SHORT   296

Definition at line 533 of file parser.c.

#define BLANK   297

Definition at line 534 of file parser.c.

#define BLANK_LINE   298

Definition at line 535 of file parser.c.

#define BLANK_SCREEN   299

Definition at line 536 of file parser.c.

#define BLINK   300

Definition at line 537 of file parser.c.

#define BLOCK   301

Definition at line 538 of file parser.c.

#define BOTTOM   302

Definition at line 539 of file parser.c.

#define BY   303

Definition at line 540 of file parser.c.

#define BYTE_LENGTH   304

Definition at line 541 of file parser.c.

#define CALL   305

Definition at line 542 of file parser.c.

#define CANCEL   306

Definition at line 543 of file parser.c.

#define CH   307

Definition at line 544 of file parser.c.

#define CHAINING   308

Definition at line 545 of file parser.c.

#define CHARACTER   309

Definition at line 546 of file parser.c.

#define CHARACTERS   310

Definition at line 547 of file parser.c.

#define CLASS   311

Definition at line 548 of file parser.c.

#define CLOSE   312

Definition at line 549 of file parser.c.

#define CODE   313

Definition at line 550 of file parser.c.

#define CODE_SET   314

Definition at line 551 of file parser.c.

#define COL   316

Definition at line 553 of file parser.c.

#define COLLATING   315

Definition at line 552 of file parser.c.

#define COLS   317

Definition at line 554 of file parser.c.

#define COLUMN   318

Definition at line 555 of file parser.c.

#define COLUMNS   319

Definition at line 556 of file parser.c.

#define COMMA   320

Definition at line 557 of file parser.c.

#define COMMA_DELIM   322

Definition at line 559 of file parser.c.

#define COMMAND_LINE   321

Definition at line 558 of file parser.c.

#define COMMIT   323

Definition at line 560 of file parser.c.

#define COMMON   324

Definition at line 561 of file parser.c.

#define COMP   325

Definition at line 562 of file parser.c.

#define COMP_1   327

Definition at line 564 of file parser.c.

#define COMP_2   328

Definition at line 565 of file parser.c.

#define COMP_3   329

Definition at line 566 of file parser.c.

#define COMP_4   330

Definition at line 567 of file parser.c.

#define COMP_5   331

Definition at line 568 of file parser.c.

#define COMP_X   332

Definition at line 569 of file parser.c.

#define COMPUTE   326

Definition at line 563 of file parser.c.

#define CONCATENATE_FUNC   333

Definition at line 570 of file parser.c.

#define CONFIGURATION   334

Definition at line 571 of file parser.c.

#define CONSTANT   335

Definition at line 572 of file parser.c.

#define CONTAINS   336

Definition at line 573 of file parser.c.

#define CONTENT   337

Definition at line 574 of file parser.c.

#define CONTINUE   338

Definition at line 575 of file parser.c.

#define CONTROL   339

Definition at line 576 of file parser.c.

#define CONTROL_FOOTING   341

Definition at line 578 of file parser.c.

#define CONTROL_HEADING   342

Definition at line 579 of file parser.c.

#define CONTROLS   340

Definition at line 577 of file parser.c.

#define CONVERTING   343

Definition at line 580 of file parser.c.

#define CORRESPONDING   344

Definition at line 581 of file parser.c.

#define COUNT   345

Definition at line 582 of file parser.c.

#define CRT   346

Definition at line 583 of file parser.c.

#define CURRENCY   347

Definition at line 584 of file parser.c.

#define CURRENT_DATE_FUNC   348

Definition at line 585 of file parser.c.

#define CURSOR   349

Definition at line 586 of file parser.c.

#define CYCLE   350

Definition at line 587 of file parser.c.

#define DATA   351

Definition at line 588 of file parser.c.

#define DATE   352

Definition at line 589 of file parser.c.

#define DAY   353

Definition at line 590 of file parser.c.

#define DAY_OF_WEEK   354

Definition at line 591 of file parser.c.

#define DE   355

Definition at line 592 of file parser.c.

#define DEBUGGING   356

Definition at line 593 of file parser.c.

#define DECIMAL_POINT   357

Definition at line 594 of file parser.c.

#define DECLARATIVES   358

Definition at line 595 of file parser.c.

#define DEFAULT   359

Definition at line 596 of file parser.c.

#define DELETE   360

Definition at line 597 of file parser.c.

#define DELIMITED   361

Definition at line 598 of file parser.c.

#define DELIMITER   362

Definition at line 599 of file parser.c.

#define DEPENDING   363

Definition at line 600 of file parser.c.

#define DESCENDING   364

Definition at line 601 of file parser.c.

#define DETAIL   365

Definition at line 602 of file parser.c.

#define DISK   366

Definition at line 603 of file parser.c.

#define DISPLAY   367

Definition at line 604 of file parser.c.

#define DIVIDE   368

Definition at line 605 of file parser.c.

#define DIVISION   369

Definition at line 606 of file parser.c.

#define DOWN   370

Definition at line 607 of file parser.c.

#define DUPLICATES   371

Definition at line 608 of file parser.c.

#define DYNAMIC   372

Definition at line 609 of file parser.c.

#define EBCDIC   373

Definition at line 610 of file parser.c.

#define ELSE   374

Definition at line 611 of file parser.c.

#define emit_statement (   x)    current_program->exec_list = cb_cons (x, current_program->exec_list)

Definition at line 951 of file parser.c.

#define END   375

Definition at line 612 of file parser.c.

#define END_ACCEPT   376

Definition at line 613 of file parser.c.

#define END_ADD   377

Definition at line 614 of file parser.c.

#define END_CALL   378

Definition at line 615 of file parser.c.

#define END_COMPUTE   379

Definition at line 616 of file parser.c.

#define END_DELETE   380

Definition at line 617 of file parser.c.

#define END_DISPLAY   381

Definition at line 618 of file parser.c.

#define END_DIVIDE   382

Definition at line 619 of file parser.c.

#define END_EVALUATE   383

Definition at line 620 of file parser.c.

#define END_FUNCTION   384

Definition at line 621 of file parser.c.

#define END_IF   385

Definition at line 622 of file parser.c.

#define END_MULTIPLY   386

Definition at line 623 of file parser.c.

#define END_PERFORM   387

Definition at line 624 of file parser.c.

#define END_PROGRAM   388

Definition at line 625 of file parser.c.

#define END_READ   389

Definition at line 626 of file parser.c.

#define END_RETURN   390

Definition at line 627 of file parser.c.

#define END_REWRITE   391

Definition at line 628 of file parser.c.

#define END_SEARCH   392

Definition at line 629 of file parser.c.

#define END_START   393

Definition at line 630 of file parser.c.

#define END_STRING   394

Definition at line 631 of file parser.c.

#define END_SUBTRACT   395

Definition at line 632 of file parser.c.

#define END_UNSTRING   396

Definition at line 633 of file parser.c.

#define END_WRITE   397

Definition at line 634 of file parser.c.

#define ENTRY   398

Definition at line 635 of file parser.c.

#define ENVIRONMENT   399

Definition at line 636 of file parser.c.

#define ENVIRONMENT_NAME   400

Definition at line 637 of file parser.c.

#define ENVIRONMENT_VALUE   401

Definition at line 638 of file parser.c.

#define EOL   402

Definition at line 639 of file parser.c.

#define EOP   403

Definition at line 640 of file parser.c.

#define EOS   404

Definition at line 641 of file parser.c.

#define EQUAL   405

Definition at line 642 of file parser.c.

#define EQUALS   406

Definition at line 643 of file parser.c.

#define ERASE   407

Definition at line 644 of file parser.c.

#define ERROR   408

Definition at line 645 of file parser.c.

#define ESCAPE   409

Definition at line 646 of file parser.c.

#define EVALUATE   410

Definition at line 647 of file parser.c.

#define EVENT_STATUS   411

Definition at line 648 of file parser.c.

#define EXCEPTION   412

Definition at line 649 of file parser.c.

#define EXCLUSIVE   413

Definition at line 650 of file parser.c.

#define EXIT   414

Definition at line 651 of file parser.c.

#define EXTEND   415

Definition at line 652 of file parser.c.

#define EXTERNAL   416

Definition at line 653 of file parser.c.

#define FD   417

Definition at line 654 of file parser.c.

#define FILE_CONTROL   418

Definition at line 655 of file parser.c.

#define FILE_ID   419

Definition at line 656 of file parser.c.

#define FILLER   420

Definition at line 657 of file parser.c.

#define FINAL   421

Definition at line 658 of file parser.c.

#define FIRST   422

Definition at line 659 of file parser.c.

#define FOOTING   423

Definition at line 660 of file parser.c.

#define FOR   424

Definition at line 661 of file parser.c.

#define FOREGROUND_COLOR   425

Definition at line 662 of file parser.c.

#define FOREVER   426

Definition at line 663 of file parser.c.

#define FREE   427

Definition at line 664 of file parser.c.

#define FROM   428

Definition at line 665 of file parser.c.

#define FULL   429

Definition at line 666 of file parser.c.

#define FUNCTION   430

Definition at line 667 of file parser.c.

#define FUNCTION_ID   431

Definition at line 668 of file parser.c.

#define FUNCTION_NAME   432

Definition at line 669 of file parser.c.

#define GE   433

Definition at line 670 of file parser.c.

#define GENERATE   434

Definition at line 671 of file parser.c.

#define GIVING   435

Definition at line 672 of file parser.c.

#define GLOBAL   436

Definition at line 673 of file parser.c.

#define GO   437

Definition at line 674 of file parser.c.

#define GOBACK   438

Definition at line 675 of file parser.c.

#define GREATER   439

Definition at line 676 of file parser.c.

#define GROUP   440

Definition at line 677 of file parser.c.

#define HEADING   441

Definition at line 678 of file parser.c.

#define HIGH_VALUE   443

Definition at line 680 of file parser.c.

#define HIGHLIGHT   442

Definition at line 679 of file parser.c.

#define I_O   463

Definition at line 700 of file parser.c.

#define I_O_CONTROL   464

Definition at line 701 of file parser.c.

#define IDENTIFICATION   444

Definition at line 681 of file parser.c.

#define IF   445

Definition at line 682 of file parser.c.

#define IGNORE   446

Definition at line 683 of file parser.c.

#define IGNORING   447

Definition at line 684 of file parser.c.

#define IN   448

Definition at line 685 of file parser.c.

#define INDEX   449

Definition at line 686 of file parser.c.

#define INDEXED   450

Definition at line 687 of file parser.c.

#define INDICATE   451

Definition at line 688 of file parser.c.

#define INITIALIZE   452

Definition at line 689 of file parser.c.

#define INITIALIZED   453

Definition at line 690 of file parser.c.

#define INITIATE   454

Definition at line 691 of file parser.c.

#define INPUT   455

Definition at line 692 of file parser.c.

#define INPUT_OUTPUT   456

Definition at line 693 of file parser.c.

#define INSPECT   457

Definition at line 694 of file parser.c.

#define INTO   458

Definition at line 695 of file parser.c.

#define INTRINSIC   459

Definition at line 696 of file parser.c.

#define INVALID   460

Definition at line 697 of file parser.c.

#define INVALID_KEY   461

Definition at line 698 of file parser.c.

#define IS   462

Definition at line 699 of file parser.c.

#define JUSTIFIED   465

Definition at line 702 of file parser.c.

#define KEY   466

Definition at line 703 of file parser.c.

#define LABEL   467

Definition at line 704 of file parser.c.

#define LAST   468

Definition at line 705 of file parser.c.

#define LAST_DETAIL   469

Definition at line 706 of file parser.c.

#define LE   470

Definition at line 707 of file parser.c.

#define LEADING   471

Definition at line 708 of file parser.c.

#define LEFT   472

Definition at line 709 of file parser.c.

#define LENGTH   473

Definition at line 710 of file parser.c.

#define LESS   474

Definition at line 711 of file parser.c.

#define LIMIT   475

Definition at line 712 of file parser.c.

#define LIMITS   476

Definition at line 713 of file parser.c.

#define LINAGE   477

Definition at line 714 of file parser.c.

#define LINAGE_COUNTER   478

Definition at line 715 of file parser.c.

#define LINE   479

Definition at line 716 of file parser.c.

#define LINES   480

Definition at line 717 of file parser.c.

#define LINKAGE   481

Definition at line 718 of file parser.c.

#define LITERAL   482

Definition at line 719 of file parser.c.

#define LOCAL_STORAGE   485

Definition at line 722 of file parser.c.

#define LOCALE   483

Definition at line 720 of file parser.c.

#define LOCALE_DT_FUNC   484

Definition at line 721 of file parser.c.

#define LOCK   486

Definition at line 723 of file parser.c.

#define LOW_VALUE   489

Definition at line 726 of file parser.c.

#define LOWER_CASE_FUNC   487

Definition at line 724 of file parser.c.

#define LOWLIGHT   488

Definition at line 725 of file parser.c.

#define MANUAL   490

Definition at line 727 of file parser.c.

#define MEMORY   491

Definition at line 728 of file parser.c.

#define MERGE   492

Definition at line 729 of file parser.c.

#define MINUS   493

Definition at line 730 of file parser.c.

#define MNEMONIC_NAME   494

Definition at line 731 of file parser.c.

#define MODE   495

Definition at line 732 of file parser.c.

#define MOVE   496

Definition at line 733 of file parser.c.

#define MULTIPLE   497

Definition at line 734 of file parser.c.

#define MULTIPLY   498

Definition at line 735 of file parser.c.

#define NATIONAL   499

Definition at line 736 of file parser.c.

#define NATIONAL_EDITED   500

Definition at line 737 of file parser.c.

#define NATIVE   501

Definition at line 738 of file parser.c.

#define NE   502

Definition at line 739 of file parser.c.

#define NEGATIVE   503

Definition at line 740 of file parser.c.

#define NEXT   504

Definition at line 741 of file parser.c.

#define NEXT_SENTENCE   505

Definition at line 742 of file parser.c.

#define NO   506

Definition at line 743 of file parser.c.

#define NO_ADVANCING   514

Definition at line 751 of file parser.c.

#define NOT   507

Definition at line 744 of file parser.c.

#define NOT_END   508

Definition at line 745 of file parser.c.

#define NOT_EOP   509

Definition at line 746 of file parser.c.

#define NOT_EXCEPTION   510

Definition at line 747 of file parser.c.

#define NOT_INVALID_KEY   511

Definition at line 748 of file parser.c.

#define NOT_OVERFLOW   512

Definition at line 749 of file parser.c.

#define NOT_SIZE_ERROR   513

Definition at line 750 of file parser.c.

#define NUMBER   515

Definition at line 752 of file parser.c.

#define NUMBERS   516

Definition at line 753 of file parser.c.

#define NUMERIC   517

Definition at line 754 of file parser.c.

#define NUMERIC_EDITED   518

Definition at line 755 of file parser.c.

#define NUMVALC_FUNC   519

Definition at line 756 of file parser.c.

#define OBJECT_COMPUTER   520

Definition at line 757 of file parser.c.

#define OCCURS   521

Definition at line 758 of file parser.c.

#define OF   522

Definition at line 759 of file parser.c.

#define OFF   523

Definition at line 760 of file parser.c.

#define OMITTED   524

Definition at line 761 of file parser.c.

#define ON   525

Definition at line 762 of file parser.c.

#define ONLY   526

Definition at line 763 of file parser.c.

#define OPEN   527

Definition at line 764 of file parser.c.

#define OPTIONAL   528

Definition at line 765 of file parser.c.

#define OR   529

Definition at line 766 of file parser.c.

#define ORDER   530

Definition at line 767 of file parser.c.

#define ORGANIZATION   531

Definition at line 768 of file parser.c.

#define OTHER   532

Definition at line 769 of file parser.c.

#define OUTPUT   533

Definition at line 770 of file parser.c.

#define OVERFLOW   534

Definition at line 771 of file parser.c.

#define OVERLINE   535

Definition at line 772 of file parser.c.

#define PACKED_DECIMAL   536

Definition at line 773 of file parser.c.

#define PADDING   537

Definition at line 774 of file parser.c.

#define PAGE   538

Definition at line 775 of file parser.c.

#define PAGE_FOOTING   539

Definition at line 776 of file parser.c.

#define PAGE_HEADING   540

Definition at line 777 of file parser.c.

#define PARAGRAPH   541

Definition at line 778 of file parser.c.

#define PENDING (   x)    cb_warning (_("'%s' not implemented"), x)

Definition at line 949 of file parser.c.

#define PERFORM   542

Definition at line 779 of file parser.c.

#define PICTURE   543

Definition at line 780 of file parser.c.

#define PLUS   544

Definition at line 781 of file parser.c.

#define POINTER   545

Definition at line 782 of file parser.c.

#define POSITION   546

Definition at line 783 of file parser.c.

#define POSITIVE   547

Definition at line 784 of file parser.c.

#define PRESENT   548

Definition at line 785 of file parser.c.

#define PREVIOUS   549

Definition at line 786 of file parser.c.

#define PRINTER   550

Definition at line 787 of file parser.c.

#define PRINTING   551

Definition at line 788 of file parser.c.

#define PROCEDURE   552

Definition at line 789 of file parser.c.

#define PROCEDURES   553

Definition at line 790 of file parser.c.

#define PROCEED   554

Definition at line 791 of file parser.c.

#define PROGRAM   555

Definition at line 792 of file parser.c.

#define PROGRAM_ID   556

Definition at line 793 of file parser.c.

#define PROGRAM_NAME   557

Definition at line 794 of file parser.c.

#define PROGRAM_POINTER   558

Definition at line 795 of file parser.c.

#define PROMPT   559

Definition at line 796 of file parser.c.

#define push_expr (   type,
  node 
)    current_expr = cb_build_list (cb_int (type), node, current_expr)

Definition at line 954 of file parser.c.

#define QUOTE   560

Definition at line 797 of file parser.c.

#define RANDOM   561

Definition at line 798 of file parser.c.

#define RD   562

Definition at line 799 of file parser.c.

#define READ   563

Definition at line 800 of file parser.c.

#define RECORD   564

Definition at line 801 of file parser.c.

#define RECORDING   565

Definition at line 802 of file parser.c.

#define RECORDS   566

Definition at line 803 of file parser.c.

#define RECURSIVE   567

Definition at line 804 of file parser.c.

#define REDEFINES   568

Definition at line 805 of file parser.c.

#define REEL   569

Definition at line 806 of file parser.c.

#define REFERENCE   570

Definition at line 807 of file parser.c.

#define RELATIVE   571

Definition at line 808 of file parser.c.

#define RELEASE   572

Definition at line 809 of file parser.c.

#define REMAINDER   573

Definition at line 810 of file parser.c.

#define REMOVAL   574

Definition at line 811 of file parser.c.

#define RENAMES   575

Definition at line 812 of file parser.c.

#define REPLACING   576

Definition at line 813 of file parser.c.

#define REPORT   577

Definition at line 814 of file parser.c.

#define REPORT_FOOTING   580

Definition at line 817 of file parser.c.

#define REPORT_HEADING   581

Definition at line 818 of file parser.c.

#define REPORTING   578

Definition at line 815 of file parser.c.

#define REPORTS   579

Definition at line 816 of file parser.c.

#define REPOSITORY   582

Definition at line 819 of file parser.c.

#define REQUIRED   583

Definition at line 820 of file parser.c.

#define RESERVE   584

Definition at line 821 of file parser.c.

#define RETURN   585

Definition at line 822 of file parser.c.

#define RETURNING   586

Definition at line 823 of file parser.c.

#define REVERSE_FUNC   587

Definition at line 824 of file parser.c.

#define REVERSE_VIDEO   588

Definition at line 825 of file parser.c.

#define REWIND   589

Definition at line 826 of file parser.c.

#define REWRITE   590

Definition at line 827 of file parser.c.

#define RIGHT   591

Definition at line 828 of file parser.c.

#define ROLLBACK   592

Definition at line 829 of file parser.c.

#define ROUNDED   593

Definition at line 830 of file parser.c.

#define RUN   594

Definition at line 831 of file parser.c.

#define SAME   595

Definition at line 832 of file parser.c.

#define SCREEN   596

Definition at line 833 of file parser.c.

#define SCREEN_CONTROL   597

Definition at line 834 of file parser.c.

#define SCROLL   598

Definition at line 835 of file parser.c.

#define SD   599

Definition at line 836 of file parser.c.

#define SEARCH   600

Definition at line 837 of file parser.c.

#define SECTION   601

Definition at line 838 of file parser.c.

#define SECURE   602

Definition at line 839 of file parser.c.

#define SEGMENT_LIMIT   603

Definition at line 840 of file parser.c.

#define SELECT   604

Definition at line 841 of file parser.c.

#define SEMI_COLON   605

Definition at line 842 of file parser.c.

#define SENTENCE   606

Definition at line 843 of file parser.c.

#define SEPARATE   607

Definition at line 844 of file parser.c.

#define SEQUENCE   608

Definition at line 845 of file parser.c.

#define SEQUENTIAL   609

Definition at line 846 of file parser.c.

#define SET   610

Definition at line 847 of file parser.c.

#define SHARING   611

Definition at line 848 of file parser.c.

#define SIGN   612

Definition at line 849 of file parser.c.

#define SIGNED   613

Definition at line 850 of file parser.c.

#define SIGNED_INT   614

Definition at line 851 of file parser.c.

#define SIGNED_LONG   615

Definition at line 852 of file parser.c.

#define SIGNED_SHORT   616

Definition at line 853 of file parser.c.

#define SIZE   617

Definition at line 854 of file parser.c.

#define SIZE_ERROR   618

Definition at line 855 of file parser.c.

#define SORT   619

Definition at line 856 of file parser.c.

#define SORT_MERGE   620

Definition at line 857 of file parser.c.

#define SOURCE   621

Definition at line 858 of file parser.c.

#define SOURCE_COMPUTER   622

Definition at line 859 of file parser.c.

#define SPACE   623

Definition at line 860 of file parser.c.

#define SPECIAL_NAMES   624

Definition at line 861 of file parser.c.

#define STANDARD   625

Definition at line 862 of file parser.c.

#define STANDARD_1   626

Definition at line 863 of file parser.c.

#define STANDARD_2   627

Definition at line 864 of file parser.c.

#define START   628

Definition at line 865 of file parser.c.

#define STATUS   629

Definition at line 866 of file parser.c.

#define STOP   630

Definition at line 867 of file parser.c.

#define STRING   631

Definition at line 868 of file parser.c.

#define SUBSTITUTE_CASE_FUNC   633

Definition at line 870 of file parser.c.

#define SUBSTITUTE_FUNC   632

Definition at line 869 of file parser.c.

#define SUBTRACT   634

Definition at line 871 of file parser.c.

#define SUM   635

Definition at line 872 of file parser.c.

#define SUPPRESS   636

Definition at line 873 of file parser.c.

#define SYMBOLIC   637

Definition at line 874 of file parser.c.

#define SYNCHRONIZED   638

Definition at line 875 of file parser.c.

#define TALLYING   639

Definition at line 876 of file parser.c.

#define TAPE   640

Definition at line 877 of file parser.c.

#define TERM_ACCEPT   1

Definition at line 958 of file parser.c.

#define TERM_ADD   2

Definition at line 959 of file parser.c.

#define TERM_CALL   3

Definition at line 960 of file parser.c.

#define TERM_COMPUTE   4

Definition at line 961 of file parser.c.

#define TERM_DELETE   5

Definition at line 962 of file parser.c.

#define TERM_DISPLAY   6

Definition at line 963 of file parser.c.

#define TERM_DIVIDE   7

Definition at line 964 of file parser.c.

#define TERM_EVALUATE   8

Definition at line 965 of file parser.c.

#define TERM_IF   9

Definition at line 966 of file parser.c.

#define TERM_MAX   22

Definition at line 979 of file parser.c.

#define TERM_MULTIPLY   10

Definition at line 967 of file parser.c.

#define TERM_NONE   0

Definition at line 957 of file parser.c.

#define TERM_PERFORM   11

Definition at line 968 of file parser.c.

#define TERM_READ   12

Definition at line 969 of file parser.c.

#define TERM_RECEIVE   13

Definition at line 970 of file parser.c.

#define TERM_RETURN   14

Definition at line 971 of file parser.c.

#define TERM_REWRITE   15

Definition at line 972 of file parser.c.

#define TERM_SEARCH   16

Definition at line 973 of file parser.c.

#define TERM_START   17

Definition at line 974 of file parser.c.

#define TERM_STRING   18

Definition at line 975 of file parser.c.

#define TERM_SUBTRACT   19

Definition at line 976 of file parser.c.

#define TERM_UNSTRING   20

Definition at line 977 of file parser.c.

#define TERM_WRITE   21

Definition at line 978 of file parser.c.

#define TERMINATE   641

Definition at line 878 of file parser.c.

#define TEST   642

Definition at line 879 of file parser.c.

#define THAN   643

Definition at line 880 of file parser.c.

#define THEN   644

Definition at line 881 of file parser.c.

#define THRU   645

Definition at line 882 of file parser.c.

#define TIME   646

Definition at line 883 of file parser.c.

#define TIMES   647

Definition at line 884 of file parser.c.

#define TO   648

Definition at line 885 of file parser.c.

#define TOK_FALSE   649

Definition at line 886 of file parser.c.

#define TOK_FILE   650

Definition at line 887 of file parser.c.

#define TOK_INITIAL   651

Definition at line 888 of file parser.c.

#define TOK_NULL   652

Definition at line 889 of file parser.c.

#define TOK_TRUE   653

Definition at line 890 of file parser.c.

#define TOKEN_EOF   0

Definition at line 494 of file parser.c.

#define TOP   654

Definition at line 891 of file parser.c.

#define TRAILING   655

Definition at line 892 of file parser.c.

#define TRANSFORM   656

Definition at line 893 of file parser.c.

#define TRIM_FUNCTION   657

Definition at line 894 of file parser.c.

#define TYPE   658

Definition at line 895 of file parser.c.

#define UNARY_SIGN   692

Definition at line 929 of file parser.c.

#define UNDERLINE   659

Definition at line 896 of file parser.c.

#define UNIT   660

Definition at line 897 of file parser.c.

#define UNLOCK   661

Definition at line 898 of file parser.c.

#define UNSIGNED   662

Definition at line 899 of file parser.c.

#define UNSIGNED_INT   663

Definition at line 900 of file parser.c.

#define UNSIGNED_LONG   664

Definition at line 901 of file parser.c.

#define UNSIGNED_SHORT   665

Definition at line 902 of file parser.c.

#define UNSTRING   666

Definition at line 903 of file parser.c.

#define UNTIL   667

Definition at line 904 of file parser.c.

#define UP   668

Definition at line 905 of file parser.c.

#define UPDATE   669

Definition at line 906 of file parser.c.

#define UPON   670

Definition at line 907 of file parser.c.

#define UPON_ARGUMENT_NUMBER   671

Definition at line 908 of file parser.c.

#define UPON_COMMAND_LINE   672

Definition at line 909 of file parser.c.

#define UPON_ENVIRONMENT_NAME   673

Definition at line 910 of file parser.c.

#define UPON_ENVIRONMENT_VALUE   674

Definition at line 911 of file parser.c.

#define UPPER_CASE_FUNC   675

Definition at line 912 of file parser.c.

#define USAGE   676

Definition at line 913 of file parser.c.

#define USE   677

Definition at line 914 of file parser.c.

#define USING   678

Definition at line 915 of file parser.c.

#define VALUE   679

Definition at line 916 of file parser.c.

#define VARYING   680

Definition at line 917 of file parser.c.

#define WAIT   681

Definition at line 918 of file parser.c.

#define WHEN   682

Definition at line 919 of file parser.c.

#define WHEN_COMPILED_FUNC   683

Definition at line 920 of file parser.c.

#define WITH   684

Definition at line 921 of file parser.c.

#define WORD   685

Definition at line 922 of file parser.c.

#define WORDS   686

Definition at line 923 of file parser.c.

#define WORKING_STORAGE   687

Definition at line 924 of file parser.c.

#define WRITE   688

Definition at line 925 of file parser.c.

#define YY_REDUCE_PRINT (   Rule)
Value:
do {                                    \
  if (yydebug)                          \
    yy_reduce_print (Rule);             \
} while (0)

Definition at line 4900 of file parser.c.

#define YY_STACK_PRINT (   Bottom,
  Top 
)
Value:
do {                                                            \
  if (yydebug)                                                  \
    yy_stack_print ((Bottom), (Top));                           \
} while (0)

Definition at line 4870 of file parser.c.

#define YYABORT   goto yyabortlab

Definition at line 4768 of file parser.c.

#define YYACCEPT   goto yyacceptlab

Definition at line 4767 of file parser.c.

#define YYBACKUP (   Token,
  Value 
)
Value:
do                                                              \
  if (yychar == YYEMPTY && yylen == 1)                          \
    {                                                           \
      yychar = (Token);                                         \
      yylval = (Value);                                         \
      yytoken = YYTRANSLATE (yychar);                           \
      YYPOPSTACK;                                               \
      goto yybackup;                                            \
    }                                                           \
  else                                                          \
    {                                                           \
      yyerror ("syntax error: cannot back up");\
      YYERROR;                                                  \
    }                                                           \
while (0)

Definition at line 4779 of file parser.c.

#define YYBISON   1

Definition at line 37 of file parser.c.

#define yyclearin   (yychar = YYEMPTY)

Definition at line 4763 of file parser.c.

#define YYCOPY (   To,
  From,
  Count 
)
Value:
do                                      \
        {                                       \
          register YYSIZE_T yyi;                \
          for (yyi = 0; yyi < (Count); yyi++)   \
            (To)[yyi] = (From)[yyi];            \
        }                                       \
      while (0)

Definition at line 1305 of file parser.c.

#define YYDEBUG   1

Definition at line 946 of file parser.c.

#define YYDPRINTF (   Args)
Value:
do {                                            \
  if (yydebug)                                  \
    YYFPRINTF Args;                             \
} while (0)

Definition at line 4826 of file parser.c.

#define YYDSYMPRINT (   Args)
Value:
do {                                            \
  if (yydebug)                                  \
    yysymprint Args;                            \
} while (0)

Definition at line 4832 of file parser.c.

#define YYDSYMPRINTF (   Title,
  Token,
  Value,
  Location 
)
Value:
do {                                                            \
  if (yydebug)                                                  \
    {                                                           \
      YYFPRINTF (stderr, "%s ", Title);                         \
      yysymprint (stderr,                                       \
                  Token, Value);        \
      YYFPRINTF (stderr, "\n");                                 \
    }                                                           \
} while (0)

Definition at line 4838 of file parser.c.

#define YYEMPTY   (-2)

Definition at line 4764 of file parser.c.

#define YYEOF   0

Definition at line 4765 of file parser.c.

#define YYERRCODE   256

Definition at line 4797 of file parser.c.

#define yyerrok   (yyerrstatus = 0)

Definition at line 4762 of file parser.c.

#define yyerror   cb_error

Definition at line 945 of file parser.c.

#define YYERROR   goto yyerrlab1

Definition at line 4769 of file parser.c.

#define YYERROR_VERBOSE   1

Definition at line 1226 of file parser.c.

#define YYERROR_VERBOSE   1

Definition at line 1226 of file parser.c.

#define YYFAIL   goto yyerrlab

Definition at line 4775 of file parser.c.

#define YYFINAL   3

Definition at line 1341 of file parser.c.

#define YYFPRINTF   fprintf

Definition at line 4823 of file parser.c.

#define YYINITDEPTH   200

Definition at line 4920 of file parser.c.

#define YYLAST   5462

Definition at line 1343 of file parser.c.

#define YYLEX   yylex ()

Definition at line 4815 of file parser.c.

#define YYLLOC_DEFAULT (   Current,
  Rhs,
 
)
Value:
Current.first_line   = Rhs[1].first_line;      \
  Current.first_column = Rhs[1].first_column;    \
  Current.last_line    = Rhs[N].last_line;       \
  Current.last_column  = Rhs[N].last_column;

Definition at line 4803 of file parser.c.

#define YYLSP_NEEDED   0

Definition at line 46 of file parser.c.

#define YYMAXDEPTH   10000

Definition at line 4935 of file parser.c.

#define YYMAXUTOK   692

Definition at line 1356 of file parser.c.

#define YYNNTS   690

Definition at line 1348 of file parser.c.

#define YYNRULES   1518

Definition at line 1350 of file parser.c.

#define YYNSTATES   2240

Definition at line 1352 of file parser.c.

#define YYNTOKENS   451

Definition at line 1346 of file parser.c.

#define YYPACT_NINF   -1922

Definition at line 3106 of file parser.c.

#define YYPOPSTACK   (yyvsp--, yyssp--)
#define YYPURE   0

Definition at line 43 of file parser.c.

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 4777 of file parser.c.

#define YYSIZE_T   unsigned int

Definition at line 4759 of file parser.c.

#define YYSKELETON_NAME   "yacc.c"

Definition at line 40 of file parser.c.

#define YYSTACK_ALLOC   malloc

Definition at line 1272 of file parser.c.

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (short) + sizeof (YYSTYPE))                              \
      + YYSTACK_GAP_MAXIMUM)

Definition at line 1294 of file parser.c.

#define YYSTACK_FREE   free

Definition at line 1273 of file parser.c.

#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)

Definition at line 1290 of file parser.c.

#define YYSTACK_RELOCATE (   Stack)
Value:
do                                                                      \
      {                                                                 \
        YYSIZE_T yynewbytes;                                            \
        YYCOPY (&yyptr->Stack, Stack, yysize);                          \
        Stack = &yyptr->Stack;                                          \
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
        yyptr += yynewbytes / sizeof (*yyptr);                          \
      }                                                                 \
    while (0)

Definition at line 1321 of file parser.c.

#define YYTABLE_NINF   -1518

Definition at line 3413 of file parser.c.

#define YYTERROR   1

Definition at line 4796 of file parser.c.

#define YYTOKENTYPE

Definition at line 52 of file parser.c.

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 1358 of file parser.c.

#define YYUNDEFTOK   2

Definition at line 1355 of file parser.c.

#define YYYYDDD   689

Definition at line 926 of file parser.c.

#define YYYYMMDD   690

Definition at line 927 of file parser.c.

#define ZERO   691

Definition at line 928 of file parser.c.


Typedef Documentation

typedef short yysigned_char

Definition at line 1337 of file parser.c.


Enumeration Type Documentation

Enumerator:
TOKEN_EOF 
ACCEPT 
ACCESS 
ADD 
ADDRESS 
ADVANCING 
AFTER 
ALL 
ALLOCATE 
ALPHABET 
ALPHABETIC 
ALPHABETIC_LOWER 
ALPHABETIC_UPPER 
ALPHANUMERIC 
ALPHANUMERIC_EDITED 
ALSO 
ALTER 
ALTERNATE 
AND 
ANY 
ARE 
AREA 
ARGUMENT_NUMBER 
ARGUMENT_VALUE 
AS 
ASCENDING 
ASSIGN 
AT 
AUTO 
AUTOMATIC 
BACKGROUND_COLOR 
BASED 
BEFORE 
BELL 
BINARY 
BINARY_C_LONG 
BINARY_CHAR 
BINARY_DOUBLE 
BINARY_LONG 
BINARY_SHORT 
BLANK 
BLANK_LINE 
BLANK_SCREEN 
BLINK 
BLOCK 
BOTTOM 
BY 
BYTE_LENGTH 
CALL 
CANCEL 
CH 
CHAINING 
CHARACTER 
CHARACTERS 
CLASS 
CLOSE 
CODE 
CODE_SET 
COLLATING 
COL 
COLS 
COLUMN 
COLUMNS 
COMMA 
COMMAND_LINE 
COMMA_DELIM 
COMMIT 
COMMON 
COMP 
COMPUTE 
COMP_1 
COMP_2 
COMP_3 
COMP_4 
COMP_5 
COMP_X 
CONCATENATE_FUNC 
CONFIGURATION 
CONSTANT 
CONTAINS 
CONTENT 
CONTINUE 
CONTROL 
CONTROLS 
CONTROL_FOOTING 
CONTROL_HEADING 
CONVERTING 
CORRESPONDING 
COUNT 
CRT 
CURRENCY 
CURRENT_DATE_FUNC 
CURSOR 
CYCLE 
DATA 
DATE 
DAY 
DAY_OF_WEEK 
DE 
DEBUGGING 
DECIMAL_POINT 
DECLARATIVES 
DEFAULT 
DELETE 
DELIMITED 
DELIMITER 
DEPENDING 
DESCENDING 
DETAIL 
DISK 
DISPLAY 
DIVIDE 
DIVISION 
DOWN 
DUPLICATES 
DYNAMIC 
EBCDIC 
ELSE 
END 
END_ACCEPT 
END_ADD 
END_CALL 
END_COMPUTE 
END_DELETE 
END_DISPLAY 
END_DIVIDE 
END_EVALUATE 
END_FUNCTION 
END_IF 
END_MULTIPLY 
END_PERFORM 
END_PROGRAM 
END_READ 
END_RETURN 
END_REWRITE 
END_SEARCH 
END_START 
END_STRING 
END_SUBTRACT 
END_UNSTRING 
END_WRITE 
ENTRY 
ENVIRONMENT 
ENVIRONMENT_NAME 
ENVIRONMENT_VALUE 
EOL 
EOP 
EOS 
EQUAL 
EQUALS 
ERASE 
ERROR 
ESCAPE 
EVALUATE 
EVENT_STATUS 
EXCEPTION 
EXCLUSIVE 
EXIT 
EXTEND 
EXTERNAL 
FD 
FILE_CONTROL 
FILE_ID 
FILLER 
FINAL 
FIRST 
FOOTING 
FOR 
FOREGROUND_COLOR 
FOREVER 
FREE 
FROM 
FULL 
FUNCTION 
FUNCTION_ID 
FUNCTION_NAME 
GE 
GENERATE 
GIVING 
GLOBAL 
GO 
GOBACK 
GREATER 
GROUP 
HEADING 
HIGHLIGHT 
HIGH_VALUE 
IDENTIFICATION 
IF 
IGNORE 
IGNORING 
IN 
INDEX 
INDEXED 
INDICATE 
INITIALIZE 
INITIALIZED 
INITIATE 
INPUT 
INPUT_OUTPUT 
INSPECT 
INTO 
INTRINSIC 
INVALID 
INVALID_KEY 
IS 
I_O 
I_O_CONTROL 
JUSTIFIED 
KEY 
LABEL 
LAST 
LAST_DETAIL 
LE 
LEADING 
LEFT 
LENGTH 
LESS 
LIMIT 
LIMITS 
LINAGE 
LINAGE_COUNTER 
LINE 
LINES 
LINKAGE 
LITERAL 
LOCALE 
LOCALE_DT_FUNC 
LOCAL_STORAGE 
LOCK 
LOWER_CASE_FUNC 
LOWLIGHT 
LOW_VALUE 
MANUAL 
MEMORY 
MERGE 
MINUS 
MNEMONIC_NAME 
MODE 
MOVE 
MULTIPLE 
MULTIPLY 
NATIONAL 
NATIONAL_EDITED 
NATIVE 
NE 
NEGATIVE 
NEXT 
NEXT_SENTENCE 
NO 
NOT 
NOT_END 
NOT_EOP 
NOT_EXCEPTION 
NOT_INVALID_KEY 
NOT_OVERFLOW 
NOT_SIZE_ERROR 
NO_ADVANCING 
NUMBER 
NUMBERS 
NUMERIC 
NUMERIC_EDITED 
NUMVALC_FUNC 
OBJECT_COMPUTER 
OCCURS 
OF 
OFF 
OMITTED 
ON 
ONLY 
OPEN 
OPTIONAL 
OR 
ORDER 
ORGANIZATION 
OTHER 
OUTPUT 
OVERFLOW 
OVERLINE 
PACKED_DECIMAL 
PADDING 
PAGE 
PAGE_FOOTING 
PAGE_HEADING 
PARAGRAPH 
PERFORM 
PICTURE 
PLUS 
POINTER 
POSITION 
POSITIVE 
PRESENT 
PREVIOUS 
PRINTER 
PRINTING 
PROCEDURE 
PROCEDURES 
PROCEED 
PROGRAM 
PROGRAM_ID 
PROGRAM_NAME 
PROGRAM_POINTER 
PROMPT 
QUOTE 
RANDOM 
RD 
READ 
RECORD 
RECORDING 
RECORDS 
RECURSIVE 
REDEFINES 
REEL 
REFERENCE 
RELATIVE 
RELEASE 
REMAINDER 
REMOVAL 
RENAMES 
REPLACING 
REPORT 
REPORTING 
REPORTS 
REPORT_FOOTING 
REPORT_HEADING 
REPOSITORY 
REQUIRED 
RESERVE 
RETURN 
RETURNING 
REVERSE_FUNC 
REVERSE_VIDEO 
REWIND 
REWRITE 
RIGHT 
ROLLBACK 
ROUNDED 
RUN 
SAME 
SCREEN 
SCREEN_CONTROL 
SCROLL 
SD 
SEARCH 
SECTION 
SECURE 
SEGMENT_LIMIT 
SELECT 
SEMI_COLON 
SENTENCE 
SEPARATE 
SEQUENCE 
SEQUENTIAL 
SET 
SHARING 
SIGN 
SIGNED 
SIGNED_INT 
SIGNED_LONG 
SIGNED_SHORT 
SIZE 
SIZE_ERROR 
SORT 
SORT_MERGE 
SOURCE 
SOURCE_COMPUTER 
SPACE 
SPECIAL_NAMES 
STANDARD 
STANDARD_1 
STANDARD_2 
START 
STATUS 
STOP 
STRING 
SUBSTITUTE_FUNC 
SUBSTITUTE_CASE_FUNC 
SUBTRACT 
SUM 
SUPPRESS 
SYMBOLIC 
SYNCHRONIZED 
TALLYING 
TAPE 
TERMINATE 
TEST 
THAN 
THEN 
THRU 
TIME 
TIMES 
TO 
TOK_FALSE 
TOK_FILE 
TOK_INITIAL 
TOK_NULL 
TOK_TRUE 
TOP 
TRAILING 
TRANSFORM 
TRIM_FUNCTION 
TYPE 
UNDERLINE 
UNIT 
UNLOCK 
UNSIGNED 
UNSIGNED_INT 
UNSIGNED_LONG 
UNSIGNED_SHORT 
UNSTRING 
UNTIL 
UP 
UPDATE 
UPON 
UPON_ARGUMENT_NUMBER 
UPON_COMMAND_LINE 
UPON_ENVIRONMENT_NAME 
UPON_ENVIRONMENT_VALUE 
UPPER_CASE_FUNC 
USAGE 
USE 
USING 
VALUE 
VARYING 
WAIT 
WHEN 
WHEN_COMPILED_FUNC 
WITH 
WORD 
WORDS 
WORKING_STORAGE 
WRITE 
YYYYDDD 
YYYYMMDD 
ZERO 
UNARY_SIGN 
TOKEN_EOF 
ACCEPT 
ACCESS 
ADD 
ADDRESS 
ADVANCING 
AFTER 
ALL 
ALLOCATE 
ALPHABET 
ALPHABETIC 
ALPHABETIC_LOWER 
ALPHABETIC_UPPER 
ALPHANUMERIC 
ALPHANUMERIC_EDITED 
ALSO 
ALTER 
ALTERNATE 
AND 
ANY 
ARE 
AREA 
ARGUMENT_NUMBER 
ARGUMENT_VALUE 
AS 
ASCENDING 
ASSIGN 
AT 
AUTO 
AUTOMATIC 
BACKGROUND_COLOR 
BASED 
BEFORE 
BELL 
BINARY 
BINARY_C_LONG 
BINARY_CHAR 
BINARY_DOUBLE 
BINARY_LONG 
BINARY_SHORT 
BLANK 
BLANK_LINE 
BLANK_SCREEN 
BLINK 
BLOCK 
BOTTOM 
BY 
BYTE_LENGTH 
CALL 
CANCEL 
CH 
CHAINING 
CHARACTER 
CHARACTERS 
CLASS 
CLOSE 
CODE 
CODE_SET 
COLLATING 
COL 
COLS 
COLUMN 
COLUMNS 
COMMA 
COMMAND_LINE 
COMMA_DELIM 
COMMIT 
COMMON 
COMP 
COMPUTE 
COMP_1 
COMP_2 
COMP_3 
COMP_4 
COMP_5 
COMP_X 
CONCATENATE_FUNC 
CONFIGURATION 
CONSTANT 
CONTAINS 
CONTENT 
CONTINUE 
CONTROL 
CONTROLS 
CONTROL_FOOTING 
CONTROL_HEADING 
CONVERTING 
CORRESPONDING 
COUNT 
CRT 
CURRENCY 
CURRENT_DATE_FUNC 
CURSOR 
CYCLE 
DATA 
DATE 
DAY 
DAY_OF_WEEK 
DE 
DEBUGGING 
DECIMAL_POINT 
DECLARATIVES 
DEFAULT 
DELETE 
DELIMITED 
DELIMITER 
DEPENDING 
DESCENDING 
DETAIL 
DISK 
DISPLAY 
DIVIDE 
DIVISION 
DOWN 
DUPLICATES 
DYNAMIC 
EBCDIC 
ELSE 
END 
END_ACCEPT 
END_ADD 
END_CALL 
END_COMPUTE 
END_DELETE 
END_DISPLAY 
END_DIVIDE 
END_EVALUATE 
END_FUNCTION 
END_IF 
END_MULTIPLY 
END_PERFORM 
END_PROGRAM 
END_READ 
END_RETURN 
END_REWRITE 
END_SEARCH 
END_START 
END_STRING 
END_SUBTRACT 
END_UNSTRING 
END_WRITE 
ENTRY 
ENVIRONMENT 
ENVIRONMENT_NAME 
ENVIRONMENT_VALUE 
EOL 
EOP 
EOS 
EQUAL 
EQUALS 
ERASE 
ERROR 
ESCAPE 
EVALUATE 
EVENT_STATUS 
EXCEPTION 
EXCLUSIVE 
EXIT 
EXTEND 
EXTERNAL 
FD 
FILE_CONTROL 
FILE_ID 
FILLER 
FINAL 
FIRST 
FOOTING 
FOR 
FOREGROUND_COLOR 
FOREVER 
FREE 
FROM 
FULL 
FUNCTION 
FUNCTION_ID 
FUNCTION_NAME 
GE 
GENERATE 
GIVING 
GLOBAL 
GO 
GOBACK 
GREATER 
GROUP 
HEADING 
HIGHLIGHT 
HIGH_VALUE 
IDENTIFICATION 
IF 
IGNORE 
IGNORING 
IN 
INDEX 
INDEXED 
INDICATE 
INITIALIZE 
INITIALIZED 
INITIATE 
INPUT 
INPUT_OUTPUT 
INSPECT 
INTO 
INTRINSIC 
INVALID 
INVALID_KEY 
IS 
I_O 
I_O_CONTROL 
JUSTIFIED 
KEY 
LABEL 
LAST 
LAST_DETAIL 
LE 
LEADING 
LEFT 
LENGTH 
LESS 
LIMIT 
LIMITS 
LINAGE 
LINAGE_COUNTER 
LINE 
LINES 
LINKAGE 
LITERAL 
LOCALE 
LOCALE_DT_FUNC 
LOCAL_STORAGE 
LOCK 
LOWER_CASE_FUNC 
LOWLIGHT 
LOW_VALUE 
MANUAL 
MEMORY 
MERGE 
MINUS 
MNEMONIC_NAME 
MODE 
MOVE 
MULTIPLE 
MULTIPLY 
NATIONAL 
NATIONAL_EDITED 
NATIVE 
NE 
NEGATIVE 
NEXT 
NEXT_SENTENCE 
NO 
NOT 
NOT_END 
NOT_EOP 
NOT_EXCEPTION 
NOT_INVALID_KEY 
NOT_OVERFLOW 
NOT_SIZE_ERROR 
NO_ADVANCING 
NUMBER 
NUMBERS 
NUMERIC 
NUMERIC_EDITED 
NUMVALC_FUNC 
OBJECT_COMPUTER 
OCCURS 
OF 
OFF 
OMITTED 
ON 
ONLY 
OPEN 
OPTIONAL 
OR 
ORDER 
ORGANIZATION 
OTHER 
OUTPUT 
OVERFLOW 
OVERLINE 
PACKED_DECIMAL 
PADDING 
PAGE 
PAGE_FOOTING 
PAGE_HEADING 
PARAGRAPH 
PERFORM 
PICTURE 
PLUS 
POINTER 
POSITION 
POSITIVE 
PRESENT 
PREVIOUS 
PRINTER 
PRINTING 
PROCEDURE 
PROCEDURES 
PROCEED 
PROGRAM 
PROGRAM_ID 
PROGRAM_NAME 
PROGRAM_POINTER 
PROMPT 
QUOTE 
RANDOM 
RD 
READ 
RECORD 
RECORDING 
RECORDS 
RECURSIVE 
REDEFINES 
REEL 
REFERENCE 
RELATIVE 
RELEASE 
REMAINDER 
REMOVAL 
RENAMES 
REPLACING 
REPORT 
REPORTING 
REPORTS 
REPORT_FOOTING 
REPORT_HEADING 
REPOSITORY 
REQUIRED 
RESERVE 
RETURN 
RETURNING 
REVERSE_FUNC 
REVERSE_VIDEO 
REWIND 
REWRITE 
RIGHT 
ROLLBACK 
ROUNDED 
RUN 
SAME 
SCREEN 
SCREEN_CONTROL 
SCROLL 
SD 
SEARCH 
SECTION 
SECURE 
SEGMENT_LIMIT 
SELECT 
SEMI_COLON 
SENTENCE 
SEPARATE 
SEQUENCE 
SEQUENTIAL 
SET 
SHARING 
SIGN 
SIGNED 
SIGNED_INT 
SIGNED_LONG 
SIGNED_SHORT 
SIZE 
SIZE_ERROR 
SORT 
SORT_MERGE 
SOURCE 
SOURCE_COMPUTER 
SPACE 
SPECIAL_NAMES 
STANDARD 
STANDARD_1 
STANDARD_2 
START 
STATUS 
STOP 
STRING 
SUBSTITUTE_FUNC 
SUBSTITUTE_CASE_FUNC 
SUBTRACT 
SUM 
SUPPRESS 
SYMBOLIC 
SYNCHRONIZED 
TALLYING 
TAPE 
TERMINATE 
TEST 
THAN 
THEN 
THRU 
TIME 
TIMES 
TO 
TOK_FALSE 
TOK_FILE 
TOK_INITIAL 
TOK_NULL 
TOK_TRUE 
TOP 
TRAILING 
TRANSFORM 
TRIM_FUNCTION 
TYPE 
UNDERLINE 
UNIT 
UNLOCK 
UNSIGNED 
UNSIGNED_INT 
UNSIGNED_LONG 
UNSIGNED_SHORT 
UNSTRING 
UNTIL 
UP 
UPDATE 
UPON 
UPON_ARGUMENT_NUMBER 
UPON_COMMAND_LINE 
UPON_ENVIRONMENT_NAME 
UPON_ENVIRONMENT_VALUE 
UPPER_CASE_FUNC 
USAGE 
USE 
USING 
VALUE 
VARYING 
WAIT 
WHEN 
WHEN_COMPILED_FUNC 
WITH 
WORD 
WORDS 
WORKING_STORAGE 
WRITE 
YYYYDDD 
YYYYMMDD 
ZERO 
UNARY_SIGN 
TOKEN_EOF 
COPY 
REPLACE 
SUPPRESS 
PRINTING 
REPLACING 
OFF 
IN 
OF 
BY 
EQEQ 
TOKEN 
TOKEN_EOF 
COPY 
REPLACE 
SUPPRESS 
PRINTING 
REPLACING 
OFF 
IN 
OF 
BY 
EQEQ 
TOKEN 

Definition at line 55 of file parser.c.

                    {
     TOKEN_EOF = 0,
     ACCEPT = 258,
     ACCESS = 259,
     ADD = 260,
     ADDRESS = 261,
     ADVANCING = 262,
     AFTER = 263,
     ALL = 264,
     ALLOCATE = 265,
     ALPHABET = 266,
     ALPHABETIC = 267,
     ALPHABETIC_LOWER = 268,
     ALPHABETIC_UPPER = 269,
     ALPHANUMERIC = 270,
     ALPHANUMERIC_EDITED = 271,
     ALSO = 272,
     ALTER = 273,
     ALTERNATE = 274,
     AND = 275,
     ANY = 276,
     ARE = 277,
     AREA = 278,
     ARGUMENT_NUMBER = 279,
     ARGUMENT_VALUE = 280,
     AS = 281,
     ASCENDING = 282,
     ASSIGN = 283,
     AT = 284,
     AUTO = 285,
     AUTOMATIC = 286,
     BACKGROUND_COLOR = 287,
     BASED = 288,
     BEFORE = 289,
     BELL = 290,
     BINARY = 291,
     BINARY_C_LONG = 292,
     BINARY_CHAR = 293,
     BINARY_DOUBLE = 294,
     BINARY_LONG = 295,
     BINARY_SHORT = 296,
     BLANK = 297,
     BLANK_LINE = 298,
     BLANK_SCREEN = 299,
     BLINK = 300,
     BLOCK = 301,
     BOTTOM = 302,
     BY = 303,
     BYTE_LENGTH = 304,
     CALL = 305,
     CANCEL = 306,
     CH = 307,
     CHAINING = 308,
     CHARACTER = 309,
     CHARACTERS = 310,
     CLASS = 311,
     CLOSE = 312,
     CODE = 313,
     CODE_SET = 314,
     COLLATING = 315,
     COL = 316,
     COLS = 317,
     COLUMN = 318,
     COLUMNS = 319,
     COMMA = 320,
     COMMAND_LINE = 321,
     COMMA_DELIM = 322,
     COMMIT = 323,
     COMMON = 324,
     COMP = 325,
     COMPUTE = 326,
     COMP_1 = 327,
     COMP_2 = 328,
     COMP_3 = 329,
     COMP_4 = 330,
     COMP_5 = 331,
     COMP_X = 332,
     CONCATENATE_FUNC = 333,
     CONFIGURATION = 334,
     CONSTANT = 335,
     CONTAINS = 336,
     CONTENT = 337,
     CONTINUE = 338,
     CONTROL = 339,
     CONTROLS = 340,
     CONTROL_FOOTING = 341,
     CONTROL_HEADING = 342,
     CONVERTING = 343,
     CORRESPONDING = 344,
     COUNT = 345,
     CRT = 346,
     CURRENCY = 347,
     CURRENT_DATE_FUNC = 348,
     CURSOR = 349,
     CYCLE = 350,
     DATA = 351,
     DATE = 352,
     DAY = 353,
     DAY_OF_WEEK = 354,
     DE = 355,
     DEBUGGING = 356,
     DECIMAL_POINT = 357,
     DECLARATIVES = 358,
     DEFAULT = 359,
     DELETE = 360,
     DELIMITED = 361,
     DELIMITER = 362,
     DEPENDING = 363,
     DESCENDING = 364,
     DETAIL = 365,
     DISK = 366,
     DISPLAY = 367,
     DIVIDE = 368,
     DIVISION = 369,
     DOWN = 370,
     DUPLICATES = 371,
     DYNAMIC = 372,
     EBCDIC = 373,
     ELSE = 374,
     END = 375,
     END_ACCEPT = 376,
     END_ADD = 377,
     END_CALL = 378,
     END_COMPUTE = 379,
     END_DELETE = 380,
     END_DISPLAY = 381,
     END_DIVIDE = 382,
     END_EVALUATE = 383,
     END_FUNCTION = 384,
     END_IF = 385,
     END_MULTIPLY = 386,
     END_PERFORM = 387,
     END_PROGRAM = 388,
     END_READ = 389,
     END_RETURN = 390,
     END_REWRITE = 391,
     END_SEARCH = 392,
     END_START = 393,
     END_STRING = 394,
     END_SUBTRACT = 395,
     END_UNSTRING = 396,
     END_WRITE = 397,
     ENTRY = 398,
     ENVIRONMENT = 399,
     ENVIRONMENT_NAME = 400,
     ENVIRONMENT_VALUE = 401,
     EOL = 402,
     EOP = 403,
     EOS = 404,
     EQUAL = 405,
     EQUALS = 406,
     ERASE = 407,
     ERROR = 408,
     ESCAPE = 409,
     EVALUATE = 410,
     EVENT_STATUS = 411,
     EXCEPTION = 412,
     EXCLUSIVE = 413,
     EXIT = 414,
     EXTEND = 415,
     EXTERNAL = 416,
     FD = 417,
     FILE_CONTROL = 418,
     FILE_ID = 419,
     FILLER = 420,
     FINAL = 421,
     FIRST = 422,
     FOOTING = 423,
     FOR = 424,
     FOREGROUND_COLOR = 425,
     FOREVER = 426,
     FREE = 427,
     FROM = 428,
     FULL = 429,
     FUNCTION = 430,
     FUNCTION_ID = 431,
     FUNCTION_NAME = 432,
     GE = 433,
     GENERATE = 434,
     GIVING = 435,
     GLOBAL = 436,
     GO = 437,
     GOBACK = 438,
     GREATER = 439,
     GROUP = 440,
     HEADING = 441,
     HIGHLIGHT = 442,
     HIGH_VALUE = 443,
     IDENTIFICATION = 444,
     IF = 445,
     IGNORE = 446,
     IGNORING = 447,
     IN = 448,
     INDEX = 449,
     INDEXED = 450,
     INDICATE = 451,
     INITIALIZE = 452,
     INITIALIZED = 453,
     INITIATE = 454,
     INPUT = 455,
     INPUT_OUTPUT = 456,
     INSPECT = 457,
     INTO = 458,
     INTRINSIC = 459,
     INVALID = 460,
     INVALID_KEY = 461,
     IS = 462,
     I_O = 463,
     I_O_CONTROL = 464,
     JUSTIFIED = 465,
     KEY = 466,
     LABEL = 467,
     LAST = 468,
     LAST_DETAIL = 469,
     LE = 470,
     LEADING = 471,
     LEFT = 472,
     LENGTH = 473,
     LESS = 474,
     LIMIT = 475,
     LIMITS = 476,
     LINAGE = 477,
     LINAGE_COUNTER = 478,
     LINE = 479,
     LINES = 480,
     LINKAGE = 481,
     LITERAL = 482,
     LOCALE = 483,
     LOCALE_DT_FUNC = 484,
     LOCAL_STORAGE = 485,
     LOCK = 486,
     LOWER_CASE_FUNC = 487,
     LOWLIGHT = 488,
     LOW_VALUE = 489,
     MANUAL = 490,
     MEMORY = 491,
     MERGE = 492,
     MINUS = 493,
     MNEMONIC_NAME = 494,
     MODE = 495,
     MOVE = 496,
     MULTIPLE = 497,
     MULTIPLY = 498,
     NATIONAL = 499,
     NATIONAL_EDITED = 500,
     NATIVE = 501,
     NE = 502,
     NEGATIVE = 503,
     NEXT = 504,
     NEXT_SENTENCE = 505,
     NO = 506,
     NOT = 507,
     NOT_END = 508,
     NOT_EOP = 509,
     NOT_EXCEPTION = 510,
     NOT_INVALID_KEY = 511,
     NOT_OVERFLOW = 512,
     NOT_SIZE_ERROR = 513,
     NO_ADVANCING = 514,
     NUMBER = 515,
     NUMBERS = 516,
     NUMERIC = 517,
     NUMERIC_EDITED = 518,
     NUMVALC_FUNC = 519,
     OBJECT_COMPUTER = 520,
     OCCURS = 521,
     OF = 522,
     OFF = 523,
     OMITTED = 524,
     ON = 525,
     ONLY = 526,
     OPEN = 527,
     OPTIONAL = 528,
     OR = 529,
     ORDER = 530,
     ORGANIZATION = 531,
     OTHER = 532,
     OUTPUT = 533,
     OVERFLOW = 534,
     OVERLINE = 535,
     PACKED_DECIMAL = 536,
     PADDING = 537,
     PAGE = 538,
     PAGE_FOOTING = 539,
     PAGE_HEADING = 540,
     PARAGRAPH = 541,
     PERFORM = 542,
     PICTURE = 543,
     PLUS = 544,
     POINTER = 545,
     POSITION = 546,
     POSITIVE = 547,
     PRESENT = 548,
     PREVIOUS = 549,
     PRINTER = 550,
     PRINTING = 551,
     PROCEDURE = 552,
     PROCEDURES = 553,
     PROCEED = 554,
     PROGRAM = 555,
     PROGRAM_ID = 556,
     PROGRAM_NAME = 557,
     PROGRAM_POINTER = 558,
     PROMPT = 559,
     QUOTE = 560,
     RANDOM = 561,
     RD = 562,
     READ = 563,
     RECORD = 564,
     RECORDING = 565,
     RECORDS = 566,
     RECURSIVE = 567,
     REDEFINES = 568,
     REEL = 569,
     REFERENCE = 570,
     RELATIVE = 571,
     RELEASE = 572,
     REMAINDER = 573,
     REMOVAL = 574,
     RENAMES = 575,
     REPLACING = 576,
     REPORT = 577,
     REPORTING = 578,
     REPORTS = 579,
     REPORT_FOOTING = 580,
     REPORT_HEADING = 581,
     REPOSITORY = 582,
     REQUIRED = 583,
     RESERVE = 584,
     RETURN = 585,
     RETURNING = 586,
     REVERSE_FUNC = 587,
     REVERSE_VIDEO = 588,
     REWIND = 589,
     REWRITE = 590,
     RIGHT = 591,
     ROLLBACK = 592,
     ROUNDED = 593,
     RUN = 594,
     SAME = 595,
     SCREEN = 596,
     SCREEN_CONTROL = 597,
     SCROLL = 598,
     SD = 599,
     SEARCH = 600,
     SECTION = 601,
     SECURE = 602,
     SEGMENT_LIMIT = 603,
     SELECT = 604,
     SEMI_COLON = 605,
     SENTENCE = 606,
     SEPARATE = 607,
     SEQUENCE = 608,
     SEQUENTIAL = 609,
     SET = 610,
     SHARING = 611,
     SIGN = 612,
     SIGNED = 613,
     SIGNED_INT = 614,
     SIGNED_LONG = 615,
     SIGNED_SHORT = 616,
     SIZE = 617,
     SIZE_ERROR = 618,
     SORT = 619,
     SORT_MERGE = 620,
     SOURCE = 621,
     SOURCE_COMPUTER = 622,
     SPACE = 623,
     SPECIAL_NAMES = 624,
     STANDARD = 625,
     STANDARD_1 = 626,
     STANDARD_2 = 627,
     START = 628,
     STATUS = 629,
     STOP = 630,
     STRING = 631,
     SUBSTITUTE_FUNC = 632,
     SUBSTITUTE_CASE_FUNC = 633,
     SUBTRACT = 634,
     SUM = 635,
     SUPPRESS = 636,
     SYMBOLIC = 637,
     SYNCHRONIZED = 638,
     TALLYING = 639,
     TAPE = 640,
     TERMINATE = 641,
     TEST = 642,
     THAN = 643,
     THEN = 644,
     THRU = 645,
     TIME = 646,
     TIMES = 647,
     TO = 648,
     TOK_FALSE = 649,
     TOK_FILE = 650,
     TOK_INITIAL = 651,
     TOK_NULL = 652,
     TOK_TRUE = 653,
     TOP = 654,
     TRAILING = 655,
     TRANSFORM = 656,
     TRIM_FUNCTION = 657,
     TYPE = 658,
     UNDERLINE = 659,
     UNIT = 660,
     UNLOCK = 661,
     UNSIGNED = 662,
     UNSIGNED_INT = 663,
     UNSIGNED_LONG = 664,
     UNSIGNED_SHORT = 665,
     UNSTRING = 666,
     UNTIL = 667,
     UP = 668,
     UPDATE = 669,
     UPON = 670,
     UPON_ARGUMENT_NUMBER = 671,
     UPON_COMMAND_LINE = 672,
     UPON_ENVIRONMENT_NAME = 673,
     UPON_ENVIRONMENT_VALUE = 674,
     UPPER_CASE_FUNC = 675,
     USAGE = 676,
     USE = 677,
     USING = 678,
     VALUE = 679,
     VARYING = 680,
     WAIT = 681,
     WHEN = 682,
     WHEN_COMPILED_FUNC = 683,
     WITH = 684,
     WORD = 685,
     WORDS = 686,
     WORKING_STORAGE = 687,
     WRITE = 688,
     YYYYDDD = 689,
     YYYYMMDD = 690,
     ZERO = 691,
     UNARY_SIGN = 692
   };

Function Documentation

static void BEGIN_IMPLICIT_STATEMENT ( void  ) [static]

Definition at line 1052 of file parser.c.

Here is the call graph for this function:

static void BEGIN_STATEMENT ( const char *  name,
const size_t  term 
) [static]

Definition at line 1036 of file parser.c.

{
        if (cb_warn_unreachable && check_unreached) {
                cb_warning (_("Unreachable statement"));
        }
        current_statement = cb_build_statement ((char *)name);
        CB_TREE (current_statement)->source_file = (unsigned char *)cb_source_file;
        CB_TREE (current_statement)->source_line = cb_source_line;
        emit_statement (CB_TREE (current_statement));
        if (term) {
                term_array[term]++;
        }
        main_statement = current_statement;
}

Here is the call graph for this function:

static void emit_entry ( const char *  name,
const int  encode,
cb_tree  using_list 
) [static]

Definition at line 1060 of file parser.c.

{
        cb_tree         l;
        cb_tree         label;
        cb_tree         x;
        struct cb_field *f;
        int             parmnum;
        char            buff[256];

        sprintf (buff, "E$%s", name);
        label = cb_build_label (cb_build_reference (buff), NULL);
        if (encode) {
                CB_LABEL (label)->name = (unsigned char *)(cb_encode_program_id (name));
                CB_LABEL (label)->orig_name = (unsigned char *)name;
        } else {
                CB_LABEL (label)->name = (unsigned char *)name;
                CB_LABEL (label)->orig_name = (unsigned char *)current_program->orig_source_name;
        }
        CB_LABEL (label)->need_begin = 1;
        CB_LABEL (label)->is_entry = 1;
        emit_statement (label);

        parmnum = 1;
        for (l = using_list; l; l = CB_CHAIN (l)) {
                x = CB_VALUE (l);
                if (x != cb_error_node && cb_ref (x) != cb_error_node) {
                        f = CB_FIELD (cb_ref (x));
                        if (f->level != 01 && f->level != 77) {
                                cb_error_x (x, _("'%s' not level 01 or 77"), cb_name (x));
                        }
                        if (!current_program->flag_chained) {
                                if (f->storage != CB_STORAGE_LINKAGE) {
                                        cb_error_x (x, _("'%s' is not in LINKAGE SECTION"), cb_name (x));
                                }
                                if (f->flag_item_based || f->flag_external) {
                                        cb_error_x (x, _("'%s' can not be BASED/EXTERNAL"), cb_name (x));
                                }
                                f->flag_is_pdiv_parm = 1;
                        } else {
                                if (f->storage != CB_STORAGE_WORKING) {
                                        cb_error_x (x, _("'%s' is not in WORKING-STORAGE SECTION"), cb_name (x));
                                }
                                f->flag_chained = 1;
                                f->param_num = parmnum;
                                parmnum++;
                        }
                        if (f->redefines) {
                                cb_error_x (x, _("'%s' REDEFINES field not allowed here"), cb_name (x));
                        }
                }
        }

        /* Check dangling LINKAGE items */
        if (cb_warn_linkage) {
                for (f = current_program->linkage_storage; f; f = f->sister) {
                        for (l = using_list; l; l = CB_CHAIN (l)) {
                                x = CB_VALUE (l);
                                if (x != cb_error_node && cb_ref (x) != cb_error_node) {
                                        if (f == CB_FIELD (cb_ref (x))) {
                                                break;
                                        }
                                }
                        }
                        if (!l && !f->redefines) {
                                cb_warning (_("LINKAGE item '%s' is not a PROCEDURE USING parameter"), f->name);
                        }
                }
        }

        for (l = current_program->entry_list; l; l = CB_CHAIN (l)) {
                if (strcmp ((const char *)name, (const char *)(CB_LABEL(CB_PURPOSE(l))->name)) == 0) {
                        cb_error_x (CB_TREE (current_statement), _("ENTRY '%s' duplicated"), name);
                }
        }

        current_program->entry_list = cb_list_append (current_program->entry_list,
                                                        cb_build_pair (label, using_list));
}

Here is the call graph for this function:

static int literal_value ( cb_tree  x) [static]

Definition at line 1172 of file parser.c.

{
        if (x == cb_space) {
                return ' ';
        } else if (x == cb_zero) {
                return '0';
        } else if (x == cb_quote) {
                return '"';
        } else if (x == cb_null) {
                return 0;
        } else if (CB_TREE_CLASS (x) == CB_CLASS_NUMERIC) {
                return cb_get_int (x);
        } else {
                return CB_LITERAL (x)->data[0];
        }
}

Here is the call graph for this function:

static void setup_use_file ( struct cb_file fileptr) [static]

Definition at line 1190 of file parser.c.

{
        struct cb_file  *newptr;

        if (fileptr->organization == COB_ORG_SORT) {
                cb_error (_("USE statement invalid for SORT file"));
        }
        if (fileptr->global) {
                newptr = cobc_malloc (sizeof(struct cb_file));
                *newptr = *fileptr;
                newptr->handler = current_section;
                newptr->handler_prog = current_program;
                if (!use_global_ind) {
                        current_program->local_file_list =
                                cb_list_add (current_program->local_file_list,
                                             CB_TREE (newptr));
                } else {
                        current_program->global_file_list =
                                cb_list_add (current_program->global_file_list,
                                             CB_TREE (newptr));
                }
        } else {
                fileptr->handler = current_section;
        }
}

Here is the call graph for this function:

static void terminator_clear ( const size_t  termid) [static]

Definition at line 1163 of file parser.c.

{
        check_unreached = 0;
        if (term_array[termid]) {
                term_array[termid]--;
        }
}
static void terminator_error ( void  ) [static]

Definition at line 1154 of file parser.c.

{
        check_unreached = 0;
        cb_error_x (CB_TREE (current_statement),
                        _("%s statement not terminated by END-%s"),
                        current_statement->name, current_statement->name);
}

Here is the call graph for this function:

static void terminator_warning ( const size_t  termid) [static]

Definition at line 1140 of file parser.c.

{
        check_unreached = 0;
        if (cb_warn_terminator && term_array[termid]) {
                cb_warning_x (CB_TREE (current_statement),
                        _("%s statement not terminated by END-%s"),
                        current_statement->name, current_statement->name);
        }
        if (term_array[termid]) {
                term_array[termid]--;
        }
}

Here is the call graph for this function:

static void yy_reduce_print ( int  yyrule) [static]

Definition at line 4886 of file parser.c.

{
  int yyi;
  unsigned int yylineno = yyrline[yyrule];
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
             yyrule - 1, yylineno);
  /* Print the symbols being reduced, and their result.  */
  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
}
static void yy_stack_print ( short *  bottom,
short *  top 
) [static]

Definition at line 4859 of file parser.c.

{
  YYFPRINTF (stderr, "Stack now");
  for (/* Nothing. */; bottom <= top; ++bottom)
    YYFPRINTF (stderr, " %d", *bottom);
  YYFPRINTF (stderr, "\n");
}
static void yydestruct ( int  yytype,
YYSTYPE yyvaluep 
) [static]

Definition at line 5042 of file parser.c.

{
  /* Pacify ``unused variable'' warnings.  */
  (void) yyvaluep;

  switch (yytype)
    {

      default:
        break;
    }
}
int yyparse ( void  )
static char* yystpcpy ( char *  yydest,
const char *  yysrc 
) [static]

Definition at line 4975 of file parser.c.

{
  register char *yyd = yydest;
  register const char *yys = yysrc;

  while ((*yyd++ = *yys++) != '\0')
    continue;

  return yyd - 1;
}
static YYSIZE_T yystrlen ( char *  yystr) const [static]

Definition at line 4951 of file parser.c.

{
  register const char *yys = yystr;

  while (*yys++ != '\0')
    continue;

  return yys - yystr - 1;
}
static void yysymprint ( FILE *  yyoutput,
int  yytype,
YYSTYPE yyvaluep 
) [static]

Definition at line 5005 of file parser.c.

{
  /* Pacify ``unused variable'' warnings.  */
  (void) yyvaluep;

  if (yytype < YYNTOKENS)
    {
      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
# ifdef YYPRINT
      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# endif
    }
  else
    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);

  switch (yytype)
    {
      default:
        break;
    }
  YYFPRINTF (yyoutput, ")");
}

Variable Documentation

cb_tree bgc [static]

Definition at line 1009 of file parser.c.

int call_mode [static]

Definition at line 1002 of file parser.c.

size_t check_unreached = 0 [static]

Definition at line 1001 of file parser.c.

Definition at line 994 of file parser.c.

struct cb_field* current_field [static]

Definition at line 995 of file parser.c.

struct cb_file* current_file [static]

Definition at line 997 of file parser.c.

size_t current_linage = 0 [static]

Definition at line 1015 of file parser.c.

struct cb_label* current_paragraph = NULL

Definition at line 986 of file parser.c.

struct cb_program* current_program = NULL

Definition at line 983 of file parser.c.

struct cb_label* current_section = NULL

Definition at line 985 of file parser.c.

Definition at line 984 of file parser.c.

enum cb_storage current_storage [static]

Definition at line 999 of file parser.c.

int depth = 0 [static]

Definition at line 1025 of file parser.c.

struct cb_field* description_field [static]

Definition at line 996 of file parser.c.

int dispattrs = 0 [static]

Definition at line 1026 of file parser.c.

cb_tree dummy_tree [static]

Definition at line 1013 of file parser.c.

int eval_check[64][64] [static]

Definition at line 1031 of file parser.c.

int eval_inc = 0 [static]

Definition at line 1023 of file parser.c.

int eval_inc2 = 0 [static]

Definition at line 1024 of file parser.c.

int eval_level = 0 [static]

Definition at line 1022 of file parser.c.

cb_tree fgc [static]

Definition at line 1008 of file parser.c.

size_t functions_are_all = 0

Definition at line 987 of file parser.c.

size_t in_declaratives = 0 [static]

Definition at line 1014 of file parser.c.

size_t inspect_keyword = 0 [static]

Definition at line 1020 of file parser.c.

struct cb_file* linage_file [static]

Definition at line 1027 of file parser.c.

struct cb_statement* main_statement [static]

Definition at line 992 of file parser.c.

int next_label_id = 0 [static]

Definition at line 1021 of file parser.c.

cb_tree next_label_list = NULL [static]

Definition at line 1028 of file parser.c.

int non_const_word = 0

Definition at line 988 of file parser.c.

size_t organized_seen = 0 [static]

Definition at line 1019 of file parser.c.

cb_tree perform_stack = NULL [static]

Definition at line 1005 of file parser.c.

size_t prog_end = 0 [static]

Definition at line 1016 of file parser.c.

cb_tree qualifier = NULL [static]

Definition at line 1006 of file parser.c.

size_t samearea = 1 [static]

Definition at line 1018 of file parser.c.

cb_tree save_tree_1 [static]

Definition at line 1011 of file parser.c.

cb_tree save_tree_2 [static]

Definition at line 1012 of file parser.c.

cb_tree scroll [static]

Definition at line 1010 of file parser.c.

int size_mode [static]

Definition at line 1003 of file parser.c.

char* stack_progid[32] [static]

Definition at line 1029 of file parser.c.

int term_array[TERM_MAX] [static]

Definition at line 1030 of file parser.c.

size_t use_global_ind = 0 [static]

Definition at line 1017 of file parser.c.

int yychar

Definition at line 5078 of file parser.c.

const short yycheck[] [static]

Definition at line 3965 of file parser.c.

int yydebug

Definition at line 4908 of file parser.c.

const unsigned short yydefact[] [static]

Definition at line 2802 of file parser.c.

const short yydefgoto[] [static]

Definition at line 3031 of file parser.c.

Definition at line 5081 of file parser.c.

int yynerrs

Definition at line 5084 of file parser.c.

const short yypact[] [static]

Definition at line 3107 of file parser.c.

const short yypgoto[] [static]

Definition at line 3336 of file parser.c.

const unsigned short yyprhs[] [static]

Definition at line 1439 of file parser.c.

const unsigned short yyr1[] [static]

Definition at line 2486 of file parser.c.

const unsigned char yyr2[] [static]

Definition at line 2643 of file parser.c.

const short yyrhs[] [static]

Definition at line 1596 of file parser.c.

const unsigned short yyrline[] [static]

Definition at line 2003 of file parser.c.

const unsigned short yystos[] [static]

Definition at line 4518 of file parser.c.

const short yytable[] [static]

Definition at line 3414 of file parser.c.

const char* const yytname[] [static]

Definition at line 2163 of file parser.c.

const unsigned short yytranslate[] [static]

Definition at line 1362 of file parser.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines