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