473 lines
21 KiB
C
473 lines
21 KiB
C
/* A Bison parser, made by GNU Bison 3.8.2. */
|
|
|
|
/* Bison interface for Yacc-like parsers in C
|
|
|
|
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
|
|
Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
|
|
|
/* As a special exception, you may create a larger work that contains
|
|
part or all of the Bison parser skeleton and distribute that work
|
|
under terms of your choice, so long as that work isn't itself a
|
|
parser generator using the skeleton or a modified version thereof
|
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
the parser skeleton itself, you may (at your option) remove this
|
|
special exception, which will cause the skeleton and the resulting
|
|
Bison output files to be licensed under the GNU General Public
|
|
License without this special exception.
|
|
|
|
This special exception was added by the Free Software Foundation in
|
|
version 2.2 of Bison. */
|
|
|
|
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
|
especially those whose name start with YY_ or yy_. They are
|
|
private implementation details that can be changed or removed. */
|
|
|
|
#ifndef YY_YY_HTCOBOL_TAB_H_INCLUDED
|
|
# define YY_YY_HTCOBOL_TAB_H_INCLUDED
|
|
/* Debug traces. */
|
|
#ifndef YYDEBUG
|
|
# define YYDEBUG 0
|
|
#endif
|
|
#if YYDEBUG
|
|
extern int yydebug;
|
|
#endif
|
|
|
|
/* Token kinds. */
|
|
#ifndef YYTOKENTYPE
|
|
# define YYTOKENTYPE
|
|
enum yytokentype
|
|
{
|
|
YYEMPTY = -2,
|
|
YYEOF = 0, /* "end of file" */
|
|
YYerror = 256, /* error */
|
|
YYUNDEF = 257, /* "invalid token" */
|
|
LOW_PREC = 258, /* LOW_PREC */
|
|
IDSTRING = 259, /* IDSTRING */
|
|
STRING = 260, /* STRING */
|
|
VARIABLE = 261, /* VARIABLE */
|
|
VARCOND = 262, /* VARCOND */
|
|
SUBSCVAR = 263, /* SUBSCVAR */
|
|
LABELSTR = 264, /* LABELSTR */
|
|
CMD_LINE = 265, /* CMD_LINE */
|
|
ENVIRONMENT_VARIABLE = 266, /* ENVIRONMENT_VARIABLE */
|
|
INKEY = 267, /* INKEY */
|
|
ESCKEY = 268, /* ESCKEY */
|
|
CHAR = 269, /* CHAR */
|
|
MULTIPLIER = 270, /* MULTIPLIER */
|
|
USAGENUM = 271, /* USAGENUM */
|
|
ZERONUM = 272, /* ZERONUM */
|
|
CONDITIONAL = 273, /* CONDITIONAL */
|
|
TO = 274, /* TO */
|
|
IS = 275, /* IS */
|
|
ARE = 276, /* ARE */
|
|
THRU = 277, /* THRU */
|
|
THAN = 278, /* THAN */
|
|
NO = 279, /* NO */
|
|
COMMENTING = 280, /* COMMENTING */
|
|
DIRECTION = 281, /* DIRECTION */
|
|
READ = 282, /* READ */
|
|
WRITE = 283, /* WRITE */
|
|
INPUT_OUTPUT = 284, /* INPUT_OUTPUT */
|
|
RELEASE = 285, /* RELEASE */
|
|
NLITERAL = 286, /* NLITERAL */
|
|
CLITERAL = 287, /* CLITERAL */
|
|
PORTNUM = 288, /* PORTNUM */
|
|
DATE_TIME = 289, /* DATE_TIME */
|
|
POW_OP = 290, /* POW_OP */
|
|
OR = 291, /* OR */
|
|
AND = 292, /* AND */
|
|
ACCEPT = 293, /* ACCEPT */
|
|
ACCESS = 294, /* ACCESS */
|
|
ADD = 295, /* ADD */
|
|
ADDRESS = 296, /* ADDRESS */
|
|
ADVANCING = 297, /* ADVANCING */
|
|
AFTER = 298, /* AFTER */
|
|
ALL = 299, /* ALL */
|
|
ALPHABET = 300, /* ALPHABET */
|
|
ALPHABETIC = 301, /* ALPHABETIC */
|
|
ALPHABETIC_LOWER = 302, /* ALPHABETIC_LOWER */
|
|
ALPHABETIC_UPPER = 303, /* ALPHABETIC_UPPER */
|
|
ALPHANUMERIC = 304, /* ALPHANUMERIC */
|
|
ALPHANUMERIC_EDITED = 305, /* ALPHANUMERIC_EDITED */
|
|
ALSO = 306, /* ALSO */
|
|
ALTERNATE = 307, /* ALTERNATE */
|
|
ANY = 308, /* ANY */
|
|
AREA = 309, /* AREA */
|
|
AREAS = 310, /* AREAS */
|
|
ASSIGN = 311, /* ASSIGN */
|
|
AT = 312, /* AT */
|
|
AUTHOR = 313, /* AUTHOR */
|
|
AUTO = 314, /* AUTO */
|
|
BACKGROUNDCOLOR = 315, /* BACKGROUNDCOLOR */
|
|
BEFORE = 316, /* BEFORE */
|
|
BELL = 317, /* BELL */
|
|
BLANK = 318, /* BLANK */
|
|
BLINK = 319, /* BLINK */
|
|
BLOCK = 320, /* BLOCK */
|
|
BOTTOM = 321, /* BOTTOM */
|
|
BY = 322, /* BY */
|
|
CALL = 323, /* CALL */
|
|
CALL_CONV_C = 324, /* CALL_CONV_C */
|
|
CALL_CONV_STDCALL = 325, /* CALL_CONV_STDCALL */
|
|
CALL_LOADLIB = 326, /* CALL_LOADLIB */
|
|
CANCEL = 327, /* CANCEL */
|
|
CENTER = 328, /* CENTER */
|
|
CF = 329, /* CF */
|
|
CH = 330, /* CH */
|
|
CHAIN = 331, /* CHAIN */
|
|
CHAINING = 332, /* CHAINING */
|
|
CHARACTER = 333, /* CHARACTER */
|
|
CHARACTERS = 334, /* CHARACTERS */
|
|
CLASS = 335, /* CLASS */
|
|
CLOSE = 336, /* CLOSE */
|
|
CODE = 337, /* CODE */
|
|
CODE_SET = 338, /* CODE_SET */
|
|
COLLATING = 339, /* COLLATING */
|
|
COLOR = 340, /* COLOR */
|
|
COLUMN = 341, /* COLUMN */
|
|
COLUMNS = 342, /* COLUMNS */
|
|
COMMA = 343, /* COMMA */
|
|
COMMON = 344, /* COMMON */
|
|
COMPUTE = 345, /* COMPUTE */
|
|
CONFIGURATION = 346, /* CONFIGURATION */
|
|
CONSOLE = 347, /* CONSOLE */
|
|
CONTAINS = 348, /* CONTAINS */
|
|
CONTENT = 349, /* CONTENT */
|
|
CONTINUE = 350, /* CONTINUE */
|
|
CONTROL = 351, /* CONTROL */
|
|
CONTROLS = 352, /* CONTROLS */
|
|
CONVERTING = 353, /* CONVERTING */
|
|
CORRESPONDING = 354, /* CORRESPONDING */
|
|
COUNT = 355, /* COUNT */
|
|
CURRENCY = 356, /* CURRENCY */
|
|
CURSOR = 357, /* CURSOR */
|
|
DATA = 358, /* DATA */
|
|
DATE_COMPILED = 359, /* DATE_COMPILED */
|
|
DATE_WRITTEN = 360, /* DATE_WRITTEN */
|
|
DE = 361, /* DE */
|
|
DEBUGGING = 362, /* DEBUGGING */
|
|
DECIMAL_POINT = 363, /* DECIMAL_POINT */
|
|
DECLARATIVES = 364, /* DECLARATIVES */
|
|
DELETE = 365, /* DELETE */
|
|
DELIMITED = 366, /* DELIMITED */
|
|
DELIMITER = 367, /* DELIMITER */
|
|
DEPENDING = 368, /* DEPENDING */
|
|
DETAIL = 369, /* DETAIL */
|
|
DISPLAY = 370, /* DISPLAY */
|
|
DISPLAY_SCREEN = 371, /* DISPLAY_SCREEN */
|
|
DIVIDE = 372, /* DIVIDE */
|
|
DIVISION = 373, /* DIVISION */
|
|
DOWN = 374, /* DOWN */
|
|
DUPLICATES = 375, /* DUPLICATES */
|
|
DYNAMIC = 376, /* DYNAMIC */
|
|
ELSE = 377, /* ELSE */
|
|
END = 378, /* END */
|
|
END_ACCEPT = 379, /* END_ACCEPT */
|
|
END_ADD = 380, /* END_ADD */
|
|
END_CALL = 381, /* END_CALL */
|
|
END_CALL_LOADLIB = 382, /* END_CALL_LOADLIB */
|
|
END_CHAIN = 383, /* END_CHAIN */
|
|
END_COMPUTE = 384, /* END_COMPUTE */
|
|
END_DELETE = 385, /* END_DELETE */
|
|
END_DISPLAY = 386, /* END_DISPLAY */
|
|
END_DIVIDE = 387, /* END_DIVIDE */
|
|
END_EVALUATE = 388, /* END_EVALUATE */
|
|
END_IF = 389, /* END_IF */
|
|
END_MULTIPLY = 390, /* END_MULTIPLY */
|
|
END_OF_PAGE = 391, /* END_OF_PAGE */
|
|
END_PERFORM = 392, /* END_PERFORM */
|
|
END_READ = 393, /* END_READ */
|
|
END_RETURN = 394, /* END_RETURN */
|
|
END_REWRITE = 395, /* END_REWRITE */
|
|
END_SEARCH = 396, /* END_SEARCH */
|
|
END_START = 397, /* END_START */
|
|
END_STRINGCMD = 398, /* END_STRINGCMD */
|
|
END_SUBTRACT = 399, /* END_SUBTRACT */
|
|
END_UNSTRING = 400, /* END_UNSTRING */
|
|
END_WRITE = 401, /* END_WRITE */
|
|
ENVIRONMENT = 402, /* ENVIRONMENT */
|
|
EOL = 403, /* EOL */
|
|
EOS = 404, /* EOS */
|
|
ERASE = 405, /* ERASE */
|
|
ERROR_TOK = 406, /* ERROR_TOK */
|
|
EVALUATE = 407, /* EVALUATE */
|
|
EXCEPTION = 408, /* EXCEPTION */
|
|
EXIT = 409, /* EXIT */
|
|
EXTEND = 410, /* EXTEND */
|
|
EXTERNAL = 411, /* EXTERNAL */
|
|
FALSE_TOK = 412, /* FALSE_TOK */
|
|
FD = 413, /* FD */
|
|
FILE_CONTROL = 414, /* FILE_CONTROL */
|
|
FILE_ID = 415, /* FILE_ID */
|
|
FILE_TOK = 416, /* FILE_TOK */
|
|
FILLER = 417, /* FILLER */
|
|
FINAL = 418, /* FINAL */
|
|
FIRST = 419, /* FIRST */
|
|
FOOTING = 420, /* FOOTING */
|
|
FOR = 421, /* FOR */
|
|
FOREGROUNDCOLOR = 422, /* FOREGROUNDCOLOR */
|
|
FROM = 423, /* FROM */
|
|
FULL = 424, /* FULL */
|
|
FUNCTION = 425, /* FUNCTION */
|
|
GENERATE = 426, /* GENERATE */
|
|
GIVING = 427, /* GIVING */
|
|
GLOBAL = 428, /* GLOBAL */
|
|
GO = 429, /* GO */
|
|
GOBACK = 430, /* GOBACK */
|
|
GROUP = 431, /* GROUP */
|
|
HEADING = 432, /* HEADING */
|
|
HIGHLIGHT = 433, /* HIGHLIGHT */
|
|
HIGHVALUES = 434, /* HIGHVALUES */
|
|
IDENTIFICATION = 435, /* IDENTIFICATION */
|
|
IF = 436, /* IF */
|
|
IGNORE = 437, /* IGNORE */
|
|
IN = 438, /* IN */
|
|
INDEXED = 439, /* INDEXED */
|
|
INDICATE = 440, /* INDICATE */
|
|
INITIALIZE = 441, /* INITIALIZE */
|
|
INITIAL_TOK = 442, /* INITIAL_TOK */
|
|
INITIATE = 443, /* INITIATE */
|
|
INPUT = 444, /* INPUT */
|
|
INSPECT = 445, /* INSPECT */
|
|
INSTALLATION = 446, /* INSTALLATION */
|
|
INTO = 447, /* INTO */
|
|
INVALID = 448, /* INVALID */
|
|
I_O = 449, /* I_O */
|
|
I_O_CONTROL = 450, /* I_O_CONTROL */
|
|
JUSTIFIED = 451, /* JUSTIFIED */
|
|
KEY = 452, /* KEY */
|
|
LABEL = 453, /* LABEL */
|
|
LAST = 454, /* LAST */
|
|
LEADING = 455, /* LEADING */
|
|
LEFT = 456, /* LEFT */
|
|
LENGTH = 457, /* LENGTH */
|
|
LIMIT = 458, /* LIMIT */
|
|
LIMITS = 459, /* LIMITS */
|
|
LINAGE = 460, /* LINAGE */
|
|
LINE = 461, /* LINE */
|
|
LINES = 462, /* LINES */
|
|
LINKAGE = 463, /* LINKAGE */
|
|
LISTSEP = 464, /* LISTSEP */
|
|
LOCK = 465, /* LOCK */
|
|
LOWER = 466, /* LOWER */
|
|
LOWLIGHT = 467, /* LOWLIGHT */
|
|
LOWVALUES = 468, /* LOWVALUES */
|
|
LPAR = 469, /* LPAR */
|
|
MERGE = 470, /* MERGE */
|
|
MINUS = 471, /* MINUS */
|
|
MODE = 472, /* MODE */
|
|
MOVE = 473, /* MOVE */
|
|
MULTIPLE = 474, /* MULTIPLE */
|
|
MULTIPLY = 475, /* MULTIPLY */
|
|
NATIVE = 476, /* NATIVE */
|
|
NEGATIVE = 477, /* NEGATIVE */
|
|
NEXT = 478, /* NEXT */
|
|
NOECHO = 479, /* NOECHO */
|
|
NOT = 480, /* NOT */
|
|
NOTEXCEP = 481, /* NOTEXCEP */
|
|
NULL_TOK = 482, /* NULL_TOK */
|
|
NUMBER = 483, /* NUMBER */
|
|
NUMBERS = 484, /* NUMBERS */
|
|
NUMERIC = 485, /* NUMERIC */
|
|
NUMERIC_EDITED = 486, /* NUMERIC_EDITED */
|
|
OBJECT_COMPUTER = 487, /* OBJECT_COMPUTER */
|
|
OCCURS = 488, /* OCCURS */
|
|
OF = 489, /* OF */
|
|
OFF = 490, /* OFF */
|
|
OMITTED = 491, /* OMITTED */
|
|
ON = 492, /* ON */
|
|
ONLY = 493, /* ONLY */
|
|
OPEN = 494, /* OPEN */
|
|
OPTIONAL = 495, /* OPTIONAL */
|
|
ORDER = 496, /* ORDER */
|
|
ORGANIZATION = 497, /* ORGANIZATION */
|
|
OTHER = 498, /* OTHER */
|
|
OUTPUT = 499, /* OUTPUT */
|
|
OVERFLOW_TOK = 500, /* OVERFLOW_TOK */
|
|
PADDING = 501, /* PADDING */
|
|
PAGE = 502, /* PAGE */
|
|
PAGE_COUNTER = 503, /* PAGE_COUNTER */
|
|
PARAGRAPH = 504, /* PARAGRAPH */
|
|
PERFORM = 505, /* PERFORM */
|
|
PF = 506, /* PF */
|
|
PH = 507, /* PH */
|
|
PICTURE = 508, /* PICTURE */
|
|
PLUS = 509, /* PLUS */
|
|
POINTER = 510, /* POINTER */
|
|
POSITION = 511, /* POSITION */
|
|
POSITIVE = 512, /* POSITIVE */
|
|
PREVIOUS = 513, /* PREVIOUS */
|
|
PROCEDURE = 514, /* PROCEDURE */
|
|
PROCEED = 515, /* PROCEED */
|
|
PROGRAM = 516, /* PROGRAM */
|
|
PROGRAM_ID = 517, /* PROGRAM_ID */
|
|
QUOTES = 518, /* QUOTES */
|
|
RANDOM = 519, /* RANDOM */
|
|
RD = 520, /* RD */
|
|
READY = 521, /* READY */
|
|
RECORD = 522, /* RECORD */
|
|
RECORDS = 523, /* RECORDS */
|
|
REDEFINES = 524, /* REDEFINES */
|
|
REEL = 525, /* REEL */
|
|
REFERENCE = 526, /* REFERENCE */
|
|
RELATIVE = 527, /* RELATIVE */
|
|
REMAINDER = 528, /* REMAINDER */
|
|
REMOVAL = 529, /* REMOVAL */
|
|
RENAMES = 530, /* RENAMES */
|
|
REPLACING = 531, /* REPLACING */
|
|
REPORT = 532, /* REPORT */
|
|
REPORTS = 533, /* REPORTS */
|
|
REQUIRED = 534, /* REQUIRED */
|
|
RESERVE = 535, /* RESERVE */
|
|
RESET = 536, /* RESET */
|
|
RETURN = 537, /* RETURN */
|
|
RETURNING = 538, /* RETURNING */
|
|
REVERSEVIDEO = 539, /* REVERSEVIDEO */
|
|
REWIND = 540, /* REWIND */
|
|
REWRITE = 541, /* REWRITE */
|
|
RF = 542, /* RF */
|
|
RH = 543, /* RH */
|
|
RIGHT = 544, /* RIGHT */
|
|
ROUNDED = 545, /* ROUNDED */
|
|
RUN = 546, /* RUN */
|
|
SAME = 547, /* SAME */
|
|
SCREEN = 548, /* SCREEN */
|
|
SD = 549, /* SD */
|
|
SEARCH = 550, /* SEARCH */
|
|
SECTION = 551, /* SECTION */
|
|
SECURE = 552, /* SECURE */
|
|
SECURITY = 553, /* SECURITY */
|
|
SELECT = 554, /* SELECT */
|
|
SENTENCE = 555, /* SENTENCE */
|
|
SEPARATE = 556, /* SEPARATE */
|
|
SEQUENCE = 557, /* SEQUENCE */
|
|
SEQUENTIAL = 558, /* SEQUENTIAL */
|
|
SET = 559, /* SET */
|
|
SIGN = 560, /* SIGN */
|
|
SIZE = 561, /* SIZE */
|
|
SORT = 562, /* SORT */
|
|
SORT_MERGE = 563, /* SORT_MERGE */
|
|
SOURCE = 564, /* SOURCE */
|
|
SOURCE_COMPUTER = 565, /* SOURCE_COMPUTER */
|
|
SPACES = 566, /* SPACES */
|
|
SPECIAL_NAMES = 567, /* SPECIAL_NAMES */
|
|
STANDARD = 568, /* STANDARD */
|
|
STANDARD_1 = 569, /* STANDARD_1 */
|
|
STANDARD_2 = 570, /* STANDARD_2 */
|
|
START = 571, /* START */
|
|
STATUS = 572, /* STATUS */
|
|
STD_ERROR = 573, /* STD_ERROR */
|
|
STD_OUTPUT = 574, /* STD_OUTPUT */
|
|
STOP = 575, /* STOP */
|
|
STRINGCMD = 576, /* STRINGCMD */
|
|
SUBTRACT = 577, /* SUBTRACT */
|
|
SUM = 578, /* SUM */
|
|
SYNCHRONIZED = 579, /* SYNCHRONIZED */
|
|
TALLYING = 580, /* TALLYING */
|
|
TAPE = 581, /* TAPE */
|
|
TCOBPROTO1 = 582, /* TCOBPROTO1 */
|
|
TCOBPROTO2 = 583, /* TCOBPROTO2 */
|
|
TERMINATE = 584, /* TERMINATE */
|
|
TEST = 585, /* TEST */
|
|
THEN = 586, /* THEN */
|
|
TIMES = 587, /* TIMES */
|
|
TOKDUMMY = 588, /* TOKDUMMY */
|
|
TOP = 589, /* TOP */
|
|
TRACE = 590, /* TRACE */
|
|
TRAILING = 591, /* TRAILING */
|
|
TRUE_TOK = 592, /* TRUE_TOK */
|
|
TYPE = 593, /* TYPE */
|
|
UNDERLINE = 594, /* UNDERLINE */
|
|
UNIT = 595, /* UNIT */
|
|
UNLOCK = 596, /* UNLOCK */
|
|
UNSTRING = 597, /* UNSTRING */
|
|
UNTIL = 598, /* UNTIL */
|
|
UP = 599, /* UP */
|
|
UPDATE = 600, /* UPDATE */
|
|
UPON = 601, /* UPON */
|
|
UPPER = 602, /* UPPER */
|
|
USAGE = 603, /* USAGE */
|
|
USE = 604, /* USE */
|
|
USING = 605, /* USING */
|
|
VALUE = 606, /* VALUE */
|
|
VALUES = 607, /* VALUES */
|
|
VARYING = 608, /* VARYING */
|
|
WHEN = 609, /* WHEN */
|
|
WITH = 610, /* WITH */
|
|
WORKING_STORAGE = 611, /* WORKING_STORAGE */
|
|
ZERO = 612, /* ZERO */
|
|
PERIOD_TOK = 613 /* PERIOD_TOK */
|
|
};
|
|
typedef enum yytokentype yytoken_kind_t;
|
|
#endif
|
|
|
|
/* Value type. */
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
union YYSTYPE
|
|
{
|
|
#line 119 "htcobol.y"
|
|
|
|
struct sym *sval; /* symbol */
|
|
int ival; /* int */
|
|
struct coord_pair pval; /* lin,col */
|
|
struct lit *lval; /* literal */
|
|
unsigned long dval; /* label definition, compacted */
|
|
struct ddval { /* dual label definition */
|
|
int lb1,lb2;
|
|
} ddval;
|
|
char *str;
|
|
struct vref *rval; /* variable reference (with subscripts) */
|
|
struct refmod *rmval; /* variable with RefMod specifier */
|
|
struct string_from *sfval; /* variable list in string statement */
|
|
struct unstring_delimited *udval;
|
|
struct unstring_destinations *udstval;
|
|
struct tallying_list *tlval;
|
|
struct tallying_for_list *tfval;
|
|
struct replacing_list *repval;
|
|
struct replacing_by_list *rbval;
|
|
struct converting_struct *cvval;
|
|
struct inspect_before_after *baval;
|
|
struct scr_info *sival;
|
|
struct perf_info *pfval;
|
|
struct perform_info *pfvals;
|
|
struct sortfile_node *snval;
|
|
struct selsubject *ssbjval;
|
|
struct math_var *mval; /* math variables container list */
|
|
struct math_ose *mose; /* math ON SIZE ERROR variables container */
|
|
struct ginfo *gic; /* generic container */
|
|
struct invalid_keys *iks; /* [NOT] INVALID KEY */
|
|
struct invalid_key_element *ike; /* [NOT] INVALID KEY */
|
|
struct condition condval;
|
|
struct list *lstval; /* generic container list */
|
|
struct gvar_list *glistval; /* generic variable list */
|
|
|
|
#line 458 "htcobol.tab.h"
|
|
|
|
};
|
|
typedef union YYSTYPE YYSTYPE;
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
#endif
|
|
|
|
|
|
extern YYSTYPE yylval;
|
|
|
|
|
|
int yyparse (void);
|
|
|
|
|
|
#endif /* !YY_YY_HTCOBOL_TAB_H_INCLUDED */
|