GnuCOBOL  2.0
A free COBOL compiler
ppparse.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  YYSTYPE
 

Macros

#define YYDEBUG   0
 
#define YYTOKENTYPE
 
#define YYSTYPE_IS_TRIVIAL   1
 
#define YYSTYPE_IS_DECLARED   1
 

Typedefs

typedef union YYSTYPE YYSTYPE
 

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

int ppparse (void)
 

Variables

YYSTYPE pplval
 

Macro Definition Documentation

#define YYDEBUG   0

Definition at line 37 of file ppparse.h.

#define YYSTYPE_IS_DECLARED   1

Definition at line 129 of file ppparse.h.

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 128 of file ppparse.h.

#define YYTOKENTYPE

Definition at line 45 of file ppparse.h.

Typedef Documentation

typedef union YYSTYPE YYSTYPE

Definition at line 127 of file ppparse.h.

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 
ASCII 
ASSIGN 
AT 
ATTRIBUTE 
AUTO 
AUTOMATIC 
AWAY_FROM_ZERO 
BACKGROUND_COLOR 
BASED 
BEFORE 
BELL 
BINARY 
BINARY_C_LONG 
BINARY_CHAR 
BINARY_DOUBLE 
BINARY_LONG 
BINARY_SHORT 
BLANK 
BLINK 
BLOCK 
BOTTOM 
BY 
BYTE_LENGTH 
CALL 
CANCEL 
CAPACITY 
CF 
CH 
CHAINING 
CHARACTER 
CHARACTERS 
CLASS 
CLASSIFICATION 
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_6 
COMP_X 
CONCATENATE_FUNC 
CONDITION 
CONFIGURATION 
CONSTANT 
CONTAINS 
CONTENT 
CONTINUE 
CONTROL 
CONTROLS 
CONVERSION 
CONVERTING 
COPY 
CORRESPONDING 
COUNT 
CRT 
CRT_UNDER 
CURRENCY 
CURRENT_DATE_FUNC 
CURSOR 
CYCLE 
DATA 
DATE 
DAY 
DAY_OF_WEEK 
DE 
DEBUGGING 
DECIMAL_POINT 
DECLARATIVES 
DEFAULT 
DELETE 
DELIMITED 
DELIMITER 
DEPENDING 
DESCENDING 
DETAIL 
DISC 
DISK 
DISPLAY 
DISPLAY_OF_FUNC 
DIVIDE 
DIVISION 
DOWN 
DUPLICATES 
DYNAMIC 
EBCDIC 
EC 
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 
ERASE 
ERROR 
ESCAPE 
EVALUATE 
EVENT_STATUS 
EXCEPTION 
EXCEPTION_CONDITION 
EXCLUSIVE 
EXIT 
EXPONENTIATION 
EXTEND 
EXTERNAL 
FD 
FILE_CONTROL 
FILE_ID 
FILLER 
FINAL 
FIRST 
FLOAT_BINARY_128 
FLOAT_BINARY_32 
FLOAT_BINARY_64 
FLOAT_DECIMAL_16 
FLOAT_DECIMAL_34 
FLOAT_DECIMAL_7 
FLOAT_EXTENDED 
FLOAT_LONG 
FLOAT_SHORT 
FOOTING 
FOR 
FOREGROUND_COLOR 
FOREVER 
FORMATTED_DATE_FUNC 
FORMATTED_DATETIME_FUNC 
FORMATTED_TIME_FUNC 
FREE 
FROM 
FROM_CRT 
FULL 
FUNCTION 
FUNCTION_ID 
FUNCTION_NAME 
GENERATE 
GIVING 
GLOBAL 
GO 
GOBACK 
GREATER 
GREATER_OR_EQUAL 
GRID 
GROUP 
HEADING 
HIGHLIGHT 
HIGH_VALUE 
ID 
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 
KEPT 
KEY 
KEYBOARD 
LABEL 
LAST 
LEADING 
LEFT 
LEFTLINE 
LENGTH 
LENGTH_OF 
LESS 
LESS_OR_EQUAL 
LIMIT 
LIMITS 
LINAGE 
LINAGE_COUNTER 
LINE 
LINE_COUNTER 
LINES 
LINKAGE 
LITERAL 
LOCALE 
LOCALE_DATE_FUNC 
LOCALE_TIME_FUNC 
LOCALE_TIME_FROM_FUNC 
LOCAL_STORAGE 
LOCK 
LOWER 
LOWER_CASE_FUNC 
LOWLIGHT 
LOW_VALUE 
MANUAL 
MEMORY 
MERGE 
MINUS 
MNEMONIC_NAME 
MODE 
MOVE 
MULTIPLE 
MULTIPLY 
NAME 
NATIONAL 
NATIONAL_EDITED 
NATIONAL_OF_FUNC 
NATIVE 
NEAREST_AWAY_FROM_ZERO 
NEAREST_EVEN 
NEAREST_TOWARD_ZERO 
NEGATIVE 
NEXT 
NEXT_PAGE 
NO 
NO_ECHO 
NORMAL 
NOT 
NOTHING 
NOT_END 
NOT_EOP 
NOT_ESCAPE 
NOT_EQUAL 
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 
OVERLINE 
PACKED_DECIMAL 
PADDING 
PAGE 
PAGE_COUNTER 
PARAGRAPH 
PERFORM 
PH 
PF 
PICTURE 
PICTURE_SYMBOL 
PLUS 
POINTER 
POSITION 
POSITIVE 
PRESENT 
PREVIOUS 
PRINT 
PRINTER 
PRINTER_1 
PRINTING 
PROCEDURE 
PROCEDURES 
PROCEED 
PROGRAM 
PROGRAM_ID 
PROGRAM_NAME 
PROGRAM_POINTER 
PROHIBITED 
PROMPT 
PROTECTED 
QUOTE 
RANDOM 
RD 
READ 
READY_TRACE 
RECORD 
RECORDING 
RECORDS 
RECURSIVE 
REDEFINES 
REEL 
REFERENCE 
REFERENCES 
RELATIVE 
RELEASE 
REMAINDER 
REMOVAL 
RENAMES 
REPLACE 
REPLACING 
REPORT 
REPORTING 
REPORTS 
REPOSITORY 
REQUIRED 
RESERVE 
RESET 
RESET_TRACE 
RETURN 
RETURNING 
REVERSE_FUNC 
REVERSE_VIDEO 
REVERSED 
REWIND 
REWRITE 
RF 
RH 
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 
STATIC 
STATUS 
STDCALL 
STEP 
STOP 
STRING 
SUBSTITUTE_FUNC 
SUBSTITUTE_CASE_FUNC 
SUBTRACT 
SUM 
SUPPRESS 
SYMBOLIC 
SYNCHRONIZED 
SYSTEM_DEFAULT 
SYSTEM_OFFSET 
TAB 
TALLYING 
TAPE 
TERMINATE 
TEST 
THAN 
THEN 
THRU 
TIME 
TIMEOUT 
TIMES 
TO 
TOK_AMPER 
TOK_CLOSE_PAREN 
TOK_COLON 
TOK_DIV 
TOK_DOT 
TOK_EQUAL 
TOK_FALSE 
TOK_FILE 
TOK_GREATER 
TOK_INITIAL 
TOK_LESS 
TOK_MINUS 
TOK_MUL 
TOK_NULL 
TOK_OVERFLOW 
TOK_OPEN_PAREN 
TOK_PLUS 
TOK_TRUE 
TOP 
TOWARD_GREATER 
TOWARD_LESSER 
TRAILING 
TRANSFORM 
TRIM_FUNC 
TRUNCATION 
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 
UPPER_CASE_FUNC 
USAGE 
USE 
USER 
USER_DEFAULT 
USER_FUNCTION_NAME 
USING 
VALUE 
VARYING 
WAIT 
WHEN 
WHEN_COMPILED_FUNC 
WITH 
WORD 
WORDS 
WORKING_STORAGE 
WRITE 
YYYYDDD 
YYYYMMDD 
ZERO 
SHIFT_PREFER 
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 
ASCII 
ASSIGN 
AT 
ATTRIBUTE 
AUTO 
AUTOMATIC 
AWAY_FROM_ZERO 
BACKGROUND_COLOR 
BASED 
BEFORE 
BELL 
BINARY 
BINARY_C_LONG 
BINARY_CHAR 
BINARY_DOUBLE 
BINARY_LONG 
BINARY_SHORT 
BLANK 
BLINK 
BLOCK 
BOTTOM 
BY 
BYTE_LENGTH 
CALL 
CANCEL 
CAPACITY 
CF 
CH 
CHAINING 
CHARACTER 
CHARACTERS 
CLASS 
CLASSIFICATION 
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_6 
COMP_X 
CONCATENATE_FUNC 
CONDITION 
CONFIGURATION 
CONSTANT 
CONTAINS 
CONTENT 
CONTINUE 
CONTROL 
CONTROLS 
CONVERSION 
CONVERTING 
COPY 
CORRESPONDING 
COUNT 
CRT 
CRT_UNDER 
CURRENCY 
CURRENT_DATE_FUNC 
CURSOR 
CYCLE 
DATA 
DATE 
DAY 
DAY_OF_WEEK 
DE 
DEBUGGING 
DECIMAL_POINT 
DECLARATIVES 
DEFAULT 
DELETE 
DELIMITED 
DELIMITER 
DEPENDING 
DESCENDING 
DETAIL 
DISC 
DISK 
DISPLAY 
DISPLAY_OF_FUNC 
DIVIDE 
DIVISION 
DOWN 
DUPLICATES 
DYNAMIC 
EBCDIC 
EC 
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 
ERASE 
ERROR 
ESCAPE 
EVALUATE 
EVENT_STATUS 
EXCEPTION 
EXCEPTION_CONDITION 
EXCLUSIVE 
EXIT 
EXPONENTIATION 
EXTEND 
EXTERNAL 
FD 
FILE_CONTROL 
FILE_ID 
FILLER 
FINAL 
FIRST 
FLOAT_BINARY_128 
FLOAT_BINARY_32 
FLOAT_BINARY_64 
FLOAT_DECIMAL_16 
FLOAT_DECIMAL_34 
FLOAT_DECIMAL_7 
FLOAT_EXTENDED 
FLOAT_LONG 
FLOAT_SHORT 
FOOTING 
FOR 
FOREGROUND_COLOR 
FOREVER 
FORMATTED_DATE_FUNC 
FORMATTED_DATETIME_FUNC 
FORMATTED_TIME_FUNC 
FREE 
FROM 
FROM_CRT 
FULL 
FUNCTION 
FUNCTION_ID 
FUNCTION_NAME 
GENERATE 
GIVING 
GLOBAL 
GO 
GOBACK 
GREATER 
GREATER_OR_EQUAL 
GRID 
GROUP 
HEADING 
HIGHLIGHT 
HIGH_VALUE 
ID 
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 
KEPT 
KEY 
KEYBOARD 
LABEL 
LAST 
LEADING 
LEFT 
LEFTLINE 
LENGTH 
LENGTH_OF 
LESS 
LESS_OR_EQUAL 
LIMIT 
LIMITS 
LINAGE 
LINAGE_COUNTER 
LINE 
LINE_COUNTER 
LINES 
LINKAGE 
LITERAL 
LOCALE 
LOCALE_DATE_FUNC 
LOCALE_TIME_FUNC 
LOCALE_TIME_FROM_FUNC 
LOCAL_STORAGE 
LOCK 
LOWER 
LOWER_CASE_FUNC 
LOWLIGHT 
LOW_VALUE 
MANUAL 
MEMORY 
MERGE 
MINUS 
MNEMONIC_NAME 
MODE 
MOVE 
MULTIPLE 
MULTIPLY 
NAME 
NATIONAL 
NATIONAL_EDITED 
NATIONAL_OF_FUNC 
NATIVE 
NEAREST_AWAY_FROM_ZERO 
NEAREST_EVEN 
NEAREST_TOWARD_ZERO 
NEGATIVE 
NEXT 
NEXT_PAGE 
NO 
NO_ECHO 
NORMAL 
NOT 
NOTHING 
NOT_END 
NOT_EOP 
NOT_ESCAPE 
NOT_EQUAL 
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 
OVERLINE 
PACKED_DECIMAL 
PADDING 
PAGE 
PAGE_COUNTER 
PARAGRAPH 
PERFORM 
PH 
PF 
PICTURE 
PICTURE_SYMBOL 
PLUS 
POINTER 
POSITION 
POSITIVE 
PRESENT 
PREVIOUS 
PRINT 
PRINTER 
PRINTER_1 
PRINTING 
PROCEDURE 
PROCEDURES 
PROCEED 
PROGRAM 
PROGRAM_ID 
PROGRAM_NAME 
PROGRAM_POINTER 
PROHIBITED 
PROMPT 
PROTECTED 
QUOTE 
RANDOM 
RD 
READ 
READY_TRACE 
RECORD 
RECORDING 
RECORDS 
RECURSIVE 
REDEFINES 
REEL 
REFERENCE 
REFERENCES 
RELATIVE 
RELEASE 
REMAINDER 
REMOVAL 
RENAMES 
REPLACE 
REPLACING 
REPORT 
REPORTING 
REPORTS 
REPOSITORY 
REQUIRED 
RESERVE 
RESET 
RESET_TRACE 
RETURN 
RETURNING 
REVERSE_FUNC 
REVERSE_VIDEO 
REVERSED 
REWIND 
REWRITE 
RF 
RH 
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 
STATIC 
STATUS 
STDCALL 
STEP 
STOP 
STRING 
SUBSTITUTE_FUNC 
SUBSTITUTE_CASE_FUNC 
SUBTRACT 
SUM 
SUPPRESS 
SYMBOLIC 
SYNCHRONIZED 
SYSTEM_DEFAULT 
SYSTEM_OFFSET 
TAB 
TALLYING 
TAPE 
TERMINATE 
TEST 
THAN 
THEN 
THRU 
TIME 
TIMEOUT 
TIMES 
TO 
TOK_AMPER 
TOK_CLOSE_PAREN 
TOK_COLON 
TOK_DIV 
TOK_DOT 
TOK_EQUAL 
TOK_FALSE 
TOK_FILE 
TOK_GREATER 
TOK_INITIAL 
TOK_LESS 
TOK_MINUS 
TOK_MUL 
TOK_NULL 
TOK_OVERFLOW 
TOK_OPEN_PAREN 
TOK_PLUS 
TOK_TRUE 
TOP 
TOWARD_GREATER 
TOWARD_LESSER 
TRAILING 
TRANSFORM 
TRIM_FUNC 
TRUNCATION 
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 
UPPER_CASE_FUNC 
USAGE 
USE 
USER 
USER_DEFAULT 
USER_FUNCTION_NAME 
USING 
VALUE 
VARYING 
WAIT 
WHEN 
WHEN_COMPILED_FUNC 
WITH 
WORD 
WORDS 
WORKING_STORAGE 
WRITE 
YYYYDDD 
YYYYMMDD 
ZERO 
SHIFT_PREFER 
TOKEN_EOF 
ALSO 
BY 
COPY 
EQEQ 
IN 
LAST 
LEADING 
OF 
OFF 
PRINTING 
REPLACE 
REPLACING 
SUPPRESS 
TRAILING 
DOT 
GARBAGE 
SOURCE_DIRECTIVE 
FORMAT 
IS 
FIXED 
FREE 
DEFINE_DIRECTIVE 
AS 
PARAMETER 
OVERRIDE 
SET_DIRECTIVE 
CONSTANT 
SOURCEFORMAT 
FOLDCOPYNAME 
NOFOLDCOPYNAME 
IF_DIRECTIVE 
ELSE_DIRECTIVE 
ENDIF_DIRECTIVE 
ELIF_DIRECTIVE 
GE 
LE 
LT 
GT 
EQ 
NE 
NOT 
THAN 
TO 
OR 
EQUAL 
GREATER 
LESS 
SET 
DEFINED 
TURN_DIRECTIVE 
ON 
CHECKING 
WITH 
LOCATION 
TERMINATOR 
TOKEN 
VARIABLE 
LITERAL 
TOKEN_EOF 
ALSO 
BY 
COPY 
EQEQ 
IN 
LAST 
LEADING 
OF 
OFF 
PRINTING 
REPLACE 
REPLACING 
SUPPRESS 
TRAILING 
DOT 
GARBAGE 
SOURCE_DIRECTIVE 
FORMAT 
IS 
FIXED 
FREE 
DEFINE_DIRECTIVE 
AS 
PARAMETER 
OVERRIDE 
SET_DIRECTIVE 
CONSTANT 
SOURCEFORMAT 
FOLDCOPYNAME 
NOFOLDCOPYNAME 
IF_DIRECTIVE 
ELSE_DIRECTIVE 
ENDIF_DIRECTIVE 
ELIF_DIRECTIVE 
GE 
LE 
LT 
GT 
EQ 
NE 
NOT 
THAN 
TO 
OR 
EQUAL 
GREATER 
LESS 
SET 
DEFINED 
TURN_DIRECTIVE 
ON 
CHECKING 
WITH 
LOCATION 
TERMINATOR 
TOKEN 
VARIABLE 
LITERAL 

