OpenCOBOL 1.1pre-rel
|
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include "cobc.h"
#include "tree.h"
#include <stdio.h>
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_program * | current_program = NULL |
struct cb_statement * | current_statement = NULL |
struct cb_label * | current_section = NULL |
struct cb_label * | current_paragraph = NULL |
size_t | functions_are_all = 0 |
int | non_const_word = 0 |
static struct cb_statement * | main_statement |
static cb_tree | current_expr |
static struct cb_field * | current_field |
static struct cb_field * | description_field |
static struct cb_file * | current_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_file * | linage_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 emit_statement | ( | x | ) | current_program->exec_list = cb_cons (x, current_program->exec_list) |
#define PENDING | ( | x | ) | cb_warning (_("'%s' not implemented"), x) |
#define push_expr | ( | type, | |
node | |||
) | current_expr = cb_build_list (cb_int (type), node, current_expr) |
#define YY_REDUCE_PRINT | ( | Rule | ) |
do { \ if (yydebug) \ yy_reduce_print (Rule); \ } while (0)
#define YY_STACK_PRINT | ( | Bottom, | |
Top | |||
) |
do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0)
#define YYBACKUP | ( | Token, | |
Value | |||
) |
#define YYCOPY | ( | To, | |
From, | |||
Count | |||
) |
#define YYDPRINTF | ( | Args | ) |
#define YYDSYMPRINT | ( | Args | ) |
do { \ if (yydebug) \ yysymprint Args; \ } while (0)
#define YYDSYMPRINTF | ( | Title, | |
Token, | |||
Value, | |||
Location | |||
) |
#define YYLLOC_DEFAULT | ( | Current, | |
Rhs, | |||
N | |||
) |
#define YYPOPSTACK (yyvsp--, yyssp--) |
#define YYSTACK_BYTES | ( | N | ) |
((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM)
#define YYSTACK_RELOCATE | ( | Stack | ) |
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)
#define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
typedef short yysigned_char |
enum yytokentype |
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 };
static void BEGIN_IMPLICIT_STATEMENT | ( | void | ) | [static] |
Definition at line 1052 of file parser.c.
{ current_statement = cb_build_statement (NULL); main_statement->body = cb_list_add (main_statement->body, CB_TREE (current_statement)); }
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; }
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)); }
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]; } }
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; } }
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); }
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]--; } }
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] |
static void yydestruct | ( | int | yytype, |
YYSTYPE * | yyvaluep | ||
) | [static] |
int yyparse | ( | void | ) |
static char* yystpcpy | ( | char * | yydest, |
const char * | yysrc | ||
) | [static] |
static YYSIZE_T yystrlen | ( | char * | yystr | ) | const [static] |
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, ")"); }
size_t check_unreached = 0 [static] |
cb_tree current_expr [static] |
struct cb_field* current_field [static] |
struct cb_file* current_file [static] |
size_t current_linage = 0 [static] |
struct cb_label* current_paragraph = NULL |
struct cb_program* current_program = NULL |
struct cb_label* current_section = NULL |
struct cb_statement* current_statement = NULL |
enum cb_storage current_storage [static] |
struct cb_field* description_field [static] |
cb_tree dummy_tree [static] |
int eval_check[64][64] [static] |
int eval_level = 0 [static] |
size_t functions_are_all = 0 |
size_t in_declaratives = 0 [static] |
size_t inspect_keyword = 0 [static] |
struct cb_file* linage_file [static] |
struct cb_statement* main_statement [static] |
int next_label_id = 0 [static] |
cb_tree next_label_list = NULL [static] |
int non_const_word = 0 |
size_t organized_seen = 0 [static] |
cb_tree perform_stack = NULL [static] |
cb_tree save_tree_1 [static] |
cb_tree save_tree_2 [static] |
char* stack_progid[32] [static] |
int term_array[TERM_MAX] [static] |
size_t use_global_ind = 0 [static] |
const unsigned short yytranslate[] [static] |