GnuCOBOL
2.0
A free COBOL compiler
|
#include "config.h"
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "cobc.h"
#include "ppparse.def"
#include <stddef.h>
Go to the source code of this file.
Data Structures | |
union | YYSTYPE |
union | yyalloc |
Typedefs | |
typedef union YYSTYPE | YYSTYPE |
typedef unsigned char | yytype_uint8 |
typedef signed char | yytype_int8 |
typedef unsigned short int | yytype_uint16 |
typedef short int | yytype_int16 |
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, ASCII = 283, ASSIGN = 284, AT = 285, ATTRIBUTE = 286, AUTO = 287, AUTOMATIC = 288, AWAY_FROM_ZERO = 289, BACKGROUND_COLOR = 290, BASED = 291, BEFORE = 292, BELL = 293, BINARY = 294, BINARY_C_LONG = 295, BINARY_CHAR = 296, BINARY_DOUBLE = 297, BINARY_LONG = 298, BINARY_SHORT = 299, BLANK = 300, BLINK = 301, BLOCK = 302, BOTTOM = 303, BY = 304, BYTE_LENGTH = 305, CALL = 306, CANCEL = 307, CAPACITY = 308, CF = 309, CH = 310, CHAINING = 311, CHARACTER = 312, CHARACTERS = 313, CLASS = 314, CLASSIFICATION = 315, CLOSE = 316, CODE = 317, CODE_SET = 318, COLLATING = 319, COL = 320, COLS = 321, COLUMN = 322, COLUMNS = 323, COMMA = 324, COMMAND_LINE = 325, COMMA_DELIM = 326, COMMIT = 327, COMMON = 328, COMP = 329, COMPUTE = 330, COMP_1 = 331, COMP_2 = 332, COMP_3 = 333, COMP_4 = 334, COMP_5 = 335, COMP_6 = 336, COMP_X = 337, CONCATENATE_FUNC = 338, CONDITION = 339, CONFIGURATION = 340, CONSTANT = 341, CONTAINS = 342, CONTENT = 343, CONTINUE = 344, CONTROL = 345, CONTROLS = 346, CONVERSION = 347, CONVERTING = 348, COPY = 349, CORRESPONDING = 350, COUNT = 351, CRT = 352, CRT_UNDER = 353, CURRENCY = 354, CURRENT_DATE_FUNC = 355, CURSOR = 356, CYCLE = 357, DATA = 358, DATE = 359, DAY = 360, DAY_OF_WEEK = 361, DE = 362, DEBUGGING = 363, DECIMAL_POINT = 364, DECLARATIVES = 365, DEFAULT = 366, DELETE = 367, DELIMITED = 368, DELIMITER = 369, DEPENDING = 370, DESCENDING = 371, DETAIL = 372, DISC = 373, DISK = 374, DISPLAY = 375, DISPLAY_OF_FUNC = 376, DIVIDE = 377, DIVISION = 378, DOWN = 379, DUPLICATES = 380, DYNAMIC = 381, EBCDIC = 382, EC = 383, ELSE = 384, END = 385, END_ACCEPT = 386, END_ADD = 387, END_CALL = 388, END_COMPUTE = 389, END_DELETE = 390, END_DISPLAY = 391, END_DIVIDE = 392, END_EVALUATE = 393, END_FUNCTION = 394, END_IF = 395, END_MULTIPLY = 396, END_PERFORM = 397, END_PROGRAM = 398, END_READ = 399, END_RETURN = 400, END_REWRITE = 401, END_SEARCH = 402, END_START = 403, END_STRING = 404, END_SUBTRACT = 405, END_UNSTRING = 406, END_WRITE = 407, ENTRY = 408, ENVIRONMENT = 409, ENVIRONMENT_NAME = 410, ENVIRONMENT_VALUE = 411, EOL = 412, EOP = 413, EOS = 414, EQUAL = 415, ERASE = 416, ERROR = 417, ESCAPE = 418, EVALUATE = 419, EVENT_STATUS = 420, EXCEPTION = 421, EXCEPTION_CONDITION = 422, EXCLUSIVE = 423, EXIT = 424, EXPONENTIATION = 425, EXTEND = 426, EXTERNAL = 427, FD = 428, FILE_CONTROL = 429, FILE_ID = 430, FILLER = 431, FINAL = 432, FIRST = 433, FLOAT_BINARY_128 = 434, FLOAT_BINARY_32 = 435, FLOAT_BINARY_64 = 436, FLOAT_DECIMAL_16 = 437, FLOAT_DECIMAL_34 = 438, FLOAT_DECIMAL_7 = 439, FLOAT_EXTENDED = 440, FLOAT_LONG = 441, FLOAT_SHORT = 442, FOOTING = 443, FOR = 444, FOREGROUND_COLOR = 445, FOREVER = 446, FORMATTED_DATE_FUNC = 447, FORMATTED_DATETIME_FUNC = 448, FORMATTED_TIME_FUNC = 449, FREE = 450, FROM = 451, FROM_CRT = 452, FULL = 453, FUNCTION = 454, FUNCTION_ID = 455, FUNCTION_NAME = 456, GENERATE = 457, GIVING = 458, GLOBAL = 459, GO = 460, GOBACK = 461, GREATER = 462, GREATER_OR_EQUAL = 463, GRID = 464, GROUP = 465, HEADING = 466, HIGHLIGHT = 467, HIGH_VALUE = 468, ID = 469, IDENTIFICATION = 470, IF = 471, IGNORE = 472, IGNORING = 473, IN = 474, INDEX = 475, INDEXED = 476, INDICATE = 477, INITIALIZE = 478, INITIALIZED = 479, INITIATE = 480, INPUT = 481, INPUT_OUTPUT = 482, INSPECT = 483, INTO = 484, INTRINSIC = 485, INVALID = 486, INVALID_KEY = 487, IS = 488, I_O = 489, I_O_CONTROL = 490, JUSTIFIED = 491, KEPT = 492, KEY = 493, KEYBOARD = 494, LABEL = 495, LAST = 496, LEADING = 497, LEFT = 498, LEFTLINE = 499, LENGTH = 500, LENGTH_OF = 501, LESS = 502, LESS_OR_EQUAL = 503, LIMIT = 504, LIMITS = 505, LINAGE = 506, LINAGE_COUNTER = 507, LINE = 508, LINE_COUNTER = 509, LINES = 510, LINKAGE = 511, LITERAL = 512, LOCALE = 513, LOCALE_DATE_FUNC = 514, LOCALE_TIME_FUNC = 515, LOCALE_TIME_FROM_FUNC = 516, LOCAL_STORAGE = 517, LOCK = 518, LOWER = 519, LOWER_CASE_FUNC = 520, LOWLIGHT = 521, LOW_VALUE = 522, MANUAL = 523, MEMORY = 524, MERGE = 525, MINUS = 526, MNEMONIC_NAME = 527, MODE = 528, MOVE = 529, MULTIPLE = 530, MULTIPLY = 531, NAME = 532, NATIONAL = 533, NATIONAL_EDITED = 534, NATIONAL_OF_FUNC = 535, NATIVE = 536, NEAREST_AWAY_FROM_ZERO = 537, NEAREST_EVEN = 538, NEAREST_TOWARD_ZERO = 539, NEGATIVE = 540, NEXT = 541, NEXT_PAGE = 542, NO = 543, NO_ECHO = 544, NORMAL = 545, NOT = 546, NOTHING = 547, NOT_END = 548, NOT_EOP = 549, NOT_ESCAPE = 550, NOT_EQUAL = 551, NOT_EXCEPTION = 552, NOT_INVALID_KEY = 553, NOT_OVERFLOW = 554, NOT_SIZE_ERROR = 555, NO_ADVANCING = 556, NUMBER = 557, NUMBERS = 558, NUMERIC = 559, NUMERIC_EDITED = 560, NUMVALC_FUNC = 561, OBJECT_COMPUTER = 562, OCCURS = 563, OF = 564, OFF = 565, OMITTED = 566, ON = 567, ONLY = 568, OPEN = 569, OPTIONAL = 570, OR = 571, ORDER = 572, ORGANIZATION = 573, OTHER = 574, OUTPUT = 575, OVERLINE = 576, PACKED_DECIMAL = 577, PADDING = 578, PAGE = 579, PAGE_COUNTER = 580, PARAGRAPH = 581, PERFORM = 582, PH = 583, PF = 584, PICTURE = 585, PICTURE_SYMBOL = 586, PLUS = 587, POINTER = 588, POSITION = 589, POSITIVE = 590, PRESENT = 591, PREVIOUS = 592, PRINT = 593, PRINTER = 594, PRINTER_1 = 595, PRINTING = 596, PROCEDURE = 597, PROCEDURES = 598, PROCEED = 599, PROGRAM = 600, PROGRAM_ID = 601, PROGRAM_NAME = 602, PROGRAM_POINTER = 603, PROHIBITED = 604, PROMPT = 605, PROTECTED = 606, QUOTE = 607, RANDOM = 608, RD = 609, READ = 610, READY_TRACE = 611, RECORD = 612, RECORDING = 613, RECORDS = 614, RECURSIVE = 615, REDEFINES = 616, REEL = 617, REFERENCE = 618, REFERENCES = 619, RELATIVE = 620, RELEASE = 621, REMAINDER = 622, REMOVAL = 623, RENAMES = 624, REPLACE = 625, REPLACING = 626, REPORT = 627, REPORTING = 628, REPORTS = 629, REPOSITORY = 630, REQUIRED = 631, RESERVE = 632, RESET = 633, RESET_TRACE = 634, RETURN = 635, RETURNING = 636, REVERSE_FUNC = 637, REVERSE_VIDEO = 638, REVERSED = 639, REWIND = 640, REWRITE = 641, RF = 642, RH = 643, RIGHT = 644, ROLLBACK = 645, ROUNDED = 646, RUN = 647, SAME = 648, SCREEN = 649, SCREEN_CONTROL = 650, SCROLL = 651, SD = 652, SEARCH = 653, SECTION = 654, SECURE = 655, SEGMENT_LIMIT = 656, SELECT = 657, SEMI_COLON = 658, SENTENCE = 659, SEPARATE = 660, SEQUENCE = 661, SEQUENTIAL = 662, SET = 663, SHARING = 664, SIGN = 665, SIGNED = 666, SIGNED_INT = 667, SIGNED_LONG = 668, SIGNED_SHORT = 669, SIZE = 670, SIZE_ERROR = 671, SORT = 672, SORT_MERGE = 673, SOURCE = 674, SOURCE_COMPUTER = 675, SPACE = 676, SPECIAL_NAMES = 677, STANDARD = 678, STANDARD_1 = 679, STANDARD_2 = 680, START = 681, STATIC = 682, STATUS = 683, STDCALL = 684, STEP = 685, STOP = 686, STRING = 687, SUBSTITUTE_FUNC = 688, SUBSTITUTE_CASE_FUNC = 689, SUBTRACT = 690, SUM = 691, SUPPRESS = 692, SYMBOLIC = 693, SYNCHRONIZED = 694, SYSTEM_DEFAULT = 695, SYSTEM_OFFSET = 696, TAB = 697, TALLYING = 698, TAPE = 699, TERMINATE = 700, TEST = 701, THAN = 702, THEN = 703, THRU = 704, TIME = 705, TIMEOUT = 706, TIMES = 707, TO = 708, TOK_AMPER = 709, TOK_CLOSE_PAREN = 710, TOK_COLON = 711, TOK_DIV = 712, TOK_DOT = 713, TOK_EQUAL = 714, TOK_FALSE = 715, TOK_FILE = 716, TOK_GREATER = 717, TOK_INITIAL = 718, TOK_LESS = 719, TOK_MINUS = 720, TOK_MUL = 721, TOK_NULL = 722, TOK_OVERFLOW = 723, TOK_OPEN_PAREN = 724, TOK_PLUS = 725, TOK_TRUE = 726, TOP = 727, TOWARD_GREATER = 728, TOWARD_LESSER = 729, TRAILING = 730, TRANSFORM = 731, TRIM_FUNC = 732, TRUNCATION = 733, TYPE = 734, UNDERLINE = 735, UNIT = 736, UNLOCK = 737, UNSIGNED = 738, UNSIGNED_INT = 739, UNSIGNED_LONG = 740, UNSIGNED_SHORT = 741, UNSTRING = 742, UNTIL = 743, UP = 744, UPDATE = 745, UPON = 746, UPON_ARGUMENT_NUMBER = 747, UPON_COMMAND_LINE = 748, UPON_ENVIRONMENT_NAME = 749, UPON_ENVIRONMENT_VALUE = 750, UPPER = 751, UPPER_CASE_FUNC = 752, USAGE = 753, USE = 754, USER = 755, USER_DEFAULT = 756, USER_FUNCTION_NAME = 757, USING = 758, VALUE = 759, VARYING = 760, WAIT = 761, WHEN = 762, WHEN_COMPILED_FUNC = 763, WITH = 764, WORD = 765, WORDS = 766, WORKING_STORAGE = 767, WRITE = 768, YYYYDDD = 769, YYYYMMDD = 770, ZERO = 771, SHIFT_PREFER = 772, 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, ASCII = 283, ASSIGN = 284, AT = 285, ATTRIBUTE = 286, AUTO = 287, AUTOMATIC = 288, AWAY_FROM_ZERO = 289, BACKGROUND_COLOR = 290, BASED = 291, BEFORE = 292, BELL = 293, BINARY = 294, BINARY_C_LONG = 295, BINARY_CHAR = 296, BINARY_DOUBLE = 297, BINARY_LONG = 298, BINARY_SHORT = 299, BLANK = 300, BLINK = 301, BLOCK = 302, BOTTOM = 303, BY = 304, BYTE_LENGTH = 305, CALL = 306, CANCEL = 307, CAPACITY = 308, CF = 309, CH = 310, CHAINING = 311, CHARACTER = 312, CHARACTERS = 313, CLASS = 314, CLASSIFICATION = 315, CLOSE = 316, CODE = 317, CODE_SET = 318, COLLATING = 319, COL = 320, COLS = 321, COLUMN = 322, COLUMNS = 323, COMMA = 324, COMMAND_LINE = 325, COMMA_DELIM = 326, COMMIT = 327, COMMON = 328, COMP = 329, COMPUTE = 330, COMP_1 = 331, COMP_2 = 332, COMP_3 = 333, COMP_4 = 334, COMP_5 = 335, COMP_6 = 336, COMP_X = 337, CONCATENATE_FUNC = 338, CONDITION = 339, CONFIGURATION = 340, CONSTANT = 341, CONTAINS = 342, CONTENT = 343, CONTINUE = 344, CONTROL = 345, CONTROLS = 346, CONVERSION = 347, CONVERTING = 348, COPY = 349, CORRESPONDING = 350, COUNT = 351, CRT = 352, CRT_UNDER = 353, CURRENCY = 354, CURRENT_DATE_FUNC = 355, CURSOR = 356, CYCLE = 357, DATA = 358, DATE = 359, DAY = 360, DAY_OF_WEEK = 361, DE = 362, DEBUGGING = 363, DECIMAL_POINT = 364, DECLARATIVES = 365, DEFAULT = 366, DELETE = 367, DELIMITED = 368, DELIMITER = 369, DEPENDING = 370, DESCENDING = 371, DETAIL = 372, DISC = 373, DISK = 374, DISPLAY = 375, DISPLAY_OF_FUNC = 376, DIVIDE = 377, DIVISION = 378, DOWN = 379, DUPLICATES = 380, DYNAMIC = 381, EBCDIC = 382, EC = 383, ELSE = 384, END = 385, END_ACCEPT = 386, END_ADD = 387, END_CALL = 388, END_COMPUTE = 389, END_DELETE = 390, END_DISPLAY = 391, END_DIVIDE = 392, END_EVALUATE = 393, END_FUNCTION = 394, END_IF = 395, END_MULTIPLY = 396, END_PERFORM = 397, END_PROGRAM = 398, END_READ = 399, END_RETURN = 400, END_REWRITE = 401, END_SEARCH = 402, END_START = 403, END_STRING = 404, END_SUBTRACT = 405, END_UNSTRING = 406, END_WRITE = 407, ENTRY = 408, ENVIRONMENT = 409, ENVIRONMENT_NAME = 410, ENVIRONMENT_VALUE = 411, EOL = 412, EOP = 413, EOS = 414, EQUAL = 415, ERASE = 416, ERROR = 417, ESCAPE = 418, EVALUATE = 419, EVENT_STATUS = 420, EXCEPTION = 421, EXCEPTION_CONDITION = 422, EXCLUSIVE = 423, EXIT = 424, EXPONENTIATION = 425, EXTEND = 426, EXTERNAL = 427, FD = 428, FILE_CONTROL = 429, FILE_ID = 430, FILLER = 431, FINAL = 432, FIRST = 433, FLOAT_BINARY_128 = 434, FLOAT_BINARY_32 = 435, FLOAT_BINARY_64 = 436, FLOAT_DECIMAL_16 = 437, FLOAT_DECIMAL_34 = 438, FLOAT_DECIMAL_7 = 439, FLOAT_EXTENDED = 440, FLOAT_LONG = 441, FLOAT_SHORT = 442, FOOTING = 443, FOR = 444, FOREGROUND_COLOR = 445, FOREVER = 446, FORMATTED_DATE_FUNC = 447, FORMATTED_DATETIME_FUNC = 448, FORMATTED_TIME_FUNC = 449, FREE = 450, FROM = 451, FROM_CRT = 452, FULL = 453, FUNCTION = 454, FUNCTION_ID = 455, FUNCTION_NAME = 456, GENERATE = 457, GIVING = 458, GLOBAL = 459, GO = 460, GOBACK = 461, GREATER = 462, GREATER_OR_EQUAL = 463, GRID = 464, GROUP = 465, HEADING = 466, HIGHLIGHT = 467, HIGH_VALUE = 468, ID = 469, IDENTIFICATION = 470, IF = 471, IGNORE = 472, IGNORING = 473, IN = 474, INDEX = 475, INDEXED = 476, INDICATE = 477, INITIALIZE = 478, INITIALIZED = 479, INITIATE = 480, INPUT = 481, INPUT_OUTPUT = 482, INSPECT = 483, INTO = 484, INTRINSIC = 485, INVALID = 486, INVALID_KEY = 487, IS = 488, I_O = 489, I_O_CONTROL = 490, JUSTIFIED = 491, KEPT = 492, KEY = 493, KEYBOARD = 494, LABEL = 495, LAST = 496, LEADING = 497, LEFT = 498, LEFTLINE = 499, LENGTH = 500, LENGTH_OF = 501, LESS = 502, LESS_OR_EQUAL = 503, LIMIT = 504, LIMITS = 505, LINAGE = 506, LINAGE_COUNTER = 507, LINE = 508, LINE_COUNTER = 509, LINES = 510, LINKAGE = 511, LITERAL = 512, LOCALE = 513, LOCALE_DATE_FUNC = 514, LOCALE_TIME_FUNC = 515, LOCALE_TIME_FROM_FUNC = 516, LOCAL_STORAGE = 517, LOCK = 518, LOWER = 519, LOWER_CASE_FUNC = 520, LOWLIGHT = 521, LOW_VALUE = 522, MANUAL = 523, MEMORY = 524, MERGE = 525, MINUS = 526, MNEMONIC_NAME = 527, MODE = 528, MOVE = 529, MULTIPLE = 530, MULTIPLY = 531, NAME = 532, NATIONAL = 533, NATIONAL_EDITED = 534, NATIONAL_OF_FUNC = 535, NATIVE = 536, NEAREST_AWAY_FROM_ZERO = 537, NEAREST_EVEN = 538, NEAREST_TOWARD_ZERO = 539, NEGATIVE = 540, NEXT = 541, NEXT_PAGE = 542, NO = 543, NO_ECHO = 544, NORMAL = 545, NOT = 546, NOTHING = 547, NOT_END = 548, NOT_EOP = 549, NOT_ESCAPE = 550, NOT_EQUAL = 551, NOT_EXCEPTION = 552, NOT_INVALID_KEY = 553, NOT_OVERFLOW = 554, NOT_SIZE_ERROR = 555, NO_ADVANCING = 556, NUMBER = 557, NUMBERS = 558, NUMERIC = 559, NUMERIC_EDITED = 560, NUMVALC_FUNC = 561, OBJECT_COMPUTER = 562, OCCURS = 563, OF = 564, OFF = 565, OMITTED = 566, ON = 567, ONLY = 568, OPEN = 569, OPTIONAL = 570, OR = 571, ORDER = 572, ORGANIZATION = 573, OTHER = 574, OUTPUT = 575, OVERLINE = 576, PACKED_DECIMAL = 577, PADDING = 578, PAGE = 579, PAGE_COUNTER = 580, PARAGRAPH = 581, PERFORM = 582, PH = 583, PF = 584, PICTURE = 585, PICTURE_SYMBOL = 586, PLUS = 587, POINTER = 588, POSITION = 589, POSITIVE = 590, PRESENT = 591, PREVIOUS = 592, PRINT = 593, PRINTER = 594, PRINTER_1 = 595, PRINTING = 596, PROCEDURE = 597, PROCEDURES = 598, PROCEED = 599, PROGRAM = 600, PROGRAM_ID = 601, PROGRAM_NAME = 602, PROGRAM_POINTER = 603, PROHIBITED = 604, PROMPT = 605, PROTECTED = 606, QUOTE = 607, RANDOM = 608, RD = 609, READ = 610, READY_TRACE = 611, RECORD = 612, RECORDING = 613, RECORDS = 614, RECURSIVE = 615, REDEFINES = 616, REEL = 617, REFERENCE = 618, REFERENCES = 619, RELATIVE = 620, RELEASE = 621, REMAINDER = 622, REMOVAL = 623, RENAMES = 624, REPLACE = 625, REPLACING = 626, REPORT = 627, REPORTING = 628, REPORTS = 629, REPOSITORY = 630, REQUIRED = 631, RESERVE = 632, RESET = 633, RESET_TRACE = 634, RETURN = 635, RETURNING = 636, REVERSE_FUNC = 637, REVERSE_VIDEO = 638, REVERSED = 639, REWIND = 640, REWRITE = 641, RF = 642, RH = 643, RIGHT = 644, ROLLBACK = 645, ROUNDED = 646, RUN = 647, SAME = 648, SCREEN = 649, SCREEN_CONTROL = 650, SCROLL = 651, SD = 652, SEARCH = 653, SECTION = 654, SECURE = 655, SEGMENT_LIMIT = 656, SELECT = 657, SEMI_COLON = 658, SENTENCE = 659, SEPARATE = 660, SEQUENCE = 661, SEQUENTIAL = 662, SET = 663, SHARING = 664, SIGN = 665, SIGNED = 666, SIGNED_INT = 667, SIGNED_LONG = 668, SIGNED_SHORT = 669, SIZE = 670, SIZE_ERROR = 671, SORT = 672, SORT_MERGE = 673, SOURCE = 674, SOURCE_COMPUTER = 675, SPACE = 676, SPECIAL_NAMES = 677, STANDARD = 678, STANDARD_1 = 679, STANDARD_2 = 680, START = 681, STATIC = 682, STATUS = 683, STDCALL = 684, STEP = 685, STOP = 686, STRING = 687, SUBSTITUTE_FUNC = 688, SUBSTITUTE_CASE_FUNC = 689, SUBTRACT = 690, SUM = 691, SUPPRESS = 692, SYMBOLIC = 693, SYNCHRONIZED = 694, SYSTEM_DEFAULT = 695, SYSTEM_OFFSET = 696, TAB = 697, TALLYING = 698, TAPE = 699, TERMINATE = 700, TEST = 701, THAN = 702, THEN = 703, THRU = 704, TIME = 705, TIMEOUT = 706, TIMES = 707, TO = 708, TOK_AMPER = 709, TOK_CLOSE_PAREN = 710, TOK_COLON = 711, TOK_DIV = 712, TOK_DOT = 713, TOK_EQUAL = 714, TOK_FALSE = 715, TOK_FILE = 716, TOK_GREATER = 717, TOK_INITIAL = 718, TOK_LESS = 719, TOK_MINUS = 720, TOK_MUL = 721, TOK_NULL = 722, TOK_OVERFLOW = 723, TOK_OPEN_PAREN = 724, TOK_PLUS = 725, TOK_TRUE = 726, TOP = 727, TOWARD_GREATER = 728, TOWARD_LESSER = 729, TRAILING = 730, TRANSFORM = 731, TRIM_FUNC = 732, TRUNCATION = 733, TYPE = 734, UNDERLINE = 735, UNIT = 736, UNLOCK = 737, UNSIGNED = 738, UNSIGNED_INT = 739, UNSIGNED_LONG = 740, UNSIGNED_SHORT = 741, UNSTRING = 742, UNTIL = 743, UP = 744, UPDATE = 745, UPON = 746, UPON_ARGUMENT_NUMBER = 747, UPON_COMMAND_LINE = 748, UPON_ENVIRONMENT_NAME = 749, UPON_ENVIRONMENT_VALUE = 750, UPPER = 751, UPPER_CASE_FUNC = 752, USAGE = 753, USE = 754, USER = 755, USER_DEFAULT = 756, USER_FUNCTION_NAME = 757, USING = 758, VALUE = 759, VARYING = 760, WAIT = 761, WHEN = 762, WHEN_COMPILED_FUNC = 763, WITH = 764, WORD = 765, WORDS = 766, WORKING_STORAGE = 767, WRITE = 768, YYYYDDD = 769, YYYYMMDD = 770, ZERO = 771, SHIFT_PREFER = 772, TOKEN_EOF = 0, ALSO = 258, BY = 259, COPY = 260, EQEQ = 261, IN = 262, LAST = 263, LEADING = 264, OF = 265, OFF = 266, PRINTING = 267, REPLACE = 268, REPLACING = 269, SUPPRESS = 270, TRAILING = 271, DOT = 272, GARBAGE = 273, SOURCE_DIRECTIVE = 274, FORMAT = 275, IS = 276, FIXED = 277, FREE = 278, DEFINE_DIRECTIVE = 279, AS = 280, PARAMETER = 281, OVERRIDE = 282, SET_DIRECTIVE = 283, CONSTANT = 284, SOURCEFORMAT = 285, FOLDCOPYNAME = 286, NOFOLDCOPYNAME = 287, IF_DIRECTIVE = 288, ELSE_DIRECTIVE = 289, ENDIF_DIRECTIVE = 290, ELIF_DIRECTIVE = 291, GE = 292, LE = 293, LT = 294, GT = 295, EQ = 296, NE = 297, NOT = 298, THAN = 299, TO = 300, OR = 301, EQUAL = 302, GREATER = 303, LESS = 304, SET = 305, DEFINED = 306, TURN_DIRECTIVE = 307, ON = 308, CHECKING = 309, WITH = 310, LOCATION = 311, TERMINATOR = 312, TOKEN = 313, VARIABLE = 314, LITERAL = 315, TOKEN_EOF = 0, ALSO = 258, BY = 259, COPY = 260, EQEQ = 261, IN = 262, LAST = 263, LEADING = 264, OF = 265, OFF = 266, PRINTING = 267, REPLACE = 268, REPLACING = 269, SUPPRESS = 270, TRAILING = 271, DOT = 272, GARBAGE = 273, SOURCE_DIRECTIVE = 274, FORMAT = 275, IS = 276, FIXED = 277, FREE = 278, DEFINE_DIRECTIVE = 279, AS = 280, PARAMETER = 281, OVERRIDE = 282, SET_DIRECTIVE = 283, CONSTANT = 284, SOURCEFORMAT = 285, FOLDCOPYNAME = 286, NOFOLDCOPYNAME = 287, IF_DIRECTIVE = 288, ELSE_DIRECTIVE = 289, ENDIF_DIRECTIVE = 290, ELIF_DIRECTIVE = 291, GE = 292, LE = 293, LT = 294, GT = 295, EQ = 296, NE = 297, NOT = 298, THAN = 299, TO = 300, OR = 301, EQUAL = 302, GREATER = 303, LESS = 304, SET = 305, DEFINED = 306, TURN_DIRECTIVE = 307, ON = 308, CHECKING = 309, WITH = 310, LOCATION = 311, TERMINATOR = 312, TOKEN = 313, VARIABLE = 314, LITERAL = 315 } |
Functions | |
static char * | fix_filename (char *name) |
static char * | fold_lower (char *name) |
static char * | fold_upper (char *name) |
static struct cb_replace_list * | ppp_replace_list_add (struct cb_replace_list *list, const struct cb_text_list *old_text, const struct cb_text_list *new_text, const unsigned int lead_or_trail) |
static unsigned int | ppp_set_value (struct cb_define_struct *p, const char *value) |
static unsigned int | ppp_compare_vals (const struct cb_define_struct *p1, const struct cb_define_struct *p2, const unsigned int cond) |
static struct cb_define_struct * | ppp_define_add (struct cb_define_struct *list, const char *name, const char *text, const unsigned int override) |
static void | ppp_define_del (const char *name) |
static struct cb_define_struct * | ppp_search_lists (const char *name) |
static struct cb_text_list * | ppp_list_add (struct cb_text_list *list, const char *text) |
static unsigned int | ppp_search_comp_vars (const char *name) |
static unsigned int | ppp_check_needs_quote (const char *envval) |
void | ppparse_clear_vars (const struct cb_define_struct *p) |
int | ppparse (void) |
static size_t | yystrlen (const char *yystr) |
static char * | yystpcpy (char *yydest, const char *yysrc) |
static size_t | yytnamerr (char *yyres, const char *yystr) |
static int | yysyntax_error (size_t *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) |
static void | yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) |
Variables | |
static struct cb_define_struct * | ppp_setvar_list |
static unsigned int | current_cmd |
YYSTYPE | pplval |
static const yytype_uint8 | yytranslate [] |
static const char *const | yytname [] |
static const yytype_int16 | yypact [] |
static const yytype_uint8 | yydefact [] |
static const yytype_int16 | yypgoto [] |
static const yytype_int16 | yydefgoto [] |
static const yytype_int16 | yytable [] |
static const yytype_int16 | yycheck [] |
static const yytype_uint8 | yystos [] |
static const yytype_uint8 | yyr1 [] |
static const yytype_uint8 | yyr2 [] |
int | ppchar |
int | ppnerrs |
#define _Noreturn YY_ATTRIBUTE ((__noreturn__)) |
#define CB_PARSE_DEF | ( | x, | |
z | |||
) | if (!strcasecmp (name, x)) return (z); |
#define COND_EQ 0 |
Definition at line 92 of file ppparse.c.
Referenced by ppp_compare_vals(), and ppparse().
#define COND_GE 4U |
Definition at line 96 of file ppparse.c.
Referenced by ppp_compare_vals(), and ppparse().
#define COND_GT 2U |
Definition at line 94 of file ppparse.c.
Referenced by ppp_compare_vals(), and ppparse().
#define COND_LE 3U |
Definition at line 95 of file ppparse.c.
Referenced by ppp_compare_vals(), and ppparse().
#define COND_LT 1U |
Definition at line 93 of file ppparse.c.
Referenced by ppp_compare_vals(), and ppparse().
#define COND_NE 5U |
Definition at line 97 of file ppparse.c.
Referenced by ppp_compare_vals(), and ppparse().
#define YY_ | ( | Msgid | ) | Msgid |
Definition at line 726 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
#define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) |
#define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) |
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
Definition at line 776 of file ppparse.c.
Referenced by ppparse(), and yydestruct().
#define YY_IGNORE_MAYBE_UNINITIALIZED_END |
Definition at line 777 of file ppparse.c.
Referenced by ppparse(), and yydestruct().
#define YY_NULLPTR 0 |
Definition at line 551 of file ppparse.c.
Referenced by yysyntax_error().
#define YY_STACK_PRINT | ( | Bottom, | |
Top | |||
) |
#define YY_SYMBOL_PRINT | ( | Title, | |
Type, | |||
Value, | |||
Location | |||
) |
Definition at line 1377 of file ppparse.c.
Referenced by ppparse(), and yydestruct().
#define YYBACKUP | ( | Token, | |
Value | |||
) |
#define YYCASE_ | ( | N, | |
S | |||
) |
Referenced by yysyntax_error().
#define YYCOPY | ( | Dst, | |
Src, | |||
Count | |||
) |
#define YYEMPTY (-2) |
Definition at line 1220 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
#define YYLAST 166 |
Definition at line 915 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
Definition at line 69 of file ppparse.c.
Referenced by ppparse(), read_literal(), scan_b(), scan_floating_numeric(), scan_h(), scan_numeric(), scan_o(), scan_picture(), scan_x(), scan_z(), and yylex().
#define YYNTOKENS 63 |
Definition at line 918 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
#define yypact_value_is_default | ( | Yystate | ) | (!!((Yystate) == (-73))) |
Definition at line 1037 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
Definition at line 63 of file ppparse.c.
Referenced by process_translate().
#define YYSIZE_T size_t |
Definition at line 710 of file ppparse.c.
Referenced by ppparse(), yystrlen(), yysyntax_error(), and yytnamerr().
#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
Definition at line 826 of file ppparse.c.
Referenced by yysyntax_error().
#define YYSTACK_BYTES | ( | N | ) |
#define YYSTACK_RELOCATE | ( | Stack_alloc, | |
Stack | |||
) |
#define YYSYNTAX_ERROR |
Referenced by ppparse().
#define yytable_value_is_error | ( | Yytable_value | ) | 0 |
Definition at line 1042 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
#define YYTERROR 1 |
Definition at line 1248 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
#define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
#define YYUSE | ( | E | ) | ((void) (E)) |
Definition at line 759 of file ppparse.c.
Referenced by yydestruct().
typedef short int yytype_int16 |
typedef signed char yytype_int8 |
typedef unsigned short int yytype_uint16 |
typedef unsigned char yytype_uint8 |
enum yytokentype |
Definition at line 578 of file ppparse.c.
|
static |
Definition at line 132 of file ppparse.c.
References cb_define_struct::name.
Referenced by ppparse().
|
static |
Definition at line 143 of file ppparse.c.
References cob_u8_t, and cb_define_struct::name.
Referenced by ppparse().
|
static |
Definition at line 156 of file ppparse.c.
References cob_u8_t, and cb_define_struct::name.
Referenced by ppparse().
|
static |
|
static |
Definition at line 273 of file ppparse.c.
References _, cb_warning(), COND_EQ, COND_GE, COND_GT, COND_LE, COND_LT, COND_NE, cb_define_struct::dec_part, cb_define_struct::deftype, cb_define_struct::int_part, PLEX_DEF_LIT, PLEX_DEF_NUM, cb_define_struct::sign, and cb_define_struct::value.
Referenced by ppparse().
|
static |
Definition at line 347 of file ppparse.c.
References _, cb_error(), cobc_plex_malloc(), cobc_plex_strdup(), cb_define_struct::deftype, cb_define_struct::last, cb_define_struct::name, cb_define_struct::next, NULL, PLEX_DEF_DEL, ppp_set_value(), and cb_define_struct::value.
Referenced by ppparse(), and ppparse_clear_vars().
|
static |
Definition at line 388 of file ppparse.c.
References cb_define_struct::dec_part, cb_define_struct::deftype, cb_define_struct::int_part, cb_define_struct::name, cb_define_struct::next, NULL, PLEX_DEF_DEL, cb_define_struct::sign, and cb_define_struct::value.
Referenced by ppparse().
|
static |
Definition at line 423 of file ppparse.c.
References cobc_plex_malloc(), cobc_plex_strdup(), cb_text_list::last, cb_text_list::next, and cb_text_list::text.
Referenced by ppparse().
|
static |
Definition at line 169 of file ppparse.c.
References cobc_plex_malloc(), cb_replace_list::last, cb_replace_list::lead_trail, cb_replace_list::new_text, cb_replace_list::next, and cb_replace_list::old_text.
Referenced by ppparse().
|
static |
|
static |
Definition at line 407 of file ppparse.c.
References cb_define_struct::deftype, cb_define_struct::name, cb_define_struct::next, NULL, and PLEX_DEF_DEL.
Referenced by ppparse().
|
static |
Definition at line 190 of file ppparse.c.
References cobc_plex_strdup(), cb_define_struct::dec_part, cb_define_struct::deftype, cb_define_struct::int_part, NULL, PLEX_DEF_LIT, PLEX_DEF_NONE, PLEX_DEF_NUM, sign, cb_define_struct::sign, value, and cb_define_struct::value.
Referenced by ppp_define_add(), and ppparse().
int ppparse | ( | void | ) |
Definition at line 1656 of file ppparse.c.
References _, cb_error(), CB_FORMAT_FIXED, CB_FORMAT_FREE, CB_REPLACE_LEADING, CB_REPLACE_TRAILING, cb_source_format, cb_warning(), COB_FOLD_LOWER, COB_FOLD_UPPER, cobc_plex_malloc(), COND_EQ, COND_GE, COND_GT, COND_LE, COND_LT, COND_NE, current_cmd, cb_define_struct::deftype, YYSTYPE::ds, fix_filename(), fold_lower(), fold_upper(), YYSTYPE::l, cb_text_list::next, cb_define_struct::next, NULL, PLEX_ACT_ELIF, PLEX_ACT_ELSE, PLEX_ACT_END, PLEX_ACT_IF, plex_action_directive(), PLEX_DEF_NONE, pp_set_replace_list(), ppcopy(), ppout, ppp_check_needs_quote(), ppp_compare_vals(), ppp_define_add(), ppp_define_del(), ppp_list_add(), ppp_replace_list_add(), ppp_search_comp_vars(), ppp_search_lists(), ppp_set_value(), quote, YYSTYPE::r, YYSTYPE::s, YYSTYPE::ui, YY_, YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, yycheck, yydefact, yydefgoto, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerror, YYERROR, YYFINAL, YYINITDEPTH, YYLAST, yylex, yylval, YYMAXDEPTH, yynerrs, YYNTOKENS, yypact, yypact_value_is_default, yypgoto, YYPOPSTACK, yyr1, yyr2, YYSIZE_T, yyalloc::yyss_alloc, YYSTACK_ALLOC, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, yystos, YYSYNTAX_ERROR, yytable, yytable_value_is_error, YYTERROR, YYTRANSLATE, and yyalloc::yyvs_alloc.
Referenced by preprocess().
void ppparse_clear_vars | ( | const struct cb_define_struct * | p | ) |
Definition at line 490 of file ppparse.c.
References cb_define_struct::name, cb_define_struct::next, NULL, ppp_define_add(), and cb_define_struct::value.
Referenced by preprocess().
|
static |
Definition at line 1627 of file ppparse.c.
References YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_SYMBOL_PRINT, and YYUSE.
Referenced by ppparse().
|
static |
Definition at line 1425 of file ppparse.c.
Referenced by yytnamerr().
|
static |
Definition at line 1408 of file ppparse.c.
References YYSIZE_T.
Referenced by yysyntax_error(), and yytnamerr().
|
static |
Definition at line 1495 of file ppparse.c.
References YY_, YY_NULLPTR, YYCASE_, yycheck, YYEMPTY, YYLAST, YYNTOKENS, yypact, yypact_value_is_default, YYSIZE_T, YYSTACK_ALLOC_MAXIMUM, yystrlen(), yytable, yytable_value_is_error, YYTERROR, yytname, and yytnamerr().
|
static |
Definition at line 1447 of file ppparse.c.
References YYSIZE_T, yystpcpy(), and yystrlen().
Referenced by yysyntax_error().
|
static |
|
static |
Definition at line 1138 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
|
static |
Definition at line 1072 of file ppparse.c.
Referenced by ppparse().
|
static |
|
static |
Definition at line 1047 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
|
static |
Definition at line 1095 of file ppparse.c.
Referenced by ppparse().
|
static |
Definition at line 1184 of file ppparse.c.
Referenced by ppparse().
|
static |
Definition at line 1201 of file ppparse.c.
Referenced by ppparse().
|
static |
Definition at line 1161 of file ppparse.c.
Referenced by ppparse().
|
static |
Definition at line 1117 of file ppparse.c.
Referenced by ppparse(), and yysyntax_error().
|
static |
Definition at line 994 of file ppparse.c.
Referenced by yysyntax_error().
|
static |