Definition at line 46 of file ppparse.h.

47  {
48  TOKEN_EOF = 0,
49  ALSO = 258,
50  BY = 259,
51  COPY = 260,
52  EQEQ = 261,
53  IN = 262,
54  LAST = 263,
55  LEADING = 264,
56  OF = 265,
57  OFF = 266,
58  PRINTING = 267,
59  REPLACE = 268,
60  REPLACING = 269,
61  SUPPRESS = 270,
62  TRAILING = 271,
63  DOT = 272,
64  GARBAGE = 273,
65  SOURCE_DIRECTIVE = 274,
66  FORMAT = 275,
67  IS = 276,
68  FIXED = 277,
69  FREE = 278,
70  DEFINE_DIRECTIVE = 279,
71  AS = 280,
72  PARAMETER = 281,
73  OVERRIDE = 282,
74  SET_DIRECTIVE = 283,
75  CONSTANT = 284,
76  SOURCEFORMAT = 285,
77  FOLDCOPYNAME = 286,
78  NOFOLDCOPYNAME = 287,
79  IF_DIRECTIVE = 288,
80  ELSE_DIRECTIVE = 289,
81  ENDIF_DIRECTIVE = 290,
82  ELIF_DIRECTIVE = 291,
83  GE = 292,
84  LE = 293,
85  LT = 294,
86  GT = 295,
87  EQ = 296,
88  NE = 297,
89  NOT = 298,
90  THAN = 299,
91  TO = 300,
92  OR = 301,
93  EQUAL = 302,
94  GREATER = 303,
95  LESS = 304,
96  SET = 305,
97  DEFINED = 306,
98  TURN_DIRECTIVE = 307,
99  ON = 308,
100  CHECKING = 309,
101  WITH = 310,
102  LOCATION = 311,
103  TERMINATOR = 312,
104  TOKEN = 313,
105  VARIABLE = 314,
106  LITERAL = 315
107  };
Definition: ppparse.h:56
Definition: ppparse.h:87
Definition: ppparse.h:92
Definition: ppparse.h:57
Definition: ppparse.h:99
Definition: ppparse.h:95
Definition: ppparse.h:90
Definition: ppparse.h:91
Definition: ppparse.h:51
Definition: ppparse.h:96
Definition: ppparse.h:66
Definition: ppparse.h:93
Definition: ppparse.h:86
Definition: ppparse.h:54
Definition: ppparse.h:49
Definition: ppparse.h:63
Definition: ppparse.h:101
Definition: ppparse.h:88
Definition: ppparse.h:85
Definition: ppparse.h:104
Definition: ppparse.h:71
Definition: ppparse.h:69
Definition: ppparse.h:68
Definition: ppparse.h:83
Definition: ppparse.h:84
Definition: ppparse.h:67
Definition: ppparse.h:53
Definition: ppparse.h:89
Definition: ppparse.h:50
Definition: ppparse.h:52

