Annotation of rpl/rplawk/y.tab.c, revision 1.1
1.1 ! bertrand 1: /* A Bison parser, made by GNU Bison 2.3. */
! 2:
! 3: /* Skeleton implementation for Bison's Yacc-like parsers in C
! 4:
! 5: Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
! 6: Free Software Foundation, Inc.
! 7:
! 8: This program is free software; you can redistribute it and/or modify
! 9: it under the terms of the GNU General Public License as published by
! 10: the Free Software Foundation; either version 2, or (at your option)
! 11: any later version.
! 12:
! 13: This program is distributed in the hope that it will be useful,
! 14: but WITHOUT ANY WARRANTY; without even the implied warranty of
! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 16: GNU General Public License for more details.
! 17:
! 18: You should have received a copy of the GNU General Public License
! 19: along with this program; if not, write to the Free Software
! 20: Foundation, Inc., 51 Franklin Street, Fifth Floor,
! 21: Boston, MA 02110-1301, USA. */
! 22:
! 23: /* As a special exception, you may create a larger work that contains
! 24: part or all of the Bison parser skeleton and distribute that work
! 25: under terms of your choice, so long as that work isn't itself a
! 26: parser generator using the skeleton or a modified version thereof
! 27: as a parser skeleton. Alternatively, if you modify or redistribute
! 28: the parser skeleton itself, you may (at your option) remove this
! 29: special exception, which will cause the skeleton and the resulting
! 30: Bison output files to be licensed under the GNU General Public
! 31: License without this special exception.
! 32:
! 33: This special exception was added by the Free Software Foundation in
! 34: version 2.2 of Bison. */
! 35:
! 36: /* C LALR(1) parser skeleton written by Richard Stallman, by
! 37: simplifying the original so-called "semantic" parser. */
! 38:
! 39: /* All symbols defined below should begin with yy or YY, to avoid
! 40: infringing on user name space. This should be done even for local
! 41: variables, as they might otherwise be expanded by user macros.
! 42: There are some unavoidable exceptions within include files to
! 43: define necessary library symbols; they are noted "INFRINGES ON
! 44: USER NAME SPACE" below. */
! 45:
! 46: /* Identify Bison output. */
! 47: #define YYBISON 1
! 48:
! 49: /* Bison version. */
! 50: #define YYBISON_VERSION "2.3"
! 51:
! 52: /* Skeleton name. */
! 53: #define YYSKELETON_NAME "yacc.c"
! 54:
! 55: /* Pure parsers. */
! 56: #define YYPURE 0
! 57:
! 58: /* Using locations. */
! 59: #define YYLSP_NEEDED 0
! 60:
! 61:
! 62:
! 63: /* Tokens. */
! 64: #ifndef YYTOKENTYPE
! 65: # define YYTOKENTYPE
! 66: /* Put the tokens into the symbol table, so that GDB and other debuggers
! 67: know about them. */
! 68: enum yytokentype {
! 69: FIRSTTOKEN = 258,
! 70: PROGRAM = 259,
! 71: PASTAT = 260,
! 72: PASTAT2 = 261,
! 73: XBEGIN = 262,
! 74: XEND = 263,
! 75: NL = 264,
! 76: ARRAY = 265,
! 77: MATCH = 266,
! 78: NOTMATCH = 267,
! 79: MATCHOP = 268,
! 80: FINAL = 269,
! 81: DOT = 270,
! 82: ALL = 271,
! 83: CCL = 272,
! 84: NCCL = 273,
! 85: CHAR = 274,
! 86: OR = 275,
! 87: STAR = 276,
! 88: QUEST = 277,
! 89: PLUS = 278,
! 90: EMPTYRE = 279,
! 91: AND = 280,
! 92: BOR = 281,
! 93: APPEND = 282,
! 94: EQ = 283,
! 95: GE = 284,
! 96: GT = 285,
! 97: LE = 286,
! 98: LT = 287,
! 99: NE = 288,
! 100: IN = 289,
! 101: ARG = 290,
! 102: BLTIN = 291,
! 103: BREAK = 292,
! 104: CLOSE = 293,
! 105: CONTINUE = 294,
! 106: DELETE = 295,
! 107: DO = 296,
! 108: EXIT = 297,
! 109: FOR = 298,
! 110: FUNC = 299,
! 111: SUB = 300,
! 112: GSUB = 301,
! 113: IF = 302,
! 114: INDEX = 303,
! 115: LSUBSTR = 304,
! 116: MATCHFCN = 305,
! 117: NEXT = 306,
! 118: NEXTFILE = 307,
! 119: ADD = 308,
! 120: MINUS = 309,
! 121: MULT = 310,
! 122: DIVIDE = 311,
! 123: MOD = 312,
! 124: ASSIGN = 313,
! 125: ASGNOP = 314,
! 126: ADDEQ = 315,
! 127: SUBEQ = 316,
! 128: MULTEQ = 317,
! 129: DIVEQ = 318,
! 130: MODEQ = 319,
! 131: POWEQ = 320,
! 132: PRINT = 321,
! 133: PRINTF = 322,
! 134: SPRINTF = 323,
! 135: ELSE = 324,
! 136: INTEST = 325,
! 137: CONDEXPR = 326,
! 138: POSTINCR = 327,
! 139: PREINCR = 328,
! 140: POSTDECR = 329,
! 141: PREDECR = 330,
! 142: VAR = 331,
! 143: IVAR = 332,
! 144: VARNF = 333,
! 145: CALL = 334,
! 146: NUMBER = 335,
! 147: STRING = 336,
! 148: REGEXPR = 337,
! 149: GETLINE = 338,
! 150: SUBSTR = 339,
! 151: SPLIT = 340,
! 152: RETURN = 341,
! 153: WHILE = 342,
! 154: CAT = 343,
! 155: UMINUS = 344,
! 156: NOT = 345,
! 157: POWER = 346,
! 158: INCR = 347,
! 159: DECR = 348,
! 160: INDIRECT = 349,
! 161: LASTTOKEN = 350
! 162: };
! 163: #endif
! 164: /* Tokens. */
! 165: #define FIRSTTOKEN 258
! 166: #define PROGRAM 259
! 167: #define PASTAT 260
! 168: #define PASTAT2 261
! 169: #define XBEGIN 262
! 170: #define XEND 263
! 171: #define NL 264
! 172: #define ARRAY 265
! 173: #define MATCH 266
! 174: #define NOTMATCH 267
! 175: #define MATCHOP 268
! 176: #define FINAL 269
! 177: #define DOT 270
! 178: #define ALL 271
! 179: #define CCL 272
! 180: #define NCCL 273
! 181: #define CHAR 274
! 182: #define OR 275
! 183: #define STAR 276
! 184: #define QUEST 277
! 185: #define PLUS 278
! 186: #define EMPTYRE 279
! 187: #define AND 280
! 188: #define BOR 281
! 189: #define APPEND 282
! 190: #define EQ 283
! 191: #define GE 284
! 192: #define GT 285
! 193: #define LE 286
! 194: #define LT 287
! 195: #define NE 288
! 196: #define IN 289
! 197: #define ARG 290
! 198: #define BLTIN 291
! 199: #define BREAK 292
! 200: #define CLOSE 293
! 201: #define CONTINUE 294
! 202: #define DELETE 295
! 203: #define DO 296
! 204: #define EXIT 297
! 205: #define FOR 298
! 206: #define FUNC 299
! 207: #define SUB 300
! 208: #define GSUB 301
! 209: #define IF 302
! 210: #define INDEX 303
! 211: #define LSUBSTR 304
! 212: #define MATCHFCN 305
! 213: #define NEXT 306
! 214: #define NEXTFILE 307
! 215: #define ADD 308
! 216: #define MINUS 309
! 217: #define MULT 310
! 218: #define DIVIDE 311
! 219: #define MOD 312
! 220: #define ASSIGN 313
! 221: #define ASGNOP 314
! 222: #define ADDEQ 315
! 223: #define SUBEQ 316
! 224: #define MULTEQ 317
! 225: #define DIVEQ 318
! 226: #define MODEQ 319
! 227: #define POWEQ 320
! 228: #define PRINT 321
! 229: #define PRINTF 322
! 230: #define SPRINTF 323
! 231: #define ELSE 324
! 232: #define INTEST 325
! 233: #define CONDEXPR 326
! 234: #define POSTINCR 327
! 235: #define PREINCR 328
! 236: #define POSTDECR 329
! 237: #define PREDECR 330
! 238: #define VAR 331
! 239: #define IVAR 332
! 240: #define VARNF 333
! 241: #define CALL 334
! 242: #define NUMBER 335
! 243: #define STRING 336
! 244: #define REGEXPR 337
! 245: #define GETLINE 338
! 246: #define SUBSTR 339
! 247: #define SPLIT 340
! 248: #define RETURN 341
! 249: #define WHILE 342
! 250: #define CAT 343
! 251: #define UMINUS 344
! 252: #define NOT 345
! 253: #define POWER 346
! 254: #define INCR 347
! 255: #define DECR 348
! 256: #define INDIRECT 349
! 257: #define LASTTOKEN 350
! 258:
! 259:
! 260:
! 261:
! 262: /* Copy the first part of user declarations. */
! 263: #line 25 "awkgram.y"
! 264:
! 265: #include <stdio.h>
! 266: #include <string.h>
! 267: #include "awk.h"
! 268:
! 269: void checkdup(Node *list, Cell *item);
! 270: int yywrap(void) { return(1); }
! 271:
! 272: Node *beginloc = 0;
! 273: Node *endloc = 0;
! 274: int infunc = 0; /* = 1 if in arglist or body of func */
! 275: int inloop = 0; /* = 1 if in while, for, do */
! 276: char *curfname = 0; /* current function name */
! 277: Node *arglist = 0; /* list of args for current function */
! 278:
! 279:
! 280: /* Enabling traces. */
! 281: #ifndef YYDEBUG
! 282: # define YYDEBUG 0
! 283: #endif
! 284:
! 285: /* Enabling verbose error messages. */
! 286: #ifdef YYERROR_VERBOSE
! 287: # undef YYERROR_VERBOSE
! 288: # define YYERROR_VERBOSE 1
! 289: #else
! 290: # define YYERROR_VERBOSE 0
! 291: #endif
! 292:
! 293: /* Enabling the token table. */
! 294: #ifndef YYTOKEN_TABLE
! 295: # define YYTOKEN_TABLE 0
! 296: #endif
! 297:
! 298: #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
! 299: typedef union YYSTYPE
! 300: #line 41 "awkgram.y"
! 301: {
! 302: Node *p;
! 303: Cell *cp;
! 304: int i;
! 305: char *s;
! 306: }
! 307: /* Line 187 of yacc.c. */
! 308: #line 309 "y.tab.c"
! 309: YYSTYPE;
! 310: # define yystype YYSTYPE /* obsolescent; will be withdrawn */
! 311: # define YYSTYPE_IS_DECLARED 1
! 312: # define YYSTYPE_IS_TRIVIAL 1
! 313: #endif
! 314:
! 315:
! 316:
! 317: /* Copy the second part of user declarations. */
! 318:
! 319:
! 320: /* Line 216 of yacc.c. */
! 321: #line 322 "y.tab.c"
! 322:
! 323: #ifdef short
! 324: # undef short
! 325: #endif
! 326:
! 327: #ifdef YYTYPE_UINT8
! 328: typedef YYTYPE_UINT8 yytype_uint8;
! 329: #else
! 330: typedef unsigned char yytype_uint8;
! 331: #endif
! 332:
! 333: #ifdef YYTYPE_INT8
! 334: typedef YYTYPE_INT8 yytype_int8;
! 335: #elif (defined __STDC__ || defined __C99__FUNC__ \
! 336: || defined __cplusplus || defined _MSC_VER)
! 337: typedef signed char yytype_int8;
! 338: #else
! 339: typedef short int yytype_int8;
! 340: #endif
! 341:
! 342: #ifdef YYTYPE_UINT16
! 343: typedef YYTYPE_UINT16 yytype_uint16;
! 344: #else
! 345: typedef unsigned short int yytype_uint16;
! 346: #endif
! 347:
! 348: #ifdef YYTYPE_INT16
! 349: typedef YYTYPE_INT16 yytype_int16;
! 350: #else
! 351: typedef short int yytype_int16;
! 352: #endif
! 353:
! 354: #ifndef YYSIZE_T
! 355: # ifdef __SIZE_TYPE__
! 356: # define YYSIZE_T __SIZE_TYPE__
! 357: # elif defined size_t
! 358: # define YYSIZE_T size_t
! 359: # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
! 360: || defined __cplusplus || defined _MSC_VER)
! 361: # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
! 362: # define YYSIZE_T size_t
! 363: # else
! 364: # define YYSIZE_T unsigned int
! 365: # endif
! 366: #endif
! 367:
! 368: #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
! 369:
! 370: #ifndef YY_
! 371: # if YYENABLE_NLS
! 372: # if ENABLE_NLS
! 373: # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
! 374: # define YY_(msgid) dgettext ("bison-runtime", msgid)
! 375: # endif
! 376: # endif
! 377: # ifndef YY_
! 378: # define YY_(msgid) msgid
! 379: # endif
! 380: #endif
! 381:
! 382: /* Suppress unused-variable warnings by "using" E. */
! 383: #if ! defined lint || defined __GNUC__
! 384: # define YYUSE(e) ((void) (e))
! 385: #else
! 386: # define YYUSE(e) /* empty */
! 387: #endif
! 388:
! 389: /* Identity function, used to suppress warnings about constant conditions. */
! 390: #ifndef lint
! 391: # define YYID(n) (n)
! 392: #else
! 393: #if (defined __STDC__ || defined __C99__FUNC__ \
! 394: || defined __cplusplus || defined _MSC_VER)
! 395: static int
! 396: YYID (int i)
! 397: #else
! 398: static int
! 399: YYID (i)
! 400: int i;
! 401: #endif
! 402: {
! 403: return i;
! 404: }
! 405: #endif
! 406:
! 407: #if ! defined yyoverflow || YYERROR_VERBOSE
! 408:
! 409: /* The parser invokes alloca or malloc; define the necessary symbols. */
! 410:
! 411: # ifdef YYSTACK_USE_ALLOCA
! 412: # if YYSTACK_USE_ALLOCA
! 413: # ifdef __GNUC__
! 414: # define YYSTACK_ALLOC __builtin_alloca
! 415: # elif defined __BUILTIN_VA_ARG_INCR
! 416: # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
! 417: # elif defined _AIX
! 418: # define YYSTACK_ALLOC __alloca
! 419: # elif defined _MSC_VER
! 420: # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
! 421: # define alloca _alloca
! 422: # else
! 423: # define YYSTACK_ALLOC alloca
! 424: # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
! 425: || defined __cplusplus || defined _MSC_VER)
! 426: # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
! 427: # ifndef _STDLIB_H
! 428: # define _STDLIB_H 1
! 429: # endif
! 430: # endif
! 431: # endif
! 432: # endif
! 433: # endif
! 434:
! 435: # ifdef YYSTACK_ALLOC
! 436: /* Pacify GCC's `empty if-body' warning. */
! 437: # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
! 438: # ifndef YYSTACK_ALLOC_MAXIMUM
! 439: /* The OS might guarantee only one guard page at the bottom of the stack,
! 440: and a page size can be as small as 4096 bytes. So we cannot safely
! 441: invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
! 442: to allow for a few compiler-allocated temporary stack slots. */
! 443: # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
! 444: # endif
! 445: # else
! 446: # define YYSTACK_ALLOC YYMALLOC
! 447: # define YYSTACK_FREE YYFREE
! 448: # ifndef YYSTACK_ALLOC_MAXIMUM
! 449: # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
! 450: # endif
! 451: # if (defined __cplusplus && ! defined _STDLIB_H \
! 452: && ! ((defined YYMALLOC || defined malloc) \
! 453: && (defined YYFREE || defined free)))
! 454: # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
! 455: # ifndef _STDLIB_H
! 456: # define _STDLIB_H 1
! 457: # endif
! 458: # endif
! 459: # ifndef YYMALLOC
! 460: # define YYMALLOC malloc
! 461: # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
! 462: || defined __cplusplus || defined _MSC_VER)
! 463: void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
! 464: # endif
! 465: # endif
! 466: # ifndef YYFREE
! 467: # define YYFREE free
! 468: # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
! 469: || defined __cplusplus || defined _MSC_VER)
! 470: void free (void *); /* INFRINGES ON USER NAME SPACE */
! 471: # endif
! 472: # endif
! 473: # endif
! 474: #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
! 475:
! 476:
! 477: #if (! defined yyoverflow \
! 478: && (! defined __cplusplus \
! 479: || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
! 480:
! 481: /* A type that is properly aligned for any stack member. */
! 482: union yyalloc
! 483: {
! 484: yytype_int16 yyss;
! 485: YYSTYPE yyvs;
! 486: };
! 487:
! 488: /* The size of the maximum gap between one aligned stack and the next. */
! 489: # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
! 490:
! 491: /* The size of an array large to enough to hold all stacks, each with
! 492: N elements. */
! 493: # define YYSTACK_BYTES(N) \
! 494: ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
! 495: + YYSTACK_GAP_MAXIMUM)
! 496:
! 497: /* Copy COUNT objects from FROM to TO. The source and destination do
! 498: not overlap. */
! 499: # ifndef YYCOPY
! 500: # if defined __GNUC__ && 1 < __GNUC__
! 501: # define YYCOPY(To, From, Count) \
! 502: __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
! 503: # else
! 504: # define YYCOPY(To, From, Count) \
! 505: do \
! 506: { \
! 507: YYSIZE_T yyi; \
! 508: for (yyi = 0; yyi < (Count); yyi++) \
! 509: (To)[yyi] = (From)[yyi]; \
! 510: } \
! 511: while (YYID (0))
! 512: # endif
! 513: # endif
! 514:
! 515: /* Relocate STACK from its old location to the new one. The
! 516: local variables YYSIZE and YYSTACKSIZE give the old and new number of
! 517: elements in the stack, and YYPTR gives the new location of the
! 518: stack. Advance YYPTR to a properly aligned location for the next
! 519: stack. */
! 520: # define YYSTACK_RELOCATE(Stack) \
! 521: do \
! 522: { \
! 523: YYSIZE_T yynewbytes; \
! 524: YYCOPY (&yyptr->Stack, Stack, yysize); \
! 525: Stack = &yyptr->Stack; \
! 526: yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
! 527: yyptr += yynewbytes / sizeof (*yyptr); \
! 528: } \
! 529: while (YYID (0))
! 530:
! 531: #endif
! 532:
! 533: /* YYFINAL -- State number of the termination state. */
! 534: #define YYFINAL 8
! 535: /* YYLAST -- Last index in YYTABLE. */
! 536: #define YYLAST 4600
! 537:
! 538: /* YYNTOKENS -- Number of terminals. */
! 539: #define YYNTOKENS 112
! 540: /* YYNNTS -- Number of nonterminals. */
! 541: #define YYNNTS 49
! 542: /* YYNRULES -- Number of rules. */
! 543: #define YYNRULES 185
! 544: /* YYNRULES -- Number of states. */
! 545: #define YYNSTATES 367
! 546:
! 547: /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
! 548: #define YYUNDEFTOK 2
! 549: #define YYMAXUTOK 350
! 550:
! 551: #define YYTRANSLATE(YYX) \
! 552: ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
! 553:
! 554: /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
! 555: static const yytype_uint8 yytranslate[] =
! 556: {
! 557: 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 558: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 559: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 560: 2, 2, 2, 2, 2, 2, 2, 104, 2, 2,
! 561: 12, 16, 103, 101, 9, 102, 2, 15, 2, 2,
! 562: 2, 2, 2, 2, 2, 2, 2, 2, 94, 14,
! 563: 2, 2, 2, 93, 2, 2, 2, 2, 2, 2,
! 564: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 565: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 566: 2, 18, 2, 19, 2, 2, 2, 2, 2, 2,
! 567: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 568: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 569: 2, 2, 2, 11, 13, 17, 2, 2, 2, 2,
! 570: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 571: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 572: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 573: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 574: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 575: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 576: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 577: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 578: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 579: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 580: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 581: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 582: 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
! 583: 5, 6, 7, 8, 10, 20, 21, 22, 23, 24,
! 584: 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
! 585: 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
! 586: 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
! 587: 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
! 588: 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
! 589: 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
! 590: 85, 86, 87, 88, 89, 90, 91, 92, 95, 96,
! 591: 97, 98, 99, 100, 105, 106, 107, 108, 109, 110,
! 592: 111
! 593: };
! 594:
! 595: #if YYDEBUG
! 596: /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
! 597: YYRHS. */
! 598: static const yytype_uint16 yyprhs[] =
! 599: {
! 600: 0, 0, 3, 5, 7, 9, 12, 14, 17, 19,
! 601: 22, 24, 27, 29, 32, 33, 46, 47, 58, 59,
! 602: 68, 70, 72, 77, 79, 82, 84, 87, 88, 90,
! 603: 91, 93, 94, 96, 98, 102, 104, 106, 111, 115,
! 604: 122, 126, 131, 136, 137, 147, 149, 153, 155, 159,
! 605: 163, 169, 173, 177, 181, 185, 189, 195, 198, 200,
! 606: 202, 206, 212, 216, 220, 224, 228, 232, 236, 240,
! 607: 244, 248, 252, 256, 262, 267, 271, 274, 276, 278,
! 608: 282, 286, 288, 292, 293, 295, 299, 301, 303, 305,
! 609: 307, 310, 313, 315, 318, 320, 323, 324, 329, 331,
! 610: 334, 339, 344, 349, 352, 358, 361, 363, 365, 367,
! 611: 370, 373, 376, 377, 378, 388, 392, 395, 397, 402,
! 612: 405, 409, 412, 415, 419, 422, 425, 426, 430, 433,
! 613: 435, 438, 440, 442, 447, 451, 455, 459, 463, 467,
! 614: 471, 474, 477, 480, 484, 489, 491, 495, 500, 503,
! 615: 506, 509, 512, 515, 520, 524, 527, 529, 536, 543,
! 616: 547, 554, 561, 563, 572, 581, 588, 593, 595, 602,
! 617: 609, 618, 627, 636, 643, 645, 647, 652, 654, 657,
! 618: 658, 660, 664, 666, 668, 670
! 619: };
! 620:
! 621: /* YYRHS -- A `-1'-separated list of the rules' RHS. */
! 622: static const yytype_int16 yyrhs[] =
! 623: {
! 624: 113, 0, -1, 130, -1, 1, -1, 35, -1, 114,
! 625: 10, -1, 36, -1, 115, 10, -1, 9, -1, 116,
! 626: 10, -1, 51, -1, 117, 10, -1, 79, -1, 118,
! 627: 10, -1, -1, 53, 12, 129, 14, 127, 137, 14,
! 628: 127, 129, 147, 120, 150, -1, -1, 53, 12, 129,
! 629: 14, 14, 127, 129, 147, 121, 150, -1, -1, 53,
! 630: 12, 159, 44, 159, 147, 122, 150, -1, 86, -1,
! 631: 89, -1, 57, 12, 137, 147, -1, 11, -1, 125,
! 632: 10, -1, 10, -1, 126, 10, -1, -1, 126, -1,
! 633: -1, 142, -1, -1, 148, -1, 128, -1, 128, 134,
! 634: 128, -1, 137, -1, 131, -1, 131, 125, 154, 17,
! 635: -1, 131, 9, 131, -1, 131, 9, 131, 125, 154,
! 636: 17, -1, 125, 154, 17, -1, 7, 125, 154, 17,
! 637: -1, 8, 125, 154, 17, -1, -1, 54, 123, 12,
! 638: 158, 147, 133, 125, 154, 17, -1, 132, -1, 134,
! 639: 128, 132, -1, 137, -1, 135, 116, 137, -1, 157,
! 640: 69, 136, -1, 136, 93, 136, 94, 136, -1, 136,
! 641: 115, 136, -1, 136, 114, 136, -1, 136, 23, 145,
! 642: -1, 136, 23, 136, -1, 136, 44, 159, -1, 12,
! 643: 138, 16, 44, 159, -1, 136, 156, -1, 144, -1,
! 644: 156, -1, 157, 69, 137, -1, 137, 93, 137, 94,
! 645: 137, -1, 137, 115, 137, -1, 137, 114, 137, -1,
! 646: 137, 38, 137, -1, 137, 39, 137, -1, 137, 40,
! 647: 137, -1, 137, 41, 137, -1, 137, 42, 137, -1,
! 648: 137, 43, 137, -1, 137, 23, 145, -1, 137, 23,
! 649: 137, -1, 137, 44, 159, -1, 12, 138, 16, 44,
! 650: 159, -1, 137, 13, 95, 157, -1, 137, 13, 95,
! 651: -1, 137, 156, -1, 144, -1, 156, -1, 137, 116,
! 652: 137, -1, 138, 116, 137, -1, 136, -1, 139, 116,
! 653: 136, -1, -1, 139, -1, 12, 138, 16, -1, 76,
! 654: -1, 77, -1, 10, -1, 14, -1, 142, 10, -1,
! 655: 142, 14, -1, 17, -1, 143, 10, -1, 145, -1,
! 656: 106, 144, -1, -1, 15, 146, 92, 15, -1, 16,
! 657: -1, 147, 10, -1, 141, 140, 13, 156, -1, 141,
! 658: 140, 37, 156, -1, 141, 140, 40, 156, -1, 141,
! 659: 140, -1, 50, 159, 18, 135, 19, -1, 50, 159,
! 660: -1, 137, -1, 1, -1, 126, -1, 14, 127, -1,
! 661: 47, 149, -1, 49, 149, -1, -1, -1, 117, 151,
! 662: 150, 152, 99, 12, 137, 16, 149, -1, 52, 137,
! 663: 149, -1, 52, 149, -1, 119, -1, 124, 150, 118,
! 664: 150, -1, 124, 150, -1, 125, 154, 143, -1, 61,
! 665: 149, -1, 62, 149, -1, 98, 137, 149, -1, 98,
! 666: 149, -1, 148, 149, -1, -1, 160, 153, 150, -1,
! 667: 14, 127, -1, 150, -1, 154, 150, -1, 55, -1,
! 668: 56, -1, 156, 15, 69, 156, -1, 156, 101, 156,
! 669: -1, 156, 102, 156, -1, 156, 103, 156, -1, 156,
! 670: 15, 156, -1, 156, 104, 156, -1, 156, 107, 156,
! 671: -1, 102, 156, -1, 101, 156, -1, 106, 156, -1,
! 672: 46, 12, 16, -1, 46, 12, 135, 16, -1, 46,
! 673: -1, 89, 12, 16, -1, 89, 12, 135, 16, -1,
! 674: 48, 156, -1, 109, 157, -1, 108, 157, -1, 157,
! 675: 109, -1, 157, 108, -1, 95, 157, 42, 156, -1,
! 676: 95, 42, 156, -1, 95, 157, -1, 95, -1, 58,
! 677: 12, 137, 116, 137, 16, -1, 58, 12, 137, 116,
! 678: 145, 16, -1, 12, 137, 16, -1, 60, 12, 137,
! 679: 116, 145, 16, -1, 60, 12, 137, 116, 137, 16,
! 680: -1, 90, -1, 97, 12, 137, 116, 159, 116, 137,
! 681: 16, -1, 97, 12, 137, 116, 159, 116, 145, 16,
! 682: -1, 97, 12, 137, 116, 159, 16, -1, 78, 12,
! 683: 135, 16, -1, 91, -1, 155, 12, 145, 116, 137,
! 684: 16, -1, 155, 12, 137, 116, 137, 16, -1, 155,
! 685: 12, 145, 116, 137, 116, 157, 16, -1, 155, 12,
! 686: 137, 116, 137, 116, 157, 16, -1, 96, 12, 137,
! 687: 116, 137, 116, 137, 16, -1, 96, 12, 137, 116,
! 688: 137, 16, -1, 157, -1, 159, -1, 159, 18, 135,
! 689: 19, -1, 87, -1, 110, 156, -1, -1, 86, -1,
! 690: 158, 116, 86, -1, 86, -1, 45, -1, 88, -1,
! 691: 99, 12, 137, 147, -1
! 692: };
! 693:
! 694: /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
! 695: static const yytype_uint16 yyrline[] =
! 696: {
! 697: 0, 98, 98, 100, 104, 104, 108, 108, 112, 112,
! 698: 116, 116, 120, 120, 124, 124, 126, 126, 128, 128,
! 699: 133, 134, 138, 142, 142, 146, 146, 150, 151, 155,
! 700: 156, 161, 162, 166, 167, 171, 175, 176, 177, 178,
! 701: 179, 180, 182, 184, 184, 189, 190, 194, 195, 199,
! 702: 200, 202, 204, 206, 207, 212, 213, 214, 215, 216,
! 703: 220, 221, 223, 225, 227, 228, 229, 230, 231, 232,
! 704: 233, 234, 239, 240, 241, 244, 247, 248, 249, 253,
! 705: 254, 258, 259, 263, 264, 265, 269, 269, 273, 273,
! 706: 273, 273, 277, 277, 281, 283, 287, 287, 291, 291,
! 707: 295, 298, 301, 304, 305, 306, 307, 308, 312, 313,
! 708: 317, 319, 321, 321, 321, 323, 324, 325, 326, 327,
! 709: 328, 329, 332, 335, 336, 337, 338, 338, 339, 343,
! 710: 344, 348, 348, 352, 353, 354, 355, 356, 357, 358,
! 711: 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
! 712: 369, 370, 371, 372, 373, 374, 375, 376, 378, 381,
! 713: 382, 384, 389, 390, 392, 394, 396, 397, 398, 400,
! 714: 405, 407, 412, 414, 416, 420, 421, 422, 423, 427,
! 715: 428, 429, 435, 436, 437, 442
! 716: };
! 717: #endif
! 718:
! 719: #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
! 720: /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
! 721: First, the terminals, then, starting at YYNTOKENS, nonterminals. */
! 722: static const char *const yytname[] =
! 723: {
! 724: "$end", "error", "$undefined", "FIRSTTOKEN", "PROGRAM", "PASTAT",
! 725: "PASTAT2", "XBEGIN", "XEND", "','", "NL", "'{'", "'('", "'|'", "';'",
! 726: "'/'", "')'", "'}'", "'['", "']'", "ARRAY", "MATCH", "NOTMATCH",
! 727: "MATCHOP", "FINAL", "DOT", "ALL", "CCL", "NCCL", "CHAR", "OR", "STAR",
! 728: "QUEST", "PLUS", "EMPTYRE", "AND", "BOR", "APPEND", "EQ", "GE", "GT",
! 729: "LE", "LT", "NE", "IN", "ARG", "BLTIN", "BREAK", "CLOSE", "CONTINUE",
! 730: "DELETE", "DO", "EXIT", "FOR", "FUNC", "SUB", "GSUB", "IF", "INDEX",
! 731: "LSUBSTR", "MATCHFCN", "NEXT", "NEXTFILE", "ADD", "MINUS", "MULT",
! 732: "DIVIDE", "MOD", "ASSIGN", "ASGNOP", "ADDEQ", "SUBEQ", "MULTEQ", "DIVEQ",
! 733: "MODEQ", "POWEQ", "PRINT", "PRINTF", "SPRINTF", "ELSE", "INTEST",
! 734: "CONDEXPR", "POSTINCR", "PREINCR", "POSTDECR", "PREDECR", "VAR", "IVAR",
! 735: "VARNF", "CALL", "NUMBER", "STRING", "REGEXPR", "'?'", "':'", "GETLINE",
! 736: "SUBSTR", "SPLIT", "RETURN", "WHILE", "CAT", "'+'", "'-'", "'*'", "'%'",
! 737: "UMINUS", "NOT", "POWER", "INCR", "DECR", "INDIRECT", "LASTTOKEN",
! 738: "$accept", "program", "and", "bor", "comma", "do", "else", "for", "@1",
! 739: "@2", "@3", "funcname", "if", "lbrace", "nl", "opt_nl", "opt_pst",
! 740: "opt_simple_stmt", "pas", "pa_pat", "pa_stat", "@4", "pa_stats",
! 741: "patlist", "ppattern", "pattern", "plist", "pplist", "prarg", "print",
! 742: "pst", "rbrace", "re", "reg_expr", "@5", "rparen", "simple_stmt", "st",
! 743: "stmt", "@6", "@7", "@8", "stmtlist", "subop", "term", "var", "varlist",
! 744: "varname", "while", 0
! 745: };
! 746: #endif
! 747:
! 748: # ifdef YYPRINT
! 749: /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
! 750: token YYLEX-NUM. */
! 751: static const yytype_uint16 yytoknum[] =
! 752: {
! 753: 0, 256, 257, 258, 259, 260, 261, 262, 263, 44,
! 754: 264, 123, 40, 124, 59, 47, 41, 125, 91, 93,
! 755: 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
! 756: 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
! 757: 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
! 758: 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
! 759: 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
! 760: 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
! 761: 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
! 762: 335, 336, 337, 63, 58, 338, 339, 340, 341, 342,
! 763: 343, 43, 45, 42, 37, 344, 345, 346, 347, 348,
! 764: 349, 350
! 765: };
! 766: # endif
! 767:
! 768: /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
! 769: static const yytype_uint8 yyr1[] =
! 770: {
! 771: 0, 112, 113, 113, 114, 114, 115, 115, 116, 116,
! 772: 117, 117, 118, 118, 120, 119, 121, 119, 122, 119,
! 773: 123, 123, 124, 125, 125, 126, 126, 127, 127, 128,
! 774: 128, 129, 129, 130, 130, 131, 132, 132, 132, 132,
! 775: 132, 132, 132, 133, 132, 134, 134, 135, 135, 136,
! 776: 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
! 777: 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
! 778: 137, 137, 137, 137, 137, 137, 137, 137, 137, 138,
! 779: 138, 139, 139, 140, 140, 140, 141, 141, 142, 142,
! 780: 142, 142, 143, 143, 144, 144, 146, 145, 147, 147,
! 781: 148, 148, 148, 148, 148, 148, 148, 148, 149, 149,
! 782: 150, 150, 151, 152, 150, 150, 150, 150, 150, 150,
! 783: 150, 150, 150, 150, 150, 150, 153, 150, 150, 154,
! 784: 154, 155, 155, 156, 156, 156, 156, 156, 156, 156,
! 785: 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
! 786: 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
! 787: 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
! 788: 156, 156, 156, 156, 156, 157, 157, 157, 157, 158,
! 789: 158, 158, 159, 159, 159, 160
! 790: };
! 791:
! 792: /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
! 793: static const yytype_uint8 yyr2[] =
! 794: {
! 795: 0, 2, 1, 1, 1, 2, 1, 2, 1, 2,
! 796: 1, 2, 1, 2, 0, 12, 0, 10, 0, 8,
! 797: 1, 1, 4, 1, 2, 1, 2, 0, 1, 0,
! 798: 1, 0, 1, 1, 3, 1, 1, 4, 3, 6,
! 799: 3, 4, 4, 0, 9, 1, 3, 1, 3, 3,
! 800: 5, 3, 3, 3, 3, 3, 5, 2, 1, 1,
! 801: 3, 5, 3, 3, 3, 3, 3, 3, 3, 3,
! 802: 3, 3, 3, 5, 4, 3, 2, 1, 1, 3,
! 803: 3, 1, 3, 0, 1, 3, 1, 1, 1, 1,
! 804: 2, 2, 1, 2, 1, 2, 0, 4, 1, 2,
! 805: 4, 4, 4, 2, 5, 2, 1, 1, 1, 2,
! 806: 2, 2, 0, 0, 9, 3, 2, 1, 4, 2,
! 807: 3, 2, 2, 3, 2, 2, 0, 3, 2, 1,
! 808: 2, 1, 1, 4, 3, 3, 3, 3, 3, 3,
! 809: 2, 2, 2, 3, 4, 1, 3, 4, 2, 2,
! 810: 2, 2, 2, 4, 3, 2, 1, 6, 6, 3,
! 811: 6, 6, 1, 8, 8, 6, 4, 1, 6, 6,
! 812: 8, 8, 8, 6, 1, 1, 4, 1, 2, 0,
! 813: 1, 3, 1, 1, 1, 4
! 814: };
! 815:
! 816: /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
! 817: STATE-NUM when YYTABLE doesn't specify something else to do. Zero
! 818: means the default is an error. */
! 819: static const yytype_uint8 yydefact[] =
! 820: {
! 821: 0, 3, 88, 89, 0, 33, 2, 30, 1, 0,
! 822: 0, 23, 0, 96, 183, 145, 0, 0, 131, 132,
! 823: 0, 0, 0, 182, 177, 184, 0, 162, 167, 156,
! 824: 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
! 825: 45, 29, 35, 77, 94, 0, 78, 174, 175, 90,
! 826: 91, 0, 0, 0, 0, 0, 0, 0, 0, 148,
! 827: 174, 20, 21, 0, 0, 0, 0, 0, 0, 155,
! 828: 0, 0, 141, 140, 95, 142, 150, 149, 178, 107,
! 829: 24, 27, 0, 0, 0, 10, 0, 0, 0, 0,
! 830: 0, 86, 87, 0, 0, 112, 117, 0, 0, 106,
! 831: 83, 0, 129, 0, 126, 0, 0, 34, 0, 0,
! 832: 4, 6, 0, 0, 0, 0, 0, 0, 0, 0,
! 833: 0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
! 834: 0, 152, 151, 0, 0, 0, 8, 159, 0, 0,
! 835: 0, 0, 143, 0, 47, 0, 179, 0, 0, 0,
! 836: 146, 0, 154, 0, 0, 0, 25, 28, 128, 27,
! 837: 108, 110, 111, 105, 0, 116, 0, 0, 121, 122,
! 838: 0, 124, 0, 11, 0, 119, 0, 0, 81, 84,
! 839: 103, 58, 59, 174, 125, 40, 130, 0, 38, 0,
! 840: 46, 75, 71, 70, 64, 65, 66, 67, 68, 69,
! 841: 72, 0, 5, 63, 7, 62, 0, 94, 0, 137,
! 842: 134, 135, 136, 138, 139, 60, 0, 41, 42, 9,
! 843: 79, 0, 80, 97, 144, 0, 180, 0, 0, 0,
! 844: 166, 147, 153, 0, 0, 26, 109, 0, 115, 0,
! 845: 32, 175, 0, 123, 0, 113, 12, 0, 92, 120,
! 846: 0, 0, 0, 0, 0, 0, 57, 0, 0, 0,
! 847: 0, 0, 127, 0, 37, 74, 0, 0, 0, 133,
! 848: 176, 73, 48, 98, 0, 43, 0, 94, 0, 94,
! 849: 0, 0, 0, 27, 0, 22, 185, 0, 13, 118,
! 850: 93, 85, 0, 54, 53, 55, 0, 52, 51, 82,
! 851: 100, 101, 102, 49, 0, 61, 0, 0, 181, 99,
! 852: 0, 157, 158, 161, 160, 173, 0, 165, 0, 104,
! 853: 27, 0, 0, 0, 0, 0, 0, 39, 169, 0,
! 854: 168, 0, 0, 0, 0, 94, 0, 0, 18, 0,
! 855: 56, 0, 50, 0, 0, 0, 172, 163, 164, 0,
! 856: 27, 0, 0, 171, 170, 44, 16, 0, 19, 0,
! 857: 0, 0, 114, 17, 14, 0, 15
! 858: };
! 859:
! 860: /* YYDEFGOTO[NTERM-NUM]. */
! 861: static const yytype_int16 yydefgoto[] =
! 862: {
! 863: -1, 4, 120, 121, 225, 95, 247, 96, 365, 360,
! 864: 351, 63, 97, 98, 160, 158, 5, 239, 6, 39,
! 865: 40, 310, 41, 143, 178, 99, 54, 179, 180, 100,
! 866: 7, 249, 43, 44, 55, 275, 101, 161, 102, 174,
! 867: 287, 187, 103, 45, 46, 47, 227, 48, 104
! 868: };
! 869:
! 870: /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
! 871: STATE-NUM. */
! 872: #define YYPACT_NINF -322
! 873: static const yytype_int16 yypact[] =
! 874: {
! 875: 680, -322, -322, -322, 25, 1583, -322, 17, -322, 34,
! 876: 34, -322, 4136, -322, -322, 39, 4490, 16, -322, -322,
! 877: 44, 63, 74, -322, -322, -322, 92, -322, -322, 255,
! 878: 102, 133, 4490, 4490, 4195, -40, -40, 4490, 811, 113,
! 879: -322, 55, 3462, -322, -322, 143, -4, -35, 76, -322,
! 880: -322, 811, 811, 1674, 62, -12, 3959, 4136, 4490, -4,
! 881: 52, -322, -322, 160, 4136, 4136, 4136, 4018, 4490, 83,
! 882: 4136, 4136, 66, 66, -322, 66, -322, -322, -322, -322,
! 883: -322, 176, 82, 82, -33, -322, 2198, 188, 190, 82,
! 884: 82, -322, -322, 2198, 199, 178, -322, 1424, 811, 3462,
! 885: 4254, 82, -322, 879, -322, 4136, 811, 1583, 117, 4136,
! 886: -322, -322, 4136, 4136, 4136, 4136, 4136, 4136, -33, 4136,
! 887: 2257, 2316, -4, 4136, 4313, 4490, 4490, 4490, 4490, 4490,
! 888: 4136, -322, -322, 4136, 947, 1015, -322, -322, 2375, 173,
! 889: 2375, 203, -322, 124, 3462, 2643, 138, 2038, 2038, 140,
! 890: -322, 149, -4, 4490, 2038, 2038, -322, 217, -322, 176,
! 891: 217, -322, -322, 212, 2139, -322, 1491, 4136, -322, -322,
! 892: 2139, -322, 4136, -322, 1424, 152, 1083, 4136, 3841, 223,
! 893: 22, -322, -4, -2, -322, -322, -322, 1424, 34, 1151,
! 894: -322, -40, 3713, -322, 3713, 3713, 3713, 3713, 3713, 3713,
! 895: -322, 2734, -322, 3633, -322, 3553, 2038, 223, 4490, 66,
! 896: 169, 169, 66, 66, 66, 3462, 21, -322, -322, -322,
! 897: 3462, -33, 3462, -322, -322, 2375, -322, 154, 2375, 2375,
! 898: -322, -322, -4, 2375, 31, -322, -322, 4136, -322, 219,
! 899: -322, -11, 2825, -322, 2825, -322, -322, 1220, -322, 224,
! 900: 155, 4372, -33, 4372, 2434, 2493, -4, 2552, 4490, 4490,
! 901: 4490, 4372, -322, 811, -322, -322, 4136, 2375, 2375, -4,
! 902: -322, -322, 3462, -322, 4, 226, 2916, 230, 3007, 231,
! 903: 1765, 189, 68, 106, -33, 226, 226, 153, -322, -322,
! 904: -322, 204, 4136, 4431, -322, -322, 3772, 4077, 3900, 3841,
! 905: -4, -4, -4, 3841, 1288, 3462, 1856, 1947, -322, -322,
! 906: 34, -322, -322, -322, -322, -322, 2375, -322, 2375, -322,
! 907: 176, 4136, 239, 245, -33, 192, 4372, -322, -322, 56,
! 908: -322, 56, 811, 3098, 3189, 247, 1558, 3280, 226, 4136,
! 909: -322, 204, 3841, 250, 258, 1356, -322, -322, -322, 239,
! 910: 176, 1424, 3371, -322, -322, -322, 226, 1558, -322, 82,
! 911: 1424, 239, -322, -322, 226, 1424, -322
! 912: };
! 913:
! 914: /* YYPGOTO[NTERM-NUM]. */
! 915: static const yytype_int16 yypgoto[] =
! 916: {
! 917: -322, -322, -146, -83, 200, -322, -322, -322, -322, -322,
! 918: -322, -322, -322, 19, -80, -153, 220, -321, -322, 174,
! 919: 171, -322, -322, -44, 14, 526, -174, -322, -322, -322,
! 920: -322, -322, -32, -60, -322, -234, -162, -29, -53, -322,
! 921: -322, -322, -13, -322, 269, -16, -322, -75, -322
! 922: };
! 923:
! 924: /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
! 925: positive, shift that token. If negative, reduce the rule which
! 926: number is the opposite. If zero, do what YYDEFACT says.
! 927: If YYTABLE_NINF, syntax error. */
! 928: #define YYTABLE_NINF -32
! 929: static const yytype_int16 yytable[] =
! 930: {
! 931: 60, 157, 74, 250, 240, 14, 236, 133, 285, 163,
! 932: 286, 124, 14, 69, 219, 349, 60, 60, 60, 76,
! 933: 77, 60, 149, 151, 38, 8, 60, 49, 51, 52,
! 934: 136, 50, 254, 284, 130, 258, 361, 60, 134, 135,
! 935: 270, 219, 60, 200, 175, 11, 23, 24, 25, 193,
! 936: 186, 56, 60, 23, 162, 25, 64, 165, 106, 259,
! 937: 168, 169, 260, 207, 171, 2, 219, 261, 181, 3,
! 938: 37, 136, 184, 131, 132, 65, 14, 136, 139, 157,
! 939: 141, 186, 186, 60, 183, 176, 66, 319, 338, 216,
! 940: 308, 241, 156, 189, 133, 255, 159, 125, 126, 127,
! 941: 128, 14, 61, 129, 67, 62, 131, 132, 60, 60,
! 942: 60, 60, 60, 60, 70, 356, 156, 23, 325, 25,
! 943: 320, 245, 105, 186, 11, 153, 38, 364, 60, 60,
! 944: 321, 60, 60, 136, 262, 238, 186, 60, 60, 60,
! 945: 224, 243, 23, 24, 25, 71, 271, 254, 60, 136,
! 946: 254, 254, 254, 254, 60, 123, 230, 254, 136, 281,
! 947: 131, 132, 60, 136, 136, 231, 37, 336, 277, 279,
! 948: 273, 291, 146, 129, 240, 265, 60, 295, 60, 60,
! 949: 60, 60, 60, 60, 124, 60, 156, 60, 173, 60,
! 950: 60, 294, 60, 282, 289, 240, 254, 357, 136, 60,
! 951: 166, 136, 167, 157, 60, 317, 60, 263, 341, 322,
! 952: 255, 172, 191, 255, 255, 255, 255, 221, 223, 181,
! 953: 255, 181, 181, 181, 226, 181, 60, 235, 60, 181,
! 954: 237, 246, 136, 283, 290, 183, 309, 183, 183, 183,
! 955: 157, 183, 60, 60, 60, 183, 312, 314, 324, 340,
! 956: 304, 186, 323, 138, 140, 273, 60, 339, 335, 255,
! 957: 60, 107, 60, 348, 60, 293, 353, 296, 297, 298,
! 958: 157, 299, 127, 128, 354, 303, 129, 60, 190, 188,
! 959: 60, 60, 60, 60, 0, 59, 0, 60, 0, 60,
! 960: 60, 60, 186, 0, 181, 0, 0, 68, 358, 0,
! 961: 14, 72, 73, 75, 0, 0, 78, 363, 0, 0,
! 962: 183, 122, 366, 343, 0, 344, 0, 60, 60, 345,
! 963: 0, 60, 122, 0, 0, 0, 60, 75, 0, 332,
! 964: 362, 0, 0, 0, 0, 0, 60, 152, 0, 0,
! 965: 342, 23, 24, 25, 0, 0, 0, 228, 229, 0,
! 966: 0, 0, 0, 0, 233, 234, 0, 0, 0, 0,
! 967: 0, 0, 0, 0, 0, 37, 0, 0, 122, 182,
! 968: 0, 0, 0, 0, 0, 0, 0, 0, 0, 257,
! 969: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 970: 0, 0, 0, 209, 210, 211, 212, 213, 214, 0,
! 971: 0, 0, 0, 0, 0, 0, 267, 268, 0, 0,
! 972: 0, 0, 0, 122, 122, 0, 122, 122, 0, 0,
! 973: 0, 0, 232, 122, 122, 0, 0, 274, 0, 0,
! 974: 0, 0, 0, 122, 0, 0, 0, 0, 0, 122,
! 975: 0, 0, 0, 0, 0, 0, 0, 256, 0, 0,
! 976: 140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 977: 0, 122, 0, 122, 122, 122, 122, 122, 122, 0,
! 978: 122, 0, 122, 0, 122, 122, 0, 269, 0, 0,
! 979: 316, 318, 0, 0, 122, 0, 0, 0, 0, 122,
! 980: 0, 122, 0, 0, 0, 0, 0, 0, 0, 0,
! 981: 0, 0, 0, 0, 0, 0, 329, 331, 0, 0,
! 982: 0, 122, 0, 122, 0, 0, 0, 0, 0, 0,
! 983: 182, 0, 182, 182, 182, 140, 182, 300, 301, 302,
! 984: 182, 42, 0, 0, 0, 0, 0, 0, 53, 0,
! 985: 0, 122, 0, 0, 0, 122, 0, 122, 0, 122,
! 986: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 987: 0, 0, 256, 0, 0, 256, 256, 256, 256, 0,
! 988: 0, 0, 256, 0, 122, 122, 122, 0, 0, 0,
! 989: 0, 0, 144, 145, 0, 0, 0, 0, 0, 0,
! 990: 147, 148, 144, 144, 0, 182, 154, 155, 0, 0,
! 991: 0, 0, 122, 122, 0, 0, 122, 0, 0, 0,
! 992: 0, 256, 164, 0, 0, 0, 0, 0, 0, 170,
! 993: 0, 122, 0, 0, 0, 0, 0, 0, 0, 0,
! 994: 0, 42, 0, 42, 0, 192, 0, 0, 194, 195,
! 995: 196, 197, 198, 199, 0, 201, 203, 205, 0, 206,
! 996: 0, 0, 0, 0, 0, 0, 215, 0, 0, 144,
! 997: 0, 0, 0, 0, 220, 0, 222, 0, 0, 0,
! 998: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 999: -29, 1, 0, 0, 0, 0, 0, -29, -29, 0,
! 1000: 2, -29, -29, 242, 3, -29, 0, 0, 244, 0,
! 1001: 0, 0, 0, 53, 0, 0, 0, 0, 0, 0,
! 1002: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1003: 0, 0, 0, 0, 0, -29, -29, 0, -29, 0,
! 1004: 0, 0, 0, 0, -29, -29, -29, 0, -29, 0,
! 1005: -29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1006: 0, 272, 0, 0, 276, 278, 0, 0, -29, 280,
! 1007: 0, 0, 0, 144, 0, 0, -29, -29, -29, -29,
! 1008: -29, -29, 0, 0, 0, -29, -29, -29, 0, 0,
! 1009: 0, -29, -29, 0, 0, 0, -29, 0, -29, -29,
! 1010: -29, 0, 305, 306, 307, 0, 0, 0, 0, 0,
! 1011: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1012: 0, 0, 79, 0, 0, 0, 0, 0, 53, 0,
! 1013: 0, 80, 11, 12, 0, 81, 13, 0, 0, 0,
! 1014: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1015: 0, 0, 333, 0, 334, 0, 0, 337, 0, 0,
! 1016: 0, 0, 0, 0, 0, 0, 14, 15, 82, 16,
! 1017: 83, 84, 85, 86, 87, 352, 18, 19, 88, 20,
! 1018: 0, 21, 89, 90, 0, 0, 0, 0, 0, 0,
! 1019: 79, 0, 0, 0, 0, 0, 0, 91, 92, 22,
! 1020: 11, 12, 0, 81, 13, 0, 185, 23, 24, 25,
! 1021: 26, 27, 28, 0, 0, 0, 29, 30, 31, 93,
! 1022: 94, 0, 32, 33, 0, 0, 0, 34, 0, 35,
! 1023: 36, 37, 0, 0, 14, 15, 82, 16, 83, 84,
! 1024: 85, 86, 87, 0, 18, 19, 88, 20, 0, 21,
! 1025: 89, 90, 0, 0, 0, 0, 0, 0, 79, 0,
! 1026: 0, 0, 0, 0, 0, 91, 92, 22, 11, 12,
! 1027: 0, 81, 13, 0, 217, 23, 24, 25, 26, 27,
! 1028: 28, 0, 0, 0, 29, 30, 31, 93, 94, 0,
! 1029: 32, 33, 0, 0, 0, 34, 0, 35, 36, 37,
! 1030: 0, 0, 14, 15, 82, 16, 83, 84, 85, 86,
! 1031: 87, 0, 18, 19, 88, 20, 0, 21, 89, 90,
! 1032: 0, 0, 0, 0, 0, 0, 79, 0, 0, 0,
! 1033: 0, 0, 0, 91, 92, 22, 11, 12, 0, 81,
! 1034: 13, 0, 218, 23, 24, 25, 26, 27, 28, 0,
! 1035: 0, 0, 29, 30, 31, 93, 94, 0, 32, 33,
! 1036: 0, 0, 0, 34, 0, 35, 36, 37, 0, 0,
! 1037: 14, 15, 82, 16, 83, 84, 85, 86, 87, 0,
! 1038: 18, 19, 88, 20, 0, 21, 89, 90, 0, 0,
! 1039: 0, 0, 0, 0, 79, 0, 0, 0, 0, 0,
! 1040: 0, 91, 92, 22, 11, 12, 0, 81, 13, 0,
! 1041: 248, 23, 24, 25, 26, 27, 28, 0, 0, 0,
! 1042: 29, 30, 31, 93, 94, 0, 32, 33, 0, 0,
! 1043: 0, 34, 0, 35, 36, 37, 0, 0, 14, 15,
! 1044: 82, 16, 83, 84, 85, 86, 87, 0, 18, 19,
! 1045: 88, 20, 0, 21, 89, 90, 0, 0, 0, 0,
! 1046: 0, 0, 79, 0, 0, 0, 0, 0, 0, 91,
! 1047: 92, 22, 11, 12, 0, 81, 13, 0, 264, 23,
! 1048: 24, 25, 26, 27, 28, 0, 0, 0, 29, 30,
! 1049: 31, 93, 94, 0, 32, 33, 0, 0, 0, 34,
! 1050: 0, 35, 36, 37, 0, 0, 14, 15, 82, 16,
! 1051: 83, 84, 85, 86, 87, 0, 18, 19, 88, 20,
! 1052: 0, 21, 89, 90, 0, 0, 0, 0, 0, 0,
! 1053: 0, 79, 0, 0, 0, 0, 0, 91, 92, 22,
! 1054: 288, 11, 12, 0, 81, 13, 0, 23, 24, 25,
! 1055: 26, 27, 28, 0, 0, 0, 29, 30, 31, 93,
! 1056: 94, 0, 32, 33, 0, 0, 0, 34, 0, 35,
! 1057: 36, 37, 0, 0, 0, 14, 15, 82, 16, 83,
! 1058: 84, 85, 86, 87, 0, 18, 19, 88, 20, 0,
! 1059: 21, 89, 90, 0, 0, 0, 0, 0, 0, 79,
! 1060: 0, 0, 0, 0, 0, 0, 91, 92, 22, 11,
! 1061: 12, 0, 81, 13, 0, 327, 23, 24, 25, 26,
! 1062: 27, 28, 0, 0, 0, 29, 30, 31, 93, 94,
! 1063: 0, 32, 33, 0, 0, 0, 34, 0, 35, 36,
! 1064: 37, 0, 0, 14, 15, 82, 16, 83, 84, 85,
! 1065: 86, 87, 0, 18, 19, 88, 20, 0, 21, 89,
! 1066: 90, 0, 0, 0, 0, 0, 0, 79, 0, 0,
! 1067: 0, 0, 0, 0, 91, 92, 22, 11, 12, 0,
! 1068: 81, 13, 0, 355, 23, 24, 25, 26, 27, 28,
! 1069: 0, 0, 0, 29, 30, 31, 93, 94, 0, 32,
! 1070: 33, 0, 0, 0, 34, 0, 35, 36, 37, 0,
! 1071: 0, 14, 15, 82, 16, 83, 84, 85, 86, 87,
! 1072: 0, 18, 19, 88, 20, 0, 21, 89, 90, 0,
! 1073: 0, 0, 0, 0, 0, 79, 0, 0, 0, 0,
! 1074: 0, 0, 91, 92, 22, 11, 12, 0, 81, 13,
! 1075: 0, 0, 23, 24, 25, 26, 27, 28, 0, 0,
! 1076: 0, 29, 30, 31, 93, 94, 0, 32, 33, 0,
! 1077: 0, 0, 34, 0, 35, 36, 37, 0, 0, 14,
! 1078: 15, 82, 16, 83, 84, 85, 86, 87, 0, 18,
! 1079: 19, 88, 20, 0, 21, 89, 90, 0, 0, 0,
! 1080: 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
! 1081: 91, 92, 22, 12, 0, -31, 13, 0, 0, 0,
! 1082: 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
! 1083: 30, 31, 93, 94, 0, 32, 33, 0, 0, 0,
! 1084: 34, 0, 35, 36, 37, 0, 14, 15, 0, 16,
! 1085: 0, 84, 0, 0, 0, 0, 18, 19, 0, 20,
! 1086: 0, 21, 0, 0, 0, 0, 0, 0, 0, 79,
! 1087: 0, 0, 0, 0, 0, 0, 0, 91, 92, 22,
! 1088: 12, 0, 0, 13, -31, 0, 0, 23, 24, 25,
! 1089: 26, 27, 28, 0, 0, 0, 29, 30, 31, 0,
! 1090: 9, 10, 32, 33, 11, 12, 0, 34, 13, 35,
! 1091: 36, 37, 0, 14, 15, 0, 16, 0, 84, 0,
! 1092: 0, 0, 0, 18, 19, 0, 20, 0, 21, 0,
! 1093: 0, 0, 0, 0, 0, 0, 0, 0, 14, 15,
! 1094: 0, 16, 0, 0, 91, 92, 22, 17, 18, 19,
! 1095: 0, 20, 0, 21, 23, 24, 25, 26, 27, 28,
! 1096: 0, 0, 0, 29, 30, 31, 0, 0, 0, 32,
! 1097: 33, 22, 0, 0, 34, 0, 35, 36, 37, 23,
! 1098: 24, 25, 26, 27, 28, 0, 0, 0, 29, 30,
! 1099: 31, 0, 0, 136, 32, 33, 57, 108, 0, 34,
! 1100: 137, 35, 36, 37, 0, 0, 0, 109, 0, 0,
! 1101: 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
! 1102: 111, 0, 112, 113, 114, 115, 116, 117, 118, 14,
! 1103: 15, 0, 16, 0, 0, 0, 0, 0, 0, 18,
! 1104: 19, 0, 20, 0, 21, 0, 0, 0, 0, 0,
! 1105: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1106: 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
! 1107: 23, 24, 25, 26, 27, 28, 0, 119, 0, 29,
! 1108: 30, 31, 0, 0, 136, 32, 33, 57, 108, 0,
! 1109: 58, 315, 35, 36, 37, 0, 0, 0, 109, 0,
! 1110: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1111: 110, 111, 0, 112, 113, 114, 115, 116, 117, 118,
! 1112: 14, 15, 0, 16, 0, 0, 0, 0, 0, 0,
! 1113: 18, 19, 0, 20, 0, 21, 0, 0, 0, 0,
! 1114: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1115: 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
! 1116: 0, 23, 24, 25, 26, 27, 28, 0, 119, 0,
! 1117: 29, 30, 31, 0, 0, 136, 32, 33, 57, 108,
! 1118: 0, 58, 328, 35, 36, 37, 0, 0, 0, 109,
! 1119: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1120: 0, 110, 111, 0, 112, 113, 114, 115, 116, 117,
! 1121: 118, 14, 15, 0, 16, 0, 0, 0, 0, 0,
! 1122: 0, 18, 19, 0, 20, 0, 21, 0, 0, 0,
! 1123: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1124: 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
! 1125: 0, 0, 23, 24, 25, 26, 27, 28, 0, 119,
! 1126: 0, 29, 30, 31, 0, 0, 136, 32, 33, 57,
! 1127: 108, 0, 58, 330, 35, 36, 37, 0, 0, 0,
! 1128: 109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1129: 0, 0, 110, 111, 0, 112, 113, 114, 115, 116,
! 1130: 117, 118, 14, 15, 0, 16, 0, 0, 0, 0,
! 1131: 0, 0, 18, 19, 0, 20, 0, 21, 0, 0,
! 1132: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1133: 0, 0, 0, 0, 0, 22, 0, 0, 0, 0,
! 1134: 0, 0, 0, 23, 24, 25, 26, 27, 28, 0,
! 1135: 119, 0, 29, 30, 31, 0, 0, 136, 32, 33,
! 1136: 57, 108, 0, 58, 0, 35, 36, 37, 0, 0,
! 1137: 0, 109, 0, 0, 0, 0, 0, 0, 0, 0,
! 1138: 0, 0, 0, 110, 111, 0, 112, 113, 114, 115,
! 1139: 116, 117, 118, 14, 15, 0, 16, 0, 0, 0,
! 1140: 0, 0, 0, 18, 19, 0, 20, 0, 21, 0,
! 1141: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1142: 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
! 1143: 0, 0, 0, 0, 23, 24, 25, 26, 27, 28,
! 1144: 0, 119, 0, 29, 30, 31, 0, 0, 0, 32,
! 1145: 33, 0, 0, 0, 58, 0, 35, 36, 37, 156,
! 1146: 0, 57, 108, 159, 0, 0, 0, 0, 0, 0,
! 1147: 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
! 1148: 0, 0, 0, 0, 110, 111, 0, 112, 113, 114,
! 1149: 115, 116, 117, 118, 14, 15, 0, 16, 0, 0,
! 1150: 0, 0, 0, 0, 18, 19, 0, 20, 0, 21,
! 1151: 0, 0, 0, 0, 0, 0, 0, 0, 156, 0,
! 1152: 12, 0, 159, 13, 0, 0, 0, 22, 0, 0,
! 1153: 0, 0, 0, 0, 0, 23, 24, 25, 26, 27,
! 1154: 28, 0, 119, 0, 29, 30, 31, 0, 0, 0,
! 1155: 32, 33, 0, 14, 15, 58, 16, 35, 36, 37,
! 1156: 0, 0, 0, 18, 19, 0, 20, 0, 21, 0,
! 1157: 0, 0, 0, 0, 0, 0, 0, 202, 0, 12,
! 1158: 0, 0, 13, 0, 0, 0, 22, 0, 0, 0,
! 1159: 0, 0, 0, 0, 23, 24, 25, 26, 27, 28,
! 1160: 0, 0, 0, 29, 30, 31, 0, 0, 0, 32,
! 1161: 33, 0, 14, 15, 34, 16, 35, 36, 37, 0,
! 1162: 0, 0, 18, 19, 0, 20, 0, 21, 0, 0,
! 1163: 0, 0, 0, 0, 0, 0, 204, 0, 12, 0,
! 1164: 0, 13, 0, 0, 0, 22, 0, 0, 0, 0,
! 1165: 0, 0, 0, 23, 24, 25, 26, 27, 28, 0,
! 1166: 0, 0, 29, 30, 31, 0, 0, 0, 32, 33,
! 1167: 0, 14, 15, 34, 16, 35, 36, 37, 0, 0,
! 1168: 0, 18, 19, 0, 20, 0, 21, 0, 0, 0,
! 1169: 0, 0, 0, 0, 0, 219, 0, 12, 0, 0,
! 1170: 13, 0, 0, 0, 22, 0, 0, 0, 0, 0,
! 1171: 0, 0, 23, 24, 25, 26, 27, 28, 0, 0,
! 1172: 0, 29, 30, 31, 0, 0, 0, 32, 33, 0,
! 1173: 14, 15, 34, 16, 35, 36, 37, 0, 0, 0,
! 1174: 18, 19, 0, 20, 0, 21, 0, 0, 0, 0,
! 1175: 0, 0, 0, 0, 202, 0, 292, 0, 0, 13,
! 1176: 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
! 1177: 0, 23, 24, 25, 26, 27, 28, 0, 0, 0,
! 1178: 29, 30, 31, 0, 0, 0, 32, 33, 0, 14,
! 1179: 15, 34, 16, 35, 36, 37, 0, 0, 0, 18,
! 1180: 19, 0, 20, 0, 21, 0, 0, 0, 0, 0,
! 1181: 0, 0, 0, 204, 0, 292, 0, 0, 13, 0,
! 1182: 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
! 1183: 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
! 1184: 30, 31, 0, 0, 0, 32, 33, 0, 14, 15,
! 1185: 34, 16, 35, 36, 37, 0, 0, 0, 18, 19,
! 1186: 0, 20, 0, 21, 0, 0, 0, 0, 0, 0,
! 1187: 0, 0, 219, 0, 292, 0, 0, 13, 0, 0,
! 1188: 0, 22, 0, 0, 0, 0, 0, 0, 0, 23,
! 1189: 24, 25, 26, 27, 28, 0, 0, 0, 29, 30,
! 1190: 31, 0, 0, 0, 32, 33, 0, 14, 15, 34,
! 1191: 16, 35, 36, 37, 0, 0, 0, 18, 19, 0,
! 1192: 20, 0, 21, 0, 0, 0, 0, 0, 0, 0,
! 1193: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1194: 22, 0, 0, 0, 0, 0, 0, 0, 23, 24,
! 1195: 25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
! 1196: 0, 0, 0, 32, 33, 57, 108, 0, 34, 137,
! 1197: 35, 36, 37, 0, 0, 0, 109, 0, 0, 0,
! 1198: 0, 0, 0, 0, 0, 0, 0, 0, 110, 111,
! 1199: 0, 112, 113, 114, 115, 116, 117, 118, 14, 15,
! 1200: 0, 16, 0, 0, 0, 0, 0, 0, 18, 19,
! 1201: 0, 20, 0, 21, 0, 0, 0, 0, 0, 0,
! 1202: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1203: 0, 22, 0, 0, 0, 0, 0, 0, 0, 23,
! 1204: 24, 25, 26, 27, 28, 0, 119, 0, 29, 30,
! 1205: 31, 0, 0, 0, 32, 33, 57, 108, 0, 58,
! 1206: 0, 35, 36, 37, 0, 0, 0, 109, 0, 0,
! 1207: 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
! 1208: 111, 0, 112, 113, 114, 115, 116, 117, 118, 14,
! 1209: 15, 0, 16, 0, 0, 0, 0, 0, 0, 18,
! 1210: 19, 0, 20, 0, 21, 0, 0, 0, 0, 0,
! 1211: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1212: 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
! 1213: 23, 24, 25, 26, 27, 28, 0, 119, 266, 29,
! 1214: 30, 31, 0, 0, 0, 32, 33, 57, 108, 0,
! 1215: 58, 273, 35, 36, 37, 0, 0, 0, 109, 0,
! 1216: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1217: 110, 111, 0, 112, 113, 114, 115, 116, 117, 118,
! 1218: 14, 15, 0, 16, 0, 0, 0, 0, 0, 0,
! 1219: 18, 19, 0, 20, 0, 21, 0, 0, 0, 0,
! 1220: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1221: 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
! 1222: 0, 23, 24, 25, 26, 27, 28, 0, 119, 0,
! 1223: 29, 30, 31, 0, 0, 0, 32, 33, 57, 108,
! 1224: 0, 58, 311, 35, 36, 37, 0, 0, 0, 109,
! 1225: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1226: 0, 110, 111, 0, 112, 113, 114, 115, 116, 117,
! 1227: 118, 14, 15, 0, 16, 0, 0, 0, 0, 0,
! 1228: 0, 18, 19, 0, 20, 0, 21, 0, 0, 0,
! 1229: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1230: 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
! 1231: 0, 0, 23, 24, 25, 26, 27, 28, 0, 119,
! 1232: 0, 29, 30, 31, 0, 0, 0, 32, 33, 57,
! 1233: 108, 0, 58, 313, 35, 36, 37, 0, 0, 0,
! 1234: 109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1235: 0, 0, 110, 111, 0, 112, 113, 114, 115, 116,
! 1236: 117, 118, 14, 15, 0, 16, 0, 0, 0, 0,
! 1237: 0, 0, 18, 19, 0, 20, 0, 21, 0, 0,
! 1238: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1239: 0, 0, 0, 0, 0, 22, 0, 0, 0, 0,
! 1240: 0, 0, 0, 23, 24, 25, 26, 27, 28, 0,
! 1241: 119, 0, 29, 30, 31, 0, 0, 0, 32, 33,
! 1242: 57, 108, 0, 58, 346, 35, 36, 37, 0, 0,
! 1243: 0, 109, 0, 0, 0, 0, 0, 0, 0, 0,
! 1244: 0, 0, 0, 110, 111, 0, 112, 113, 114, 115,
! 1245: 116, 117, 118, 14, 15, 0, 16, 0, 0, 0,
! 1246: 0, 0, 0, 18, 19, 0, 20, 0, 21, 0,
! 1247: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1248: 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
! 1249: 0, 0, 0, 0, 23, 24, 25, 26, 27, 28,
! 1250: 0, 119, 0, 29, 30, 31, 0, 0, 0, 32,
! 1251: 33, 57, 108, 0, 58, 347, 35, 36, 37, 0,
! 1252: 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
! 1253: 0, 0, 0, 0, 110, 111, 0, 112, 113, 114,
! 1254: 115, 116, 117, 118, 14, 15, 0, 16, 0, 0,
! 1255: 0, 0, 0, 0, 18, 19, 0, 20, 0, 21,
! 1256: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1257: 0, 0, 0, 0, 0, 0, 0, 22, 0, 0,
! 1258: 0, 0, 0, 0, 0, 23, 24, 25, 26, 27,
! 1259: 28, 0, 119, 0, 29, 30, 31, 0, 0, 0,
! 1260: 32, 33, 57, 108, 350, 58, 0, 35, 36, 37,
! 1261: 0, 0, 0, 109, 0, 0, 0, 0, 0, 0,
! 1262: 0, 0, 0, 0, 0, 110, 111, 0, 112, 113,
! 1263: 114, 115, 116, 117, 118, 14, 15, 0, 16, 0,
! 1264: 0, 0, 0, 0, 0, 18, 19, 0, 20, 0,
! 1265: 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1266: 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
! 1267: 0, 0, 0, 0, 0, 0, 23, 24, 25, 26,
! 1268: 27, 28, 0, 119, 0, 29, 30, 31, 0, 0,
! 1269: 0, 32, 33, 57, 108, 0, 58, 359, 35, 36,
! 1270: 37, 0, 0, 0, 109, 0, 0, 0, 0, 0,
! 1271: 0, 0, 0, 0, 0, 0, 110, 111, 0, 112,
! 1272: 113, 114, 115, 116, 117, 118, 14, 15, 0, 16,
! 1273: 0, 0, 0, 0, 0, 0, 18, 19, 0, 20,
! 1274: 0, 21, 0, 0, 0, 0, 0, 0, 0, 0,
! 1275: 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
! 1276: 0, 0, 0, 0, 0, 0, 0, 23, 24, 25,
! 1277: 26, 27, 28, 0, 119, 0, 29, 30, 31, 0,
! 1278: 0, 0, 32, 33, 57, 108, 0, 58, 0, 35,
! 1279: 36, 37, 0, 0, 0, 109, 0, 0, 0, 0,
! 1280: 0, 0, 0, 0, 0, 0, 0, 110, 111, 0,
! 1281: 112, 113, 114, 115, 116, 117, 118, 14, 15, 0,
! 1282: 16, 0, 0, 0, 0, 0, 0, 18, 19, 0,
! 1283: 20, 0, 21, 0, 0, 0, 0, 0, 0, 0,
! 1284: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1285: 22, 0, 0, 0, 0, 0, 0, 0, 23, 24,
! 1286: 25, 26, 27, 28, 0, 119, 0, 29, 30, 31,
! 1287: 0, 0, 0, 32, 33, 57, 108, 0, 58, 0,
! 1288: 35, 36, 37, 0, 0, 0, 109, 0, 0, 0,
! 1289: 0, 0, 0, 0, 0, 0, 0, 0, 110, 0,
! 1290: 0, 112, 113, 114, 115, 116, 117, 118, 14, 15,
! 1291: 0, 16, 0, 0, 0, 0, 0, 0, 18, 19,
! 1292: 0, 20, 0, 21, 0, 0, 0, 0, 0, 0,
! 1293: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1294: 0, 22, 0, 0, 0, 0, 0, 0, 0, 23,
! 1295: 24, 25, 26, 27, 28, 57, 108, 0, 29, 30,
! 1296: 31, 0, 0, 0, 32, 33, 109, 0, 0, 58,
! 1297: 0, 35, 36, 37, 0, 0, 0, 0, 0, 0,
! 1298: 0, 112, 113, 114, 115, 116, 117, 118, 14, 15,
! 1299: 0, 16, 0, 0, 0, 0, 0, 0, 18, 19,
! 1300: 0, 20, 0, 21, 0, 0, 0, 0, 0, 0,
! 1301: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1302: 0, 22, 0, 0, 0, 0, 0, 0, 0, 23,
! 1303: 24, 25, 26, 27, 28, 57, -32, 0, 29, 30,
! 1304: 31, 0, 0, 0, 32, 33, -32, 0, 0, 58,
! 1305: 0, 35, 36, 37, 0, 0, 0, 0, 0, 0,
! 1306: 0, -32, -32, -32, -32, -32, -32, -32, 14, 15,
! 1307: 0, 16, 0, 0, 0, 0, 0, 0, 18, 19,
! 1308: 0, 20, 0, 21, 0, 0, 0, 0, 0, 0,
! 1309: 0, 0, 0, 0, 57, 0, 0, 0, 0, 0,
! 1310: 0, 22, 0, 0, 0, 251, 0, 0, 0, 23,
! 1311: 24, 25, 26, 27, 28, 0, 0, 110, 111, 30,
! 1312: 31, 0, 0, 0, 32, 33, 252, 14, 15, 58,
! 1313: 16, 35, 36, 37, 0, 0, 0, 18, 19, 0,
! 1314: 20, 0, 21, 0, 0, 0, 0, 0, 0, 0,
! 1315: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1316: 22, 0, 0, 57, 0, 0, 0, 0, 23, 24,
! 1317: 25, 26, 27, 28, 251, 253, 326, 29, 30, 31,
! 1318: 0, 0, 0, 32, 33, 0, 110, 111, 58, 0,
! 1319: 35, 36, 37, 0, 0, 252, 14, 15, 0, 16,
! 1320: 0, 0, 0, 0, 0, 0, 18, 19, 0, 20,
! 1321: 0, 21, 0, 0, 0, 0, 0, 0, 0, 0,
! 1322: 0, 0, 57, 0, 0, 0, 0, 0, 0, 22,
! 1323: 0, 0, 0, 251, 0, 0, 0, 23, 24, 25,
! 1324: 26, 27, 28, 0, 253, 110, 29, 30, 31, 0,
! 1325: 0, 0, 32, 33, 252, 14, 15, 58, 16, 35,
! 1326: 36, 37, 0, 0, 0, 18, 19, 0, 20, 0,
! 1327: 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1328: 0, 12, 0, 0, 13, 142, 0, 0, 22, 0,
! 1329: 0, 0, 0, 0, 0, 0, 23, 24, 25, 26,
! 1330: 27, 28, 0, 0, 0, 29, 30, 31, 0, 0,
! 1331: 0, 32, 33, 0, 14, 15, 58, 16, 35, 36,
! 1332: 37, 0, 0, 0, 18, 19, 0, 20, 0, 21,
! 1333: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1334: 12, 0, 0, 13, 150, 0, 0, 22, 0, 0,
! 1335: 0, 0, 0, 0, 0, 23, 24, 25, 26, 27,
! 1336: 28, 0, 0, 0, 29, 30, 31, 0, 0, 0,
! 1337: 32, 33, 0, 14, 15, 34, 16, 35, 36, 37,
! 1338: 0, 0, 0, 18, 19, 0, 20, 0, 21, 0,
! 1339: 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
! 1340: 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
! 1341: 251, 0, 0, 0, 23, 24, 25, 26, 27, 28,
! 1342: 0, 0, 0, 29, 30, 31, 0, 0, 0, 32,
! 1343: 33, 252, 14, 15, 34, 16, 35, 36, 37, 0,
! 1344: 0, 0, 18, 19, 0, 20, 0, 21, 0, 0,
! 1345: 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,
! 1346: 0, 13, 0, 0, 0, 22, 0, 0, 0, 0,
! 1347: 0, 0, 0, 23, 24, 25, 26, 27, 28, 0,
! 1348: 0, 0, 29, 30, 31, 0, 0, 0, 32, 33,
! 1349: 0, 14, 15, 58, 16, 35, 36, 37, 0, 0,
! 1350: 0, 18, 19, 0, 20, 0, 21, 0, 0, 0,
! 1351: 0, 0, 0, 0, 0, 0, 0, 57, 0, 0,
! 1352: 13, 0, 0, 0, 22, 0, 0, 0, 0, 0,
! 1353: 0, 0, 23, 24, 25, 26, 27, 28, 0, 0,
! 1354: 0, 29, 30, 31, 0, 0, 0, 32, 33, 0,
! 1355: 14, 15, 34, 16, 35, 36, 37, 0, 0, 0,
! 1356: 18, 19, 0, 20, 0, 21, 0, 0, 0, 0,
! 1357: 0, 0, 0, 0, 0, 0, 177, 0, 0, 13,
! 1358: 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
! 1359: 0, 23, 24, 25, 26, 27, 28, 0, 0, 0,
! 1360: 29, 30, 31, 0, 0, 0, 32, 33, 0, 14,
! 1361: 15, 34, 16, 35, 36, 37, 0, 0, 0, 18,
! 1362: 19, 0, 20, 0, 21, 0, 0, 0, 0, 0,
! 1363: 0, 0, 0, 0, 0, 57, 0, 0, 0, 0,
! 1364: 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
! 1365: 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
! 1366: 30, 31, 0, 0, 0, 32, 33, 0, 14, 15,
! 1367: 34, 16, 35, 36, 37, 0, 0, 0, 18, 19,
! 1368: 0, 20, 0, 21, 0, 0, 0, 0, 0, 0,
! 1369: 0, 0, 208, 0, 292, 0, 0, 13, 0, 0,
! 1370: 0, 22, 0, 0, 0, 0, 0, 0, 0, 23,
! 1371: 24, 25, 26, 27, 28, 0, 0, 0, 29, 30,
! 1372: 31, 0, 0, 0, 32, 33, 0, 14, 15, 58,
! 1373: 16, 35, 36, 37, 0, 0, 0, 18, 19, 0,
! 1374: 20, 0, 21, 0, 0, 0, 0, 0, 0, 0,
! 1375: 0, 0, 0, 57, 0, 0, 0, 0, 0, 0,
! 1376: 22, 0, 0, 0, -32, 0, 0, 0, 23, 24,
! 1377: 25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
! 1378: 0, 0, 0, 32, 33, -32, 14, 15, 34, 16,
! 1379: 35, 36, 37, 0, 0, 0, 18, 19, 0, 20,
! 1380: 0, 21, 0, 0, 0, 0, 0, 0, 0, 0,
! 1381: 0, 0, 57, 0, 0, 0, 0, 0, 0, 22,
! 1382: 0, 0, 0, 0, 0, 0, 0, 23, 24, 25,
! 1383: 26, 27, 28, 0, 0, 0, 0, 30, 31, 0,
! 1384: 0, 0, 32, 33, 0, 14, 15, 58, 16, 35,
! 1385: 36, 37, 0, 0, 0, 18, 19, 0, 20, 0,
! 1386: 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1387: 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
! 1388: 0, 0, 0, 0, 0, 0, 23, 24, 25, 26,
! 1389: 27, 28, 0, 0, 0, 29, 30, 31, 0, 0,
! 1390: 0, 32, 33, 0, 0, 0, 58, 0, 35, 36,
! 1391: 37
! 1392: };
! 1393:
! 1394: static const yytype_int16 yycheck[] =
! 1395: {
! 1396: 16, 81, 34, 177, 166, 45, 159, 18, 242, 84,
! 1397: 244, 15, 45, 29, 10, 336, 32, 33, 34, 35,
! 1398: 36, 37, 66, 67, 5, 0, 42, 10, 9, 10,
! 1399: 9, 14, 178, 44, 69, 13, 357, 53, 51, 52,
! 1400: 19, 10, 58, 118, 97, 11, 86, 87, 88, 109,
! 1401: 103, 12, 68, 86, 83, 88, 12, 86, 39, 37,
! 1402: 89, 90, 40, 123, 93, 10, 10, 69, 100, 14,
! 1403: 110, 9, 101, 108, 109, 12, 45, 9, 16, 159,
! 1404: 92, 134, 135, 99, 100, 98, 12, 19, 322, 133,
! 1405: 86, 166, 10, 106, 18, 178, 14, 101, 102, 103,
! 1406: 104, 45, 86, 107, 12, 89, 108, 109, 124, 125,
! 1407: 126, 127, 128, 129, 12, 349, 10, 86, 292, 88,
! 1408: 14, 174, 9, 176, 11, 42, 107, 361, 144, 145,
! 1409: 283, 147, 148, 9, 187, 164, 189, 153, 154, 155,
! 1410: 16, 170, 86, 87, 88, 12, 221, 293, 164, 9,
! 1411: 296, 297, 298, 299, 170, 12, 16, 303, 9, 234,
! 1412: 108, 109, 178, 9, 9, 16, 110, 320, 228, 229,
! 1413: 16, 16, 12, 107, 336, 191, 192, 252, 194, 195,
! 1414: 196, 197, 198, 199, 15, 201, 10, 203, 10, 205,
! 1415: 206, 251, 208, 237, 247, 357, 342, 350, 9, 215,
! 1416: 12, 9, 12, 283, 220, 16, 222, 188, 16, 284,
! 1417: 293, 12, 95, 296, 297, 298, 299, 44, 15, 251,
! 1418: 303, 253, 254, 255, 86, 257, 242, 10, 244, 261,
! 1419: 18, 79, 9, 14, 10, 251, 10, 253, 254, 255,
! 1420: 320, 257, 258, 259, 260, 261, 16, 16, 44, 324,
! 1421: 263, 304, 99, 53, 54, 16, 272, 12, 318, 342,
! 1422: 276, 41, 278, 16, 280, 251, 16, 253, 254, 255,
! 1423: 350, 257, 103, 104, 16, 261, 107, 293, 107, 105,
! 1424: 296, 297, 298, 299, -1, 16, -1, 303, -1, 305,
! 1425: 306, 307, 345, -1, 326, -1, -1, 42, 351, -1,
! 1426: 45, 32, 33, 34, -1, -1, 37, 360, -1, -1,
! 1427: 326, 42, 365, 329, -1, 331, -1, 333, 334, 332,
! 1428: -1, 337, 53, -1, -1, -1, 342, 58, -1, 310,
! 1429: 359, -1, -1, -1, -1, -1, 352, 68, -1, -1,
! 1430: 326, 86, 87, 88, -1, -1, -1, 147, 148, -1,
! 1431: -1, -1, -1, -1, 154, 155, -1, -1, -1, -1,
! 1432: -1, -1, -1, -1, -1, 110, -1, -1, 99, 100,
! 1433: -1, -1, -1, -1, -1, -1, -1, -1, -1, 179,
! 1434: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1435: -1, -1, -1, 124, 125, 126, 127, 128, 129, -1,
! 1436: -1, -1, -1, -1, -1, -1, 206, 207, -1, -1,
! 1437: -1, -1, -1, 144, 145, -1, 147, 148, -1, -1,
! 1438: -1, -1, 153, 154, 155, -1, -1, 227, -1, -1,
! 1439: -1, -1, -1, 164, -1, -1, -1, -1, -1, 170,
! 1440: -1, -1, -1, -1, -1, -1, -1, 178, -1, -1,
! 1441: 250, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1442: -1, 192, -1, 194, 195, 196, 197, 198, 199, -1,
! 1443: 201, -1, 203, -1, 205, 206, -1, 208, -1, -1,
! 1444: 280, 281, -1, -1, 215, -1, -1, -1, -1, 220,
! 1445: -1, 222, -1, -1, -1, -1, -1, -1, -1, -1,
! 1446: -1, -1, -1, -1, -1, -1, 306, 307, -1, -1,
! 1447: -1, 242, -1, 244, -1, -1, -1, -1, -1, -1,
! 1448: 251, -1, 253, 254, 255, 325, 257, 258, 259, 260,
! 1449: 261, 5, -1, -1, -1, -1, -1, -1, 12, -1,
! 1450: -1, 272, -1, -1, -1, 276, -1, 278, -1, 280,
! 1451: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1452: -1, -1, 293, -1, -1, 296, 297, 298, 299, -1,
! 1453: -1, -1, 303, -1, 305, 306, 307, -1, -1, -1,
! 1454: -1, -1, 56, 57, -1, -1, -1, -1, -1, -1,
! 1455: 64, 65, 66, 67, -1, 326, 70, 71, -1, -1,
! 1456: -1, -1, 333, 334, -1, -1, 337, -1, -1, -1,
! 1457: -1, 342, 86, -1, -1, -1, -1, -1, -1, 93,
! 1458: -1, 352, -1, -1, -1, -1, -1, -1, -1, -1,
! 1459: -1, 105, -1, 107, -1, 109, -1, -1, 112, 113,
! 1460: 114, 115, 116, 117, -1, 119, 120, 121, -1, 123,
! 1461: -1, -1, -1, -1, -1, -1, 130, -1, -1, 133,
! 1462: -1, -1, -1, -1, 138, -1, 140, -1, -1, -1,
! 1463: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1464: 0, 1, -1, -1, -1, -1, -1, 7, 8, -1,
! 1465: 10, 11, 12, 167, 14, 15, -1, -1, 172, -1,
! 1466: -1, -1, -1, 177, -1, -1, -1, -1, -1, -1,
! 1467: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1468: -1, -1, -1, -1, -1, 45, 46, -1, 48, -1,
! 1469: -1, -1, -1, -1, 54, 55, 56, -1, 58, -1,
! 1470: 60, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1471: -1, 225, -1, -1, 228, 229, -1, -1, 78, 233,
! 1472: -1, -1, -1, 237, -1, -1, 86, 87, 88, 89,
! 1473: 90, 91, -1, -1, -1, 95, 96, 97, -1, -1,
! 1474: -1, 101, 102, -1, -1, -1, 106, -1, 108, 109,
! 1475: 110, -1, 266, 267, 268, -1, -1, -1, -1, -1,
! 1476: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1477: -1, -1, 1, -1, -1, -1, -1, -1, 292, -1,
! 1478: -1, 10, 11, 12, -1, 14, 15, -1, -1, -1,
! 1479: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1480: -1, -1, 316, -1, 318, -1, -1, 321, -1, -1,
! 1481: -1, -1, -1, -1, -1, -1, 45, 46, 47, 48,
! 1482: 49, 50, 51, 52, 53, 339, 55, 56, 57, 58,
! 1483: -1, 60, 61, 62, -1, -1, -1, -1, -1, -1,
! 1484: 1, -1, -1, -1, -1, -1, -1, 76, 77, 78,
! 1485: 11, 12, -1, 14, 15, -1, 17, 86, 87, 88,
! 1486: 89, 90, 91, -1, -1, -1, 95, 96, 97, 98,
! 1487: 99, -1, 101, 102, -1, -1, -1, 106, -1, 108,
! 1488: 109, 110, -1, -1, 45, 46, 47, 48, 49, 50,
! 1489: 51, 52, 53, -1, 55, 56, 57, 58, -1, 60,
! 1490: 61, 62, -1, -1, -1, -1, -1, -1, 1, -1,
! 1491: -1, -1, -1, -1, -1, 76, 77, 78, 11, 12,
! 1492: -1, 14, 15, -1, 17, 86, 87, 88, 89, 90,
! 1493: 91, -1, -1, -1, 95, 96, 97, 98, 99, -1,
! 1494: 101, 102, -1, -1, -1, 106, -1, 108, 109, 110,
! 1495: -1, -1, 45, 46, 47, 48, 49, 50, 51, 52,
! 1496: 53, -1, 55, 56, 57, 58, -1, 60, 61, 62,
! 1497: -1, -1, -1, -1, -1, -1, 1, -1, -1, -1,
! 1498: -1, -1, -1, 76, 77, 78, 11, 12, -1, 14,
! 1499: 15, -1, 17, 86, 87, 88, 89, 90, 91, -1,
! 1500: -1, -1, 95, 96, 97, 98, 99, -1, 101, 102,
! 1501: -1, -1, -1, 106, -1, 108, 109, 110, -1, -1,
! 1502: 45, 46, 47, 48, 49, 50, 51, 52, 53, -1,
! 1503: 55, 56, 57, 58, -1, 60, 61, 62, -1, -1,
! 1504: -1, -1, -1, -1, 1, -1, -1, -1, -1, -1,
! 1505: -1, 76, 77, 78, 11, 12, -1, 14, 15, -1,
! 1506: 17, 86, 87, 88, 89, 90, 91, -1, -1, -1,
! 1507: 95, 96, 97, 98, 99, -1, 101, 102, -1, -1,
! 1508: -1, 106, -1, 108, 109, 110, -1, -1, 45, 46,
! 1509: 47, 48, 49, 50, 51, 52, 53, -1, 55, 56,
! 1510: 57, 58, -1, 60, 61, 62, -1, -1, -1, -1,
! 1511: -1, -1, 1, -1, -1, -1, -1, -1, -1, 76,
! 1512: 77, 78, 11, 12, -1, 14, 15, -1, 17, 86,
! 1513: 87, 88, 89, 90, 91, -1, -1, -1, 95, 96,
! 1514: 97, 98, 99, -1, 101, 102, -1, -1, -1, 106,
! 1515: -1, 108, 109, 110, -1, -1, 45, 46, 47, 48,
! 1516: 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
! 1517: -1, 60, 61, 62, -1, -1, -1, -1, -1, -1,
! 1518: -1, 1, -1, -1, -1, -1, -1, 76, 77, 78,
! 1519: 10, 11, 12, -1, 14, 15, -1, 86, 87, 88,
! 1520: 89, 90, 91, -1, -1, -1, 95, 96, 97, 98,
! 1521: 99, -1, 101, 102, -1, -1, -1, 106, -1, 108,
! 1522: 109, 110, -1, -1, -1, 45, 46, 47, 48, 49,
! 1523: 50, 51, 52, 53, -1, 55, 56, 57, 58, -1,
! 1524: 60, 61, 62, -1, -1, -1, -1, -1, -1, 1,
! 1525: -1, -1, -1, -1, -1, -1, 76, 77, 78, 11,
! 1526: 12, -1, 14, 15, -1, 17, 86, 87, 88, 89,
! 1527: 90, 91, -1, -1, -1, 95, 96, 97, 98, 99,
! 1528: -1, 101, 102, -1, -1, -1, 106, -1, 108, 109,
! 1529: 110, -1, -1, 45, 46, 47, 48, 49, 50, 51,
! 1530: 52, 53, -1, 55, 56, 57, 58, -1, 60, 61,
! 1531: 62, -1, -1, -1, -1, -1, -1, 1, -1, -1,
! 1532: -1, -1, -1, -1, 76, 77, 78, 11, 12, -1,
! 1533: 14, 15, -1, 17, 86, 87, 88, 89, 90, 91,
! 1534: -1, -1, -1, 95, 96, 97, 98, 99, -1, 101,
! 1535: 102, -1, -1, -1, 106, -1, 108, 109, 110, -1,
! 1536: -1, 45, 46, 47, 48, 49, 50, 51, 52, 53,
! 1537: -1, 55, 56, 57, 58, -1, 60, 61, 62, -1,
! 1538: -1, -1, -1, -1, -1, 1, -1, -1, -1, -1,
! 1539: -1, -1, 76, 77, 78, 11, 12, -1, 14, 15,
! 1540: -1, -1, 86, 87, 88, 89, 90, 91, -1, -1,
! 1541: -1, 95, 96, 97, 98, 99, -1, 101, 102, -1,
! 1542: -1, -1, 106, -1, 108, 109, 110, -1, -1, 45,
! 1543: 46, 47, 48, 49, 50, 51, 52, 53, -1, 55,
! 1544: 56, 57, 58, -1, 60, 61, 62, -1, -1, -1,
! 1545: -1, -1, 1, -1, -1, -1, -1, -1, -1, -1,
! 1546: 76, 77, 78, 12, -1, 14, 15, -1, -1, -1,
! 1547: 86, 87, 88, 89, 90, 91, -1, -1, -1, 95,
! 1548: 96, 97, 98, 99, -1, 101, 102, -1, -1, -1,
! 1549: 106, -1, 108, 109, 110, -1, 45, 46, -1, 48,
! 1550: -1, 50, -1, -1, -1, -1, 55, 56, -1, 58,
! 1551: -1, 60, -1, -1, -1, -1, -1, -1, -1, 1,
! 1552: -1, -1, -1, -1, -1, -1, -1, 76, 77, 78,
! 1553: 12, -1, -1, 15, 16, -1, -1, 86, 87, 88,
! 1554: 89, 90, 91, -1, -1, -1, 95, 96, 97, -1,
! 1555: 7, 8, 101, 102, 11, 12, -1, 106, 15, 108,
! 1556: 109, 110, -1, 45, 46, -1, 48, -1, 50, -1,
! 1557: -1, -1, -1, 55, 56, -1, 58, -1, 60, -1,
! 1558: -1, -1, -1, -1, -1, -1, -1, -1, 45, 46,
! 1559: -1, 48, -1, -1, 76, 77, 78, 54, 55, 56,
! 1560: -1, 58, -1, 60, 86, 87, 88, 89, 90, 91,
! 1561: -1, -1, -1, 95, 96, 97, -1, -1, -1, 101,
! 1562: 102, 78, -1, -1, 106, -1, 108, 109, 110, 86,
! 1563: 87, 88, 89, 90, 91, -1, -1, -1, 95, 96,
! 1564: 97, -1, -1, 9, 101, 102, 12, 13, -1, 106,
! 1565: 16, 108, 109, 110, -1, -1, -1, 23, -1, -1,
! 1566: -1, -1, -1, -1, -1, -1, -1, -1, -1, 35,
! 1567: 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
! 1568: 46, -1, 48, -1, -1, -1, -1, -1, -1, 55,
! 1569: 56, -1, 58, -1, 60, -1, -1, -1, -1, -1,
! 1570: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1571: -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
! 1572: 86, 87, 88, 89, 90, 91, -1, 93, -1, 95,
! 1573: 96, 97, -1, -1, 9, 101, 102, 12, 13, -1,
! 1574: 106, 16, 108, 109, 110, -1, -1, -1, 23, -1,
! 1575: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1576: 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
! 1577: 45, 46, -1, 48, -1, -1, -1, -1, -1, -1,
! 1578: 55, 56, -1, 58, -1, 60, -1, -1, -1, -1,
! 1579: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1580: -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
! 1581: -1, 86, 87, 88, 89, 90, 91, -1, 93, -1,
! 1582: 95, 96, 97, -1, -1, 9, 101, 102, 12, 13,
! 1583: -1, 106, 16, 108, 109, 110, -1, -1, -1, 23,
! 1584: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1585: -1, 35, 36, -1, 38, 39, 40, 41, 42, 43,
! 1586: 44, 45, 46, -1, 48, -1, -1, -1, -1, -1,
! 1587: -1, 55, 56, -1, 58, -1, 60, -1, -1, -1,
! 1588: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1589: -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
! 1590: -1, -1, 86, 87, 88, 89, 90, 91, -1, 93,
! 1591: -1, 95, 96, 97, -1, -1, 9, 101, 102, 12,
! 1592: 13, -1, 106, 16, 108, 109, 110, -1, -1, -1,
! 1593: 23, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1594: -1, -1, 35, 36, -1, 38, 39, 40, 41, 42,
! 1595: 43, 44, 45, 46, -1, 48, -1, -1, -1, -1,
! 1596: -1, -1, 55, 56, -1, 58, -1, 60, -1, -1,
! 1597: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1598: -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
! 1599: -1, -1, -1, 86, 87, 88, 89, 90, 91, -1,
! 1600: 93, -1, 95, 96, 97, -1, -1, 9, 101, 102,
! 1601: 12, 13, -1, 106, -1, 108, 109, 110, -1, -1,
! 1602: -1, 23, -1, -1, -1, -1, -1, -1, -1, -1,
! 1603: -1, -1, -1, 35, 36, -1, 38, 39, 40, 41,
! 1604: 42, 43, 44, 45, 46, -1, 48, -1, -1, -1,
! 1605: -1, -1, -1, 55, 56, -1, 58, -1, 60, -1,
! 1606: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1607: -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
! 1608: -1, -1, -1, -1, 86, 87, 88, 89, 90, 91,
! 1609: -1, 93, -1, 95, 96, 97, -1, -1, -1, 101,
! 1610: 102, -1, -1, -1, 106, -1, 108, 109, 110, 10,
! 1611: -1, 12, 13, 14, -1, -1, -1, -1, -1, -1,
! 1612: -1, -1, 23, -1, -1, -1, -1, -1, -1, -1,
! 1613: -1, -1, -1, -1, 35, 36, -1, 38, 39, 40,
! 1614: 41, 42, 43, 44, 45, 46, -1, 48, -1, -1,
! 1615: -1, -1, -1, -1, 55, 56, -1, 58, -1, 60,
! 1616: -1, -1, -1, -1, -1, -1, -1, -1, 10, -1,
! 1617: 12, -1, 14, 15, -1, -1, -1, 78, -1, -1,
! 1618: -1, -1, -1, -1, -1, 86, 87, 88, 89, 90,
! 1619: 91, -1, 93, -1, 95, 96, 97, -1, -1, -1,
! 1620: 101, 102, -1, 45, 46, 106, 48, 108, 109, 110,
! 1621: -1, -1, -1, 55, 56, -1, 58, -1, 60, -1,
! 1622: -1, -1, -1, -1, -1, -1, -1, 10, -1, 12,
! 1623: -1, -1, 15, -1, -1, -1, 78, -1, -1, -1,
! 1624: -1, -1, -1, -1, 86, 87, 88, 89, 90, 91,
! 1625: -1, -1, -1, 95, 96, 97, -1, -1, -1, 101,
! 1626: 102, -1, 45, 46, 106, 48, 108, 109, 110, -1,
! 1627: -1, -1, 55, 56, -1, 58, -1, 60, -1, -1,
! 1628: -1, -1, -1, -1, -1, -1, 10, -1, 12, -1,
! 1629: -1, 15, -1, -1, -1, 78, -1, -1, -1, -1,
! 1630: -1, -1, -1, 86, 87, 88, 89, 90, 91, -1,
! 1631: -1, -1, 95, 96, 97, -1, -1, -1, 101, 102,
! 1632: -1, 45, 46, 106, 48, 108, 109, 110, -1, -1,
! 1633: -1, 55, 56, -1, 58, -1, 60, -1, -1, -1,
! 1634: -1, -1, -1, -1, -1, 10, -1, 12, -1, -1,
! 1635: 15, -1, -1, -1, 78, -1, -1, -1, -1, -1,
! 1636: -1, -1, 86, 87, 88, 89, 90, 91, -1, -1,
! 1637: -1, 95, 96, 97, -1, -1, -1, 101, 102, -1,
! 1638: 45, 46, 106, 48, 108, 109, 110, -1, -1, -1,
! 1639: 55, 56, -1, 58, -1, 60, -1, -1, -1, -1,
! 1640: -1, -1, -1, -1, 10, -1, 12, -1, -1, 15,
! 1641: -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
! 1642: -1, 86, 87, 88, 89, 90, 91, -1, -1, -1,
! 1643: 95, 96, 97, -1, -1, -1, 101, 102, -1, 45,
! 1644: 46, 106, 48, 108, 109, 110, -1, -1, -1, 55,
! 1645: 56, -1, 58, -1, 60, -1, -1, -1, -1, -1,
! 1646: -1, -1, -1, 10, -1, 12, -1, -1, 15, -1,
! 1647: -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
! 1648: 86, 87, 88, 89, 90, 91, -1, -1, -1, 95,
! 1649: 96, 97, -1, -1, -1, 101, 102, -1, 45, 46,
! 1650: 106, 48, 108, 109, 110, -1, -1, -1, 55, 56,
! 1651: -1, 58, -1, 60, -1, -1, -1, -1, -1, -1,
! 1652: -1, -1, 10, -1, 12, -1, -1, 15, -1, -1,
! 1653: -1, 78, -1, -1, -1, -1, -1, -1, -1, 86,
! 1654: 87, 88, 89, 90, 91, -1, -1, -1, 95, 96,
! 1655: 97, -1, -1, -1, 101, 102, -1, 45, 46, 106,
! 1656: 48, 108, 109, 110, -1, -1, -1, 55, 56, -1,
! 1657: 58, -1, 60, -1, -1, -1, -1, -1, -1, -1,
! 1658: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1659: 78, -1, -1, -1, -1, -1, -1, -1, 86, 87,
! 1660: 88, 89, 90, 91, -1, -1, -1, 95, 96, 97,
! 1661: -1, -1, -1, 101, 102, 12, 13, -1, 106, 16,
! 1662: 108, 109, 110, -1, -1, -1, 23, -1, -1, -1,
! 1663: -1, -1, -1, -1, -1, -1, -1, -1, 35, 36,
! 1664: -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
! 1665: -1, 48, -1, -1, -1, -1, -1, -1, 55, 56,
! 1666: -1, 58, -1, 60, -1, -1, -1, -1, -1, -1,
! 1667: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1668: -1, 78, -1, -1, -1, -1, -1, -1, -1, 86,
! 1669: 87, 88, 89, 90, 91, -1, 93, -1, 95, 96,
! 1670: 97, -1, -1, -1, 101, 102, 12, 13, -1, 106,
! 1671: -1, 108, 109, 110, -1, -1, -1, 23, -1, -1,
! 1672: -1, -1, -1, -1, -1, -1, -1, -1, -1, 35,
! 1673: 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
! 1674: 46, -1, 48, -1, -1, -1, -1, -1, -1, 55,
! 1675: 56, -1, 58, -1, 60, -1, -1, -1, -1, -1,
! 1676: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1677: -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
! 1678: 86, 87, 88, 89, 90, 91, -1, 93, 94, 95,
! 1679: 96, 97, -1, -1, -1, 101, 102, 12, 13, -1,
! 1680: 106, 16, 108, 109, 110, -1, -1, -1, 23, -1,
! 1681: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1682: 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
! 1683: 45, 46, -1, 48, -1, -1, -1, -1, -1, -1,
! 1684: 55, 56, -1, 58, -1, 60, -1, -1, -1, -1,
! 1685: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1686: -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
! 1687: -1, 86, 87, 88, 89, 90, 91, -1, 93, -1,
! 1688: 95, 96, 97, -1, -1, -1, 101, 102, 12, 13,
! 1689: -1, 106, 16, 108, 109, 110, -1, -1, -1, 23,
! 1690: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1691: -1, 35, 36, -1, 38, 39, 40, 41, 42, 43,
! 1692: 44, 45, 46, -1, 48, -1, -1, -1, -1, -1,
! 1693: -1, 55, 56, -1, 58, -1, 60, -1, -1, -1,
! 1694: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1695: -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
! 1696: -1, -1, 86, 87, 88, 89, 90, 91, -1, 93,
! 1697: -1, 95, 96, 97, -1, -1, -1, 101, 102, 12,
! 1698: 13, -1, 106, 16, 108, 109, 110, -1, -1, -1,
! 1699: 23, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1700: -1, -1, 35, 36, -1, 38, 39, 40, 41, 42,
! 1701: 43, 44, 45, 46, -1, 48, -1, -1, -1, -1,
! 1702: -1, -1, 55, 56, -1, 58, -1, 60, -1, -1,
! 1703: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1704: -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
! 1705: -1, -1, -1, 86, 87, 88, 89, 90, 91, -1,
! 1706: 93, -1, 95, 96, 97, -1, -1, -1, 101, 102,
! 1707: 12, 13, -1, 106, 16, 108, 109, 110, -1, -1,
! 1708: -1, 23, -1, -1, -1, -1, -1, -1, -1, -1,
! 1709: -1, -1, -1, 35, 36, -1, 38, 39, 40, 41,
! 1710: 42, 43, 44, 45, 46, -1, 48, -1, -1, -1,
! 1711: -1, -1, -1, 55, 56, -1, 58, -1, 60, -1,
! 1712: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1713: -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
! 1714: -1, -1, -1, -1, 86, 87, 88, 89, 90, 91,
! 1715: -1, 93, -1, 95, 96, 97, -1, -1, -1, 101,
! 1716: 102, 12, 13, -1, 106, 16, 108, 109, 110, -1,
! 1717: -1, -1, 23, -1, -1, -1, -1, -1, -1, -1,
! 1718: -1, -1, -1, -1, 35, 36, -1, 38, 39, 40,
! 1719: 41, 42, 43, 44, 45, 46, -1, 48, -1, -1,
! 1720: -1, -1, -1, -1, 55, 56, -1, 58, -1, 60,
! 1721: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1722: -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
! 1723: -1, -1, -1, -1, -1, 86, 87, 88, 89, 90,
! 1724: 91, -1, 93, -1, 95, 96, 97, -1, -1, -1,
! 1725: 101, 102, 12, 13, 14, 106, -1, 108, 109, 110,
! 1726: -1, -1, -1, 23, -1, -1, -1, -1, -1, -1,
! 1727: -1, -1, -1, -1, -1, 35, 36, -1, 38, 39,
! 1728: 40, 41, 42, 43, 44, 45, 46, -1, 48, -1,
! 1729: -1, -1, -1, -1, -1, 55, 56, -1, 58, -1,
! 1730: 60, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1731: -1, -1, -1, -1, -1, -1, -1, -1, 78, -1,
! 1732: -1, -1, -1, -1, -1, -1, 86, 87, 88, 89,
! 1733: 90, 91, -1, 93, -1, 95, 96, 97, -1, -1,
! 1734: -1, 101, 102, 12, 13, -1, 106, 16, 108, 109,
! 1735: 110, -1, -1, -1, 23, -1, -1, -1, -1, -1,
! 1736: -1, -1, -1, -1, -1, -1, 35, 36, -1, 38,
! 1737: 39, 40, 41, 42, 43, 44, 45, 46, -1, 48,
! 1738: -1, -1, -1, -1, -1, -1, 55, 56, -1, 58,
! 1739: -1, 60, -1, -1, -1, -1, -1, -1, -1, -1,
! 1740: -1, -1, -1, -1, -1, -1, -1, -1, -1, 78,
! 1741: -1, -1, -1, -1, -1, -1, -1, 86, 87, 88,
! 1742: 89, 90, 91, -1, 93, -1, 95, 96, 97, -1,
! 1743: -1, -1, 101, 102, 12, 13, -1, 106, -1, 108,
! 1744: 109, 110, -1, -1, -1, 23, -1, -1, -1, -1,
! 1745: -1, -1, -1, -1, -1, -1, -1, 35, 36, -1,
! 1746: 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
! 1747: 48, -1, -1, -1, -1, -1, -1, 55, 56, -1,
! 1748: 58, -1, 60, -1, -1, -1, -1, -1, -1, -1,
! 1749: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1750: 78, -1, -1, -1, -1, -1, -1, -1, 86, 87,
! 1751: 88, 89, 90, 91, -1, 93, -1, 95, 96, 97,
! 1752: -1, -1, -1, 101, 102, 12, 13, -1, 106, -1,
! 1753: 108, 109, 110, -1, -1, -1, 23, -1, -1, -1,
! 1754: -1, -1, -1, -1, -1, -1, -1, -1, 35, -1,
! 1755: -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
! 1756: -1, 48, -1, -1, -1, -1, -1, -1, 55, 56,
! 1757: -1, 58, -1, 60, -1, -1, -1, -1, -1, -1,
! 1758: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1759: -1, 78, -1, -1, -1, -1, -1, -1, -1, 86,
! 1760: 87, 88, 89, 90, 91, 12, 13, -1, 95, 96,
! 1761: 97, -1, -1, -1, 101, 102, 23, -1, -1, 106,
! 1762: -1, 108, 109, 110, -1, -1, -1, -1, -1, -1,
! 1763: -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
! 1764: -1, 48, -1, -1, -1, -1, -1, -1, 55, 56,
! 1765: -1, 58, -1, 60, -1, -1, -1, -1, -1, -1,
! 1766: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1767: -1, 78, -1, -1, -1, -1, -1, -1, -1, 86,
! 1768: 87, 88, 89, 90, 91, 12, 13, -1, 95, 96,
! 1769: 97, -1, -1, -1, 101, 102, 23, -1, -1, 106,
! 1770: -1, 108, 109, 110, -1, -1, -1, -1, -1, -1,
! 1771: -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
! 1772: -1, 48, -1, -1, -1, -1, -1, -1, 55, 56,
! 1773: -1, 58, -1, 60, -1, -1, -1, -1, -1, -1,
! 1774: -1, -1, -1, -1, 12, -1, -1, -1, -1, -1,
! 1775: -1, 78, -1, -1, -1, 23, -1, -1, -1, 86,
! 1776: 87, 88, 89, 90, 91, -1, -1, 35, 36, 96,
! 1777: 97, -1, -1, -1, 101, 102, 44, 45, 46, 106,
! 1778: 48, 108, 109, 110, -1, -1, -1, 55, 56, -1,
! 1779: 58, -1, 60, -1, -1, -1, -1, -1, -1, -1,
! 1780: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1781: 78, -1, -1, 12, -1, -1, -1, -1, 86, 87,
! 1782: 88, 89, 90, 91, 23, 93, 94, 95, 96, 97,
! 1783: -1, -1, -1, 101, 102, -1, 35, 36, 106, -1,
! 1784: 108, 109, 110, -1, -1, 44, 45, 46, -1, 48,
! 1785: -1, -1, -1, -1, -1, -1, 55, 56, -1, 58,
! 1786: -1, 60, -1, -1, -1, -1, -1, -1, -1, -1,
! 1787: -1, -1, 12, -1, -1, -1, -1, -1, -1, 78,
! 1788: -1, -1, -1, 23, -1, -1, -1, 86, 87, 88,
! 1789: 89, 90, 91, -1, 93, 35, 95, 96, 97, -1,
! 1790: -1, -1, 101, 102, 44, 45, 46, 106, 48, 108,
! 1791: 109, 110, -1, -1, -1, 55, 56, -1, 58, -1,
! 1792: 60, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1793: -1, 12, -1, -1, 15, 16, -1, -1, 78, -1,
! 1794: -1, -1, -1, -1, -1, -1, 86, 87, 88, 89,
! 1795: 90, 91, -1, -1, -1, 95, 96, 97, -1, -1,
! 1796: -1, 101, 102, -1, 45, 46, 106, 48, 108, 109,
! 1797: 110, -1, -1, -1, 55, 56, -1, 58, -1, 60,
! 1798: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1799: 12, -1, -1, 15, 16, -1, -1, 78, -1, -1,
! 1800: -1, -1, -1, -1, -1, 86, 87, 88, 89, 90,
! 1801: 91, -1, -1, -1, 95, 96, 97, -1, -1, -1,
! 1802: 101, 102, -1, 45, 46, 106, 48, 108, 109, 110,
! 1803: -1, -1, -1, 55, 56, -1, 58, -1, 60, -1,
! 1804: -1, -1, -1, -1, -1, -1, -1, -1, -1, 12,
! 1805: -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
! 1806: 23, -1, -1, -1, 86, 87, 88, 89, 90, 91,
! 1807: -1, -1, -1, 95, 96, 97, -1, -1, -1, 101,
! 1808: 102, 44, 45, 46, 106, 48, 108, 109, 110, -1,
! 1809: -1, -1, 55, 56, -1, 58, -1, 60, -1, -1,
! 1810: -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
! 1811: -1, 15, -1, -1, -1, 78, -1, -1, -1, -1,
! 1812: -1, -1, -1, 86, 87, 88, 89, 90, 91, -1,
! 1813: -1, -1, 95, 96, 97, -1, -1, -1, 101, 102,
! 1814: -1, 45, 46, 106, 48, 108, 109, 110, -1, -1,
! 1815: -1, 55, 56, -1, 58, -1, 60, -1, -1, -1,
! 1816: -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
! 1817: 15, -1, -1, -1, 78, -1, -1, -1, -1, -1,
! 1818: -1, -1, 86, 87, 88, 89, 90, 91, -1, -1,
! 1819: -1, 95, 96, 97, -1, -1, -1, 101, 102, -1,
! 1820: 45, 46, 106, 48, 108, 109, 110, -1, -1, -1,
! 1821: 55, 56, -1, 58, -1, 60, -1, -1, -1, -1,
! 1822: -1, -1, -1, -1, -1, -1, 12, -1, -1, 15,
! 1823: -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
! 1824: -1, 86, 87, 88, 89, 90, 91, -1, -1, -1,
! 1825: 95, 96, 97, -1, -1, -1, 101, 102, -1, 45,
! 1826: 46, 106, 48, 108, 109, 110, -1, -1, -1, 55,
! 1827: 56, -1, 58, -1, 60, -1, -1, -1, -1, -1,
! 1828: -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
! 1829: -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
! 1830: 86, 87, 88, 89, 90, 91, -1, -1, -1, 95,
! 1831: 96, 97, -1, -1, -1, 101, 102, -1, 45, 46,
! 1832: 106, 48, 108, 109, 110, -1, -1, -1, 55, 56,
! 1833: -1, 58, -1, 60, -1, -1, -1, -1, -1, -1,
! 1834: -1, -1, 69, -1, 12, -1, -1, 15, -1, -1,
! 1835: -1, 78, -1, -1, -1, -1, -1, -1, -1, 86,
! 1836: 87, 88, 89, 90, 91, -1, -1, -1, 95, 96,
! 1837: 97, -1, -1, -1, 101, 102, -1, 45, 46, 106,
! 1838: 48, 108, 109, 110, -1, -1, -1, 55, 56, -1,
! 1839: 58, -1, 60, -1, -1, -1, -1, -1, -1, -1,
! 1840: -1, -1, -1, 12, -1, -1, -1, -1, -1, -1,
! 1841: 78, -1, -1, -1, 23, -1, -1, -1, 86, 87,
! 1842: 88, 89, 90, 91, -1, -1, -1, 95, 96, 97,
! 1843: -1, -1, -1, 101, 102, 44, 45, 46, 106, 48,
! 1844: 108, 109, 110, -1, -1, -1, 55, 56, -1, 58,
! 1845: -1, 60, -1, -1, -1, -1, -1, -1, -1, -1,
! 1846: -1, -1, 12, -1, -1, -1, -1, -1, -1, 78,
! 1847: -1, -1, -1, -1, -1, -1, -1, 86, 87, 88,
! 1848: 89, 90, 91, -1, -1, -1, -1, 96, 97, -1,
! 1849: -1, -1, 101, 102, -1, 45, 46, 106, 48, 108,
! 1850: 109, 110, -1, -1, -1, 55, 56, -1, 58, -1,
! 1851: 60, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 1852: -1, -1, -1, -1, -1, -1, -1, -1, 78, -1,
! 1853: -1, -1, -1, -1, -1, -1, 86, 87, 88, 89,
! 1854: 90, 91, -1, -1, -1, 95, 96, 97, -1, -1,
! 1855: -1, 101, 102, -1, -1, -1, 106, -1, 108, 109,
! 1856: 110
! 1857: };
! 1858:
! 1859: /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
! 1860: symbol of state STATE-NUM. */
! 1861: static const yytype_uint8 yystos[] =
! 1862: {
! 1863: 0, 1, 10, 14, 113, 128, 130, 142, 0, 7,
! 1864: 8, 11, 12, 15, 45, 46, 48, 54, 55, 56,
! 1865: 58, 60, 78, 86, 87, 88, 89, 90, 91, 95,
! 1866: 96, 97, 101, 102, 106, 108, 109, 110, 125, 131,
! 1867: 132, 134, 137, 144, 145, 155, 156, 157, 159, 10,
! 1868: 14, 125, 125, 137, 138, 146, 12, 12, 106, 156,
! 1869: 157, 86, 89, 123, 12, 12, 12, 12, 42, 157,
! 1870: 12, 12, 156, 156, 144, 156, 157, 157, 156, 1,
! 1871: 10, 14, 47, 49, 50, 51, 52, 53, 57, 61,
! 1872: 62, 76, 77, 98, 99, 117, 119, 124, 125, 137,
! 1873: 141, 148, 150, 154, 160, 9, 125, 128, 13, 23,
! 1874: 35, 36, 38, 39, 40, 41, 42, 43, 44, 93,
! 1875: 114, 115, 156, 12, 15, 101, 102, 103, 104, 107,
! 1876: 69, 108, 109, 18, 154, 154, 9, 16, 116, 16,
! 1877: 116, 92, 16, 135, 137, 137, 12, 137, 137, 135,
! 1878: 16, 135, 156, 42, 137, 137, 10, 126, 127, 14,
! 1879: 126, 149, 149, 159, 137, 149, 12, 12, 149, 149,
! 1880: 137, 149, 12, 10, 151, 150, 154, 12, 136, 139,
! 1881: 140, 144, 156, 157, 149, 17, 150, 153, 131, 154,
! 1882: 132, 95, 137, 145, 137, 137, 137, 137, 137, 137,
! 1883: 159, 137, 10, 137, 10, 137, 137, 145, 69, 156,
! 1884: 156, 156, 156, 156, 156, 137, 135, 17, 17, 10,
! 1885: 137, 44, 137, 15, 16, 116, 86, 158, 116, 116,
! 1886: 16, 16, 156, 116, 116, 10, 127, 18, 149, 129,
! 1887: 148, 159, 137, 149, 137, 150, 79, 118, 17, 143,
! 1888: 138, 23, 44, 93, 114, 115, 156, 116, 13, 37,
! 1889: 40, 69, 150, 125, 17, 157, 94, 116, 116, 156,
! 1890: 19, 159, 137, 16, 116, 147, 137, 145, 137, 145,
! 1891: 137, 159, 135, 14, 44, 147, 147, 152, 10, 150,
! 1892: 10, 16, 12, 136, 145, 159, 136, 136, 136, 136,
! 1893: 156, 156, 156, 136, 154, 137, 137, 137, 86, 10,
! 1894: 133, 16, 16, 16, 16, 16, 116, 16, 116, 19,
! 1895: 14, 127, 159, 99, 44, 138, 94, 17, 16, 116,
! 1896: 16, 116, 125, 137, 137, 145, 127, 137, 147, 12,
! 1897: 159, 16, 136, 157, 157, 154, 16, 16, 16, 129,
! 1898: 14, 122, 137, 16, 16, 17, 147, 127, 150, 16,
! 1899: 121, 129, 149, 150, 147, 120, 150
! 1900: };
! 1901:
! 1902: #define yyerrok (yyerrstatus = 0)
! 1903: #define yyclearin (yychar = YYEMPTY)
! 1904: #define YYEMPTY (-2)
! 1905: #define YYEOF 0
! 1906:
! 1907: #define YYACCEPT goto yyacceptlab
! 1908: #define YYABORT goto yyabortlab
! 1909: #define YYERROR goto yyerrorlab
! 1910:
! 1911:
! 1912: /* Like YYERROR except do call yyerror. This remains here temporarily
! 1913: to ease the transition to the new meaning of YYERROR, for GCC.
! 1914: Once GCC version 2 has supplanted version 1, this can go. */
! 1915:
! 1916: #define YYFAIL goto yyerrlab
! 1917:
! 1918: #define YYRECOVERING() (!!yyerrstatus)
! 1919:
! 1920: #define YYBACKUP(Token, Value) \
! 1921: do \
! 1922: if (yychar == YYEMPTY && yylen == 1) \
! 1923: { \
! 1924: yychar = (Token); \
! 1925: yylval = (Value); \
! 1926: yytoken = YYTRANSLATE (yychar); \
! 1927: YYPOPSTACK (1); \
! 1928: goto yybackup; \
! 1929: } \
! 1930: else \
! 1931: { \
! 1932: yyerror (YY_("syntax error: cannot back up")); \
! 1933: YYERROR; \
! 1934: } \
! 1935: while (YYID (0))
! 1936:
! 1937:
! 1938: #define YYTERROR 1
! 1939: #define YYERRCODE 256
! 1940:
! 1941:
! 1942: /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
! 1943: If N is 0, then set CURRENT to the empty location which ends
! 1944: the previous symbol: RHS[0] (always defined). */
! 1945:
! 1946: #define YYRHSLOC(Rhs, K) ((Rhs)[K])
! 1947: #ifndef YYLLOC_DEFAULT
! 1948: # define YYLLOC_DEFAULT(Current, Rhs, N) \
! 1949: do \
! 1950: if (YYID (N)) \
! 1951: { \
! 1952: (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
! 1953: (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
! 1954: (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
! 1955: (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
! 1956: } \
! 1957: else \
! 1958: { \
! 1959: (Current).first_line = (Current).last_line = \
! 1960: YYRHSLOC (Rhs, 0).last_line; \
! 1961: (Current).first_column = (Current).last_column = \
! 1962: YYRHSLOC (Rhs, 0).last_column; \
! 1963: } \
! 1964: while (YYID (0))
! 1965: #endif
! 1966:
! 1967:
! 1968: /* YY_LOCATION_PRINT -- Print the location on the stream.
! 1969: This macro was not mandated originally: define only if we know
! 1970: we won't break user code: when these are the locations we know. */
! 1971:
! 1972: #ifndef YY_LOCATION_PRINT
! 1973: # if YYLTYPE_IS_TRIVIAL
! 1974: # define YY_LOCATION_PRINT(File, Loc) \
! 1975: fprintf (File, "%d.%d-%d.%d", \
! 1976: (Loc).first_line, (Loc).first_column, \
! 1977: (Loc).last_line, (Loc).last_column)
! 1978: # else
! 1979: # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
! 1980: # endif
! 1981: #endif
! 1982:
! 1983:
! 1984: /* YYLEX -- calling `yylex' with the right arguments. */
! 1985:
! 1986: #ifdef YYLEX_PARAM
! 1987: # define YYLEX yylex (YYLEX_PARAM)
! 1988: #else
! 1989: # define YYLEX yylex ()
! 1990: #endif
! 1991:
! 1992: /* Enable debugging if requested. */
! 1993: #if YYDEBUG
! 1994:
! 1995: # ifndef YYFPRINTF
! 1996: # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
! 1997: # define YYFPRINTF fprintf
! 1998: # endif
! 1999:
! 2000: # define YYDPRINTF(Args) \
! 2001: do { \
! 2002: if (yydebug) \
! 2003: YYFPRINTF Args; \
! 2004: } while (YYID (0))
! 2005:
! 2006: # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
! 2007: do { \
! 2008: if (yydebug) \
! 2009: { \
! 2010: YYFPRINTF (stderr, "%s ", Title); \
! 2011: yy_symbol_print (stderr, \
! 2012: Type, Value); \
! 2013: YYFPRINTF (stderr, "\n"); \
! 2014: } \
! 2015: } while (YYID (0))
! 2016:
! 2017:
! 2018: /*--------------------------------.
! 2019: | Print this symbol on YYOUTPUT. |
! 2020: `--------------------------------*/
! 2021:
! 2022: /*ARGSUSED*/
! 2023: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2024: || defined __cplusplus || defined _MSC_VER)
! 2025: static void
! 2026: yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
! 2027: #else
! 2028: static void
! 2029: yy_symbol_value_print (yyoutput, yytype, yyvaluep)
! 2030: FILE *yyoutput;
! 2031: int yytype;
! 2032: YYSTYPE const * const yyvaluep;
! 2033: #endif
! 2034: {
! 2035: if (!yyvaluep)
! 2036: return;
! 2037: # ifdef YYPRINT
! 2038: if (yytype < YYNTOKENS)
! 2039: YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
! 2040: # else
! 2041: YYUSE (yyoutput);
! 2042: # endif
! 2043: switch (yytype)
! 2044: {
! 2045: default:
! 2046: break;
! 2047: }
! 2048: }
! 2049:
! 2050:
! 2051: /*--------------------------------.
! 2052: | Print this symbol on YYOUTPUT. |
! 2053: `--------------------------------*/
! 2054:
! 2055: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2056: || defined __cplusplus || defined _MSC_VER)
! 2057: static void
! 2058: yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
! 2059: #else
! 2060: static void
! 2061: yy_symbol_print (yyoutput, yytype, yyvaluep)
! 2062: FILE *yyoutput;
! 2063: int yytype;
! 2064: YYSTYPE const * const yyvaluep;
! 2065: #endif
! 2066: {
! 2067: if (yytype < YYNTOKENS)
! 2068: YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
! 2069: else
! 2070: YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
! 2071:
! 2072: yy_symbol_value_print (yyoutput, yytype, yyvaluep);
! 2073: YYFPRINTF (yyoutput, ")");
! 2074: }
! 2075:
! 2076: /*------------------------------------------------------------------.
! 2077: | yy_stack_print -- Print the state stack from its BOTTOM up to its |
! 2078: | TOP (included). |
! 2079: `------------------------------------------------------------------*/
! 2080:
! 2081: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2082: || defined __cplusplus || defined _MSC_VER)
! 2083: static void
! 2084: yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
! 2085: #else
! 2086: static void
! 2087: yy_stack_print (bottom, top)
! 2088: yytype_int16 *bottom;
! 2089: yytype_int16 *top;
! 2090: #endif
! 2091: {
! 2092: YYFPRINTF (stderr, "Stack now");
! 2093: for (; bottom <= top; ++bottom)
! 2094: YYFPRINTF (stderr, " %d", *bottom);
! 2095: YYFPRINTF (stderr, "\n");
! 2096: }
! 2097:
! 2098: # define YY_STACK_PRINT(Bottom, Top) \
! 2099: do { \
! 2100: if (yydebug) \
! 2101: yy_stack_print ((Bottom), (Top)); \
! 2102: } while (YYID (0))
! 2103:
! 2104:
! 2105: /*------------------------------------------------.
! 2106: | Report that the YYRULE is going to be reduced. |
! 2107: `------------------------------------------------*/
! 2108:
! 2109: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2110: || defined __cplusplus || defined _MSC_VER)
! 2111: static void
! 2112: yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
! 2113: #else
! 2114: static void
! 2115: yy_reduce_print (yyvsp, yyrule)
! 2116: YYSTYPE *yyvsp;
! 2117: int yyrule;
! 2118: #endif
! 2119: {
! 2120: int yynrhs = yyr2[yyrule];
! 2121: int yyi;
! 2122: unsigned long int yylno = yyrline[yyrule];
! 2123: YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
! 2124: yyrule - 1, yylno);
! 2125: /* The symbols being reduced. */
! 2126: for (yyi = 0; yyi < yynrhs; yyi++)
! 2127: {
! 2128: fprintf (stderr, " $%d = ", yyi + 1);
! 2129: yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
! 2130: &(yyvsp[(yyi + 1) - (yynrhs)])
! 2131: );
! 2132: fprintf (stderr, "\n");
! 2133: }
! 2134: }
! 2135:
! 2136: # define YY_REDUCE_PRINT(Rule) \
! 2137: do { \
! 2138: if (yydebug) \
! 2139: yy_reduce_print (yyvsp, Rule); \
! 2140: } while (YYID (0))
! 2141:
! 2142: /* Nonzero means print parse trace. It is left uninitialized so that
! 2143: multiple parsers can coexist. */
! 2144: int yydebug;
! 2145: #else /* !YYDEBUG */
! 2146: # define YYDPRINTF(Args)
! 2147: # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
! 2148: # define YY_STACK_PRINT(Bottom, Top)
! 2149: # define YY_REDUCE_PRINT(Rule)
! 2150: #endif /* !YYDEBUG */
! 2151:
! 2152:
! 2153: /* YYINITDEPTH -- initial size of the parser's stacks. */
! 2154: #ifndef YYINITDEPTH
! 2155: # define YYINITDEPTH 200
! 2156: #endif
! 2157:
! 2158: /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
! 2159: if the built-in stack extension method is used).
! 2160:
! 2161: Do not make this value too large; the results are undefined if
! 2162: YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
! 2163: evaluated with infinite-precision integer arithmetic. */
! 2164:
! 2165: #ifndef YYMAXDEPTH
! 2166: # define YYMAXDEPTH 10000
! 2167: #endif
! 2168:
! 2169:
! 2170:
! 2171: #if YYERROR_VERBOSE
! 2172:
! 2173: # ifndef yystrlen
! 2174: # if defined __GLIBC__ && defined _STRING_H
! 2175: # define yystrlen strlen
! 2176: # else
! 2177: /* Return the length of YYSTR. */
! 2178: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2179: || defined __cplusplus || defined _MSC_VER)
! 2180: static YYSIZE_T
! 2181: yystrlen (const char *yystr)
! 2182: #else
! 2183: static YYSIZE_T
! 2184: yystrlen (yystr)
! 2185: const char *yystr;
! 2186: #endif
! 2187: {
! 2188: YYSIZE_T yylen;
! 2189: for (yylen = 0; yystr[yylen]; yylen++)
! 2190: continue;
! 2191: return yylen;
! 2192: }
! 2193: # endif
! 2194: # endif
! 2195:
! 2196: # ifndef yystpcpy
! 2197: # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
! 2198: # define yystpcpy stpcpy
! 2199: # else
! 2200: /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
! 2201: YYDEST. */
! 2202: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2203: || defined __cplusplus || defined _MSC_VER)
! 2204: static char *
! 2205: yystpcpy (char *yydest, const char *yysrc)
! 2206: #else
! 2207: static char *
! 2208: yystpcpy (yydest, yysrc)
! 2209: char *yydest;
! 2210: const char *yysrc;
! 2211: #endif
! 2212: {
! 2213: char *yyd = yydest;
! 2214: const char *yys = yysrc;
! 2215:
! 2216: while ((*yyd++ = *yys++) != '\0')
! 2217: continue;
! 2218:
! 2219: return yyd - 1;
! 2220: }
! 2221: # endif
! 2222: # endif
! 2223:
! 2224: # ifndef yytnamerr
! 2225: /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
! 2226: quotes and backslashes, so that it's suitable for yyerror. The
! 2227: heuristic is that double-quoting is unnecessary unless the string
! 2228: contains an apostrophe, a comma, or backslash (other than
! 2229: backslash-backslash). YYSTR is taken from yytname. If YYRES is
! 2230: null, do not copy; instead, return the length of what the result
! 2231: would have been. */
! 2232: static YYSIZE_T
! 2233: yytnamerr (char *yyres, const char *yystr)
! 2234: {
! 2235: if (*yystr == '"')
! 2236: {
! 2237: YYSIZE_T yyn = 0;
! 2238: char const *yyp = yystr;
! 2239:
! 2240: for (;;)
! 2241: switch (*++yyp)
! 2242: {
! 2243: case '\'':
! 2244: case ',':
! 2245: goto do_not_strip_quotes;
! 2246:
! 2247: case '\\':
! 2248: if (*++yyp != '\\')
! 2249: goto do_not_strip_quotes;
! 2250: /* Fall through. */
! 2251: default:
! 2252: if (yyres)
! 2253: yyres[yyn] = *yyp;
! 2254: yyn++;
! 2255: break;
! 2256:
! 2257: case '"':
! 2258: if (yyres)
! 2259: yyres[yyn] = '\0';
! 2260: return yyn;
! 2261: }
! 2262: do_not_strip_quotes: ;
! 2263: }
! 2264:
! 2265: if (! yyres)
! 2266: return yystrlen (yystr);
! 2267:
! 2268: return yystpcpy (yyres, yystr) - yyres;
! 2269: }
! 2270: # endif
! 2271:
! 2272: /* Copy into YYRESULT an error message about the unexpected token
! 2273: YYCHAR while in state YYSTATE. Return the number of bytes copied,
! 2274: including the terminating null byte. If YYRESULT is null, do not
! 2275: copy anything; just return the number of bytes that would be
! 2276: copied. As a special case, return 0 if an ordinary "syntax error"
! 2277: message will do. Return YYSIZE_MAXIMUM if overflow occurs during
! 2278: size calculation. */
! 2279: static YYSIZE_T
! 2280: yysyntax_error (char *yyresult, int yystate, int yychar)
! 2281: {
! 2282: int yyn = yypact[yystate];
! 2283:
! 2284: if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
! 2285: return 0;
! 2286: else
! 2287: {
! 2288: int yytype = YYTRANSLATE (yychar);
! 2289: YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
! 2290: YYSIZE_T yysize = yysize0;
! 2291: YYSIZE_T yysize1;
! 2292: int yysize_overflow = 0;
! 2293: enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
! 2294: char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
! 2295: int yyx;
! 2296:
! 2297: # if 0
! 2298: /* This is so xgettext sees the translatable formats that are
! 2299: constructed on the fly. */
! 2300: YY_("syntax error, unexpected %s");
! 2301: YY_("syntax error, unexpected %s, expecting %s");
! 2302: YY_("syntax error, unexpected %s, expecting %s or %s");
! 2303: YY_("syntax error, unexpected %s, expecting %s or %s or %s");
! 2304: YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
! 2305: # endif
! 2306: char *yyfmt;
! 2307: char const *yyf;
! 2308: static char const yyunexpected[] = "syntax error, unexpected %s";
! 2309: static char const yyexpecting[] = ", expecting %s";
! 2310: static char const yyor[] = " or %s";
! 2311: char yyformat[sizeof yyunexpected
! 2312: + sizeof yyexpecting - 1
! 2313: + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
! 2314: * (sizeof yyor - 1))];
! 2315: char const *yyprefix = yyexpecting;
! 2316:
! 2317: /* Start YYX at -YYN if negative to avoid negative indexes in
! 2318: YYCHECK. */
! 2319: int yyxbegin = yyn < 0 ? -yyn : 0;
! 2320:
! 2321: /* Stay within bounds of both yycheck and yytname. */
! 2322: int yychecklim = YYLAST - yyn + 1;
! 2323: int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
! 2324: int yycount = 1;
! 2325:
! 2326: yyarg[0] = yytname[yytype];
! 2327: yyfmt = yystpcpy (yyformat, yyunexpected);
! 2328:
! 2329: for (yyx = yyxbegin; yyx < yyxend; ++yyx)
! 2330: if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
! 2331: {
! 2332: if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
! 2333: {
! 2334: yycount = 1;
! 2335: yysize = yysize0;
! 2336: yyformat[sizeof yyunexpected - 1] = '\0';
! 2337: break;
! 2338: }
! 2339: yyarg[yycount++] = yytname[yyx];
! 2340: yysize1 = yysize + yytnamerr (0, yytname[yyx]);
! 2341: yysize_overflow |= (yysize1 < yysize);
! 2342: yysize = yysize1;
! 2343: yyfmt = yystpcpy (yyfmt, yyprefix);
! 2344: yyprefix = yyor;
! 2345: }
! 2346:
! 2347: yyf = YY_(yyformat);
! 2348: yysize1 = yysize + yystrlen (yyf);
! 2349: yysize_overflow |= (yysize1 < yysize);
! 2350: yysize = yysize1;
! 2351:
! 2352: if (yysize_overflow)
! 2353: return YYSIZE_MAXIMUM;
! 2354:
! 2355: if (yyresult)
! 2356: {
! 2357: /* Avoid sprintf, as that infringes on the user's name space.
! 2358: Don't have undefined behavior even if the translation
! 2359: produced a string with the wrong number of "%s"s. */
! 2360: char *yyp = yyresult;
! 2361: int yyi = 0;
! 2362: while ((*yyp = *yyf) != '\0')
! 2363: {
! 2364: if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
! 2365: {
! 2366: yyp += yytnamerr (yyp, yyarg[yyi++]);
! 2367: yyf += 2;
! 2368: }
! 2369: else
! 2370: {
! 2371: yyp++;
! 2372: yyf++;
! 2373: }
! 2374: }
! 2375: }
! 2376: return yysize;
! 2377: }
! 2378: }
! 2379: #endif /* YYERROR_VERBOSE */
! 2380:
! 2381:
! 2382: /*-----------------------------------------------.
! 2383: | Release the memory associated to this symbol. |
! 2384: `-----------------------------------------------*/
! 2385:
! 2386: /*ARGSUSED*/
! 2387: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2388: || defined __cplusplus || defined _MSC_VER)
! 2389: static void
! 2390: yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
! 2391: #else
! 2392: static void
! 2393: yydestruct (yymsg, yytype, yyvaluep)
! 2394: const char *yymsg;
! 2395: int yytype;
! 2396: YYSTYPE *yyvaluep;
! 2397: #endif
! 2398: {
! 2399: YYUSE (yyvaluep);
! 2400:
! 2401: if (!yymsg)
! 2402: yymsg = "Deleting";
! 2403: YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
! 2404:
! 2405: switch (yytype)
! 2406: {
! 2407:
! 2408: default:
! 2409: break;
! 2410: }
! 2411: }
! 2412:
! 2413:
! 2414: /* Prevent warnings from -Wmissing-prototypes. */
! 2415:
! 2416: #ifdef YYPARSE_PARAM
! 2417: #if defined __STDC__ || defined __cplusplus
! 2418: int yyparse (void *YYPARSE_PARAM);
! 2419: #else
! 2420: int yyparse ();
! 2421: #endif
! 2422: #else /* ! YYPARSE_PARAM */
! 2423: #if defined __STDC__ || defined __cplusplus
! 2424: int yyparse (void);
! 2425: #else
! 2426: int yyparse ();
! 2427: #endif
! 2428: #endif /* ! YYPARSE_PARAM */
! 2429:
! 2430:
! 2431:
! 2432: /* The look-ahead symbol. */
! 2433: int yychar;
! 2434:
! 2435: /* The semantic value of the look-ahead symbol. */
! 2436: YYSTYPE yylval;
! 2437:
! 2438: /* Number of syntax errors so far. */
! 2439: int yynerrs;
! 2440:
! 2441:
! 2442:
! 2443: /*----------.
! 2444: | yyparse. |
! 2445: `----------*/
! 2446:
! 2447: #ifdef YYPARSE_PARAM
! 2448: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2449: || defined __cplusplus || defined _MSC_VER)
! 2450: int
! 2451: yyparse (void *YYPARSE_PARAM)
! 2452: #else
! 2453: int
! 2454: yyparse (YYPARSE_PARAM)
! 2455: void *YYPARSE_PARAM;
! 2456: #endif
! 2457: #else /* ! YYPARSE_PARAM */
! 2458: #if (defined __STDC__ || defined __C99__FUNC__ \
! 2459: || defined __cplusplus || defined _MSC_VER)
! 2460: int
! 2461: yyparse (void)
! 2462: #else
! 2463: int
! 2464: yyparse ()
! 2465:
! 2466: #endif
! 2467: #endif
! 2468: {
! 2469:
! 2470: int yystate;
! 2471: int yyn;
! 2472: int yyresult;
! 2473: /* Number of tokens to shift before error messages enabled. */
! 2474: int yyerrstatus;
! 2475: /* Look-ahead token as an internal (translated) token number. */
! 2476: int yytoken = 0;
! 2477: #if YYERROR_VERBOSE
! 2478: /* Buffer for error messages, and its allocated size. */
! 2479: char yymsgbuf[128];
! 2480: char *yymsg = yymsgbuf;
! 2481: YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
! 2482: #endif
! 2483:
! 2484: /* Three stacks and their tools:
! 2485: `yyss': related to states,
! 2486: `yyvs': related to semantic values,
! 2487: `yyls': related to locations.
! 2488:
! 2489: Refer to the stacks thru separate pointers, to allow yyoverflow
! 2490: to reallocate them elsewhere. */
! 2491:
! 2492: /* The state stack. */
! 2493: yytype_int16 yyssa[YYINITDEPTH];
! 2494: yytype_int16 *yyss = yyssa;
! 2495: yytype_int16 *yyssp;
! 2496:
! 2497: /* The semantic value stack. */
! 2498: YYSTYPE yyvsa[YYINITDEPTH];
! 2499: YYSTYPE *yyvs = yyvsa;
! 2500: YYSTYPE *yyvsp;
! 2501:
! 2502:
! 2503:
! 2504: #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
! 2505:
! 2506: YYSIZE_T yystacksize = YYINITDEPTH;
! 2507:
! 2508: /* The variables used to return semantic value and location from the
! 2509: action routines. */
! 2510: YYSTYPE yyval;
! 2511:
! 2512:
! 2513: /* The number of symbols on the RHS of the reduced rule.
! 2514: Keep to zero when no symbol should be popped. */
! 2515: int yylen = 0;
! 2516:
! 2517: YYDPRINTF ((stderr, "Starting parse\n"));
! 2518:
! 2519: yystate = 0;
! 2520: yyerrstatus = 0;
! 2521: yynerrs = 0;
! 2522: yychar = YYEMPTY; /* Cause a token to be read. */
! 2523:
! 2524: /* Initialize stack pointers.
! 2525: Waste one element of value and location stack
! 2526: so that they stay on the same level as the state stack.
! 2527: The wasted elements are never initialized. */
! 2528:
! 2529: yyssp = yyss;
! 2530: yyvsp = yyvs;
! 2531:
! 2532: goto yysetstate;
! 2533:
! 2534: /*------------------------------------------------------------.
! 2535: | yynewstate -- Push a new state, which is found in yystate. |
! 2536: `------------------------------------------------------------*/
! 2537: yynewstate:
! 2538: /* In all cases, when you get here, the value and location stacks
! 2539: have just been pushed. So pushing a state here evens the stacks. */
! 2540: yyssp++;
! 2541:
! 2542: yysetstate:
! 2543: *yyssp = yystate;
! 2544:
! 2545: if (yyss + yystacksize - 1 <= yyssp)
! 2546: {
! 2547: /* Get the current used size of the three stacks, in elements. */
! 2548: YYSIZE_T yysize = yyssp - yyss + 1;
! 2549:
! 2550: #ifdef yyoverflow
! 2551: {
! 2552: /* Give user a chance to reallocate the stack. Use copies of
! 2553: these so that the &'s don't force the real ones into
! 2554: memory. */
! 2555: YYSTYPE *yyvs1 = yyvs;
! 2556: yytype_int16 *yyss1 = yyss;
! 2557:
! 2558:
! 2559: /* Each stack pointer address is followed by the size of the
! 2560: data in use in that stack, in bytes. This used to be a
! 2561: conditional around just the two extra args, but that might
! 2562: be undefined if yyoverflow is a macro. */
! 2563: yyoverflow (YY_("memory exhausted"),
! 2564: &yyss1, yysize * sizeof (*yyssp),
! 2565: &yyvs1, yysize * sizeof (*yyvsp),
! 2566:
! 2567: &yystacksize);
! 2568:
! 2569: yyss = yyss1;
! 2570: yyvs = yyvs1;
! 2571: }
! 2572: #else /* no yyoverflow */
! 2573: # ifndef YYSTACK_RELOCATE
! 2574: goto yyexhaustedlab;
! 2575: # else
! 2576: /* Extend the stack our own way. */
! 2577: if (YYMAXDEPTH <= yystacksize)
! 2578: goto yyexhaustedlab;
! 2579: yystacksize *= 2;
! 2580: if (YYMAXDEPTH < yystacksize)
! 2581: yystacksize = YYMAXDEPTH;
! 2582:
! 2583: {
! 2584: yytype_int16 *yyss1 = yyss;
! 2585: union yyalloc *yyptr =
! 2586: (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
! 2587: if (! yyptr)
! 2588: goto yyexhaustedlab;
! 2589: YYSTACK_RELOCATE (yyss);
! 2590: YYSTACK_RELOCATE (yyvs);
! 2591:
! 2592: # undef YYSTACK_RELOCATE
! 2593: if (yyss1 != yyssa)
! 2594: YYSTACK_FREE (yyss1);
! 2595: }
! 2596: # endif
! 2597: #endif /* no yyoverflow */
! 2598:
! 2599: yyssp = yyss + yysize - 1;
! 2600: yyvsp = yyvs + yysize - 1;
! 2601:
! 2602:
! 2603: YYDPRINTF ((stderr, "Stack size increased to %lu\n",
! 2604: (unsigned long int) yystacksize));
! 2605:
! 2606: if (yyss + yystacksize - 1 <= yyssp)
! 2607: YYABORT;
! 2608: }
! 2609:
! 2610: YYDPRINTF ((stderr, "Entering state %d\n", yystate));
! 2611:
! 2612: goto yybackup;
! 2613:
! 2614: /*-----------.
! 2615: | yybackup. |
! 2616: `-----------*/
! 2617: yybackup:
! 2618:
! 2619: /* Do appropriate processing given the current state. Read a
! 2620: look-ahead token if we need one and don't already have one. */
! 2621:
! 2622: /* First try to decide what to do without reference to look-ahead token. */
! 2623: yyn = yypact[yystate];
! 2624: if (yyn == YYPACT_NINF)
! 2625: goto yydefault;
! 2626:
! 2627: /* Not known => get a look-ahead token if don't already have one. */
! 2628:
! 2629: /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
! 2630: if (yychar == YYEMPTY)
! 2631: {
! 2632: YYDPRINTF ((stderr, "Reading a token: "));
! 2633: yychar = YYLEX;
! 2634: }
! 2635:
! 2636: if (yychar <= YYEOF)
! 2637: {
! 2638: yychar = yytoken = YYEOF;
! 2639: YYDPRINTF ((stderr, "Now at end of input.\n"));
! 2640: }
! 2641: else
! 2642: {
! 2643: yytoken = YYTRANSLATE (yychar);
! 2644: YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
! 2645: }
! 2646:
! 2647: /* If the proper action on seeing token YYTOKEN is to reduce or to
! 2648: detect an error, take that action. */
! 2649: yyn += yytoken;
! 2650: if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
! 2651: goto yydefault;
! 2652: yyn = yytable[yyn];
! 2653: if (yyn <= 0)
! 2654: {
! 2655: if (yyn == 0 || yyn == YYTABLE_NINF)
! 2656: goto yyerrlab;
! 2657: yyn = -yyn;
! 2658: goto yyreduce;
! 2659: }
! 2660:
! 2661: if (yyn == YYFINAL)
! 2662: YYACCEPT;
! 2663:
! 2664: /* Count tokens shifted since error; after three, turn off error
! 2665: status. */
! 2666: if (yyerrstatus)
! 2667: yyerrstatus--;
! 2668:
! 2669: /* Shift the look-ahead token. */
! 2670: YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
! 2671:
! 2672: /* Discard the shifted token unless it is eof. */
! 2673: if (yychar != YYEOF)
! 2674: yychar = YYEMPTY;
! 2675:
! 2676: yystate = yyn;
! 2677: *++yyvsp = yylval;
! 2678:
! 2679: goto yynewstate;
! 2680:
! 2681:
! 2682: /*-----------------------------------------------------------.
! 2683: | yydefault -- do the default action for the current state. |
! 2684: `-----------------------------------------------------------*/
! 2685: yydefault:
! 2686: yyn = yydefact[yystate];
! 2687: if (yyn == 0)
! 2688: goto yyerrlab;
! 2689: goto yyreduce;
! 2690:
! 2691:
! 2692: /*-----------------------------.
! 2693: | yyreduce -- Do a reduction. |
! 2694: `-----------------------------*/
! 2695: yyreduce:
! 2696: /* yyn is the number of a rule to reduce with. */
! 2697: yylen = yyr2[yyn];
! 2698:
! 2699: /* If YYLEN is nonzero, implement the default value of the action:
! 2700: `$$ = $1'.
! 2701:
! 2702: Otherwise, the following line sets YYVAL to garbage.
! 2703: This behavior is undocumented and Bison
! 2704: users should not rely upon it. Assigning to YYVAL
! 2705: unconditionally makes the parser a bit smaller, and it avoids a
! 2706: GCC warning that YYVAL may be used uninitialized. */
! 2707: yyval = yyvsp[1-yylen];
! 2708:
! 2709:
! 2710: YY_REDUCE_PRINT (yyn);
! 2711: switch (yyn)
! 2712: {
! 2713: case 2:
! 2714: #line 98 "awkgram.y"
! 2715: { if (errorflag==0)
! 2716: winner = (Node *)stat3(PROGRAM, beginloc, (yyvsp[(1) - (1)].p), endloc); }
! 2717: break;
! 2718:
! 2719: case 3:
! 2720: #line 100 "awkgram.y"
! 2721: { yyclearin; bracecheck(); SYNTAX("bailing out"); }
! 2722: break;
! 2723:
! 2724: case 14:
! 2725: #line 124 "awkgram.y"
! 2726: {inloop++;}
! 2727: break;
! 2728:
! 2729: case 15:
! 2730: #line 125 "awkgram.y"
! 2731: { --inloop; (yyval.p) = stat4(FOR, (yyvsp[(3) - (12)].p), notnull((yyvsp[(6) - (12)].p)), (yyvsp[(9) - (12)].p), (yyvsp[(12) - (12)].p)); }
! 2732: break;
! 2733:
! 2734: case 16:
! 2735: #line 126 "awkgram.y"
! 2736: {inloop++;}
! 2737: break;
! 2738:
! 2739: case 17:
! 2740: #line 127 "awkgram.y"
! 2741: { --inloop; (yyval.p) = stat4(FOR, (yyvsp[(3) - (10)].p), NIL, (yyvsp[(7) - (10)].p), (yyvsp[(10) - (10)].p)); }
! 2742: break;
! 2743:
! 2744: case 18:
! 2745: #line 128 "awkgram.y"
! 2746: {inloop++;}
! 2747: break;
! 2748:
! 2749: case 19:
! 2750: #line 129 "awkgram.y"
! 2751: { --inloop; (yyval.p) = stat3(IN, (yyvsp[(3) - (8)].p), makearr((yyvsp[(5) - (8)].p)), (yyvsp[(8) - (8)].p)); }
! 2752: break;
! 2753:
! 2754: case 20:
! 2755: #line 133 "awkgram.y"
! 2756: { setfname((yyvsp[(1) - (1)].cp)); }
! 2757: break;
! 2758:
! 2759: case 21:
! 2760: #line 134 "awkgram.y"
! 2761: { setfname((yyvsp[(1) - (1)].cp)); }
! 2762: break;
! 2763:
! 2764: case 22:
! 2765: #line 138 "awkgram.y"
! 2766: { (yyval.p) = notnull((yyvsp[(3) - (4)].p)); }
! 2767: break;
! 2768:
! 2769: case 27:
! 2770: #line 150 "awkgram.y"
! 2771: { (yyval.i) = 0; }
! 2772: break;
! 2773:
! 2774: case 29:
! 2775: #line 155 "awkgram.y"
! 2776: { (yyval.i) = 0; }
! 2777: break;
! 2778:
! 2779: case 31:
! 2780: #line 161 "awkgram.y"
! 2781: { (yyval.p) = 0; }
! 2782: break;
! 2783:
! 2784: case 33:
! 2785: #line 166 "awkgram.y"
! 2786: { (yyval.p) = 0; }
! 2787: break;
! 2788:
! 2789: case 34:
! 2790: #line 167 "awkgram.y"
! 2791: { (yyval.p) = (yyvsp[(2) - (3)].p); }
! 2792: break;
! 2793:
! 2794: case 35:
! 2795: #line 171 "awkgram.y"
! 2796: { (yyval.p) = notnull((yyvsp[(1) - (1)].p)); }
! 2797: break;
! 2798:
! 2799: case 36:
! 2800: #line 175 "awkgram.y"
! 2801: { (yyval.p) = stat2(PASTAT, (yyvsp[(1) - (1)].p), stat2(PRINT, rectonode(), NIL)); }
! 2802: break;
! 2803:
! 2804: case 37:
! 2805: #line 176 "awkgram.y"
! 2806: { (yyval.p) = stat2(PASTAT, (yyvsp[(1) - (4)].p), (yyvsp[(3) - (4)].p)); }
! 2807: break;
! 2808:
! 2809: case 38:
! 2810: #line 177 "awkgram.y"
! 2811: { (yyval.p) = pa2stat((yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p), stat2(PRINT, rectonode(), NIL)); }
! 2812: break;
! 2813:
! 2814: case 39:
! 2815: #line 178 "awkgram.y"
! 2816: { (yyval.p) = pa2stat((yyvsp[(1) - (6)].p), (yyvsp[(3) - (6)].p), (yyvsp[(5) - (6)].p)); }
! 2817: break;
! 2818:
! 2819: case 40:
! 2820: #line 179 "awkgram.y"
! 2821: { (yyval.p) = stat2(PASTAT, NIL, (yyvsp[(2) - (3)].p)); }
! 2822: break;
! 2823:
! 2824: case 41:
! 2825: #line 181 "awkgram.y"
! 2826: { beginloc = linkum(beginloc, (yyvsp[(3) - (4)].p)); (yyval.p) = 0; }
! 2827: break;
! 2828:
! 2829: case 42:
! 2830: #line 183 "awkgram.y"
! 2831: { endloc = linkum(endloc, (yyvsp[(3) - (4)].p)); (yyval.p) = 0; }
! 2832: break;
! 2833:
! 2834: case 43:
! 2835: #line 184 "awkgram.y"
! 2836: {infunc++;}
! 2837: break;
! 2838:
! 2839: case 44:
! 2840: #line 185 "awkgram.y"
! 2841: { infunc--; curfname=0; defn((Cell *)(yyvsp[(2) - (9)].p), (yyvsp[(4) - (9)].p), (yyvsp[(8) - (9)].p)); (yyval.p) = 0; }
! 2842: break;
! 2843:
! 2844: case 46:
! 2845: #line 190 "awkgram.y"
! 2846: { (yyval.p) = linkum((yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2847: break;
! 2848:
! 2849: case 48:
! 2850: #line 195 "awkgram.y"
! 2851: { (yyval.p) = linkum((yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2852: break;
! 2853:
! 2854: case 49:
! 2855: #line 199 "awkgram.y"
! 2856: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2857: break;
! 2858:
! 2859: case 50:
! 2860: #line 201 "awkgram.y"
! 2861: { (yyval.p) = op3(CONDEXPR, notnull((yyvsp[(1) - (5)].p)), (yyvsp[(3) - (5)].p), (yyvsp[(5) - (5)].p)); }
! 2862: break;
! 2863:
! 2864: case 51:
! 2865: #line 203 "awkgram.y"
! 2866: { (yyval.p) = op2(BOR, notnull((yyvsp[(1) - (3)].p)), notnull((yyvsp[(3) - (3)].p))); }
! 2867: break;
! 2868:
! 2869: case 52:
! 2870: #line 205 "awkgram.y"
! 2871: { (yyval.p) = op2(AND, notnull((yyvsp[(1) - (3)].p)), notnull((yyvsp[(3) - (3)].p))); }
! 2872: break;
! 2873:
! 2874: case 53:
! 2875: #line 206 "awkgram.y"
! 2876: { (yyval.p) = op3((yyvsp[(2) - (3)].i), NIL, (yyvsp[(1) - (3)].p), (Node*)makedfa((yyvsp[(3) - (3)].s), 0)); }
! 2877: break;
! 2878:
! 2879: case 54:
! 2880: #line 208 "awkgram.y"
! 2881: { if (constnode((yyvsp[(3) - (3)].p)))
! 2882: (yyval.p) = op3((yyvsp[(2) - (3)].i), NIL, (yyvsp[(1) - (3)].p), (Node*)makedfa(strnode((yyvsp[(3) - (3)].p)), 0));
! 2883: else
! 2884: (yyval.p) = op3((yyvsp[(2) - (3)].i), (Node *)1, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2885: break;
! 2886:
! 2887: case 55:
! 2888: #line 212 "awkgram.y"
! 2889: { (yyval.p) = op2(INTEST, (yyvsp[(1) - (3)].p), makearr((yyvsp[(3) - (3)].p))); }
! 2890: break;
! 2891:
! 2892: case 56:
! 2893: #line 213 "awkgram.y"
! 2894: { (yyval.p) = op2(INTEST, (yyvsp[(2) - (5)].p), makearr((yyvsp[(5) - (5)].p))); }
! 2895: break;
! 2896:
! 2897: case 57:
! 2898: #line 214 "awkgram.y"
! 2899: { (yyval.p) = op2(CAT, (yyvsp[(1) - (2)].p), (yyvsp[(2) - (2)].p)); }
! 2900: break;
! 2901:
! 2902: case 60:
! 2903: #line 220 "awkgram.y"
! 2904: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2905: break;
! 2906:
! 2907: case 61:
! 2908: #line 222 "awkgram.y"
! 2909: { (yyval.p) = op3(CONDEXPR, notnull((yyvsp[(1) - (5)].p)), (yyvsp[(3) - (5)].p), (yyvsp[(5) - (5)].p)); }
! 2910: break;
! 2911:
! 2912: case 62:
! 2913: #line 224 "awkgram.y"
! 2914: { (yyval.p) = op2(BOR, notnull((yyvsp[(1) - (3)].p)), notnull((yyvsp[(3) - (3)].p))); }
! 2915: break;
! 2916:
! 2917: case 63:
! 2918: #line 226 "awkgram.y"
! 2919: { (yyval.p) = op2(AND, notnull((yyvsp[(1) - (3)].p)), notnull((yyvsp[(3) - (3)].p))); }
! 2920: break;
! 2921:
! 2922: case 64:
! 2923: #line 227 "awkgram.y"
! 2924: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2925: break;
! 2926:
! 2927: case 65:
! 2928: #line 228 "awkgram.y"
! 2929: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2930: break;
! 2931:
! 2932: case 66:
! 2933: #line 229 "awkgram.y"
! 2934: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2935: break;
! 2936:
! 2937: case 67:
! 2938: #line 230 "awkgram.y"
! 2939: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2940: break;
! 2941:
! 2942: case 68:
! 2943: #line 231 "awkgram.y"
! 2944: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2945: break;
! 2946:
! 2947: case 69:
! 2948: #line 232 "awkgram.y"
! 2949: { (yyval.p) = op2((yyvsp[(2) - (3)].i), (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2950: break;
! 2951:
! 2952: case 70:
! 2953: #line 233 "awkgram.y"
! 2954: { (yyval.p) = op3((yyvsp[(2) - (3)].i), NIL, (yyvsp[(1) - (3)].p), (Node*)makedfa((yyvsp[(3) - (3)].s), 0)); }
! 2955: break;
! 2956:
! 2957: case 71:
! 2958: #line 235 "awkgram.y"
! 2959: { if (constnode((yyvsp[(3) - (3)].p)))
! 2960: (yyval.p) = op3((yyvsp[(2) - (3)].i), NIL, (yyvsp[(1) - (3)].p), (Node*)makedfa(strnode((yyvsp[(3) - (3)].p)), 0));
! 2961: else
! 2962: (yyval.p) = op3((yyvsp[(2) - (3)].i), (Node *)1, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2963: break;
! 2964:
! 2965: case 72:
! 2966: #line 239 "awkgram.y"
! 2967: { (yyval.p) = op2(INTEST, (yyvsp[(1) - (3)].p), makearr((yyvsp[(3) - (3)].p))); }
! 2968: break;
! 2969:
! 2970: case 73:
! 2971: #line 240 "awkgram.y"
! 2972: { (yyval.p) = op2(INTEST, (yyvsp[(2) - (5)].p), makearr((yyvsp[(5) - (5)].p))); }
! 2973: break;
! 2974:
! 2975: case 74:
! 2976: #line 241 "awkgram.y"
! 2977: {
! 2978: if (safe) SYNTAX("cmd | getline is unsafe");
! 2979: else (yyval.p) = op3(GETLINE, (yyvsp[(4) - (4)].p), itonp((yyvsp[(2) - (4)].i)), (yyvsp[(1) - (4)].p)); }
! 2980: break;
! 2981:
! 2982: case 75:
! 2983: #line 244 "awkgram.y"
! 2984: {
! 2985: if (safe) SYNTAX("cmd | getline is unsafe");
! 2986: else (yyval.p) = op3(GETLINE, (Node*)0, itonp((yyvsp[(2) - (3)].i)), (yyvsp[(1) - (3)].p)); }
! 2987: break;
! 2988:
! 2989: case 76:
! 2990: #line 247 "awkgram.y"
! 2991: { (yyval.p) = op2(CAT, (yyvsp[(1) - (2)].p), (yyvsp[(2) - (2)].p)); }
! 2992: break;
! 2993:
! 2994: case 79:
! 2995: #line 253 "awkgram.y"
! 2996: { (yyval.p) = linkum((yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 2997: break;
! 2998:
! 2999: case 80:
! 3000: #line 254 "awkgram.y"
! 3001: { (yyval.p) = linkum((yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3002: break;
! 3003:
! 3004: case 82:
! 3005: #line 259 "awkgram.y"
! 3006: { (yyval.p) = linkum((yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3007: break;
! 3008:
! 3009: case 83:
! 3010: #line 263 "awkgram.y"
! 3011: { (yyval.p) = rectonode(); }
! 3012: break;
! 3013:
! 3014: case 85:
! 3015: #line 265 "awkgram.y"
! 3016: { (yyval.p) = (yyvsp[(2) - (3)].p); }
! 3017: break;
! 3018:
! 3019: case 94:
! 3020: #line 282 "awkgram.y"
! 3021: { (yyval.p) = op3(MATCH, NIL, rectonode(), (Node*)makedfa((yyvsp[(1) - (1)].s), 0)); }
! 3022: break;
! 3023:
! 3024: case 95:
! 3025: #line 283 "awkgram.y"
! 3026: { (yyval.p) = op1(NOT, notnull((yyvsp[(2) - (2)].p))); }
! 3027: break;
! 3028:
! 3029: case 96:
! 3030: #line 287 "awkgram.y"
! 3031: {startreg();}
! 3032: break;
! 3033:
! 3034: case 97:
! 3035: #line 287 "awkgram.y"
! 3036: { (yyval.s) = (yyvsp[(3) - (4)].s); }
! 3037: break;
! 3038:
! 3039: case 100:
! 3040: #line 295 "awkgram.y"
! 3041: {
! 3042: if (safe) SYNTAX("print | is unsafe");
! 3043: else (yyval.p) = stat3((yyvsp[(1) - (4)].i), (yyvsp[(2) - (4)].p), itonp((yyvsp[(3) - (4)].i)), (yyvsp[(4) - (4)].p)); }
! 3044: break;
! 3045:
! 3046: case 101:
! 3047: #line 298 "awkgram.y"
! 3048: {
! 3049: if (safe) SYNTAX("print >> is unsafe");
! 3050: else (yyval.p) = stat3((yyvsp[(1) - (4)].i), (yyvsp[(2) - (4)].p), itonp((yyvsp[(3) - (4)].i)), (yyvsp[(4) - (4)].p)); }
! 3051: break;
! 3052:
! 3053: case 102:
! 3054: #line 301 "awkgram.y"
! 3055: {
! 3056: if (safe) SYNTAX("print > is unsafe");
! 3057: else (yyval.p) = stat3((yyvsp[(1) - (4)].i), (yyvsp[(2) - (4)].p), itonp((yyvsp[(3) - (4)].i)), (yyvsp[(4) - (4)].p)); }
! 3058: break;
! 3059:
! 3060: case 103:
! 3061: #line 304 "awkgram.y"
! 3062: { (yyval.p) = stat3((yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].p), NIL, NIL); }
! 3063: break;
! 3064:
! 3065: case 104:
! 3066: #line 305 "awkgram.y"
! 3067: { (yyval.p) = stat2(DELETE, makearr((yyvsp[(2) - (5)].p)), (yyvsp[(4) - (5)].p)); }
! 3068: break;
! 3069:
! 3070: case 105:
! 3071: #line 306 "awkgram.y"
! 3072: { (yyval.p) = stat2(DELETE, makearr((yyvsp[(2) - (2)].p)), 0); }
! 3073: break;
! 3074:
! 3075: case 106:
! 3076: #line 307 "awkgram.y"
! 3077: { (yyval.p) = exptostat((yyvsp[(1) - (1)].p)); }
! 3078: break;
! 3079:
! 3080: case 107:
! 3081: #line 308 "awkgram.y"
! 3082: { yyclearin; SYNTAX("illegal statement"); }
! 3083: break;
! 3084:
! 3085: case 110:
! 3086: #line 317 "awkgram.y"
! 3087: { if (!inloop) SYNTAX("break illegal outside of loops");
! 3088: (yyval.p) = stat1(BREAK, NIL); }
! 3089: break;
! 3090:
! 3091: case 111:
! 3092: #line 319 "awkgram.y"
! 3093: { if (!inloop) SYNTAX("continue illegal outside of loops");
! 3094: (yyval.p) = stat1(CONTINUE, NIL); }
! 3095: break;
! 3096:
! 3097: case 112:
! 3098: #line 321 "awkgram.y"
! 3099: {inloop++;}
! 3100: break;
! 3101:
! 3102: case 113:
! 3103: #line 321 "awkgram.y"
! 3104: {--inloop;}
! 3105: break;
! 3106:
! 3107: case 114:
! 3108: #line 322 "awkgram.y"
! 3109: { (yyval.p) = stat2(DO, (yyvsp[(3) - (9)].p), notnull((yyvsp[(7) - (9)].p))); }
! 3110: break;
! 3111:
! 3112: case 115:
! 3113: #line 323 "awkgram.y"
! 3114: { (yyval.p) = stat1(EXIT, (yyvsp[(2) - (3)].p)); }
! 3115: break;
! 3116:
! 3117: case 116:
! 3118: #line 324 "awkgram.y"
! 3119: { (yyval.p) = stat1(EXIT, NIL); }
! 3120: break;
! 3121:
! 3122: case 118:
! 3123: #line 326 "awkgram.y"
! 3124: { (yyval.p) = stat3(IF, (yyvsp[(1) - (4)].p), (yyvsp[(2) - (4)].p), (yyvsp[(4) - (4)].p)); }
! 3125: break;
! 3126:
! 3127: case 119:
! 3128: #line 327 "awkgram.y"
! 3129: { (yyval.p) = stat3(IF, (yyvsp[(1) - (2)].p), (yyvsp[(2) - (2)].p), NIL); }
! 3130: break;
! 3131:
! 3132: case 120:
! 3133: #line 328 "awkgram.y"
! 3134: { (yyval.p) = (yyvsp[(2) - (3)].p); }
! 3135: break;
! 3136:
! 3137: case 121:
! 3138: #line 329 "awkgram.y"
! 3139: { if (infunc)
! 3140: SYNTAX("next is illegal inside a function");
! 3141: (yyval.p) = stat1(NEXT, NIL); }
! 3142: break;
! 3143:
! 3144: case 122:
! 3145: #line 332 "awkgram.y"
! 3146: { if (infunc)
! 3147: SYNTAX("nextfile is illegal inside a function");
! 3148: (yyval.p) = stat1(NEXTFILE, NIL); }
! 3149: break;
! 3150:
! 3151: case 123:
! 3152: #line 335 "awkgram.y"
! 3153: { (yyval.p) = stat1(RETURN, (yyvsp[(2) - (3)].p)); }
! 3154: break;
! 3155:
! 3156: case 124:
! 3157: #line 336 "awkgram.y"
! 3158: { (yyval.p) = stat1(RETURN, NIL); }
! 3159: break;
! 3160:
! 3161: case 126:
! 3162: #line 338 "awkgram.y"
! 3163: {inloop++;}
! 3164: break;
! 3165:
! 3166: case 127:
! 3167: #line 338 "awkgram.y"
! 3168: { --inloop; (yyval.p) = stat2(WHILE, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3169: break;
! 3170:
! 3171: case 128:
! 3172: #line 339 "awkgram.y"
! 3173: { (yyval.p) = 0; }
! 3174: break;
! 3175:
! 3176: case 130:
! 3177: #line 344 "awkgram.y"
! 3178: { (yyval.p) = linkum((yyvsp[(1) - (2)].p), (yyvsp[(2) - (2)].p)); }
! 3179: break;
! 3180:
! 3181: case 133:
! 3182: #line 352 "awkgram.y"
! 3183: { (yyval.p) = op2(DIVEQ, (yyvsp[(1) - (4)].p), (yyvsp[(4) - (4)].p)); }
! 3184: break;
! 3185:
! 3186: case 134:
! 3187: #line 353 "awkgram.y"
! 3188: { (yyval.p) = op2(ADD, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3189: break;
! 3190:
! 3191: case 135:
! 3192: #line 354 "awkgram.y"
! 3193: { (yyval.p) = op2(MINUS, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3194: break;
! 3195:
! 3196: case 136:
! 3197: #line 355 "awkgram.y"
! 3198: { (yyval.p) = op2(MULT, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3199: break;
! 3200:
! 3201: case 137:
! 3202: #line 356 "awkgram.y"
! 3203: { (yyval.p) = op2(DIVIDE, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3204: break;
! 3205:
! 3206: case 138:
! 3207: #line 357 "awkgram.y"
! 3208: { (yyval.p) = op2(MOD, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3209: break;
! 3210:
! 3211: case 139:
! 3212: #line 358 "awkgram.y"
! 3213: { (yyval.p) = op2(POWER, (yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].p)); }
! 3214: break;
! 3215:
! 3216: case 140:
! 3217: #line 359 "awkgram.y"
! 3218: { (yyval.p) = op1(UMINUS, (yyvsp[(2) - (2)].p)); }
! 3219: break;
! 3220:
! 3221: case 141:
! 3222: #line 360 "awkgram.y"
! 3223: { (yyval.p) = (yyvsp[(2) - (2)].p); }
! 3224: break;
! 3225:
! 3226: case 142:
! 3227: #line 361 "awkgram.y"
! 3228: { (yyval.p) = op1(NOT, notnull((yyvsp[(2) - (2)].p))); }
! 3229: break;
! 3230:
! 3231: case 143:
! 3232: #line 362 "awkgram.y"
! 3233: { (yyval.p) = op2(BLTIN, itonp((yyvsp[(1) - (3)].i)), rectonode()); }
! 3234: break;
! 3235:
! 3236: case 144:
! 3237: #line 363 "awkgram.y"
! 3238: { (yyval.p) = op2(BLTIN, itonp((yyvsp[(1) - (4)].i)), (yyvsp[(3) - (4)].p)); }
! 3239: break;
! 3240:
! 3241: case 145:
! 3242: #line 364 "awkgram.y"
! 3243: { (yyval.p) = op2(BLTIN, itonp((yyvsp[(1) - (1)].i)), rectonode()); }
! 3244: break;
! 3245:
! 3246: case 146:
! 3247: #line 365 "awkgram.y"
! 3248: { (yyval.p) = op2(CALL, celltonode((yyvsp[(1) - (3)].cp),CVAR), NIL); }
! 3249: break;
! 3250:
! 3251: case 147:
! 3252: #line 366 "awkgram.y"
! 3253: { (yyval.p) = op2(CALL, celltonode((yyvsp[(1) - (4)].cp),CVAR), (yyvsp[(3) - (4)].p)); }
! 3254: break;
! 3255:
! 3256: case 148:
! 3257: #line 367 "awkgram.y"
! 3258: { (yyval.p) = op1(CLOSE, (yyvsp[(2) - (2)].p)); }
! 3259: break;
! 3260:
! 3261: case 149:
! 3262: #line 368 "awkgram.y"
! 3263: { (yyval.p) = op1(PREDECR, (yyvsp[(2) - (2)].p)); }
! 3264: break;
! 3265:
! 3266: case 150:
! 3267: #line 369 "awkgram.y"
! 3268: { (yyval.p) = op1(PREINCR, (yyvsp[(2) - (2)].p)); }
! 3269: break;
! 3270:
! 3271: case 151:
! 3272: #line 370 "awkgram.y"
! 3273: { (yyval.p) = op1(POSTDECR, (yyvsp[(1) - (2)].p)); }
! 3274: break;
! 3275:
! 3276: case 152:
! 3277: #line 371 "awkgram.y"
! 3278: { (yyval.p) = op1(POSTINCR, (yyvsp[(1) - (2)].p)); }
! 3279: break;
! 3280:
! 3281: case 153:
! 3282: #line 372 "awkgram.y"
! 3283: { (yyval.p) = op3(GETLINE, (yyvsp[(2) - (4)].p), itonp((yyvsp[(3) - (4)].i)), (yyvsp[(4) - (4)].p)); }
! 3284: break;
! 3285:
! 3286: case 154:
! 3287: #line 373 "awkgram.y"
! 3288: { (yyval.p) = op3(GETLINE, NIL, itonp((yyvsp[(2) - (3)].i)), (yyvsp[(3) - (3)].p)); }
! 3289: break;
! 3290:
! 3291: case 155:
! 3292: #line 374 "awkgram.y"
! 3293: { (yyval.p) = op3(GETLINE, (yyvsp[(2) - (2)].p), NIL, NIL); }
! 3294: break;
! 3295:
! 3296: case 156:
! 3297: #line 375 "awkgram.y"
! 3298: { (yyval.p) = op3(GETLINE, NIL, NIL, NIL); }
! 3299: break;
! 3300:
! 3301: case 157:
! 3302: #line 377 "awkgram.y"
! 3303: { (yyval.p) = op2(INDEX, (yyvsp[(3) - (6)].p), (yyvsp[(5) - (6)].p)); }
! 3304: break;
! 3305:
! 3306: case 158:
! 3307: #line 379 "awkgram.y"
! 3308: { SYNTAX("index() doesn't permit regular expressions");
! 3309: (yyval.p) = op2(INDEX, (yyvsp[(3) - (6)].p), (Node*)(yyvsp[(5) - (6)].s)); }
! 3310: break;
! 3311:
! 3312: case 159:
! 3313: #line 381 "awkgram.y"
! 3314: { (yyval.p) = (yyvsp[(2) - (3)].p); }
! 3315: break;
! 3316:
! 3317: case 160:
! 3318: #line 383 "awkgram.y"
! 3319: { (yyval.p) = op3(MATCHFCN, NIL, (yyvsp[(3) - (6)].p), (Node*)makedfa((yyvsp[(5) - (6)].s), 1)); }
! 3320: break;
! 3321:
! 3322: case 161:
! 3323: #line 385 "awkgram.y"
! 3324: { if (constnode((yyvsp[(5) - (6)].p)))
! 3325: (yyval.p) = op3(MATCHFCN, NIL, (yyvsp[(3) - (6)].p), (Node*)makedfa(strnode((yyvsp[(5) - (6)].p)), 1));
! 3326: else
! 3327: (yyval.p) = op3(MATCHFCN, (Node *)1, (yyvsp[(3) - (6)].p), (yyvsp[(5) - (6)].p)); }
! 3328: break;
! 3329:
! 3330: case 162:
! 3331: #line 389 "awkgram.y"
! 3332: { (yyval.p) = celltonode((yyvsp[(1) - (1)].cp), CCON); }
! 3333: break;
! 3334:
! 3335: case 163:
! 3336: #line 391 "awkgram.y"
! 3337: { (yyval.p) = op4(SPLIT, (yyvsp[(3) - (8)].p), makearr((yyvsp[(5) - (8)].p)), (yyvsp[(7) - (8)].p), (Node*)STRING); }
! 3338: break;
! 3339:
! 3340: case 164:
! 3341: #line 393 "awkgram.y"
! 3342: { (yyval.p) = op4(SPLIT, (yyvsp[(3) - (8)].p), makearr((yyvsp[(5) - (8)].p)), (Node*)makedfa((yyvsp[(7) - (8)].s), 1), (Node *)REGEXPR); }
! 3343: break;
! 3344:
! 3345: case 165:
! 3346: #line 395 "awkgram.y"
! 3347: { (yyval.p) = op4(SPLIT, (yyvsp[(3) - (6)].p), makearr((yyvsp[(5) - (6)].p)), NIL, (Node*)STRING); }
! 3348: break;
! 3349:
! 3350: case 166:
! 3351: #line 396 "awkgram.y"
! 3352: { (yyval.p) = op1((yyvsp[(1) - (4)].i), (yyvsp[(3) - (4)].p)); }
! 3353: break;
! 3354:
! 3355: case 167:
! 3356: #line 397 "awkgram.y"
! 3357: { (yyval.p) = celltonode((yyvsp[(1) - (1)].cp), CCON); }
! 3358: break;
! 3359:
! 3360: case 168:
! 3361: #line 399 "awkgram.y"
! 3362: { (yyval.p) = op4((yyvsp[(1) - (6)].i), NIL, (Node*)makedfa((yyvsp[(3) - (6)].s), 1), (yyvsp[(5) - (6)].p), rectonode()); }
! 3363: break;
! 3364:
! 3365: case 169:
! 3366: #line 401 "awkgram.y"
! 3367: { if (constnode((yyvsp[(3) - (6)].p)))
! 3368: (yyval.p) = op4((yyvsp[(1) - (6)].i), NIL, (Node*)makedfa(strnode((yyvsp[(3) - (6)].p)), 1), (yyvsp[(5) - (6)].p), rectonode());
! 3369: else
! 3370: (yyval.p) = op4((yyvsp[(1) - (6)].i), (Node *)1, (yyvsp[(3) - (6)].p), (yyvsp[(5) - (6)].p), rectonode()); }
! 3371: break;
! 3372:
! 3373: case 170:
! 3374: #line 406 "awkgram.y"
! 3375: { (yyval.p) = op4((yyvsp[(1) - (8)].i), NIL, (Node*)makedfa((yyvsp[(3) - (8)].s), 1), (yyvsp[(5) - (8)].p), (yyvsp[(7) - (8)].p)); }
! 3376: break;
! 3377:
! 3378: case 171:
! 3379: #line 408 "awkgram.y"
! 3380: { if (constnode((yyvsp[(3) - (8)].p)))
! 3381: (yyval.p) = op4((yyvsp[(1) - (8)].i), NIL, (Node*)makedfa(strnode((yyvsp[(3) - (8)].p)), 1), (yyvsp[(5) - (8)].p), (yyvsp[(7) - (8)].p));
! 3382: else
! 3383: (yyval.p) = op4((yyvsp[(1) - (8)].i), (Node *)1, (yyvsp[(3) - (8)].p), (yyvsp[(5) - (8)].p), (yyvsp[(7) - (8)].p)); }
! 3384: break;
! 3385:
! 3386: case 172:
! 3387: #line 413 "awkgram.y"
! 3388: { (yyval.p) = op3(SUBSTR, (yyvsp[(3) - (8)].p), (yyvsp[(5) - (8)].p), (yyvsp[(7) - (8)].p)); }
! 3389: break;
! 3390:
! 3391: case 173:
! 3392: #line 415 "awkgram.y"
! 3393: { (yyval.p) = op3(SUBSTR, (yyvsp[(3) - (6)].p), (yyvsp[(5) - (6)].p), NIL); }
! 3394: break;
! 3395:
! 3396: case 176:
! 3397: #line 421 "awkgram.y"
! 3398: { (yyval.p) = op2(ARRAY, makearr((yyvsp[(1) - (4)].p)), (yyvsp[(3) - (4)].p)); }
! 3399: break;
! 3400:
! 3401: case 177:
! 3402: #line 422 "awkgram.y"
! 3403: { (yyval.p) = op1(INDIRECT, celltonode((yyvsp[(1) - (1)].cp), CVAR)); }
! 3404: break;
! 3405:
! 3406: case 178:
! 3407: #line 423 "awkgram.y"
! 3408: { (yyval.p) = op1(INDIRECT, (yyvsp[(2) - (2)].p)); }
! 3409: break;
! 3410:
! 3411: case 179:
! 3412: #line 427 "awkgram.y"
! 3413: { arglist = (yyval.p) = 0; }
! 3414: break;
! 3415:
! 3416: case 180:
! 3417: #line 428 "awkgram.y"
! 3418: { arglist = (yyval.p) = celltonode((yyvsp[(1) - (1)].cp),CVAR); }
! 3419: break;
! 3420:
! 3421: case 181:
! 3422: #line 429 "awkgram.y"
! 3423: {
! 3424: checkdup((yyvsp[(1) - (3)].p), (yyvsp[(3) - (3)].cp));
! 3425: arglist = (yyval.p) = linkum((yyvsp[(1) - (3)].p),celltonode((yyvsp[(3) - (3)].cp),CVAR)); }
! 3426: break;
! 3427:
! 3428: case 182:
! 3429: #line 435 "awkgram.y"
! 3430: { (yyval.p) = celltonode((yyvsp[(1) - (1)].cp), CVAR); }
! 3431: break;
! 3432:
! 3433: case 183:
! 3434: #line 436 "awkgram.y"
! 3435: { (yyval.p) = op1(ARG, itonp((yyvsp[(1) - (1)].i))); }
! 3436: break;
! 3437:
! 3438: case 184:
! 3439: #line 437 "awkgram.y"
! 3440: { (yyval.p) = op1(VARNF, (Node *) (yyvsp[(1) - (1)].cp)); }
! 3441: break;
! 3442:
! 3443: case 185:
! 3444: #line 442 "awkgram.y"
! 3445: { (yyval.p) = notnull((yyvsp[(3) - (4)].p)); }
! 3446: break;
! 3447:
! 3448:
! 3449: /* Line 1267 of yacc.c. */
! 3450: #line 3451 "y.tab.c"
! 3451: default: break;
! 3452: }
! 3453: YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
! 3454:
! 3455: YYPOPSTACK (yylen);
! 3456: yylen = 0;
! 3457: YY_STACK_PRINT (yyss, yyssp);
! 3458:
! 3459: *++yyvsp = yyval;
! 3460:
! 3461:
! 3462: /* Now `shift' the result of the reduction. Determine what state
! 3463: that goes to, based on the state we popped back to and the rule
! 3464: number reduced by. */
! 3465:
! 3466: yyn = yyr1[yyn];
! 3467:
! 3468: yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
! 3469: if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
! 3470: yystate = yytable[yystate];
! 3471: else
! 3472: yystate = yydefgoto[yyn - YYNTOKENS];
! 3473:
! 3474: goto yynewstate;
! 3475:
! 3476:
! 3477: /*------------------------------------.
! 3478: | yyerrlab -- here on detecting error |
! 3479: `------------------------------------*/
! 3480: yyerrlab:
! 3481: /* If not already recovering from an error, report this error. */
! 3482: if (!yyerrstatus)
! 3483: {
! 3484: ++yynerrs;
! 3485: #if ! YYERROR_VERBOSE
! 3486: yyerror (YY_("syntax error"));
! 3487: #else
! 3488: {
! 3489: YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
! 3490: if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
! 3491: {
! 3492: YYSIZE_T yyalloc = 2 * yysize;
! 3493: if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
! 3494: yyalloc = YYSTACK_ALLOC_MAXIMUM;
! 3495: if (yymsg != yymsgbuf)
! 3496: YYSTACK_FREE (yymsg);
! 3497: yymsg = (char *) YYSTACK_ALLOC (yyalloc);
! 3498: if (yymsg)
! 3499: yymsg_alloc = yyalloc;
! 3500: else
! 3501: {
! 3502: yymsg = yymsgbuf;
! 3503: yymsg_alloc = sizeof yymsgbuf;
! 3504: }
! 3505: }
! 3506:
! 3507: if (0 < yysize && yysize <= yymsg_alloc)
! 3508: {
! 3509: (void) yysyntax_error (yymsg, yystate, yychar);
! 3510: yyerror (yymsg);
! 3511: }
! 3512: else
! 3513: {
! 3514: yyerror (YY_("syntax error"));
! 3515: if (yysize != 0)
! 3516: goto yyexhaustedlab;
! 3517: }
! 3518: }
! 3519: #endif
! 3520: }
! 3521:
! 3522:
! 3523:
! 3524: if (yyerrstatus == 3)
! 3525: {
! 3526: /* If just tried and failed to reuse look-ahead token after an
! 3527: error, discard it. */
! 3528:
! 3529: if (yychar <= YYEOF)
! 3530: {
! 3531: /* Return failure if at end of input. */
! 3532: if (yychar == YYEOF)
! 3533: YYABORT;
! 3534: }
! 3535: else
! 3536: {
! 3537: yydestruct ("Error: discarding",
! 3538: yytoken, &yylval);
! 3539: yychar = YYEMPTY;
! 3540: }
! 3541: }
! 3542:
! 3543: /* Else will try to reuse look-ahead token after shifting the error
! 3544: token. */
! 3545: goto yyerrlab1;
! 3546:
! 3547:
! 3548: /*---------------------------------------------------.
! 3549: | yyerrorlab -- error raised explicitly by YYERROR. |
! 3550: `---------------------------------------------------*/
! 3551: yyerrorlab:
! 3552:
! 3553: /* Pacify compilers like GCC when the user code never invokes
! 3554: YYERROR and the label yyerrorlab therefore never appears in user
! 3555: code. */
! 3556: if (/*CONSTCOND*/ 0)
! 3557: goto yyerrorlab;
! 3558:
! 3559: /* Do not reclaim the symbols of the rule which action triggered
! 3560: this YYERROR. */
! 3561: YYPOPSTACK (yylen);
! 3562: yylen = 0;
! 3563: YY_STACK_PRINT (yyss, yyssp);
! 3564: yystate = *yyssp;
! 3565: goto yyerrlab1;
! 3566:
! 3567:
! 3568: /*-------------------------------------------------------------.
! 3569: | yyerrlab1 -- common code for both syntax error and YYERROR. |
! 3570: `-------------------------------------------------------------*/
! 3571: yyerrlab1:
! 3572: yyerrstatus = 3; /* Each real token shifted decrements this. */
! 3573:
! 3574: for (;;)
! 3575: {
! 3576: yyn = yypact[yystate];
! 3577: if (yyn != YYPACT_NINF)
! 3578: {
! 3579: yyn += YYTERROR;
! 3580: if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
! 3581: {
! 3582: yyn = yytable[yyn];
! 3583: if (0 < yyn)
! 3584: break;
! 3585: }
! 3586: }
! 3587:
! 3588: /* Pop the current state because it cannot handle the error token. */
! 3589: if (yyssp == yyss)
! 3590: YYABORT;
! 3591:
! 3592:
! 3593: yydestruct ("Error: popping",
! 3594: yystos[yystate], yyvsp);
! 3595: YYPOPSTACK (1);
! 3596: yystate = *yyssp;
! 3597: YY_STACK_PRINT (yyss, yyssp);
! 3598: }
! 3599:
! 3600: if (yyn == YYFINAL)
! 3601: YYACCEPT;
! 3602:
! 3603: *++yyvsp = yylval;
! 3604:
! 3605:
! 3606: /* Shift the error token. */
! 3607: YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
! 3608:
! 3609: yystate = yyn;
! 3610: goto yynewstate;
! 3611:
! 3612:
! 3613: /*-------------------------------------.
! 3614: | yyacceptlab -- YYACCEPT comes here. |
! 3615: `-------------------------------------*/
! 3616: yyacceptlab:
! 3617: yyresult = 0;
! 3618: goto yyreturn;
! 3619:
! 3620: /*-----------------------------------.
! 3621: | yyabortlab -- YYABORT comes here. |
! 3622: `-----------------------------------*/
! 3623: yyabortlab:
! 3624: yyresult = 1;
! 3625: goto yyreturn;
! 3626:
! 3627: #ifndef yyoverflow
! 3628: /*-------------------------------------------------.
! 3629: | yyexhaustedlab -- memory exhaustion comes here. |
! 3630: `-------------------------------------------------*/
! 3631: yyexhaustedlab:
! 3632: yyerror (YY_("memory exhausted"));
! 3633: yyresult = 2;
! 3634: /* Fall through. */
! 3635: #endif
! 3636:
! 3637: yyreturn:
! 3638: if (yychar != YYEOF && yychar != YYEMPTY)
! 3639: yydestruct ("Cleanup: discarding lookahead",
! 3640: yytoken, &yylval);
! 3641: /* Do not reclaim the symbols of the rule which action triggered
! 3642: this YYABORT or YYACCEPT. */
! 3643: YYPOPSTACK (yylen);
! 3644: YY_STACK_PRINT (yyss, yyssp);
! 3645: while (yyssp != yyss)
! 3646: {
! 3647: yydestruct ("Cleanup: popping",
! 3648: yystos[*yyssp], yyvsp);
! 3649: YYPOPSTACK (1);
! 3650: }
! 3651: #ifndef yyoverflow
! 3652: if (yyss != yyssa)
! 3653: YYSTACK_FREE (yyss);
! 3654: #endif
! 3655: #if YYERROR_VERBOSE
! 3656: if (yymsg != yymsgbuf)
! 3657: YYSTACK_FREE (yymsg);
! 3658: #endif
! 3659: /* Make sure YYID is used. */
! 3660: return YYID (yyresult);
! 3661: }
! 3662:
! 3663:
! 3664: #line 445 "awkgram.y"
! 3665:
! 3666:
! 3667: void setfname(Cell *p)
! 3668: {
! 3669: if (isarr(p))
! 3670: SYNTAX("%s is an array, not a function", p->nval);
! 3671: else if (isfcn(p))
! 3672: SYNTAX("you can't define function %s more than once", p->nval);
! 3673: curfname = p->nval;
! 3674: }
! 3675:
! 3676: int constnode(Node *p)
! 3677: {
! 3678: return isvalue(p) && ((Cell *) (p->narg[0]))->csub == CCON;
! 3679: }
! 3680:
! 3681: char *strnode(Node *p)
! 3682: {
! 3683: return ((Cell *)(p->narg[0]))->sval;
! 3684: }
! 3685:
! 3686: Node *notnull(Node *n)
! 3687: {
! 3688: switch (n->nobj) {
! 3689: case LE: case LT: case EQ: case NE: case GT: case GE:
! 3690: case BOR: case AND: case NOT:
! 3691: return n;
! 3692: default:
! 3693: return op2(NE, n, nullnode);
! 3694: }
! 3695: }
! 3696:
! 3697: void checkdup(Node *vl, Cell *cp) /* check if name already in list */
! 3698: {
! 3699: char *s = cp->nval;
! 3700: for ( ; vl; vl = vl->nnext) {
! 3701: if (strcmp(s, ((Cell *)(vl->narg[0]))->nval) == 0) {
! 3702: SYNTAX("duplicate argument %s", s);
! 3703: break;
! 3704: }
! 3705: }
! 3706: }
! 3707:
CVSweb interface <joel.bertrand@systella.fr>