Function Documentation

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.

1657 {
1658  int yystate;
1659  /* Number of tokens to shift before error messages enabled. */
1660  int yyerrstatus;
1661 
1662  /* The stacks and their tools:
1663  'yyss': related to states.
1664  'yyvs': related to semantic values.
1665 
1666  Refer to the stacks through separate pointers, to allow yyoverflow
1667  to reallocate them elsewhere. */
1668 
1669  /* The state stack. */
1670  yytype_int16 yyssa[YYINITDEPTH];
1671  yytype_int16 *yyss;
1672  yytype_int16 *yyssp;
1673 
1674  /* The semantic value stack. */
1675  YYSTYPE yyvsa[YYINITDEPTH];
1676  YYSTYPE *yyvs;
1677  YYSTYPE *yyvsp;
1678 
1679  YYSIZE_T yystacksize;
1680 
1681  int yyn;
1682  int yyresult;
1683  /* Lookahead token as an internal (translated) token number. */
1684  int yytoken = 0;
1685  /* The variables used to return semantic value and location from the
1686  action routines. */
1687  YYSTYPE yyval;
1688 
1689 #if YYERROR_VERBOSE
1690  /* Buffer for error messages, and its allocated size. */
1691  char yymsgbuf[128];
1692  char *yymsg = yymsgbuf;
1693  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1694 #endif
1695 
1696 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1697 
1698  /* The number of symbols on the RHS of the reduced rule.
1699  Keep to zero when no symbol should be popped. */
1700  int yylen = 0;
1701 
1702  yyssp = yyss = yyssa;
1703  yyvsp = yyvs = yyvsa;
1704  yystacksize = YYINITDEPTH;
1705 
1706  YYDPRINTF ((stderr, "Starting parse\n"));
1707 
1708  yystate = 0;
1709  yyerrstatus = 0;
1710  yynerrs = 0;
1711  yychar = YYEMPTY; /* Cause a token to be read. */
1712  goto yysetstate;
1713 
1714 /*------------------------------------------------------------.
1715 | yynewstate -- Push a new state, which is found in yystate. |
1716 `------------------------------------------------------------*/
1717  yynewstate:
1718  /* In all cases, when you get here, the value and location stacks
1719  have just been pushed. So pushing a state here evens the stacks. */
1720  yyssp++;
1721 
1722  yysetstate:
1723  *yyssp = yystate;
1724 
1725  if (yyss + yystacksize - 1 <= yyssp)
1726  {
1727  /* Get the current used size of the three stacks, in elements. */
1728  YYSIZE_T yysize = yyssp - yyss + 1;
1729 
1730 #ifdef yyoverflow
1731  {
1732  /* Give user a chance to reallocate the stack. Use copies of
1733  these so that the &'s don't force the real ones into
1734  memory. */
1735  YYSTYPE *yyvs1 = yyvs;
1736  yytype_int16 *yyss1 = yyss;
1737 
1738  /* Each stack pointer address is followed by the size of the
1739  data in use in that stack, in bytes. This used to be a
1740  conditional around just the two extra args, but that might
1741  be undefined if yyoverflow is a macro. */
1742  yyoverflow (YY_("memory exhausted"),
1743  &yyss1, yysize * sizeof (*yyssp),
1744  &yyvs1, yysize * sizeof (*yyvsp),
1745  &yystacksize);
1746 
1747  yyss = yyss1;
1748  yyvs = yyvs1;
1749  }
1750 #else /* no yyoverflow */
1751 # ifndef YYSTACK_RELOCATE
1752  goto yyexhaustedlab;
1753 # else
1754  /* Extend the stack our own way. */
1755  if (YYMAXDEPTH <= yystacksize)
1756  goto yyexhaustedlab;
1757  yystacksize *= 2;
1758  if (YYMAXDEPTH < yystacksize)
1759  yystacksize = YYMAXDEPTH;
1760 
1761  {
1762  yytype_int16 *yyss1 = yyss;
1763  union yyalloc *yyptr =
1764  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1765  if (! yyptr)
1766  goto yyexhaustedlab;
1767  YYSTACK_RELOCATE (yyss_alloc, yyss);
1768  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1769 # undef YYSTACK_RELOCATE
1770  if (yyss1 != yyssa)
1771  YYSTACK_FREE (yyss1);
1772  }
1773 # endif
1774 #endif /* no yyoverflow */
1775 
1776  yyssp = yyss + yysize - 1;
1777  yyvsp = yyvs + yysize - 1;
1778 
1779  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1780  (unsigned long int) yystacksize));
1781 
1782  if (yyss + yystacksize - 1 <= yyssp)
1783  YYABORT;
1784  }
1785 
1786  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1787 
1788  if (yystate == YYFINAL)
1789  YYACCEPT;
1790 
1791  goto yybackup;
1792 
1793 /*-----------.
1794 | yybackup. |
1795 `-----------*/
1796 yybackup:
1797 
1798  /* Do appropriate processing given the current state. Read a
1799  lookahead token if we need one and don't already have one. */
1800 
1801  /* First try to decide what to do without reference to lookahead token. */
1802  yyn = yypact[yystate];
1803  if (yypact_value_is_default (yyn))
1804  goto yydefault;
1805 
1806  /* Not known => get a lookahead token if don't already have one. */
1807 
1808  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1809  if (yychar == YYEMPTY)
1810  {
1811  YYDPRINTF ((stderr, "Reading a token: "));
1812  yychar = yylex ();
1813  }
1814 
1815  if (yychar <= YYEOF)
1816  {
1817  yychar = yytoken = YYEOF;
1818  YYDPRINTF ((stderr, "Now at end of input.\n"));
1819  }
1820  else
1821  {
1822  yytoken = YYTRANSLATE (yychar);
1823  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1824  }
1825 
1826  /* If the proper action on seeing token YYTOKEN is to reduce or to
1827  detect an error, take that action. */
1828  yyn += yytoken;
1829  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1830  goto yydefault;
1831  yyn = yytable[yyn];
1832  if (yyn <= 0)
1833  {
1834  if (yytable_value_is_error (yyn))
1835  goto yyerrlab;
1836  yyn = -yyn;
1837  goto yyreduce;
1838  }
1839 
1840  /* Count tokens shifted since error; after three, turn off error
1841  status. */
1842  if (yyerrstatus)
1843  yyerrstatus--;
1844 
1845  /* Shift the lookahead token. */
1846  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1847 
1848  /* Discard the shifted token. */
1849  yychar = YYEMPTY;
1850 
1851  yystate = yyn;
1853  *++yyvsp = yylval;
1855 
1856  goto yynewstate;
1857 
1858 
1859 /*-----------------------------------------------------------.
1860 | yydefault -- do the default action for the current state. |
1861 `-----------------------------------------------------------*/
1862 yydefault:
1863  yyn = yydefact[yystate];
1864  if (yyn == 0)
1865  goto yyerrlab;
1866  goto yyreduce;
1867 
1868 
1869 /*-----------------------------.
1870 | yyreduce -- Do a reduction. |
1871 `-----------------------------*/
1872 yyreduce:
1873  /* yyn is the number of a rule to reduce with. */
1874  yylen = yyr2[yyn];
1875 
1876  /* If YYLEN is nonzero, implement the default value of the action:
1877  '$$ = $1'.
1878 
1879  Otherwise, the following line sets YYVAL to garbage.
1880  This behavior is undocumented and Bison
1881  users should not rely upon it. Assigning to YYVAL
1882  unconditionally makes the parser a bit smaller, and it avoids a
1883  GCC warning that YYVAL may be used uninitialized. */
1884  yyval = yyvsp[1-yylen];
1885 
1886 
1887  YY_REDUCE_PRINT (yyn);
1888  switch (yyn)
1889  {
1890  case 11:
1891 #line 620 "ppparse.y" /* yacc.c:1646 */
1892  {
1894  }
1895 #line 1896 "ppparse.c" /* yacc.c:1646 */
1896  break;
1897 
1898  case 13:
1899 #line 625 "ppparse.y" /* yacc.c:1646 */
1900  {
1902  }
1903 #line 1904 "ppparse.c" /* yacc.c:1646 */
1904  break;
1905 
1906  case 15:
1907 #line 630 "ppparse.y" /* yacc.c:1646 */
1908  {
1910  }
1911 #line 1912 "ppparse.c" /* yacc.c:1646 */
1912  break;
1913 
1914  case 16:
1915 #line 634 "ppparse.y" /* yacc.c:1646 */
1916  {
1918  }
1919 #line 1920 "ppparse.c" /* yacc.c:1646 */
1920  break;
1921 
1922  case 19:
1923 #line 646 "ppparse.y" /* yacc.c:1646 */
1924  {
1925  struct cb_define_struct *p;
1926 
1927  p = ppp_define_add (ppp_setvar_list, (yyvsp[-2].s), (yyvsp[0].s), 1);
1928  if (p) {
1929  ppp_setvar_list = p;
1930  fprintf (ppout, "#DEFLIT %s %s\n", (yyvsp[-2].s), (yyvsp[0].s));
1931  }
1932  }
1933 #line 1934 "ppparse.c" /* yacc.c:1646 */
1934  break;
1935 
1936  case 21:
1937 #line 657 "ppparse.y" /* yacc.c:1646 */
1938  {
1939  char *p;
1940  size_t size;
1941  int quote;
1942 
1943  p = (yyvsp[0].s);
1944  if (*p == '\"' || *p == '\'') {
1945  quote = *p;
1946  p++;
1947  size = strlen (p) - 1;
1948  if (p[size] != quote) {
1949  cb_error (_("Invalid %s directive"), "SOURCEFORMAT");
1950  }
1951  p[size] = 0;
1952  }
1953  if (!strcasecmp (p, "FIXED")) {
1955  } else if (!strcasecmp (p, "FREE")) {
1957  } else {
1958  cb_error (_("Invalid %s directive"), "SOURCEFORMAT");
1959  }
1960  }
1961 #line 1962 "ppparse.c" /* yacc.c:1646 */
1962  break;
1963 
1964  case 22:
1965 #line 681 "ppparse.y" /* yacc.c:1646 */
1966  {
1967  cb_fold_copy = 0;
1968  }
1969 #line 1970 "ppparse.c" /* yacc.c:1646 */
1970  break;
1971 
1972  case 23:
1973 #line 685 "ppparse.y" /* yacc.c:1646 */
1974  {
1975  char *p;
1976  size_t size;
1977  int quote;
1978 
1979  p = (yyvsp[0].s);
1980  if (*p == '\"' || *p == '\'') {
1981  quote = *p;
1982  p++;
1983  size = strlen (p) - 1;
1984  if (p[size] != quote) {
1985  cb_error (_("Invalid %s directive"), "FOLD-COPY-NAME");
1986  }
1987  p[size] = 0;
1988  }
1989  if (!strcasecmp (p, "UPPER")) {
1990  cb_fold_copy = COB_FOLD_UPPER;
1991  } else if (!strcasecmp (p, "LOWER")) {
1992  cb_fold_copy = COB_FOLD_LOWER;
1993  } else {
1994  cb_error (_("Invalid %s directive"), "FOLD-COPY-NAME");
1995  }
1996  }
1997 #line 1998 "ppparse.c" /* yacc.c:1646 */
1998  break;
1999 
2000  case 24:
2001 #line 712 "ppparse.y" /* yacc.c:1646 */
2002  {
2003  fprintf (ppout, "#OPTION %s\n", (yyvsp[0].s));
2004  }
2005 #line 2006 "ppparse.c" /* yacc.c:1646 */
2006  break;
2007 
2008  case 25:
2009 #line 716 "ppparse.y" /* yacc.c:1646 */
2010  {
2011  fprintf (ppout, "#OPTION %s %s\n", (yyvsp[-2].s), (yyvsp[0].s));
2012  }
2013 #line 2014 "ppparse.c" /* yacc.c:1646 */
2014  break;
2015 
2016  case 27:
2017 #line 727 "ppparse.y" /* yacc.c:1646 */
2018  {
2020  }
2021 #line 2022 "ppparse.c" /* yacc.c:1646 */
2022  break;
2023 
2024  case 28:
2025 #line 731 "ppparse.y" /* yacc.c:1646 */
2026  {
2028  }
2029 #line 2030 "ppparse.c" /* yacc.c:1646 */
2030  break;
2031 
2032  case 29:
2033 #line 735 "ppparse.y" /* yacc.c:1646 */
2034  {
2035  cb_error (_("Invalid %s directive"), "SOURCE");
2036  YYERROR;
2037  }
2038 #line 2039 "ppparse.c" /* yacc.c:1646 */
2039  break;
2040 
2041  case 30:
2042 #line 743 "ppparse.y" /* yacc.c:1646 */
2043  {
2044  ppp_define_del ((yyvsp[-2].s));
2045  }
2046 #line 2047 "ppparse.c" /* yacc.c:1646 */
2047  break;
2048 
2049  case 31:
2050 #line 747 "ppparse.y" /* yacc.c:1646 */
2051  {
2052  char *s;
2053  char *q;
2054  struct cb_define_struct *p;
2055  size_t size;
2056 
2057  s = getenv ((yyvsp[-3].s));
2058  q = NULL;
2059  if (s && *s && *s != ' ') {
2060  if (*s == '"' || *s == '\'') {
2061  size = strlen (s) - 1U;
2062  /* Ignore if improperly quoted */
2063  if (s[0] == s[size]) {
2064  q = s;
2065  }
2066  } else {
2067  if (ppp_check_needs_quote (s)) {
2068  /* Alphanumeric literal */
2069  q = cobc_plex_malloc (strlen (s) + 4U);
2070  sprintf (q, "'%s'", s);
2071  } else {
2072  /* Numeric literal */
2073  q = s;
2074  }
2075  }
2076  }
2077  if (q) {
2078  p = ppp_define_add (ppp_setvar_list, (yyvsp[-3].s), q, (yyvsp[0].ui));
2079  if (p) {
2080  ppp_setvar_list = p;
2081  }
2082  }
2083  }
2084 #line 2085 "ppparse.c" /* yacc.c:1646 */
2085  break;
2086 
2087  case 32:
2088 #line 781 "ppparse.y" /* yacc.c:1646 */
2089  {
2090  struct cb_define_struct *p;
2091 
2092  p = ppp_define_add (ppp_setvar_list, (yyvsp[-3].s), (yyvsp[-1].s), (yyvsp[0].ui));
2093  if (p) {
2094  ppp_setvar_list = p;
2095  }
2096  }
2097 #line 2098 "ppparse.c" /* yacc.c:1646 */
2098  break;
2099 
2100  case 33:
2101 #line 790 "ppparse.y" /* yacc.c:1646 */
2102  {
2103  struct cb_define_struct *p;
2104 
2105  p = ppp_define_add (ppp_setvar_list, (yyvsp[-3].s), (yyvsp[-1].s), (yyvsp[0].ui));
2106  if (p) {
2107  ppp_setvar_list = p;
2108  fprintf (ppout, "#DEFLIT %s %s\n", (yyvsp[-3].s), (yyvsp[-1].s));
2109  }
2110  }
2111 #line 2112 "ppparse.c" /* yacc.c:1646 */
2112  break;
2113 
2114  case 34:
2115 #line 800 "ppparse.y" /* yacc.c:1646 */
2116  {
2117  cb_error (_("Invalid %s directive"), "DEFINE/SET");
2118  }
2119 #line 2120 "ppparse.c" /* yacc.c:1646 */
2120  break;
2121 
2122  case 35:
2123 #line 808 "ppparse.y" /* yacc.c:1646 */
2124  {
2125  cb_warning (_("%s directive not yet implemented"), "TURN");
2126  }
2127 #line 2128 "ppparse.c" /* yacc.c:1646 */
2128  break;
2129 
2130  case 44:
2131 #line 832 "ppparse.y" /* yacc.c:1646 */
2132  {
2133  unsigned int found;
2134 
2135  found = (ppp_search_lists ((yyvsp[-3].s)) != NULL);
2136  plex_action_directive (current_cmd, found ^ (yyvsp[-1].ui));
2137  }
2138 #line 2139 "ppparse.c" /* yacc.c:1646 */
2139  break;
2140 
2141  case 45:
2142 #line 839 "ppparse.y" /* yacc.c:1646 */
2143  {
2144  unsigned int found;
2145 
2146  found = ppp_search_comp_vars ((yyvsp[-3].s));
2147  plex_action_directive (current_cmd, found ^ (yyvsp[-1].ui));
2148  }
2149 #line 2150 "ppparse.c" /* yacc.c:1646 */
2150  break;
2151 
2152  case 46:
2153 #line 846 "ppparse.y" /* yacc.c:1646 */
2154  {
2155  struct cb_define_struct *p;
2156  unsigned int found;
2157 
2158  found = 0;
2159  p = ppp_search_lists ((yyvsp[-4].s));
2160  found = ppp_compare_vals (p, (yyvsp[0].ds), (yyvsp[-1].ui));
2161  plex_action_directive (current_cmd, found ^ (yyvsp[-2].ui));
2162  }
2163 #line 2164 "ppparse.c" /* yacc.c:1646 */
2164  break;
2165 
2166  case 47:
2167 #line 856 "ppparse.y" /* yacc.c:1646 */
2168  {
2169  struct cb_define_struct *p;
2170  unsigned int found;
2171 
2172  found = 0;
2173  p = cobc_plex_malloc (sizeof (struct cb_define_struct));
2174  p->next = NULL;
2175  if (ppp_set_value (p, (yyvsp[-4].s))) {
2176  cb_error (_("Invalid constant"));
2177  } else {
2178  found = ppp_compare_vals (p, (yyvsp[0].ds), (yyvsp[-1].ui));
2179  }
2180  plex_action_directive (current_cmd, found ^ (yyvsp[-2].ui));
2181  }
2182 #line 2183 "ppparse.c" /* yacc.c:1646 */
2183  break;
2184 
2185  case 48:
2186 #line 871 "ppparse.y" /* yacc.c:1646 */
2187  {
2188  cb_error (_("Invalid %s directive"), "IF/ELIF");
2189  }
2190 #line 2191 "ppparse.c" /* yacc.c:1646 */
2191  break;
2192 
2193  case 51:
2194 #line 883 "ppparse.y" /* yacc.c:1646 */
2195  {
2196  struct cb_define_struct *p;
2197 
2198  p = cobc_plex_malloc (sizeof (struct cb_define_struct));
2199  p->next = NULL;
2200  if (ppp_set_value (p, (yyvsp[0].s))) {
2201  cb_error (_("Invalid constant"));
2202  (yyval.ds) = NULL;
2203  } else {
2204  (yyval.ds) = p;
2205  }
2206  }
2207 #line 2208 "ppparse.c" /* yacc.c:1646 */
2208  break;
2209 
2210  case 52:
2211 #line 896 "ppparse.y" /* yacc.c:1646 */
2212  {
2213  struct cb_define_struct *p;
2214 
2215  p = ppp_search_lists ((yyvsp[0].s));
2216  if (p != NULL && p->deftype != PLEX_DEF_NONE) {
2217  (yyval.ds) = p;
2218  } else {
2219  (yyval.ds) = NULL;
2220  }
2221  }
2222 #line 2223 "ppparse.c" /* yacc.c:1646 */
2223  break;
2224 
2225  case 53:
2226 #line 910 "ppparse.y" /* yacc.c:1646 */
2227  {
2228  (yyval.ui) = COND_GE;
2229  }
2230 #line 2231 "ppparse.c" /* yacc.c:1646 */
2231  break;
2232 
2233  case 54:
2234 #line 914 "ppparse.y" /* yacc.c:1646 */
2235  {
2236  (yyval.ui) = COND_GT;
2237  }
2238 #line 2239 "ppparse.c" /* yacc.c:1646 */
2239  break;
2240 
2241  case 55:
2242 #line 918 "ppparse.y" /* yacc.c:1646 */
2243  {
2244  (yyval.ui) = COND_LE;
2245  }
2246 #line 2247 "ppparse.c" /* yacc.c:1646 */
2247  break;
2248 
2249  case 56:
2250 #line 922 "ppparse.y" /* yacc.c:1646 */
2251  {
2252  (yyval.ui) = COND_LT;
2253  }
2254 #line 2255 "ppparse.c" /* yacc.c:1646 */
2255  break;
2256 
2257  case 57:
2258 #line 926 "ppparse.y" /* yacc.c:1646 */
2259  {
2260  (yyval.ui) = COND_EQ;
2261  }
2262 #line 2263 "ppparse.c" /* yacc.c:1646 */
2263  break;
2264 
2265  case 58:
2266 #line 930 "ppparse.y" /* yacc.c:1646 */
2267  {
2268  (yyval.ui) = COND_GE;
2269  }
2270 #line 2271 "ppparse.c" /* yacc.c:1646 */
2271  break;
2272 
2273  case 59:
2274 #line 934 "ppparse.y" /* yacc.c:1646 */
2275  {
2276  (yyval.ui) = COND_GT;
2277  }
2278 #line 2279 "ppparse.c" /* yacc.c:1646 */
2279  break;
2280 
2281  case 60:
2282 #line 938 "ppparse.y" /* yacc.c:1646 */
2283  {
2284  (yyval.ui) = COND_LE;
2285  }
2286 #line 2287 "ppparse.c" /* yacc.c:1646 */
2287  break;
2288 
2289  case 61:
2290 #line 942 "ppparse.y" /* yacc.c:1646 */
2291  {
2292  (yyval.ui) = COND_LT;
2293  }
2294 #line 2295 "ppparse.c" /* yacc.c:1646 */
2295  break;
2296 
2297  case 62:
2298 #line 946 "ppparse.y" /* yacc.c:1646 */
2299  {
2300  (yyval.ui) = COND_EQ;
2301  }
2302 #line 2303 "ppparse.c" /* yacc.c:1646 */
2303  break;
2304 
2305  case 63:
2306 #line 950 "ppparse.y" /* yacc.c:1646 */
2307  {
2308  (yyval.ui) = COND_NE;
2309  }
2310 #line 2311 "ppparse.c" /* yacc.c:1646 */
2311  break;
2312 
2313  case 64:
2314 #line 957 "ppparse.y" /* yacc.c:1646 */
2315  {
2316  fputc ('\n', ppout);
2317  (yyvsp[-3].s) = fix_filename ((yyvsp[-3].s));
2318  if (cb_fold_copy == COB_FOLD_LOWER) {
2319  (yyvsp[-3].s) = fold_lower ((yyvsp[-3].s));
2320  } else if (cb_fold_copy == COB_FOLD_UPPER) {
2321  (yyvsp[-3].s) = fold_upper ((yyvsp[-3].s));
2322  }
2323  if ((yyvsp[-2].s)) {
2324  (yyvsp[-2].s) = fix_filename ((yyvsp[-2].s));
2325  if (cb_fold_copy == COB_FOLD_LOWER) {
2326  (yyvsp[-2].s) = fold_lower ((yyvsp[-2].s));
2327  } else if (cb_fold_copy == COB_FOLD_UPPER) {
2328  (yyvsp[-2].s) = fold_upper ((yyvsp[-2].s));
2329  }
2330  }
2331  ppcopy ((yyvsp[-3].s), (yyvsp[-2].s), (yyvsp[0].r));
2332  }
2333 #line 2334 "ppparse.c" /* yacc.c:1646 */
2334  break;
2335 
2336  case 65:
2337 #line 979 "ppparse.y" /* yacc.c:1646 */
2338  {
2339  (yyval.s) = NULL;
2340  }
2341 #line 2342 "ppparse.c" /* yacc.c:1646 */
2342  break;
2343 
2344  case 66:
2345 #line 983 "ppparse.y" /* yacc.c:1646 */
2346  {
2347  (yyval.s) = (yyvsp[0].s);
2348  }
2349 #line 2350 "ppparse.c" /* yacc.c:1646 */
2350  break;
2351 
2352  case 71:
2353 #line 999 "ppparse.y" /* yacc.c:1646 */
2354  {
2355  (yyval.r) = NULL;
2356  }
2357 #line 2358 "ppparse.c" /* yacc.c:1646 */
2358  break;
2359 
2360  case 72:
2361 #line 1003 "ppparse.y" /* yacc.c:1646 */
2362  {
2363  (yyval.r) = (yyvsp[0].r);
2364  }
2365 #line 2366 "ppparse.c" /* yacc.c:1646 */
2366  break;
2367 
2368  case 73:
2369 #line 1010 "ppparse.y" /* yacc.c:1646 */
2370  {
2371  pp_set_replace_list ((yyvsp[0].r), (yyvsp[-1].ui));
2372  }
2373 #line 2374 "ppparse.c" /* yacc.c:1646 */
2374  break;
2375 
2376  case 74:
2377 #line 1014 "ppparse.y" /* yacc.c:1646 */
2378  {
2379  pp_set_replace_list (NULL, (yyvsp[-1].ui));
2380  }
2381 #line 2382 "ppparse.c" /* yacc.c:1646 */
2382  break;
2383 
2384  case 75:
2385 #line 1021 "ppparse.y" /* yacc.c:1646 */
2386  {
2387  (yyval.r) = ppp_replace_list_add (NULL, (yyvsp[-2].l), (yyvsp[0].l), 0);
2388  }
2389 #line 2390 "ppparse.c" /* yacc.c:1646 */
2390  break;
2391 
2392  case 76:
2393 #line 1025 "ppparse.y" /* yacc.c:1646 */
2394  {
2395  (yyval.r) = ppp_replace_list_add (NULL, (yyvsp[-2].l), (yyvsp[0].l), (yyvsp[-3].ui));
2396  }
2397 #line 2398 "ppparse.c" /* yacc.c:1646 */
2398  break;
2399 
2400  case 77:
2401 #line 1029 "ppparse.y" /* yacc.c:1646 */
2402  {
2403  (yyval.r) = ppp_replace_list_add ((yyvsp[-3].r), (yyvsp[-2].l), (yyvsp[0].l), 0);
2404  }
2405 #line 2406 "ppparse.c" /* yacc.c:1646 */
2406  break;
2407 
2408  case 78:
2409 #line 1033 "ppparse.y" /* yacc.c:1646 */
2410  {
2411  (yyval.r) = ppp_replace_list_add ((yyvsp[-4].r), (yyvsp[-2].l), (yyvsp[0].l), (yyvsp[-3].ui));
2412  }
2413 #line 2414 "ppparse.c" /* yacc.c:1646 */
2414  break;
2415 
2416  case 79:
2417 #line 1040 "ppparse.y" /* yacc.c:1646 */
2418  {
2419  (yyval.l) = (yyvsp[-1].l);
2420  }
2421 #line 2422 "ppparse.c" /* yacc.c:1646 */
2422  break;
2423 
2424  case 80:
2425 #line 1044 "ppparse.y" /* yacc.c:1646 */
2426  {
2427  (yyval.l) = (yyvsp[0].l);
2428  }
2429 #line 2430 "ppparse.c" /* yacc.c:1646 */
2430  break;
2431 
2432  case 81:
2433 #line 1051 "ppparse.y" /* yacc.c:1646 */
2434  {
2435  (yyval.l) = NULL;
2436  }
2437 #line 2438 "ppparse.c" /* yacc.c:1646 */
2438  break;
2439 
2440  case 82:
2441 #line 1055 "ppparse.y" /* yacc.c:1646 */
2442  {
2443  (yyval.l) = (yyvsp[-1].l);
2444  }
2445 #line 2446 "ppparse.c" /* yacc.c:1646 */
2446  break;
2447 
2448  case 83:
2449 #line 1059 "ppparse.y" /* yacc.c:1646 */
2450  {
2451  (yyval.l) = (yyvsp[0].l);
2452  }
2453 #line 2454 "ppparse.c" /* yacc.c:1646 */
2454  break;
2455 
2456  case 84:
2457 #line 1066 "ppparse.y" /* yacc.c:1646 */
2458  {
2459  (yyval.l) = ppp_list_add (NULL, (yyvsp[-1].s));
2460  }
2461 #line 2462 "ppparse.c" /* yacc.c:1646 */
2462  break;
2463 
2464  case 85:
2465 #line 1073 "ppparse.y" /* yacc.c:1646 */
2466  {
2467  (yyval.l) = NULL;
2468  }
2469 #line 2470 "ppparse.c" /* yacc.c:1646 */
2470  break;
2471 
2472  case 86:
2473 #line 1077 "ppparse.y" /* yacc.c:1646 */
2474  {
2475  (yyval.l) = ppp_list_add (NULL, (yyvsp[-1].s));
2476  }
2477 #line 2478 "ppparse.c" /* yacc.c:1646 */
2478  break;
2479 
2480  case 87:
2481 #line 1084 "ppparse.y" /* yacc.c:1646 */
2482  {
2483  (yyval.l) = ppp_list_add (NULL, (yyvsp[0].s));
2484  }
2485 #line 2486 "ppparse.c" /* yacc.c:1646 */
2486  break;
2487 
2488  case 88:
2489 #line 1088 "ppparse.y" /* yacc.c:1646 */
2490  {
2491  (yyval.l) = ppp_list_add ((yyvsp[-1].l), (yyvsp[0].s));
2492  }
2493 #line 2494 "ppparse.c" /* yacc.c:1646 */
2494  break;
2495 
2496  case 89:
2497 #line 1095 "ppparse.y" /* yacc.c:1646 */
2498  {
2499  (yyval.l) = ppp_list_add (NULL, (yyvsp[0].s));
2500  }
2501 #line 2502 "ppparse.c" /* yacc.c:1646 */
2502  break;
2503 
2504  case 90:
2505 #line 1099 "ppparse.y" /* yacc.c:1646 */
2506  {
2507  (yyval.l) = ppp_list_add ((yyvsp[-2].l), " ");
2508  (yyval.l) = ppp_list_add ((yyval.l), "IN");
2509  (yyval.l) = ppp_list_add ((yyval.l), " ");
2510  (yyval.l) = ppp_list_add ((yyval.l), (yyvsp[0].s));
2511  }
2512 #line 2513 "ppparse.c" /* yacc.c:1646 */
2513  break;
2514 
2515  case 91:
2516 #line 1106 "ppparse.y" /* yacc.c:1646 */
2517  {
2518  (yyval.l) = ppp_list_add ((yyvsp[-2].l), " ");
2519  (yyval.l) = ppp_list_add ((yyval.l), "OF");
2520  (yyval.l) = ppp_list_add ((yyval.l), " ");
2521  (yyval.l) = ppp_list_add ((yyval.l), (yyvsp[0].s));
2522  }
2523 #line 2524 "ppparse.c" /* yacc.c:1646 */
2524  break;
2525 
2526  case 92:
2527 #line 1113 "ppparse.y" /* yacc.c:1646 */
2528  {
2529  struct cb_text_list *l;
2530 
2531  (yyval.l) = ppp_list_add ((yyvsp[-3].l), " ");
2532  (yyval.l) = ppp_list_add ((yyval.l), "(");
2533  (yyvsp[-1].l) = ppp_list_add ((yyvsp[-1].l), ")");
2534  for (l = (yyval.l); l->next; l = l->next) {
2535  ;
2536  }
2537  l->next = (yyvsp[-1].l);
2538  }
2539 #line 2540 "ppparse.c" /* yacc.c:1646 */
2540  break;
2541 
2542  case 93:
2543 #line 1128 "ppparse.y" /* yacc.c:1646 */
2544  {
2545  (yyval.l) = ppp_list_add (NULL, (yyvsp[0].s));
2546  }
2547 #line 2548 "ppparse.c" /* yacc.c:1646 */
2548  break;
2549 
2550  case 94:
2551 #line 1132 "ppparse.y" /* yacc.c:1646 */
2552  {
2553  (yyval.l) = ppp_list_add ((yyvsp[-1].l), " ");
2554  (yyval.l) = ppp_list_add ((yyval.l), (yyvsp[0].s));
2555  }
2556 #line 2557 "ppparse.c" /* yacc.c:1646 */
2557  break;
2558 
2559  case 95:
2560 #line 1140 "ppparse.y" /* yacc.c:1646 */
2561  {
2562  (yyval.ui) = CB_REPLACE_LEADING;
2563  }
2564 #line 2565 "ppparse.c" /* yacc.c:1646 */
2565  break;
2566 
2567  case 96:
2568 #line 1144 "ppparse.y" /* yacc.c:1646 */
2569  {
2570  (yyval.ui) = CB_REPLACE_TRAILING;
2571  }
2572 #line 2573 "ppparse.c" /* yacc.c:1646 */
2573  break;
2574 
2575  case 97:
2576 #line 1153 "ppparse.y" /* yacc.c:1646 */
2577  {
2578  (yyval.ui) = 0;
2579  }
2580 #line 2581 "ppparse.c" /* yacc.c:1646 */
2581  break;
2582 
2583  case 98:
2584 #line 1157 "ppparse.y" /* yacc.c:1646 */
2585  {
2586  (yyval.ui) = 1U;
2587  }
2588 #line 2589 "ppparse.c" /* yacc.c:1646 */
2589  break;
2590 
2591  case 99:
2592 #line 1164 "ppparse.y" /* yacc.c:1646 */
2593  {
2594  (yyval.ui) = 0;
2595  }
2596 #line 2597 "ppparse.c" /* yacc.c:1646 */
2597  break;
2598 
2599  case 100:
2600 #line 1168 "ppparse.y" /* yacc.c:1646 */
2601  {
2602  (yyval.ui) = 1U;
2603  }
2604 #line 2605 "ppparse.c" /* yacc.c:1646 */
2605  break;
2606 
2607  case 101:
2608 #line 1175 "ppparse.y" /* yacc.c:1646 */
2609  {
2610  (yyval.ui) = 0;
2611  }
2612 #line 2613 "ppparse.c" /* yacc.c:1646 */
2613  break;
2614 
2615  case 102:
2616 #line 1179 "ppparse.y" /* yacc.c:1646 */
2617  {
2618  (yyval.ui) = 1U;
2619  }
2620 #line 2621 "ppparse.c" /* yacc.c:1646 */
2621  break;
2622 
2623  case 103:
2624 #line 1186 "ppparse.y" /* yacc.c:1646 */
2625  {
2626  (yyval.ui) = 0;
2627  }
2628 #line 2629 "ppparse.c" /* yacc.c:1646 */
2629  break;
2630 
2631  case 104:
2632 #line 1190 "ppparse.y" /* yacc.c:1646 */
2633  {
2634  (yyval.ui) = 1U;
2635  }
2636 #line 2637 "ppparse.c" /* yacc.c:1646 */
2637  break;
2638 
2639 
2640 #line 2641 "ppparse.c" /* yacc.c:1646 */
2641  default: break;
2642  }
2643  /* User semantic actions sometimes alter yychar, and that requires
2644  that yytoken be updated with the new translation. We take the
2645  approach of translating immediately before every use of yytoken.
2646  One alternative is translating here after every semantic action,
2647  but that translation would be missed if the semantic action invokes
2648  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
2649  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
2650  incorrect destructor might then be invoked immediately. In the
2651  case of YYERROR or YYBACKUP, subsequent parser actions might lead
2652  to an incorrect destructor call or verbose syntax error message
2653  before the lookahead is translated. */
2654  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
2655 
2656  YYPOPSTACK (yylen);
2657  yylen = 0;
2658  YY_STACK_PRINT (yyss, yyssp);
2659 
2660  *++yyvsp = yyval;
2661 
2662  /* Now 'shift' the result of the reduction. Determine what state
2663  that goes to, based on the state we popped back to and the rule
2664  number reduced by. */
2665 
2666  yyn = yyr1[yyn];
2667 
2668  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
2669  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2670  yystate = yytable[yystate];
2671  else
2672  yystate = yydefgoto[yyn - YYNTOKENS];
2673 
2674  goto yynewstate;
2675 
2676 
2677 /*--------------------------------------.
2678 | yyerrlab -- here on detecting error. |
2679 `--------------------------------------*/
2680 yyerrlab:
2681  /* Make sure we have latest lookahead translation. See comments at
2682  user semantic actions for why this is necessary. */
2683  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
2684 
2685  /* If not already recovering from an error, report this error. */
2686  if (!yyerrstatus)
2687  {
2688  ++yynerrs;
2689 #if ! YYERROR_VERBOSE
2690  yyerror (YY_("syntax error"));
2691 #else
2692 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2693  yyssp, yytoken)
2694  {
2695  char const *yymsgp = YY_("syntax error");
2696  int yysyntax_error_status;
2697  yysyntax_error_status = YYSYNTAX_ERROR;
2698  if (yysyntax_error_status == 0)
2699  yymsgp = yymsg;
2700  else if (yysyntax_error_status == 1)
2701  {
2702  if (yymsg != yymsgbuf)
2703  YYSTACK_FREE (yymsg);
2704  yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
2705  if (!yymsg)
2706  {
2707  yymsg = yymsgbuf;
2708  yymsg_alloc = sizeof yymsgbuf;
2709  yysyntax_error_status = 2;
2710  }
2711  else
2712  {
2713  yysyntax_error_status = YYSYNTAX_ERROR;
2714  yymsgp = yymsg;
2715  }
2716  }
2717  yyerror (yymsgp);
2718  if (yysyntax_error_status == 2)
2719  goto yyexhaustedlab;
2720  }
2721 # undef YYSYNTAX_ERROR
2722 #endif
2723  }
2724 
2725 
2726 
2727  if (yyerrstatus == 3)
2728  {
2729  /* If just tried and failed to reuse lookahead token after an
2730  error, discard it. */
2731 
2732  if (yychar <= YYEOF)
2733  {
2734  /* Return failure if at end of input. */
2735  if (yychar == YYEOF)
2736  YYABORT;
2737  }
2738  else
2739  {
2740  yydestruct ("Error: discarding",
2741  yytoken, &yylval);
2742  yychar = YYEMPTY;
2743  }
2744  }
2745 
2746  /* Else will try to reuse lookahead token after shifting the error
2747  token. */
2748  goto yyerrlab1;
2749 
2750 
2751 /*---------------------------------------------------.
2752 | yyerrorlab -- error raised explicitly by YYERROR. |
2753 `---------------------------------------------------*/
2754 yyerrorlab:
2755 
2756  /* Pacify compilers like GCC when the user code never invokes
2757  YYERROR and the label yyerrorlab therefore never appears in user
2758  code. */
2759  if (/*CONSTCOND*/ 0)
2760  goto yyerrorlab;
2761 
2762  /* Do not reclaim the symbols of the rule whose action triggered
2763  this YYERROR. */
2764  YYPOPSTACK (yylen);
2765  yylen = 0;
2766  YY_STACK_PRINT (yyss, yyssp);
2767  yystate = *yyssp;
2768  goto yyerrlab1;
2769 
2770 
2771 /*-------------------------------------------------------------.
2772 | yyerrlab1 -- common code for both syntax error and YYERROR. |
2773 `-------------------------------------------------------------*/
2774 yyerrlab1:
2775  yyerrstatus = 3; /* Each real token shifted decrements this. */
2776 
2777  for (;;)
2778  {
2779  yyn = yypact[yystate];
2780  if (!yypact_value_is_default (yyn))
2781  {
2782  yyn += YYTERROR;
2783  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
2784  {
2785  yyn = yytable[yyn];
2786  if (0 < yyn)
2787  break;
2788  }
2789  }
2790 
2791  /* Pop the current state because it cannot handle the error token. */
2792  if (yyssp == yyss)
2793  YYABORT;
2794 
2795 
2796  yydestruct ("Error: popping",
2797  yystos[yystate], yyvsp);
2798  YYPOPSTACK (1);
2799  yystate = *yyssp;
2800  YY_STACK_PRINT (yyss, yyssp);
2801  }
2802 
2804  *++yyvsp = yylval;
2806 
2807 
2808  /* Shift the error token. */
2809  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
2810 
2811  yystate = yyn;
2812  goto yynewstate;
2813 
2814 
2815 /*-------------------------------------.
2816 | yyacceptlab -- YYACCEPT comes here. |
2817 `-------------------------------------*/
2818 yyacceptlab:
2819  yyresult = 0;
2820  goto yyreturn;
2821 
2822 /*-----------------------------------.
2823 | yyabortlab -- YYABORT comes here. |
2824 `-----------------------------------*/
2825 yyabortlab:
2826  yyresult = 1;
2827  goto yyreturn;
2828 
2829 #if !defined yyoverflow || YYERROR_VERBOSE
2830 /*-------------------------------------------------.
2831 | yyexhaustedlab -- memory exhaustion comes here. |
2832 `-------------------------------------------------*/
2833 yyexhaustedlab:
2834  yyerror (YY_("memory exhausted"));
2835  yyresult = 2;
2836  /* Fall through. */
2837 #endif
2838 
2839 yyreturn:
2840  if (yychar != YYEMPTY)
2841  {
2842  /* Make sure we have latest lookahead translation. See comments at
2843  user semantic actions for why this is necessary. */
2844  yytoken = YYTRANSLATE (yychar);
2845  yydestruct ("Cleanup: discarding lookahead",
2846  yytoken, &yylval);
2847  }
2848  /* Do not reclaim the symbols of the rule whose action triggered
2849  this YYABORT or YYACCEPT. */
2850  YYPOPSTACK (yylen);
2851  YY_STACK_PRINT (yyss, yyssp);
2852  while (yyssp != yyss)
2853  {
2854  yydestruct ("Cleanup: popping",
2855  yystos[*yyssp], yyvsp);
2856  YYPOPSTACK (1);
2857  }
2858 #ifndef yyoverflow
2859  if (yyss != yyssa)
2860  YYSTACK_FREE (yyss);
2861 #endif
2862 #if YYERROR_VERBOSE
2863  if (yymsg != yymsgbuf)
2864  YYSTACK_FREE (yymsg);
2865 #endif
2866  return yyresult;
2867 }
static const yytype_int16 yypgoto[]
Definition: ppparse.c:1095
static struct cb_define_struct * ppp_define_add(struct cb_define_struct *list, const char *name, const char *text, const unsigned int override)
Definition: ppparse.c:347
struct cb_text_list * next
Definition: cobc.h:160
if fold fold static computed alternate extra correct stack on syntax debugging source implicit stack syntax write single quote
Definition: flag.def:120
#define yytable_value_is_error(Yytable_value)
Definition: ppparse.c:1042
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition: ppparse.c:1377
#define yyerror
Definition: ppparse.c:65
static const yytype_int16 yydefgoto[]
Definition: ppparse.c:1105
#define COND_LT
Definition: ppparse.c:93
#define YYEOF
Definition: ppparse.c:1221
#define yylex
Definition: ppparse.c:64
#define yychar
Definition: ppparse.c:70
struct cb_define_struct * ds
Definition: ppparse.c:652
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)
Definition: ppparse.c:169
static char * fold_upper(char *name)
Definition: ppparse.c:156
#define YYFINAL
Definition: ppparse.c:913
#define YYINITDEPTH
Definition: ppparse.c:1385
struct cb_define_struct * next
Definition: cobc.h:177
#define YYLAST
Definition: ppparse.c:915
#define PLEX_DEF_NONE
Definition: cobc.h:97
#define YYABORT
Definition: ppparse.c:1224
static unsigned int ppp_check_needs_quote(const char *envval)
Definition: ppparse.c:449
#define YYACCEPT
Definition: ppparse.c:1223
static const yytype_uint8 yydefact[]
Definition: ppparse.c:1072
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep)
Definition: ppparse.c:1627
short int yytype_int16
Definition: parser.c:1907
#define PLEX_ACT_ELIF
Definition: cobc.h:94
int cb_source_format
Definition: cobc.c:162
int ppcopy(const char *, const char *, struct cb_replace_list *)
Definition: pplex.c:4508
#define YY_STACK_PRINT(Bottom, Top)
Definition: ppparse.c:1378
#define YYSTACK_FREE
Definition: ppparse.c:824
static struct cb_text_list * ppp_list_add(struct cb_text_list *list, const char *text)
Definition: ppparse.c:423
#define COND_LE
Definition: ppparse.c:95
#define yynerrs
Definition: ppparse.c:67
unsigned int ui
Definition: ppparse.c:653
struct cb_replace_list * r
Definition: ppparse.c:651
void plex_action_directive(const unsigned int, const unsigned int)
Definition: pplex.c:4589
#define YYDPRINTF(Args)
Definition: ppparse.c:1376
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Definition: ppparse.c:879
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: ppparse.c:777
#define YYSIZE_T
Definition: ppparse.c:710
#define YYTERROR
Definition: ppparse.c:1248
static const yytype_uint8 yyr2[]
Definition: ppparse.c:1201
#define PLEX_ACT_END
Definition: cobc.h:93
static void ppp_define_del(const char *name)
Definition: ppparse.c:388
static const yytype_uint8 yyr1[]
Definition: ppparse.c:1184
#define YYSTACK_BYTES(N)
Definition: ppparse.c:868
char * s
Definition: ppparse.c:649
static struct cb_define_struct * ppp_setvar_list
Definition: ppparse.c:101
#define CB_REPLACE_TRAILING
Definition: cobc.h:70
#define _(s)
Definition: cobcrun.c:59
unsigned int deftype
Definition: cobc.h:181
#define CB_REPLACE_LEADING
Definition: cobc.h:69
yytype_int16 yyss_alloc
Definition: parser.c:2066
struct cb_text_list * l
Definition: ppparse.c:650
EC ARGUMENT EC EC BOUND EC BOUND EC BOUND EC BOUND TABLE EC DATA EC DATA EC DATA PTR NULL
Definition: exception.def:95
static unsigned int ppp_set_value(struct cb_define_struct *p, const char *value)
Definition: ppparse.c:190
#define COND_GE
Definition: ppparse.c:96
#define COND_EQ
Definition: ppparse.c:92
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: ppparse.c:776
void pp_set_replace_list(struct cb_replace_list *, const cob_u32_t)
Definition: pplex.c:4394
FILE * ppout
Definition: pplex.c:367
static struct cb_define_struct * ppp_search_lists(const char *name)
Definition: ppparse.c:407
#define YYPOPSTACK(N)
static const yytype_int16 yytable[]
Definition: ppparse.c:1117
#define CB_FORMAT_FIXED
Definition: cobc.h:65
static const yytype_int16 yypact[]
Definition: ppparse.c:1047
#define COND_NE
Definition: ppparse.c:97
#define YYSTACK_ALLOC
Definition: ppparse.c:823
#define COB_FOLD_LOWER
Definition: common.h:587
#define YYNTOKENS
Definition: ppparse.c:918
void cb_error(const char *,...) COB_A_FORMAT12
Definition: error.c:98
#define YYMAXDEPTH
Definition: ppparse.c:1396
#define YYTRANSLATE(YYX)
Definition: ppparse.c:931
static const yytype_uint8 yystos[]
Definition: ppparse.c:1161
static unsigned int current_cmd
Definition: ppparse.c:102
static unsigned int ppp_compare_vals(const struct cb_define_struct *p1, const struct cb_define_struct *p2, const unsigned int cond)
Definition: ppparse.c:273
#define yypact_value_is_default(Yystate)
Definition: ppparse.c:1037
void cb_warning(const char *,...) COB_A_FORMAT12
Definition: error.c:87
#define yylval
Definition: ppparse.c:69
#define YY_(Msgid)
Definition: ppparse.c:726
void * cobc_plex_malloc(const size_t size)
Definition: cobc.c:916
#define CB_FORMAT_FREE
Definition: cobc.h:66
static const yytype_int16 yycheck[]
Definition: ppparse.c:1138
#define COND_GT
Definition: ppparse.c:94
#define PLEX_ACT_IF
Definition: cobc.h:91
#define COB_FOLD_UPPER
Definition: common.h:586
#define YY_REDUCE_PRINT(Rule)
Definition: ppparse.c:1379
#define YYEMPTY
Definition: ppparse.c:1220
static char * fold_lower(char *name)
Definition: ppparse.c:143
#define YYERROR
Definition: ppparse.c:1225
static char * fix_filename(char *name)
Definition: ppparse.c:132
cb_tree yyvs_alloc
Definition: parser.c:2067
#define PLEX_ACT_ELSE
Definition: cobc.h:92
#define YYSYNTAX_ERROR
static unsigned int ppp_search_comp_vars(const char *name)
Definition: ppparse.c:439

Here is the call graph for this function:

Variable Documentation

YYSTYPE pplval