1 /* A Bison parser, made by GNU Bison 3.1. */
3 /* Skeleton implementation for Bison GLR parsers in C
5 Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
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.
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.
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/>. */
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.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C GLR parser skeleton written by Paul Hilfinger. */
35 /* Identify Bison output. */
39 #define YYBISON_VERSION "3.1"
42 #define YYSKELETON_NAME "glr.c"
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
51 #include "php_psi_stdinc.h"
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
63 /* First part of user declarations. */
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
75 #include "parser_proc.h"
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
82 # define YYERROR_VERBOSE 1
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default
;
91 /* Copy the second part of user declarations. */
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
104 #define PSI_PARSER_PROC_DEBUG 1
106 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
107 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
109 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
113 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
115 P
->structs
= psi_plist_add(P
->structs
, &strct
);
117 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
121 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
123 P
->unions
= psi_plist_add(P
->unions
, &u
);
125 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
129 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
131 P
->enums
= psi_plist_add(P
->enums
, &e
);
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg
*def
)
135 switch (def
->type
->type
) {
137 if (!psi_decl_type_is_anon(def
->type
->name
, "struct")) {
142 if (!psi_decl_type_is_anon(def
->type
->name
, "union")) {
147 if (!psi_decl_type_is_anon(def
->type
->name
, "enum")) {
154 free(def
->type
->name
);
155 def
->type
->name
= strdup(def
->var
->name
);
157 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
161 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
163 //psi_parser_proc_deanon_typedef(def);
164 P
->types
= psi_plist_add(P
->types
, &def
);
166 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
169 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
171 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
174 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
177 if (psi_decl_is_blacklisted(decl
->func
->var
->name
)) {
178 psi_decl_free(&decl
);
183 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
185 P
->decls
= psi_plist_add(P
->decls
, &decl
);
187 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser
*P
, struct psi_plist
*list
) {
190 P
->vars
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
192 P
->vars
= psi_plist_add_r(P
->vars
, psi_plist_count(list
), psi_plist_eles(list
));
195 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
198 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
200 P
->impls
= psi_plist_add(P
->impls
, &impl
);
205 #line 206 "src/parser_proc.c" /* glr.c:264 */
212 # if defined YYENABLE_NLS && YYENABLE_NLS
214 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
215 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
219 # define YY_(Msgid) Msgid
227 # define YYMALLOC malloc
230 # define YYREALLOC realloc
233 #define YYSIZEMAX ((size_t) -1)
238 typedef unsigned char yybool
;
245 # define YYJMP_BUF jmp_buf
246 # define YYSETJMP(Env) setjmp (Env)
248 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
252 # if (defined __GNUC__ \
253 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
254 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
255 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
257 # define YY_ATTRIBUTE(Spec) /* empty */
261 #ifndef YY_ATTRIBUTE_PURE
262 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
265 #ifndef YY_ATTRIBUTE_UNUSED
266 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
269 #if !defined _Noreturn \
270 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
271 # if defined _MSC_VER && 1200 <= _MSC_VER
272 # define _Noreturn __declspec (noreturn)
274 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
278 /* Suppress unused-variable warnings by "using" E. */
279 #if ! defined lint || defined __GNUC__
280 # define YYUSE(E) ((void) (E))
282 # define YYUSE(E) /* empty */
285 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
286 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
287 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
288 _Pragma ("GCC diagnostic push") \
289 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
290 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
291 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
292 _Pragma ("GCC diagnostic pop")
294 # define YY_INITIAL_VALUE(Value) Value
296 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
297 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
298 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
300 #ifndef YY_INITIAL_VALUE
301 # define YY_INITIAL_VALUE(Value) /* Nothing. */
306 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
309 /* YYFINAL -- State number of the termination state. */
311 /* YYLAST -- Last index in YYTABLE. */
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
318 /* YYNRULES -- Number of rules. */
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 935
322 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
324 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
325 accessed by $0, $-1, etc., in any rule. */
328 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
330 #define YYMAXUTOK 394
332 #define YYTRANSLATE(YYX) \
333 ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
335 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
336 static const unsigned char yytranslate
[] =
338 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
363 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
364 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
365 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
366 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
367 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
368 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
369 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
370 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
371 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
372 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
373 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
374 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
375 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
377 135, 136, 137, 138, 139
381 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
382 static const unsigned short yyrline
[] =
384 0, 433, 433, 433, 433, 433, 433, 433, 433, 433,
385 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
386 434, 434, 434, 434, 435, 435, 435, 435, 435, 435,
387 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
388 435, 435, 435, 436, 436, 436, 436, 436, 436, 436,
389 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
390 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
391 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
392 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
393 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
394 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
395 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
396 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
397 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
398 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
399 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
400 436, 437, 437, 437, 437, 437, 437, 437, 437, 437,
401 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
402 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
403 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
404 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
405 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
406 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
407 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
408 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
409 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
410 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
411 437, 437, 437, 437, 437, 437, 437, 441, 442, 445,
412 446, 449, 450, 451, 452, 458, 462, 465, 468, 471,
413 477, 480, 483, 486, 489, 495, 501, 504, 510, 533,
414 537, 541, 546, 550, 554, 558, 565, 566, 570, 571,
415 575, 576, 577, 581, 582, 586, 587, 591, 592, 593,
416 597, 598, 602, 607, 612, 617, 626, 629, 632, 633,
417 639, 644, 652, 655, 659, 663, 670, 674, 678, 682,
418 687, 698, 709, 714, 719, 723, 729, 739, 742, 746,
419 750, 756, 763, 767, 771, 778, 779, 780, 784, 798,
420 804, 807, 813, 816, 822, 823, 831, 842, 851, 863,
421 864, 868, 878, 887, 899, 900, 903, 909, 910, 914,
422 918, 922, 927, 932, 940, 941, 942, 945, 951, 954,
423 957, 963, 964, 968, 971, 974, 980, 983, 986, 994,
424 1006, 1009, 1012, 1015, 1022, 1025, 1035, 1038, 1041, 1044,
425 1045, 1046, 1050, 1053, 1056, 1067, 1074, 1084, 1087, 1093,
426 1096, 1103, 1134, 1137, 1143, 1146, 1152, 1158, 1159, 1160,
427 1161, 1162, 1163, 1167, 1171, 1172, 1176, 1177, 1181, 1182,
428 1189, 1190, 1194, 1201, 1212, 1219, 1227, 1251, 1279, 1286,
429 1297, 1343, 1384, 1399, 1402, 1405, 1411, 1414, 1420, 1435,
430 1438, 1467, 1475, 1503, 1508, 1516, 1526, 1536, 1539, 1543,
431 1549, 1563, 1580, 1583, 1589, 1596, 1606, 1613, 1616, 1622,
432 1627, 1635, 1639, 1643, 1647, 1651, 1655, 1662, 1666, 1670,
433 1674, 1678, 1682, 1688, 1692, 1699, 1702, 1714, 1718, 1722,
434 1729, 1742, 1755, 1768, 1771, 1778, 1779, 1783, 1786, 1789,
435 1792, 1798, 1802, 1809, 1812, 1815, 1830, 1831, 1832, 1833,
436 1837, 1840, 1846, 1847, 1853, 1856, 1862, 1863, 1867, 1868,
437 1878, 1881, 1888, 1893, 1898, 1908, 1911, 1917, 1920, 1926,
438 1933, 1940, 1947, 1948, 1952, 1953, 1954, 1955, 1959, 1960,
439 1961, 1962, 1963, 1967, 1970, 1976, 1979, 1982, 1985, 1988,
440 1994, 1998, 2006, 2007, 2011, 2018, 2021, 2024, 2027, 2031,
441 2034, 2040, 2044, 2052, 2059, 2064, 2072, 2080, 2081, 2082,
442 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2093, 2096, 2102,
443 2105, 2111, 2112, 2116, 2119, 2125, 2128, 2134, 2141, 2145,
444 2152, 2155, 2158, 2164, 2171, 2174, 2177, 2184, 2189, 2197,
445 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2208, 2211, 2217,
446 2220, 2226, 2233, 2234, 2238, 2245, 2248, 2254, 2262, 2265,
451 #if YYDEBUG || YYERROR_VERBOSE || 1
452 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
453 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
454 static const char *const yytname
[] =
456 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
457 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
458 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
459 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
460 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
461 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
462 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
463 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
464 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
465 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
466 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
467 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
468 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
469 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
470 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
471 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
472 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
473 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
474 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
475 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
476 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
477 "$accept", "binary_op_token", "unary_op_token", "name_token",
478 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
479 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
480 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
481 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
482 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
483 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
484 "cpp_macro_call_arg_list", "constant", "impl_def_val",
485 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
486 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
487 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
488 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
489 "decl_int_type", "int_signed_types", "signed_short_types",
490 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
491 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
492 "ignored_decl", "ignored_decl_qualifiers", "ignored_decl_body",
493 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
494 "decl_func_body", "decl_functor_body", "decl_anon_functor_body",
495 "decl_functor", "decl_anon_functor", "decl_func", "decl_args",
496 "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
497 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
498 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
499 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
500 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
501 "struct_name", "optional_name", "optional_comma", "decl_layout",
502 "align_and_size", "array_size", "array_qualifier_token", "indirection",
503 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
504 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
505 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
506 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
507 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
508 "let_callback", "let_func", "let_func_token", "let_func_exps",
509 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
510 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
511 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
512 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
517 #define YYPACT_NINF -714
518 #define YYTABLE_NINF -629
520 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
522 static const short yypact
[] =
524 494, -714, -714, -714, -714, -714, 99, -714, -714, -714,
525 541, -714, -714, -714, 742, 1371, 7421, 7421, 7421, 149,
526 50, -34, 112, -714, 237, -714, 188, 494, -714, -714,
527 -714, -714, -714, 6679, 597, -714, -714, -714, -714, 129,
528 219, -714, -714, -714, -714, 1629, 45, -714, -714, 75,
529 196, 204, -714, -714, -714, -714, 161, -714, 166, -714,
530 -714, -714, 7421, 7421, 7421, -714, -714, -714, 179, -714,
531 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
532 -714, 846, -714, -714, -714, -714, 209, 972, 972, 27,
533 -714, 972, 6453, 7421, 7421, 1742, 218, -714, -714, -714,
534 220, 7421, 215, 215, -714, -714, -714, 5436, -714, -714,
535 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
536 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
537 -714, -714, -714, -714, -714, -714, -714, -714, 59, -714,
538 -714, 59, 221, -714, -714, -714, -714, -714, 232, -714,
539 229, -714, 226, -714, 240, -714, 1855, 1371, 141, -714,
540 45, -714, -714, 42, 235, -714, -714, 242, 7421, 7,
541 -714, -714, -714, 269, -714, 136, -714, -714, -714, 135,
542 -714, 249, 258, 260, 1968, 1968, 7421, 85, -714, -714,
543 -714, 6905, 262, -714, 1481, -714, -714, -714, -714, -714,
544 -714, -714, -714, 1594, -714, -714, -714, -714, 1707, 1820,
545 -714, -714, -714, 1933, -714, -714, -714, -714, -714, -714,
546 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
547 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
548 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
549 -714, -714, -714, -714, -714, -714, 2046, 2159, 2272, 2385,
550 2498, -714, -714, -714, -714, -714, -714, -714, -714, -714,
551 -714, -714, -714, -714, -714, -714, 2611, -714, 2724, 2837,
552 2950, 3063, 3176, 3289, -714, 3402, -714, -714, 3515, 3628,
553 3741, 3854, 3967, 4080, 4193, 4306, 4419, 4532, 4645, 4758,
554 4871, 4984, 5097, 5210, -714, -714, -714, -714, -714, -714,
555 -714, 5323, 972, -714, -714, -714, -714, -714, -714, -714,
556 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
557 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
558 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
559 -714, 972, -714, -714, -714, -714, -714, -714, -714, 142,
560 6453, -714, -714, -714, -714, 7018, 6453, 267, 7550, -714,
561 61, -714, 89, -714, -714, -714, -714, 259, 266, 266,
562 68, 68, 272, -714, 85, 281, 283, -714, 285, -714,
563 -714, -714, 1338, -714, 268, 235, -714, -714, -714, -714,
564 -714, 312, -714, -714, 1224, -714, 301, -714, 103, 6679,
565 -714, 299, 115, 298, -714, -714, 131, 293, 300, -714,
566 6905, 6114, 6905, 7421, 6905, -714, -714, 23, -714, -714,
567 -714, -714, -714, 6340, -714, 302, -714, 7421, -714, -714,
568 303, 7550, 311, -714, -714, -714, -714, 6599, 316, -714,
569 6784, 7421, -714, -714, 6453, -714, -714, -714, -714, -714,
570 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
571 -714, -714, -714, 6453, 6453, 308, 1459, 6905, 6905, -714,
572 -714, -714, -714, 5662, 263, 255, -714, -714, -714, -714,
573 -714, -714, -714, 5549, -714, -714, 6340, -714, 7526, -714,
574 -714, 304, 7131, -714, -714, -714, -714, -714, -714, -714,
575 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
576 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
577 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
578 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
579 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
580 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
581 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
582 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
583 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
584 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
585 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
586 -714, -714, -714, -714, 1098, -714, 39, 309, 1968, 235,
587 278, 1629, 235, 284, 6340, 7421, 310, 305, 318, 7574,
588 313, 319, -714, 322, 339, 324, 333, 170, -714, 334,
589 336, -714, -714, -714, 6667, 6905, 7190, -714, 268, 335,
590 -714, -714, -714, 338, 7550, 340, 343, 7284, -714, 344,
591 1742, 337, -714, -714, 6566, 719, 7421, 215, 215, -714,
592 -714, 30, -714, -714, 347, -714, 311, 7574, -714, -714,
593 -714, -714, -714, -714, 346, 182, -714, 112, -714, -714,
594 -714, 33, 40, 41, 6886, -714, -714, 6340, 6340, -714,
595 268, 143, -714, -714, -714, 268, 185, -714, 349, -714,
596 -714, 351, 7574, -714, -714, 5775, -714, 6114, -714, 6905,
597 -714, 112, 6905, -714, 7421, 7303, -714, -714, -714, -714,
598 -714, 353, 345, -714, -714, -714, -714, 6453, 6453, 354,
599 -714, 63, 356, -714, 337, 266, 266, -714, 747, 360,
600 747, 358, 6340, -714, 7502, -714, 7421, 1968, -714, 6792,
601 235, 341, 235, 235, 165, 292, 203, 372, 7574, -714,
602 -714, -714, -714, 374, 6227, -714, 376, 6905, 189, -714,
603 378, 302, 379, 972, 7362, 7550, 7598, 388, 380, 382,
604 6905, 385, 356, 6905, 6905, -714, 747, -714, 112, 5662,
605 -714, 6340, 384, 386, -714, -714, 387, -714, -714, 372,
606 -714, -714, -714, 7303, -714, 390, 6340, 112, -714, 5888,
607 391, 394, -714, 321, -714, -714, -714, 393, 392, 405,
608 337, 397, -714, 402, -714, 62, -714, 7622, 403, 401,
609 235, 406, 112, 7122, 404, 408, -714, 409, -714, -714,
610 95, -714, 410, 412, -714, 6905, -714, 423, 1968, 417,
611 -714, 355, 422, 6340, 5775, 428, -714, 6114, -714, -714,
612 430, 411, 441, 337, 434, 435, 1968, 176, 6001, 7009,
613 305, -714, -714, -714, 421, 6227, -714, -714, 436, 438,
614 -714, 440, 444, 446, 449, 450, 439, -714, -714, 5775,
615 -714, 457, -714, 747, 452, 235, 112, 454, 6114, -714,
616 456, -714, 1968, -714, 453, -714, -714, -714, 461, 6001,
617 235, 462, -714, 463, -714
620 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
621 Performed when YYTABLE does not specify something else to do. Zero
622 means the default is an error. */
623 static const unsigned short yydefact
[] =
625 277, 396, 393, 397, 391, 392, 394, 388, 389, 387,
626 386, 378, 282, 281, 0, 0, 0, 0, 503, 377,
627 0, 427, 628, 283, 0, 431, 0, 278, 279, 285,
628 284, 286, 290, 520, 0, 374, 380, 379, 385, 400,
629 412, 384, 287, 288, 289, 0, 417, 438, 440, 441,
630 0, 0, 452, 292, 291, 293, 0, 294, 0, 395,
631 390, 386, 0, 0, 0, 377, 432, 439, 422, 296,
632 307, 304, 306, 308, 309, 320, 317, 318, 315, 321,
633 316, 0, 319, 310, 311, 312, 0, 332, 332, 0,
634 300, 0, 0, 503, 503, 0, 0, 360, 365, 461,
635 364, 0, 511, 511, 33, 34, 616, 577, 24, 39,
636 38, 37, 35, 36, 32, 31, 25, 29, 28, 26,
637 27, 40, 585, 584, 582, 580, 581, 583, 579, 578,
638 586, 30, 614, 612, 611, 613, 610, 609, 381, 41,
639 42, 382, 383, 500, 544, 545, 546, 547, 0, 541,
640 0, 428, 0, 630, 0, 629, 386, 0, 0, 429,
641 417, 1, 280, 526, 513, 376, 462, 0, 521, 522,
642 524, 375, 402, 406, 404, 408, 401, 398, 413, 400,
643 399, 0, 0, 0, 453, 453, 0, 0, 381, 382,
644 383, 0, 0, 68, 43, 44, 45, 46, 47, 48,
645 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
646 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
647 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
648 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
649 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
650 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
651 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
652 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
653 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
654 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
655 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
656 157, 0, 332, 302, 297, 43, 52, 57, 58, 62,
657 106, 107, 105, 103, 104, 124, 126, 127, 128, 129,
658 130, 131, 160, 135, 136, 137, 138, 139, 140, 141,
659 142, 143, 144, 145, 146, 147, 148, 149, 150, 334,
660 305, 333, 298, 313, 314, 299, 301, 342, 343, 0,
661 0, 22, 23, 20, 21, 0, 0, 345, 303, 344,
662 381, 502, 382, 501, 361, 358, 366, 0, 0, 0,
663 0, 0, 0, 295, 0, 0, 0, 430, 0, 529,
664 528, 527, 516, 464, 520, 513, 523, 525, 407, 403,
665 409, 410, 405, 414, 0, 426, 0, 415, 387, 520,
666 458, 0, 0, 455, 456, 459, 0, 479, 505, 477,
667 0, 628, 0, 0, 0, 622, 623, 0, 553, 556,
668 555, 557, 558, 0, 559, 423, 424, 0, 421, 419,
669 0, 324, 325, 322, 335, 499, 498, 0, 0, 494,
670 0, 0, 340, 337, 347, 2, 3, 4, 5, 6,
671 7, 8, 9, 10, 11, 13, 12, 14, 15, 16,
672 17, 18, 19, 0, 0, 0, 0, 0, 0, 467,
673 466, 468, 465, 0, 0, 0, 359, 416, 490, 488,
674 487, 489, 518, 0, 519, 517, 0, 491, 0, 481,
675 492, 0, 0, 521, 463, 411, 186, 161, 162, 163,
676 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
677 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
678 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
679 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
680 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
681 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
682 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
683 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
684 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
685 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
686 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
687 271, 273, 436, 437, 0, 434, 0, 460, 453, 513,
688 0, 0, 513, 0, 0, 506, 0, 0, 0, 605,
689 0, 0, 604, 42, 0, 0, 0, 0, 625, 0,
690 0, 599, 530, 554, 0, 0, 326, 420, 520, 0,
691 495, 497, 336, 0, 349, 0, 348, 0, 338, 0,
692 0, 507, 369, 362, 370, 0, 371, 511, 511, 368,
693 367, 490, 356, 357, 0, 352, 354, 353, 531, 549,
694 550, 551, 552, 548, 0, 0, 535, 628, 540, 542,
695 543, 616, 24, 0, 0, 485, 515, 0, 0, 514,
696 520, 0, 433, 435, 418, 520, 0, 444, 0, 457,
697 442, 0, 480, 478, 476, 0, 560, 628, 603, 0,
698 539, 628, 0, 624, 0, 600, 597, 621, 425, 327,
699 330, 0, 328, 496, 493, 341, 346, 0, 0, 0,
700 363, 0, 472, 469, 507, 0, 0, 351, 0, 0,
701 0, 537, 0, 483, 0, 484, 0, 453, 450, 0,
702 513, 0, 513, 513, 490, 0, 31, 30, 566, 571,
703 567, 569, 570, 41, 0, 606, 617, 0, 0, 626,
704 616, 602, 0, 332, 0, 350, 339, 0, 508, 0,
705 0, 0, 472, 373, 372, 532, 0, 536, 628, 0,
706 482, 0, 0, 0, 451, 448, 0, 445, 443, 0,
707 568, 591, 577, 600, 592, 0, 0, 628, 572, 628,
708 0, 0, 627, 0, 323, 329, 331, 0, 0, 0,
709 507, 473, 470, 0, 533, 0, 538, 486, 0, 0,
710 513, 0, 628, 0, 587, 0, 619, 618, 607, 561,
711 0, 512, 0, 0, 474, 0, 471, 0, 453, 0,
712 449, 0, 0, 0, 0, 0, 608, 628, 615, 598,
713 0, 0, 0, 507, 0, 0, 453, 0, 593, 0,
714 491, 589, 564, 562, 588, 0, 576, 620, 0, 0,
715 475, 0, 0, 0, 0, 0, 594, 595, 573, 0,
716 563, 0, 509, 0, 0, 513, 628, 0, 628, 590,
717 0, 534, 453, 446, 0, 574, 596, 510, 0, 593,
721 /* YYPGOTO[NTERM-NUM]. */
722 static const short yypgoto
[] =
724 -714, -339, -74, -14, -55, -714, -714, -714, 479, -714,
725 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
726 -714, -714, -80, -714, -283, -714, -714, -714, -302, -714,
727 -714, 352, -167, 28, -158, -178, -16, -19, -714, -714,
728 -714, 473, -714, -714, 348, -714, -714, -714, -714, 357,
729 -259, -714, -714, -179, -714, -714, 350, -714, -110, 491,
730 36, -4, 58, -714, -714, -714, -714, -180, -714, -113,
731 10, -33, -714, -714, 138, -348, -714, -282, -714, 14,
732 -714, -109, -333, -714, -71, -714, 81, -714, -441, -437,
733 137, -714, -710, -87, -376, -714, -371, -24, -714, 361,
734 -714, -714, 501, -714, -231, -665, -713, -714, -714, 514,
735 -714, 150, -352, -714, -373, -683, 117, -237, -714, -714,
736 -692, -714, -714, -345, -386, -714, -714, -714, -279, -714,
737 -408, -402, -397, -714, -714, -714, -714, -714, -714, -177,
741 /* YYDEFGOTO[NTERM-NUM]. */
742 static const short yydefgoto
[] =
744 -1, 708, 496, 164, 349, 622, 26, 27, 28, 29,
745 30, 86, 87, 88, 89, 355, 90, 91, 92, 313,
746 741, 742, 350, 351, 368, 665, 666, 31, 684, 685,
747 32, 96, 671, 672, 673, 33, 34, 35, 36, 37,
748 38, 39, 40, 41, 177, 399, 402, 180, 42, 183,
749 686, 43, 192, 791, 44, 45, 623, 624, 625, 46,
750 47, 48, 99, 410, 50, 411, 51, 412, 413, 414,
751 415, 497, 53, 54, 480, 481, 675, 801, 841, 101,
752 418, 419, 639, 499, 500, 659, 449, 56, 102, 103,
753 143, 636, 752, 378, 393, 501, 167, 437, 169, 170,
754 391, 57, 58, 695, 696, 640, 697, 148, 698, 699,
755 700, 427, 428, 429, 891, 892, 893, 780, 781, 782,
756 139, 875, 894, 825, 905, 906, 430, 650, 792, 431,
757 907, 642, 140, 830, 857, 432, 433, 434, 647, 648,
761 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
762 positive, shift that token. If negative, reduce the rule whose
763 number is the opposite. If YYTABLE_NINF, syntax error. */
764 static const short yytable
[] =
766 166, 154, 138, 141, 142, 416, 409, 409, 352, 168,
767 52, 98, 435, 641, 55, 171, 379, 165, 366, 504,
768 68, 369, 651, 502, 643, 100, 312, 643, 441, 474,
769 477, 478, 761, 783, 52, 677, 356, 52, 627, 678,
770 784, 55, 779, 97, 802, 805, 67, 808, 188, 189,
771 190, 380, 442, 353, 381, 52, 163, 22, 49, 498,
772 652, -355, -387, -355, -355, 657, -387, 311, 49, -386,
773 11, 389, 714, -24, 762, 653, 150, 450, 367, 370,
774 372, 181, 49, 453, 824, 49, 730, 376, 798, 151,
775 -511, 98, 783, 844, 377, -511, -381, -504, 799, 479,
776 654, 828, 474, 49, 476, 100, -441, -461, 59, -461,
777 60, 474, 106, 878, 474, 420, 421, 422, 423, 424,
778 -387, 425, 426, 374, -382, -504, 867, -386, 65, 390,
779 864, 396, 653, 172, 173, 174, -387, -387, 175, 172,
780 173, 174, 400, 761, 175, 401, 354, 626, 629, 630,
781 687, 176, 144, 98, 395, 145, 153, 176, 436, 146,
782 704, 147, 854, 705, 632, 633, 52, 100, 445, 446,
783 182, 664, 417, 900, 447, 767, 768, 420, 421, 422,
784 423, 424, 783, 425, 426, 97, 448, 872, 161, 895,
785 667, 668, 67, 821, 822, 824, -490, 186, -490, -490,
786 921, 733, 187, 783, 734, 132, 133, 134, 135, 136,
787 137, -452, 910, 191, 49, 759, 760, 783, 770, 771,
788 821, 822, 832, 655, 895, 178, 4, 5, 184, 677,
789 371, 373, 443, 678, 677, 823, 185, 366, 678, 314,
790 369, 1, 2, 3, 4, 5, 6, 7, 8, 375,
791 377, 924, -452, 717, 9, 382, 720, -504, 144, 156,
792 383, 145, 384, 385, 387, 146, 11, 147, 689, 690,
793 691, 692, 693, 392, 394, 398, 122, 123, 124, 125,
794 126, 127, 128, 129, 130, 404, 366, 743, 694, 369,
795 406, 407, 366, 438, 475, 369, 444, 367, 674, 454,
796 688, 722, 476, 122, 123, 124, 125, 126, 127, 128,
797 129, 130, 483, 485, 486, 703, 487, 163, 505, 785,
798 157, 62, 63, 64, 65, 474, 158, 439, 474, 474,
799 643, 628, 631, 634, 635, 656, 655, 657, 661, 766,
800 669, 715, 718, 709, 769, 725, 367, 724, 721, 726,
801 728, 452, 367, 727, 729, 420, 421, 422, 423, 424,
802 159, 425, 426, 730, 731, 732, 735, 736, 744, 749,
803 503, 745, 751, 746, 764, 765, 166, 747, 757, 794,
804 366, 758, 772, 369, 773, 168, 793, 637, 797, 645,
805 800, 649, 778, 165, 815, 806, 817, 818, 809, 366,
806 366, 819, 369, 369, 826, 816, 827, 803, 804, 646,
807 829, -601, 833, 837, 839, 838, 842, 848, 860, 849,
808 850, 856, 852, 395, 858, 859, 861, 862, 658, 810,
809 863, 865, 643, 866, 869, 868, 898, 663, 874, 871,
810 367, 876, 881, 877, 679, 680, 882, 884, 716, 886,
811 409, 778, 887, 409, 888, 909, 474, 474, 879, 367,
812 367, 896, 729, 880, 795, 796, 899, 901, 902, 897,
813 911, 912, 98, 918, 870, 913, 687, 914, 847, 915,
814 643, 916, 920, 917, 922, 929, 100, 925, 711, 927,
815 676, 643, 674, 853, 930, 933, 934, 674, 1, 2,
816 3, 4, 5, 6, 7, 8, 162, 846, 754, 386,
817 926, 9, 750, 179, 713, 160, 10, 388, 719, 482,
818 843, 643, 152, 11, 12, 13, 723, 403, 660, 807,
819 397, 405, 643, 149, 484, 14, 919, 638, 820, 923,
820 889, 778, 904, 931, 851, 1, 2, 3, 4, 5,
821 6, 7, 8, 788, 932, 0, 0, 789, 9, 0,
822 0, 0, 778, 61, 0, 0, 0, 0, 0, 0,
823 11, 0, 0, 0, 0, 0, 778, 15, 16, 17,
824 18, 19, 20, 21, 0, 22, 0, 813, 0, 409,
825 755, 756, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
827 23, 0, 0, 0, 9, 24, 0, 25, 0, 61,
828 0, 417, 738, 0, 0, 62, 63, 64, 65, 0,
829 0, 0, 0, 0, 503, 0, 0, 0, 0, 0,
830 0, 166, 740, 0, 0, 0, 0, 0, 0, 0,
831 168, 0, 0, 0, 0, 0, 0, 0, 165, 0,
832 0, 0, 376, 0, 66, 0, 98, 0, 0, 0,
833 0, 98, 0, 366, 366, 0, 369, 369, 0, 0,
834 100, 62, 63, 64, 676, 100, 503, 165, 885, 676,
835 409, 503, 0, 0, 0, 0, 786, 0, 0, 436,
836 0, 0, 436, 0, 0, 0, 903, 0, 409, 0,
837 787, 0, 0, 834, 0, 0, 0, 0, 0, 0,
838 646, 0, 0, 1, 2, 3, 4, 5, 6, 7,
839 8, 0, 0, 367, 367, 0, 9, 0, 0, 0,
840 0, 61, 928, 0, 409, 0, 0, 0, 11, 0,
841 144, 0, 812, 145, 831, 711, 753, 146, 0, 147,
842 689, 690, 691, 692, 693, 0, 0, 840, 0, 0,
843 679, 680, 69, 0, 0, 0, 0, 0, 0, 0,
844 836, 0, 0, 0, 0, 0, 0, 845, 0, 0,
845 436, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 93, 94, 18, 65, 0, 70, 71,
847 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
848 0, 82, 83, 84, 85, 0, 0, 0, 0, 0,
849 0, 0, 883, 0, 0, 0, 0, 0, 0, 0,
850 670, 890, 0, 0, 0, 0, 193, 0, 0, 194,
851 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
852 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
853 215, 216, 217, 218, 219, 220, 890, 221, 222, 223,
854 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
855 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
856 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
857 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
858 264, 265, 266, 267, 268, 269, 0, 270, 0, 271,
859 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
860 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
861 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
862 302, 303, 304, 0, 0, 305, 0, 306, 307, 308,
863 309, 310, 193, 0, 0, 315, 195, 196, 197, 198,
864 199, 200, 201, 202, 316, 204, 205, 206, 207, 317,
865 318, 210, 211, 212, 319, 214, 215, 216, 217, 218,
866 219, 220, 0, 221, 222, 223, 224, 225, 226, 227,
867 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
868 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
869 248, 249, 250, 251, 252, 253, 254, 255, 320, 321,
870 322, 323, 324, 261, 262, 263, 264, 265, 266, 267,
871 268, 269, 0, 270, 0, 271, 272, 273, 274, 275,
872 325, 277, 326, 327, 328, 329, 330, 331, 284, 332,
873 286, 287, 333, 334, 335, 336, 337, 338, 339, 340,
874 341, 342, 343, 344, 345, 346, 347, 348, 304, 0,
875 0, 305, 0, 306, 307, 308, 309, 310, 506, 0,
876 0, 507, 508, 509, 510, 511, 512, 513, 514, 515,
877 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
878 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
879 535, 536, 537, 538, 404, 712, 539, 540, 541, 542,
880 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
881 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
882 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
883 573, 574, 575, 576, 577, 578, 579, 580, 0, 581,
884 0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
885 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
886 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
887 611, 612, 613, 614, 615, 0, 0, 616, 0, 617,
888 618, 619, 620, 621, 506, 0, 0, 507, 508, 509,
889 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
890 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
891 530, 531, 532, 533, 0, 534, 535, 536, 537, 538,
892 404, 0, 539, 540, 541, 542, 543, 544, 545, 546,
893 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
894 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
895 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
896 577, 578, 579, 580, 0, 581, 0, 582, 583, 584,
897 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
898 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
899 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
900 615, 104, 0, 616, 0, 617, 618, 619, 620, 621,
901 105, 0, 0, 0, 0, 106, 107, 488, 0, 0,
902 108, 489, 0, 490, 0, 491, 359, 492, 0, 0,
903 493, 0, 0, 0, 0, 1, 2, 3, 4, 5,
904 6, 7, 8, 0, 0, 361, 362, 163, 9, 0,
905 0, 0, 0, 61, 0, 0, 0, 0, 363, 364,
906 11, 0, 0, 0, 109, 110, 111, 112, 113, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 494, 114, 0, 115, 116,
909 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
910 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
911 134, 135, 136, 137, 0, 93, 94, 18, 65, 0,
912 0, 0, 495, 1, 2, 3, 4, 5, 6, 7,
913 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
914 0, 61, 0, 0, -33, 0, 0, 0, 11, 0,
915 0, 0, 95, -33, 0, 0, 0, 0, -33, -33,
916 0, 0, 0, -33, 0, 0, -33, -33, -33, -33,
917 0, 0, 0, -33, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, -33, -33,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, -33, -33, 93, 94, 18, 65, -33, -33, -33,
921 -33, -33, 0, 0, 0, 0, 0, 0, 0, -33,
922 0, 0, 0, 0, 0, 0, 0, 0, 0, -33,
923 0, -33, -33, -33, -33, -33, -33, 0, -33, 0,
924 670, -33, -33, -33, -33, -33, -33, -33, -33, -33,
925 -33, -33, -33, -33, -33, -33, -33, -34, 0, -33,
926 0, 0, 0, 0, 0, 0, -34, 0, 0, 0,
927 0, -34, -34, 0, 0, 0, -34, 0, 0, -34,
928 -34, -34, -34, 0, 0, 0, -34, 0, 0, 0,
929 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
930 8, -34, -34, 0, 0, 0, 9, 0, 0, 0,
931 0, 61, 0, 0, -34, -34, 0, 0, 11, 0,
932 -34, -34, -34, -34, -34, 0, 0, 0, 0, 0,
933 0, 0, -34, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, -34, 0, -34, -34, -34, -34, -34, -34,
935 0, -34, 0, 0, -34, -34, -34, -34, -34, -34,
936 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
937 -57, 0, -34, 62, 63, 64, 65, 0, 0, -57,
938 0, 0, 0, 0, -57, -57, 0, 0, 0, -57,
939 0, 0, -57, -57, -57, -57, 0, 0, 0, -57,
940 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
941 5, 6, 7, 8, -57, -57, 0, 0, 0, 9,
942 0, 0, 0, 0, 61, 0, 0, -57, -57, 0,
943 0, 11, 0, -57, -57, -57, -57, -57, 0, 0,
944 0, 0, 0, 0, 0, -57, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, -57, 0, -57, -57, -57,
946 -57, -57, -57, 0, -57, 0, 0, -57, -57, -57,
947 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
948 -57, -57, -57, -58, 0, -616, 93, 94, 18, 65,
949 0, 0, -58, 0, 0, 0, 0, -58, -58, 0,
950 0, 0, -58, 0, 0, -58, -58, -58, -58, 0,
951 0, 0, -58, 0, 0, 0, 0, 0, 0, 1,
952 2, 3, 4, 5, 6, 7, 8, -58, -58, 0,
953 0, 0, 9, 0, 0, 0, 0, 61, 0, 0,
954 -58, -58, 0, 0, 11, 0, -58, -58, -58, -58,
955 -58, 0, 0, 0, 0, 0, 0, 0, -58, 0,
956 0, 0, 0, 0, 0, 0, 0, 0, -58, 0,
957 -58, -58, -58, -58, -58, -58, 0, -58, 0, 0,
958 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
959 -58, -58, -58, -58, -58, -58, -24, 0, -577, 62,
960 63, 64, 65, 0, 0, -24, 0, 0, 0, 0,
961 -24, -24, 0, 0, 0, -24, 0, 0, -24, -24,
962 -24, -24, 0, 0, 0, -24, 0, 0, 0, 0,
963 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
964 -24, -24, 0, 0, 0, 408, 0, 0, 0, 0,
965 61, 0, 0, -24, -24, 0, 0, 11, 0, -24,
966 -24, -24, -24, -24, 0, 0, 0, 0, 0, 0,
967 0, -24, 0, 0, 0, 0, 0, 0, 0, 0,
968 0, -24, 0, -24, -24, -24, -24, -24, -24, 0,
969 -24, 0, 0, -24, -24, -24, -24, -24, -24, -24,
970 -24, -24, -24, -24, -24, -24, -24, -24, -24, -39,
971 0, -24, 62, 63, 64, 65, 0, 0, -39, 0,
972 0, 0, 0, -39, -39, 0, 0, 0, -39, 0,
973 0, -39, -39, -39, -39, 0, 0, 0, -39, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, -39, -39, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, -39, -39, 0, 0,
977 0, 0, -39, -39, -39, -39, -39, 0, 0, 0,
978 0, 0, 0, 0, -39, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, -39, 0, -39, -39, -39, -39,
980 -39, -39, 0, -39, 0, 0, -39, -39, -39, -39,
981 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
982 -39, -39, -38, 0, -39, 0, 0, 0, 0, 0,
983 0, -38, 0, 0, 0, 0, -38, -38, 0, 0,
984 0, -38, 0, 0, -38, -38, -38, -38, 0, 0,
985 0, -38, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, -38, -38, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0, 0, -38,
988 -38, 0, 0, 0, 0, -38, -38, -38, -38, -38,
989 0, 0, 0, 0, 0, 0, 0, -38, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, -38, 0, -38,
991 -38, -38, -38, -38, -38, 0, -38, 0, 0, -38,
992 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
993 -38, -38, -38, -38, -38, -37, 0, -38, 0, 0,
994 0, 0, 0, 0, -37, 0, 0, 0, 0, -37,
995 -37, 0, 0, 0, -37, 0, 0, -37, -37, -37,
996 -37, 0, 0, 0, -37, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0, 0, -37,
998 -37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, -37, -37, 0, 0, 0, 0, -37, -37,
1000 -37, -37, -37, 0, 0, 0, 0, 0, 0, 0,
1001 -37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 -37, 0, -37, -37, -37, -37, -37, -37, 0, -37,
1003 0, 0, -37, -37, -37, -37, -37, -37, -37, -37,
1004 -37, -37, -37, -37, -37, -37, -37, -37, -35, 0,
1005 -37, 0, 0, 0, 0, 0, 0, -35, 0, 0,
1006 0, 0, -35, -35, 0, 0, 0, -35, 0, 0,
1007 -35, -35, -35, -35, 0, 0, 0, -35, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, -35, -35, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, -35, -35, 0, 0, 0,
1011 0, -35, -35, -35, -35, -35, 0, 0, 0, 0,
1012 0, 0, 0, -35, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, -35, 0, -35, -35, -35, -35, -35,
1014 -35, 0, -35, 0, 0, -35, -35, -35, -35, -35,
1015 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1016 -35, -36, 0, -35, 0, 0, 0, 0, 0, 0,
1017 -36, 0, 0, 0, 0, -36, -36, 0, 0, 0,
1018 -36, 0, 0, -36, -36, -36, -36, 0, 0, 0,
1019 -36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, -36, -36, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, -36, -36,
1022 0, 0, 0, 0, -36, -36, -36, -36, -36, 0,
1023 0, 0, 0, 0, 0, 0, -36, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, -36, 0, -36, -36,
1025 -36, -36, -36, -36, 0, -36, 0, 0, -36, -36,
1026 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1027 -36, -36, -36, -36, -32, 0, -36, 0, 0, 0,
1028 0, 0, 0, -32, 0, 0, 0, 0, -32, -32,
1029 0, 0, 0, -32, 0, 0, -32, -32, -32, -32,
1030 0, 0, 0, -32, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0, -32, -32,
1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, -32, -32, 0, 0, 0, 0, -32, -32, -32,
1034 -32, -32, 0, 0, 0, 0, 0, 0, 0, -32,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, -32,
1036 0, -32, -32, -32, -32, -32, -32, 0, -32, 0,
1037 0, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1038 -32, -32, -32, -32, -32, -32, -32, -31, 0, -32,
1039 0, 0, 0, 0, 0, 0, -31, 0, 0, 0,
1040 0, -31, -31, 0, 0, 0, -31, 0, 0, -31,
1041 -31, -31, -31, 0, 0, 0, -31, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1043 0, -31, -31, 0, 0, 0, 0, 0, 0, 0,
1044 0, 0, 0, 0, -31, -31, 0, 0, 0, 0,
1045 -31, -31, -31, -31, -31, 0, 0, 0, 0, 0,
1046 0, 0, -31, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, -31, 0, -31, -31, -31, -31, -31, -31,
1048 0, -31, 0, 0, -31, -31, -31, -31, -31, -31,
1049 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1050 -25, 0, -31, 0, 0, 0, 0, 0, 0, -25,
1051 0, 0, 0, 0, -25, -25, 0, 0, 0, -25,
1052 0, 0, -25, -25, -25, -25, 0, 0, 0, -25,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, -25, -25, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, -25, -25, 0,
1056 0, 0, 0, -25, -25, -25, -25, -25, 0, 0,
1057 0, 0, 0, 0, 0, -25, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, -25, 0, -25, -25, -25,
1059 -25, -25, -25, 0, -25, 0, 0, -25, -25, -25,
1060 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1061 -25, -25, -25, -29, 0, -25, 0, 0, 0, 0,
1062 0, 0, -29, 0, 0, 0, 0, -29, -29, 0,
1063 0, 0, -29, 0, 0, -29, -29, -29, -29, 0,
1064 0, 0, -29, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, -29, -29, 0,
1066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1067 -29, -29, 0, 0, 0, 0, -29, -29, -29, -29,
1068 -29, 0, 0, 0, 0, 0, 0, 0, -29, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, -29, 0,
1070 -29, -29, -29, -29, -29, -29, 0, -29, 0, 0,
1071 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1072 -29, -29, -29, -29, -29, -29, -28, 0, -29, 0,
1073 0, 0, 0, 0, 0, -28, 0, 0, 0, 0,
1074 -28, -28, 0, 0, 0, -28, 0, 0, -28, -28,
1075 -28, -28, 0, 0, 0, -28, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 -28, -28, 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, -28, -28, 0, 0, 0, 0, -28,
1079 -28, -28, -28, -28, 0, 0, 0, 0, 0, 0,
1080 0, -28, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, -28, 0, -28, -28, -28, -28, -28, -28, 0,
1082 -28, 0, 0, -28, -28, -28, -28, -28, -28, -28,
1083 -28, -28, -28, -28, -28, -28, -28, -28, -28, -26,
1084 0, -28, 0, 0, 0, 0, 0, 0, -26, 0,
1085 0, 0, 0, -26, -26, 0, 0, 0, -26, 0,
1086 0, -26, -26, -26, -26, 0, 0, 0, -26, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088 0, 0, 0, -26, -26, 0, 0, 0, 0, 0,
1089 0, 0, 0, 0, 0, 0, -26, -26, 0, 0,
1090 0, 0, -26, -26, -26, -26, -26, 0, 0, 0,
1091 0, 0, 0, 0, -26, 0, 0, 0, 0, 0,
1092 0, 0, 0, 0, -26, 0, -26, -26, -26, -26,
1093 -26, -26, 0, -26, 0, 0, -26, -26, -26, -26,
1094 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1095 -26, -26, -27, 0, -26, 0, 0, 0, 0, 0,
1096 0, -27, 0, 0, 0, 0, -27, -27, 0, 0,
1097 0, -27, 0, 0, -27, -27, -27, -27, 0, 0,
1098 0, -27, 0, 0, 0, 0, 0, 0, 0, 0,
1099 0, 0, 0, 0, 0, 0, -27, -27, 0, 0,
1100 0, 0, 0, 0, 0, 0, 0, 0, 0, -27,
1101 -27, 0, 0, 0, 0, -27, -27, -27, -27, -27,
1102 0, 0, 0, 0, 0, 0, 0, -27, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, -27, 0, -27,
1104 -27, -27, -27, -27, -27, 0, -27, 0, 0, -27,
1105 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1106 -27, -27, -27, -27, -27, -40, 0, -27, 0, 0,
1107 0, 0, 0, 0, -40, 0, 0, 0, 0, -40,
1108 -40, 0, 0, 0, -40, 0, 0, -40, -40, -40,
1109 -40, 0, 0, 0, -40, 0, 0, 0, 0, 0,
1110 0, 0, 0, 0, 0, 0, 0, 0, 0, -40,
1111 -40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, -40, -40, 0, 0, 0, 0, -40, -40,
1113 -40, -40, -40, 0, 0, 0, 0, 0, 0, 0,
1114 -40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 -40, 0, -40, -40, -40, -40, -40, -40, 0, -40,
1116 0, 0, -40, -40, -40, -40, -40, -40, -40, -40,
1117 -40, -40, -40, -40, -40, -40, -40, -40, -135, 0,
1118 -40, 0, 0, 0, 0, 0, 0, -135, 0, 0,
1119 0, 0, -135, -135, 0, 0, 0, -135, 0, 0,
1120 -135, -135, -135, -135, 0, 0, 0, -135, 0, 0,
1121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1122 0, 0, -135, -135, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, -135, -135, 0, 0, 0,
1124 0, -135, -135, -135, -135, -135, 0, 0, 0, 0,
1125 0, 0, 0, -135, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, -135, 0, -135, -135, -135, -135, -135,
1127 -135, 0, -135, 0, 0, -135, -135, -135, -135, -135,
1128 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
1129 -135, -136, 0, -585, 0, 0, 0, 0, 0, 0,
1130 -136, 0, 0, 0, 0, -136, -136, 0, 0, 0,
1131 -136, 0, 0, -136, -136, -136, -136, 0, 0, 0,
1132 -136, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133 0, 0, 0, 0, 0, -136, -136, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0, -136, -136,
1135 0, 0, 0, 0, -136, -136, -136, -136, -136, 0,
1136 0, 0, 0, 0, 0, 0, -136, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, -136, 0, -136, -136,
1138 -136, -136, -136, -136, 0, -136, 0, 0, -136, -136,
1139 -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
1140 -136, -136, -136, -136, -137, 0, -584, 0, 0, 0,
1141 0, 0, 0, -137, 0, 0, 0, 0, -137, -137,
1142 0, 0, 0, -137, 0, 0, -137, -137, -137, -137,
1143 0, 0, 0, -137, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0, -137, -137,
1145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, -137, -137, 0, 0, 0, 0, -137, -137, -137,
1147 -137, -137, 0, 0, 0, 0, 0, 0, 0, -137,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, -137,
1149 0, -137, -137, -137, -137, -137, -137, 0, -137, 0,
1150 0, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1151 -137, -137, -137, -137, -137, -137, -137, -138, 0, -582,
1152 0, 0, 0, 0, 0, 0, -138, 0, 0, 0,
1153 0, -138, -138, 0, 0, 0, -138, 0, 0, -138,
1154 -138, -138, -138, 0, 0, 0, -138, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, -138, -138, 0, 0, 0, 0, 0, 0, 0,
1157 0, 0, 0, 0, -138, -138, 0, 0, 0, 0,
1158 -138, -138, -138, -138, -138, 0, 0, 0, 0, 0,
1159 0, 0, -138, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, -138, 0, -138, -138, -138, -138, -138, -138,
1161 0, -138, 0, 0, -138, -138, -138, -138, -138, -138,
1162 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1163 -139, 0, -580, 0, 0, 0, 0, 0, 0, -139,
1164 0, 0, 0, 0, -139, -139, 0, 0, 0, -139,
1165 0, 0, -139, -139, -139, -139, 0, 0, 0, -139,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, -139, -139, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, -139, -139, 0,
1169 0, 0, 0, -139, -139, -139, -139, -139, 0, 0,
1170 0, 0, 0, 0, 0, -139, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, -139, 0, -139, -139, -139,
1172 -139, -139, -139, 0, -139, 0, 0, -139, -139, -139,
1173 -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1174 -139, -139, -139, -140, 0, -581, 0, 0, 0, 0,
1175 0, 0, -140, 0, 0, 0, 0, -140, -140, 0,
1176 0, 0, -140, 0, 0, -140, -140, -140, -140, 0,
1177 0, 0, -140, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, -140, -140, 0,
1179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1180 -140, -140, 0, 0, 0, 0, -140, -140, -140, -140,
1181 -140, 0, 0, 0, 0, 0, 0, 0, -140, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, -140, 0,
1183 -140, -140, -140, -140, -140, -140, 0, -140, 0, 0,
1184 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1185 -140, -140, -140, -140, -140, -140, -141, 0, -583, 0,
1186 0, 0, 0, 0, 0, -141, 0, 0, 0, 0,
1187 -141, -141, 0, 0, 0, -141, 0, 0, -141, -141,
1188 -141, -141, 0, 0, 0, -141, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 -141, -141, 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, -141, -141, 0, 0, 0, 0, -141,
1192 -141, -141, -141, -141, 0, 0, 0, 0, 0, 0,
1193 0, -141, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, -141, 0, -141, -141, -141, -141, -141, -141, 0,
1195 -141, 0, 0, -141, -141, -141, -141, -141, -141, -141,
1196 -141, -141, -141, -141, -141, -141, -141, -141, -141, -142,
1197 0, -579, 0, 0, 0, 0, 0, 0, -142, 0,
1198 0, 0, 0, -142, -142, 0, 0, 0, -142, 0,
1199 0, -142, -142, -142, -142, 0, 0, 0, -142, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, -142, -142, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, -142, -142, 0, 0,
1203 0, 0, -142, -142, -142, -142, -142, 0, 0, 0,
1204 0, 0, 0, 0, -142, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, -142, 0, -142, -142, -142, -142,
1206 -142, -142, 0, -142, 0, 0, -142, -142, -142, -142,
1207 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1208 -142, -142, -143, 0, -578, 0, 0, 0, 0, 0,
1209 0, -143, 0, 0, 0, 0, -143, -143, 0, 0,
1210 0, -143, 0, 0, -143, -143, -143, -143, 0, 0,
1211 0, -143, 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, -143, -143, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 0, -143,
1214 -143, 0, 0, 0, 0, -143, -143, -143, -143, -143,
1215 0, 0, 0, 0, 0, 0, 0, -143, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, -143, 0, -143,
1217 -143, -143, -143, -143, -143, 0, -143, 0, 0, -143,
1218 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1219 -143, -143, -143, -143, -143, -30, 0, -586, 0, 0,
1220 0, 0, 0, 0, -30, 0, 0, 0, 0, -30,
1221 -30, 0, 0, 0, -30, 0, 0, -30, -30, -30,
1222 -30, 0, 0, 0, -30, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, -30,
1224 -30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, -30, -30, 0, 0, 0, 0, -30, -30,
1226 -30, -30, -30, 0, 0, 0, 0, 0, 0, 0,
1227 -30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 -30, 0, -30, -30, -30, -30, -30, -30, 0, -30,
1229 0, 0, -30, -30, -30, -30, -30, -30, -30, -30,
1230 -30, -30, -30, -30, -30, -30, -30, -30, -145, 0,
1231 -30, 0, 0, 0, 0, 0, 0, -145, 0, 0,
1232 0, 0, -145, -145, 0, 0, 0, -145, 0, 0,
1233 -145, -145, -145, -145, 0, 0, 0, -145, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1235 0, 0, -145, -145, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 0, 0, -145, -145, 0, 0, 0,
1237 0, -145, -145, -145, -145, -145, 0, 0, 0, 0,
1238 0, 0, 0, -145, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, -145, 0, -145, -145, -145, -145, -145,
1240 -145, 0, -145, 0, 0, -145, -145, -145, -145, -145,
1241 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1242 -145, -146, 0, -614, 0, 0, 0, 0, 0, 0,
1243 -146, 0, 0, 0, 0, -146, -146, 0, 0, 0,
1244 -146, 0, 0, -146, -146, -146, -146, 0, 0, 0,
1245 -146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, -146, -146, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0, -146, -146,
1248 0, 0, 0, 0, -146, -146, -146, -146, -146, 0,
1249 0, 0, 0, 0, 0, 0, -146, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, -146, 0, -146, -146,
1251 -146, -146, -146, -146, 0, -146, 0, 0, -146, -146,
1252 -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1253 -146, -146, -146, -146, -147, 0, -612, 0, 0, 0,
1254 0, 0, 0, -147, 0, 0, 0, 0, -147, -147,
1255 0, 0, 0, -147, 0, 0, -147, -147, -147, -147,
1256 0, 0, 0, -147, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0, -147, -147,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, -147, -147, 0, 0, 0, 0, -147, -147, -147,
1260 -147, -147, 0, 0, 0, 0, 0, 0, 0, -147,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, -147,
1262 0, -147, -147, -147, -147, -147, -147, 0, -147, 0,
1263 0, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1264 -147, -147, -147, -147, -147, -147, -147, -148, 0, -611,
1265 0, 0, 0, 0, 0, 0, -148, 0, 0, 0,
1266 0, -148, -148, 0, 0, 0, -148, 0, 0, -148,
1267 -148, -148, -148, 0, 0, 0, -148, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, -148, -148, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, -148, -148, 0, 0, 0, 0,
1271 -148, -148, -148, -148, -148, 0, 0, 0, 0, 0,
1272 0, 0, -148, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, -148, 0, -148, -148, -148, -148, -148, -148,
1274 0, -148, 0, 0, -148, -148, -148, -148, -148, -148,
1275 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1276 -149, 0, -613, 0, 0, 0, 0, 0, 0, -149,
1277 0, 0, 0, 0, -149, -149, 0, 0, 0, -149,
1278 0, 0, -149, -149, -149, -149, 0, 0, 0, -149,
1279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1280 0, 0, 0, 0, -149, -149, 0, 0, 0, 0,
1281 0, 0, 0, 0, 0, 0, 0, -149, -149, 0,
1282 0, 0, 0, -149, -149, -149, -149, -149, 0, 0,
1283 0, 0, 0, 0, 0, -149, 0, 0, 0, 0,
1284 0, 0, 0, 0, 0, -149, 0, -149, -149, -149,
1285 -149, -149, -149, 0, -149, 0, 0, -149, -149, -149,
1286 -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1287 -149, -149, -149, -150, 0, -610, 0, 0, 0, 0,
1288 0, 0, -150, 0, 0, 0, 0, -150, -150, 0,
1289 0, 0, -150, 0, 0, -150, -150, -150, -150, 0,
1290 0, 0, -150, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, 0, 0, 0, 0, 0, -150, -150, 0,
1292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293 -150, -150, 0, 0, 0, 0, -150, -150, -150, -150,
1294 -150, 0, 0, 0, 0, 0, 0, 0, -150, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, -150, 0,
1296 -150, -150, -150, -150, -150, -150, 0, -150, 0, 0,
1297 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1298 -150, -150, -150, -150, -150, -150, 104, 0, -609, 0,
1299 0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
1300 106, 107, 0, 0, 0, 108, 0, 0, 357, 439,
1301 358, 359, 0, 0, 0, 360, 0, 0, 0, 0,
1302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303 361, 362, 0, 0, 0, 0, 0, 0, 0, 0,
1304 0, 0, 0, 363, 364, 0, 0, 0, 0, 109,
1305 110, 111, 112, 113, 0, 0, 0, 0, 0, 0,
1306 0, 365, 0, 0, 0, 0, 0, 0, 0, 0,
1307 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1308 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1309 129, 130, 131, 132, 133, 134, 135, 136, 137, -577,
1310 0, 440, 0, 0, 0, 0, 0, 0, -577, 0,
1311 0, 0, 0, -577, -577, 0, 0, 0, -577, 0,
1312 0, 0, 0, 0, 0, -577, -577, -577, -577, -577,
1313 -577, -577, -577, -577, -577, -577, -577, 0, -577, -577,
1314 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
1315 -577, -577, -577, -577, -577, -577, 0, 0, 0, 0,
1316 0, -577, -577, -577, -577, -577, -577, 0, 0, 0,
1317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1318 0, 0, 0, -577, -577, 0, -577, -577, -577, -577,
1319 -577, -577, 0, -577, 0, 0, -577, -577, -577, -577,
1320 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
1321 -577, -577, 104, 1, 2, 3, 4, 5, 6, 7,
1322 8, 105, 0, 0, 0, 0, 701, 107, 488, 0,
1323 0, 702, 489, 0, 490, 0, 491, 359, 11, 0,
1324 0, 493, 0, 0, 0, 0, 0, 0, 0, 0,
1325 0, 0, 0, 0, 0, 0, 361, 362, 163, 0,
1326 0, 0, 0, 0, 0, 0, 0, 0, 0, 363,
1327 364, 0, 0, 0, 0, 109, 110, 111, 112, 113,
1328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1329 0, 0, 0, 62, 63, 64, 65, 114, 0, 115,
1330 116, 117, 118, 119, 120, 0, 121, 0, 0, 122,
1331 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1332 133, 134, 135, 136, 137, 104, 0, 0, 0, 0,
1333 0, 0, 0, 0, 105, 0, 0, 0, 0, 106,
1334 107, 681, 682, 683, 108, 489, 0, 490, 439, 491,
1335 359, 0, 0, 0, 493, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 0, 0, 0, 0, 0, 361,
1337 362, 163, 0, 0, 0, 0, 0, 0, 0, 0,
1338 0, 0, 363, 364, 0, 0, 0, 0, 109, 110,
1339 111, 112, 113, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1342 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1343 130, 131, 132, 133, 134, 135, 136, 137, 104, 0,
1344 0, 0, 0, 0, 0, 0, 0, 105, 0, 0,
1345 0, 0, 106, 107, 774, 0, 0, 108, 489, 0,
1346 490, 0, 491, 359, 0, 0, 0, 493, 0, 0,
1347 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
1348 0, 0, 361, 362, 163, 0, 0, 0, 0, 0,
1349 0, 0, 0, 0, 0, 363, 364, 0, 0, 0,
1350 0, 109, 110, 111, 112, 113, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 114, 775, 776, 116, 117, 118, 119,
1353 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
1354 127, 128, 129, 130, 777, 132, 133, 134, 135, 136,
1355 137, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1356 105, 0, 0, 0, 0, 106, 107, 488, 0, 0,
1357 108, 489, 0, 490, 0, 491, 359, 0, 0, 0,
1358 493, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1359 0, 0, 153, 0, 0, 361, 362, 163, 0, 0,
1360 0, 0, 0, 0, 0, 0, 0, 0, 363, 364,
1361 0, 0, 855, 0, 109, 110, 111, 112, 113, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 0, 0, 0, 0, 0, 114, 0, 115, 116,
1364 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
1365 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1366 134, 135, 136, 137, 104, 0, 0, 0, 0, 0,
1367 0, 0, 0, 105, 0, 0, 0, 0, 106, 107,
1368 488, 0, 0, 108, 489, -628, 490, 0, 491, 359,
1369 0, 0, 0, 493, 0, 0, 0, 0, 0, 0,
1370 0, 0, 0, 0, 0, 153, 0, 0, 361, 362,
1371 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372 0, 363, 364, 0, 0, 0, 0, 109, 110, 111,
1373 112, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
1375 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1376 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1377 131, 132, 133, 134, 135, 136, 137, 104, 0, 0,
1378 0, 0, 0, 0, 0, 0, 105, 0, 0, 0,
1379 0, 106, 107, 488, 0, 0, 108, 489, 0, 490,
1380 0, 491, 359, 0, 0, 0, 493, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 153, 0,
1382 0, 361, 362, 163, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, 363, 364, 0, 0, 0, 0,
1384 109, 110, 111, 112, 113, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 114, 0, 115, 116, 117, 118, 119, 120,
1387 0, 121, 0, 0, 122, 123, 124, 125, 126, 127,
1388 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1389 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1390 0, 0, 0, 0, 106, 107, 774, 0, 0, 108,
1391 489, 0, 490, 0, 491, 359, 0, 0, 0, 493,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 361, 362, 163, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 363, 364, 0,
1395 0, 0, 0, 109, 110, 111, 112, 113, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 114, 775, 776, 116, 117,
1398 118, 119, 120, 0, 121, 0, 0, 122, 123, 124,
1399 125, 126, 127, 128, 129, 130, 777, 132, 133, 134,
1400 135, 136, 137, 104, 0, 0, 0, 0, 0, 0,
1401 0, 0, 105, 0, 0, 0, 0, 106, 107, 488,
1402 0, 0, 108, 489, 0, 490, 0, 491, 359, 0,
1403 0, 0, 493, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 0, 361, 362, 163,
1405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406 363, 364, 0, 0, 0, 0, 109, 110, 111, 112,
1407 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 114, 0,
1409 115, 116, 117, 118, 119, 120, 0, 121, 0, 0,
1410 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1411 132, 133, 134, 135, 136, 137, 104, 0, 0, 0,
1412 0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
1413 106, 107, 0, 0, 0, 108, 0, 0, 357, 0,
1414 358, 359, 0, 0, 0, 360, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1416 361, 362, 0, 0, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 363, 364, 0, 0, 0, 0, 109,
1418 110, 111, 112, 113, 0, 0, 0, 0, 0, 0,
1419 0, 365, 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1421 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1422 129, 130, 131, 132, 133, 134, 135, 136, 137, 104,
1423 0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
1424 0, 0, 0, 106, 107, 0, 0, 0, 108, 0,
1425 0, 0, 0, 0, 0, 11, 0, 0, -520, 0,
1426 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
1427 8, 0, 0, 0, 0, 163, 9, 0, 0, 0,
1428 0, 61, 0, 0, 0, 445, 446, 0, 0, 0,
1429 0, 0, 109, 110, 111, 112, 113, 0, 0, 0,
1430 0, 0, 0, 448, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 65, 114, 0, 115, 116, 117, 118,
1432 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
1433 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1434 136, 137, 104, 62, 63, 64, 0, 0, 0, 0,
1435 0, 105, 0, 0, 0, 0, 106, 107, 737, 0,
1436 0, 108, 0, 0, 0, 0, 0, 0, 11, 455,
1437 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1438 466, 467, 468, 469, 470, 471, 472, 0, 163, 0,
1439 0, 0, 707, 0, 0, 0, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 109, 110, 111, 112, 113,
1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 65, 114, 0, 115,
1443 116, 117, 118, 119, 120, 0, 121, 0, 0, 122,
1444 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1445 133, 134, 135, 136, 137, 104, 0, 0, 0, 0,
1446 0, 0, 0, 0, 105, 0, 0, 0, 0, 106,
1447 107, 0, 0, 0, 108, 0, 0, 662, 0, 0,
1448 0, 0, 0, 0, 710, 814, 455, 456, 457, 458,
1449 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1450 469, 470, 471, 472, 0, 0, 0, 0, 0, 473,
1451 0, 0, 0, 0, 0, 0, 0, 0, 109, 110,
1452 111, 112, 113, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1455 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1456 130, 131, 132, 133, 134, 135, 136, 137, 104, 0,
1457 0, 0, 0, 0, 0, 0, 0, 105, 0, 763,
1458 0, 0, 106, 107, 0, 0, 0, 108, 455, 456,
1459 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1460 467, 468, 469, 470, 471, 472, 0, 0, 0, 0,
1461 0, 707, 0, 0, 163, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 109, 110, 111, 112, 113, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 114, 0, 115, 116, 117, 118, 119,
1466 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
1467 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1468 137, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1469 105, 0, 0, 0, 0, 106, 107, 0, 0, 0,
1470 108, 0, 908, 0, 0, 0, 0, 0, 0, 0,
1471 451, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1472 464, 465, 466, 467, 468, 469, 470, 471, 472, 0,
1473 0, 0, 0, 0, 707, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 109, 110, 111, 112, 113, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 114, 0, 115, 116,
1477 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
1478 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1479 134, 135, 136, 137, 104, 0, 0, 0, 0, 0,
1480 0, 0, 0, 105, 0, 0, 0, 0, 106, 107,
1481 0, 0, 0, 108, 0, 0, 873, 0, 0, 0,
1482 0, 0, 0, 710, 455, 456, 457, 458, 459, 460,
1483 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1484 471, 472, 0, 0, 0, 0, 0, 707, 0, 0,
1485 0, 0, 0, 104, 0, 0, 0, 109, 110, 111,
1486 112, 113, 105, 0, 0, 0, 0, 106, 107, 0,
1487 0, 0, 108, 0, 0, 0, 0, 0, 0, 114,
1488 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1489 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1490 131, 132, 133, 134, 135, 136, 137, 0, 0, 0,
1491 0, 0, 0, 0, 739, 0, 109, 110, 111, 112,
1492 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 114, 0,
1494 115, 116, 117, 118, 119, 120, 0, 121, 0, 0,
1495 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1496 132, 133, 134, 135, 136, 137, 104, 0, 0, 0,
1497 0, 0, 0, 0, 0, 105, 0, 0, 0, 748,
1498 790, 107, 0, 0, 0, 108, 455, 456, 457, 458,
1499 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1500 469, 470, 471, 472, 0, 0, 0, 0, 0, 473,
1501 0, 0, 163, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 104, 0, 0, 0, 109,
1503 110, 111, 112, 113, 105, 0, 0, 0, 0, 106,
1504 107, 0, 0, 0, 108, 0, 0, 0, 0, 0,
1505 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1506 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1507 129, 130, 131, 132, 133, 134, 135, 136, 137, 0,
1508 0, 0, 0, 0, 104, 0, 835, 0, 109, 110,
1509 111, 112, 113, 105, 0, 0, 0, 0, 106, 107,
1510 0, 0, 0, 108, 0, 0, 0, 0, 0, 0,
1511 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1512 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1513 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 109, 110, 111,
1515 112, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
1517 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1518 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1519 131, 132, 133, 134, 135, 136, 137, 811, 0, 0,
1520 0, 0, 0, 0, 455, 456, 457, 458, 459, 460,
1521 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1522 471, 472, 0, 0, 0, 706, 0, 707, 455, 456,
1523 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1524 467, 468, 469, 470, 471, 472, 0, 0, 0, 0,
1525 0, 707, 455, 456, 457, 458, 459, 460, 461, 462,
1526 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1527 0, 0, 0, 0, 0, 473, 455, 456, 457, 458,
1528 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1529 469, 470, 471, 472, 0, 0, 0, 0, 0, 707,
1530 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1531 465, 466, 467, 468, 469, 470, 471, 472, 0, 0,
1532 0, 0, 0, 473, 455, 456, 457, 458, 459, 460,
1533 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1534 471, 472, 0, 0, 0, 0, 0, 707
1537 static const short yycheck
[] =
1539 33, 22, 16, 17, 18, 185, 184, 185, 88, 33,
1540 0, 15, 191, 421, 0, 34, 103, 33, 92, 395,
1541 10, 92, 424, 394, 421, 15, 81, 424, 311, 368,
1542 378, 379, 697, 725, 24, 476, 91, 27, 409, 476,
1543 725, 27, 725, 15, 754, 758, 10, 760, 62, 63,
1544 64, 138, 311, 26, 141, 45, 49, 91, 0, 392,
1545 37, 31, 29, 33, 34, 26, 33, 81, 10, 29,
1546 29, 29, 33, 33, 33, 427, 26, 360, 92, 93,
1547 94, 45, 24, 366, 776, 27, 24, 101, 25, 123,
1548 31, 95, 784, 806, 35, 36, 35, 36, 35, 31,
1549 433, 784, 441, 45, 36, 95, 31, 32, 9, 34,
1550 11, 450, 17, 18, 453, 92, 93, 94, 95, 96,
1551 87, 98, 99, 95, 35, 36, 64, 87, 87, 87,
1552 840, 124, 484, 4, 5, 6, 33, 34, 9, 4,
1553 5, 6, 6, 808, 9, 9, 119, 406, 33, 34,
1554 483, 22, 3, 157, 168, 6, 44, 22, 191, 10,
1555 493, 12, 827, 496, 33, 34, 156, 157, 26, 27,
1556 125, 454, 186, 883, 32, 32, 33, 92, 93, 94,
1557 95, 96, 874, 98, 99, 157, 44, 852, 0, 874,
1558 473, 474, 156, 17, 18, 887, 31, 36, 33, 34,
1559 913, 31, 36, 895, 34, 110, 111, 112, 113, 114,
1560 115, 32, 895, 34, 156, 33, 34, 909, 33, 34,
1561 17, 18, 33, 34, 909, 6, 7, 8, 32, 670,
1562 93, 94, 312, 670, 675, 32, 32, 311, 675, 30,
1563 311, 4, 5, 6, 7, 8, 9, 10, 11, 31,
1564 35, 916, 32, 629, 17, 23, 632, 36, 3, 22,
1565 31, 6, 36, 23, 123, 10, 29, 12, 13, 14,
1566 15, 16, 17, 38, 32, 6, 100, 101, 102, 103,
1567 104, 105, 106, 107, 108, 36, 360, 658, 33, 360,
1568 32, 31, 366, 31, 35, 366, 351, 311, 476, 32,
1569 37, 634, 36, 100, 101, 102, 103, 104, 105, 106,
1570 107, 108, 40, 32, 31, 493, 31, 49, 6, 727,
1571 83, 84, 85, 86, 87, 664, 89, 26, 667, 668,
1572 727, 32, 34, 40, 34, 32, 34, 26, 22, 710,
1573 32, 32, 64, 39, 715, 40, 360, 37, 64, 31,
1574 31, 365, 366, 40, 32, 92, 93, 94, 95, 96,
1575 123, 98, 99, 24, 40, 32, 32, 31, 33, 25,
1576 394, 33, 35, 33, 707, 708, 409, 34, 31, 34,
1577 454, 35, 33, 454, 33, 409, 33, 420, 34, 422,
1578 34, 424, 725, 409, 770, 35, 772, 773, 40, 473,
1579 474, 109, 473, 474, 32, 64, 32, 755, 756, 423,
1580 34, 33, 33, 25, 32, 35, 31, 33, 97, 33,
1581 33, 829, 32, 437, 33, 31, 33, 35, 447, 762,
1582 25, 34, 829, 31, 33, 32, 25, 451, 34, 33,
1583 454, 33, 32, 34, 477, 478, 34, 24, 628, 32,
1584 628, 784, 97, 631, 32, 34, 795, 796, 860, 473,
1585 474, 33, 32, 860, 747, 748, 25, 33, 33, 877,
1586 34, 33, 476, 34, 850, 35, 809, 33, 811, 33,
1587 877, 32, 25, 33, 32, 32, 476, 33, 502, 33,
1588 476, 888, 670, 826, 33, 33, 33, 675, 4, 5,
1589 6, 7, 8, 9, 10, 11, 27, 809, 675, 157,
1590 918, 17, 670, 40, 624, 24, 22, 160, 631, 381,
1591 802, 918, 21, 29, 30, 31, 635, 179, 447, 760,
1592 169, 181, 929, 19, 384, 41, 909, 420, 775, 915,
1593 873, 874, 887, 929, 823, 4, 5, 6, 7, 8,
1594 9, 10, 11, 732, 930, -1, -1, 734, 17, -1,
1595 -1, -1, 895, 22, -1, -1, -1, -1, -1, -1,
1596 29, -1, -1, -1, -1, -1, 909, 83, 84, 85,
1597 86, 87, 88, 89, -1, 91, -1, 767, -1, 767,
1598 677, 678, -1, -1, -1, -1, -1, -1, -1, -1,
1599 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1600 116, -1, -1, -1, 17, 121, -1, 123, -1, 22,
1601 -1, 635, 655, -1, -1, 84, 85, 86, 87, -1,
1602 -1, -1, -1, -1, 658, -1, -1, -1, -1, -1,
1603 -1, 674, 656, -1, -1, -1, -1, -1, -1, -1,
1604 674, -1, -1, -1, -1, -1, -1, -1, 674, -1,
1605 -1, -1, 676, -1, 123, -1, 670, -1, -1, -1,
1606 -1, 675, -1, 747, 748, -1, 747, 748, -1, -1,
1607 670, 84, 85, 86, 670, 675, 710, 703, 868, 675,
1608 868, 715, -1, -1, -1, -1, 729, -1, -1, 732,
1609 -1, -1, 735, -1, -1, -1, 886, -1, 886, -1,
1610 731, -1, -1, 793, -1, -1, -1, -1, -1, -1,
1611 734, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1612 11, -1, -1, 747, 748, -1, 17, -1, -1, -1,
1613 -1, 22, 922, -1, 922, -1, -1, -1, 29, -1,
1614 3, -1, 766, 6, 787, 769, 37, 10, -1, 12,
1615 13, 14, 15, 16, 17, -1, -1, 800, -1, -1,
1616 803, 804, 30, -1, -1, -1, -1, -1, -1, -1,
1617 794, -1, -1, -1, -1, -1, -1, 808, -1, -1,
1618 823, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1619 -1, -1, -1, 84, 85, 86, 87, -1, 66, 67,
1620 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1621 -1, 79, 80, 81, 82, -1, -1, -1, -1, -1,
1622 -1, -1, 865, -1, -1, -1, -1, -1, -1, -1,
1623 121, 874, -1, -1, -1, -1, 0, -1, -1, 3,
1624 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1625 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1626 24, 25, 26, 27, 28, 29, 909, 31, 32, 33,
1627 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1628 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1629 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1630 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1631 74, 75, 76, 77, 78, 79, -1, 81, -1, 83,
1632 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1633 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1634 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1635 114, 115, 116, -1, -1, 119, -1, 121, 122, 123,
1636 124, 125, 0, -1, -1, 3, 4, 5, 6, 7,
1637 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1638 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1639 28, 29, -1, 31, 32, 33, 34, 35, 36, 37,
1640 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1641 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1642 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1643 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1644 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1645 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1646 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1647 108, 109, 110, 111, 112, 113, 114, 115, 116, -1,
1648 -1, 119, -1, 121, 122, 123, 124, 125, 0, -1,
1649 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1650 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1651 22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
1652 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1653 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1654 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1655 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1656 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1657 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1658 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1659 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1660 112, 113, 114, 115, 116, -1, -1, 119, -1, 121,
1661 122, 123, 124, 125, 0, -1, -1, 3, 4, 5,
1662 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1663 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1664 26, 27, 28, 29, -1, 31, 32, 33, 34, 35,
1665 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
1666 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1667 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1668 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1669 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1670 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1671 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1672 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1673 116, 3, -1, 119, -1, 121, 122, 123, 124, 125,
1674 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1675 22, 23, -1, 25, -1, 27, 28, 29, -1, -1,
1676 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1677 9, 10, 11, -1, -1, 47, 48, 49, 17, -1,
1678 -1, -1, -1, 22, -1, -1, -1, -1, 60, 61,
1679 29, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1680 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1681 -1, -1, -1, -1, -1, 87, 88, -1, 90, 91,
1682 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1683 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1684 112, 113, 114, 115, -1, 84, 85, 86, 87, -1,
1685 -1, -1, 124, 4, 5, 6, 7, 8, 9, 10,
1686 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1687 -1, 22, -1, -1, 3, -1, -1, -1, 29, -1,
1688 -1, -1, 121, 12, -1, -1, -1, -1, 17, 18,
1689 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1690 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1691 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1693 -1, 60, 61, 84, 85, 86, 87, 66, 67, 68,
1694 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1695 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1696 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1697 121, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1698 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1699 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1700 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1701 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1702 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1703 11, 47, 48, -1, -1, -1, 17, -1, -1, -1,
1704 -1, 22, -1, -1, 60, 61, -1, -1, 29, -1,
1705 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1706 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1707 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1708 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1709 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1710 3, -1, 118, 84, 85, 86, 87, -1, -1, 12,
1711 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1712 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1713 -1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1714 8, 9, 10, 11, 47, 48, -1, -1, -1, 17,
1715 -1, -1, -1, -1, 22, -1, -1, 60, 61, -1,
1716 -1, 29, -1, 66, 67, 68, 69, 70, -1, -1,
1717 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1718 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1719 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1720 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1721 113, 114, 115, 3, -1, 118, 84, 85, 86, 87,
1722 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1723 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1724 -1, -1, 32, -1, -1, -1, -1, -1, -1, 4,
1725 5, 6, 7, 8, 9, 10, 11, 47, 48, -1,
1726 -1, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1727 60, 61, -1, -1, 29, -1, 66, 67, 68, 69,
1728 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1729 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1730 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1731 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1732 110, 111, 112, 113, 114, 115, 3, -1, 118, 84,
1733 85, 86, 87, -1, -1, 12, -1, -1, -1, -1,
1734 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1735 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1736 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1737 47, 48, -1, -1, -1, 17, -1, -1, -1, -1,
1738 22, -1, -1, 60, 61, -1, -1, 29, -1, 66,
1739 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1740 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1741 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1742 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1743 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1744 -1, 118, 84, 85, 86, 87, -1, -1, 12, -1,
1745 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1746 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1748 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1749 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1750 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1751 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1752 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1753 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1754 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1755 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1756 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1757 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1758 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1759 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1760 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1761 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1762 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1763 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1764 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1765 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1766 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1767 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1768 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1769 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1770 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1771 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1772 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1773 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1774 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1775 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1776 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1777 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1778 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1779 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1780 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1782 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1783 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1784 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1785 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1786 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1787 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1788 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1789 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1790 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1791 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1792 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1793 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1794 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1795 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1796 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1797 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1798 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1799 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1800 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1801 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1802 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1803 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1804 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1806 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1807 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1808 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1809 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1810 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1811 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1812 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1813 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1814 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1816 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1817 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1818 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1819 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1820 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1821 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1822 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1823 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1824 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1825 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1827 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1828 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1829 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1830 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1831 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1832 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1833 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1834 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1835 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1836 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1837 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1838 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1839 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1840 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1841 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1842 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1843 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1844 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1845 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1846 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1847 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1848 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1849 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1850 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1851 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1852 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1853 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1854 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1855 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1856 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1857 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1858 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1859 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1861 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1862 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1863 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1864 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1865 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1866 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1867 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1868 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1869 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1870 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1871 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1873 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1874 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1875 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1876 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1877 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1878 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1879 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1880 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1881 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1882 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1884 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1885 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1886 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1887 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1888 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1889 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1890 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1891 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1892 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1893 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1895 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1896 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1897 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1898 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1899 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1900 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1901 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1902 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1903 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1904 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1905 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1906 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1907 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1908 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1909 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1910 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1911 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1912 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1913 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1914 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1915 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1916 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1919 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1920 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1921 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1922 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1923 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1924 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1925 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1926 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1927 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1929 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1930 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1931 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1932 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1933 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1934 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1935 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1936 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1937 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1938 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1939 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1940 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1941 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1942 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1943 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1944 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1945 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1946 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1947 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1948 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1949 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1950 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1953 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1954 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1955 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1956 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1957 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1958 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1959 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1960 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1961 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1963 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1964 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1965 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1966 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1967 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1968 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1969 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1970 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1971 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1972 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1973 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1974 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1975 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1976 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1977 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1978 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1979 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1980 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1981 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1982 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1983 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1984 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1986 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1987 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1988 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1989 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1990 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1991 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1992 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1993 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1994 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1995 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1997 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1998 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1999 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2000 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2001 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2002 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2003 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2004 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2005 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2006 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2008 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2009 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2010 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2011 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2012 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2013 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2014 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2015 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2016 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2017 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2018 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2019 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2020 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2021 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2022 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2023 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2024 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2025 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2026 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2027 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2028 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2029 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2030 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2032 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2033 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2034 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2035 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2036 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2037 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2038 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2039 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2040 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2042 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2043 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2044 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2045 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2046 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2047 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2048 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2049 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
2050 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
2051 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2053 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2055 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2056 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2057 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2058 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2059 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2060 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2061 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2062 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2063 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2066 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2067 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2068 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2069 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2070 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2071 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2072 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2073 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2074 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2076 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2077 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2078 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2079 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2080 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2081 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2082 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2083 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
2084 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2085 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2086 34, 35, 36, 37, 38, 39, 40, -1, 42, 43,
2087 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2088 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2089 -1, 65, 66, 67, 68, 69, 70, -1, -1, -1,
2090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2091 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
2092 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2093 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2094 114, 115, 3, 4, 5, 6, 7, 8, 9, 10,
2095 11, 12, -1, -1, -1, -1, 17, 18, 19, -1,
2096 -1, 22, 23, -1, 25, -1, 27, 28, 29, -1,
2097 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2098 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
2099 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2100 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2102 -1, -1, -1, 84, 85, 86, 87, 88, -1, 90,
2103 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2104 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2105 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2106 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2107 18, 19, 20, 21, 22, 23, -1, 25, 26, 27,
2108 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2109 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2110 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2111 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2112 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2113 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2114 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2115 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2116 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2117 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2118 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2119 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2121 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2122 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2123 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2125 -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
2126 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2127 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2128 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2129 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
2130 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2131 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2132 -1, -1, 44, -1, -1, 47, 48, 49, -1, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2134 -1, -1, 64, -1, 66, 67, 68, 69, 70, -1,
2135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2136 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2137 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2138 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2139 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2140 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2141 19, -1, -1, 22, 23, 24, 25, -1, 27, 28,
2142 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, -1, -1, 44, -1, -1, 47, 48,
2144 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2145 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2146 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2147 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2148 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2149 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2150 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2151 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2152 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
2153 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
2155 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2156 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2157 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2159 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2160 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2161 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2162 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2163 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
2164 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2166 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
2167 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2168 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2170 -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
2171 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2172 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2173 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2174 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
2175 -1, -1, 22, 23, -1, 25, -1, 27, 28, -1,
2176 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2179 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2180 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2181 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2182 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2183 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2184 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2185 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2186 17, 18, -1, -1, -1, 22, -1, -1, 25, -1,
2187 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2189 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2190 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2191 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2192 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2193 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2194 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2195 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2196 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2197 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2198 -1, -1, -1, -1, -1, 29, -1, -1, 32, -1,
2199 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
2200 11, -1, -1, -1, -1, 49, 17, -1, -1, -1,
2201 -1, 22, -1, -1, -1, 26, 27, -1, -1, -1,
2202 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2203 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2204 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
2205 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2206 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2207 114, 115, 3, 84, 85, 86, -1, -1, -1, -1,
2208 -1, 12, -1, -1, -1, -1, 17, 18, 31, -1,
2209 -1, 22, -1, -1, -1, -1, -1, -1, 29, 42,
2210 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2211 53, 54, 55, 56, 57, 58, 59, -1, 49, -1,
2212 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2213 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2215 -1, -1, -1, -1, -1, -1, 87, 88, -1, 90,
2216 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2217 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2218 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2219 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2220 18, -1, -1, -1, 22, -1, -1, 33, -1, -1,
2221 -1, -1, -1, -1, 32, 33, 42, 43, 44, 45,
2222 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2223 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2224 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2225 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2227 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2228 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2229 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2230 -1, -1, -1, -1, -1, -1, -1, 12, -1, 33,
2231 -1, -1, 17, 18, -1, -1, -1, 22, 42, 43,
2232 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2233 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2234 -1, 65, -1, -1, 49, -1, -1, -1, -1, -1,
2235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2236 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2238 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2239 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2240 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2241 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2242 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2243 22, -1, 33, -1, -1, -1, -1, -1, -1, -1,
2244 32, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2245 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
2246 -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
2247 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2249 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2250 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2251 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2252 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2253 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2254 -1, -1, -1, 22, -1, -1, 34, -1, -1, -1,
2255 -1, -1, -1, 32, 42, 43, 44, 45, 46, 47,
2256 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2257 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
2258 -1, -1, -1, 3, -1, -1, -1, 66, 67, 68,
2259 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
2260 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
2261 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2262 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2263 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2264 -1, -1, -1, -1, 64, -1, 66, 67, 68, 69,
2265 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2266 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2267 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2268 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2269 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2270 -1, -1, -1, -1, -1, 12, -1, -1, -1, 35,
2271 17, 18, -1, -1, -1, 22, 42, 43, 44, 45,
2272 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2273 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2274 -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, 3, -1, -1, -1, 66,
2276 67, 68, 69, 70, 12, -1, -1, -1, -1, 17,
2277 18, -1, -1, -1, 22, -1, -1, -1, -1, -1,
2278 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2279 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2280 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
2281 -1, -1, -1, -1, 3, -1, 64, -1, 66, 67,
2282 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
2283 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
2284 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2285 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2286 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
2287 -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
2288 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2289 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2290 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2291 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2292 109, 110, 111, 112, 113, 114, 115, 35, -1, -1,
2293 -1, -1, -1, -1, 42, 43, 44, 45, 46, 47,
2294 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2295 58, 59, -1, -1, -1, 39, -1, 65, 42, 43,
2296 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2297 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2298 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2299 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2300 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
2301 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2302 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2303 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2304 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2305 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
2306 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2307 58, 59, -1, -1, -1, -1, -1, 65
2310 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2311 symbol of state STATE-NUM. */
2312 static const unsigned short yystos
[] =
2314 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2315 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2316 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2317 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2318 182, 183, 188, 191, 194, 195, 199, 200, 201, 202,
2319 204, 206, 210, 212, 213, 219, 227, 241, 242, 9,
2320 11, 22, 84, 85, 86, 87, 123, 200, 210, 30,
2321 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2322 76, 77, 79, 80, 81, 82, 151, 152, 153, 154,
2323 156, 157, 158, 84, 85, 121, 171, 173, 201, 202,
2324 210, 219, 228, 229, 3, 12, 17, 18, 22, 66,
2325 67, 68, 69, 70, 88, 90, 91, 92, 93, 94,
2326 95, 97, 100, 101, 102, 103, 104, 105, 106, 107,
2327 108, 109, 110, 111, 112, 113, 114, 115, 143, 260,
2328 272, 143, 143, 230, 3, 6, 10, 12, 247, 249,
2329 26, 123, 242, 44, 280, 281, 22, 83, 89, 123,
2330 199, 0, 148, 49, 143, 176, 211, 236, 237, 238,
2331 239, 177, 4, 5, 6, 9, 22, 184, 6, 181,
2332 187, 200, 125, 189, 32, 32, 36, 36, 143, 143,
2333 143, 34, 192, 0, 3, 4, 5, 6, 7, 8,
2334 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2335 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2336 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2337 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2338 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2339 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2340 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2341 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2342 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2343 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2344 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
2345 125, 143, 144, 159, 30, 3, 12, 17, 18, 22,
2346 66, 67, 68, 69, 70, 88, 90, 91, 92, 93,
2347 94, 95, 97, 100, 101, 102, 103, 104, 105, 106,
2348 107, 108, 109, 110, 111, 112, 113, 114, 115, 144,
2349 162, 163, 162, 26, 119, 155, 144, 25, 27, 28,
2350 32, 47, 48, 60, 61, 78, 142, 143, 164, 224,
2351 143, 230, 143, 230, 173, 31, 143, 35, 233, 233,
2352 233, 233, 23, 31, 36, 23, 171, 123, 189, 29,
2353 87, 240, 38, 234, 32, 143, 124, 239, 6, 185,
2354 6, 9, 186, 184, 36, 196, 32, 31, 17, 175,
2355 203, 205, 207, 208, 209, 210, 207, 143, 220, 221,
2356 92, 93, 94, 95, 96, 98, 99, 251, 252, 253,
2357 266, 269, 275, 276, 277, 193, 211, 237, 31, 26,
2358 118, 164, 190, 162, 144, 26, 27, 32, 44, 226,
2359 164, 32, 143, 164, 32, 42, 43, 44, 45, 46,
2360 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2361 57, 58, 59, 65, 141, 35, 36, 215, 215, 31,
2362 214, 215, 214, 40, 251, 32, 31, 31, 19, 23,
2363 25, 27, 29, 32, 87, 124, 142, 211, 222, 223,
2364 224, 235, 236, 237, 234, 6, 0, 3, 4, 5,
2365 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2366 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2367 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
2368 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2369 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2370 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2371 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2372 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
2373 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2374 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2375 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
2376 124, 125, 145, 196, 197, 198, 190, 236, 32, 33,
2377 34, 34, 33, 34, 40, 34, 231, 211, 256, 222,
2378 245, 270, 271, 272, 280, 211, 143, 278, 279, 211,
2379 267, 271, 37, 252, 222, 34, 32, 26, 177, 225,
2380 226, 22, 33, 143, 164, 165, 166, 164, 164, 32,
2381 121, 172, 173, 174, 175, 216, 219, 228, 229, 211,
2382 211, 19, 20, 21, 168, 169, 190, 222, 37, 13,
2383 14, 15, 16, 17, 33, 243, 244, 246, 248, 249,
2384 250, 17, 22, 175, 222, 222, 39, 65, 141, 39,
2385 32, 143, 37, 198, 33, 32, 207, 234, 64, 209,
2386 234, 64, 222, 221, 37, 40, 31, 40, 31, 32,
2387 24, 40, 32, 31, 34, 32, 31, 31, 211, 64,
2388 143, 160, 161, 236, 33, 33, 33, 34, 35, 25,
2389 174, 35, 232, 37, 172, 233, 233, 31, 35, 33,
2390 34, 245, 33, 33, 222, 222, 236, 32, 33, 236,
2391 33, 34, 33, 33, 19, 89, 90, 109, 222, 255,
2392 257, 258, 259, 260, 281, 270, 211, 280, 193, 279,
2393 17, 193, 268, 33, 34, 164, 164, 34, 25, 35,
2394 34, 217, 232, 215, 215, 246, 35, 244, 246, 40,
2395 222, 35, 143, 207, 33, 234, 64, 234, 234, 109,
2396 257, 17, 18, 32, 260, 263, 32, 32, 255, 34,
2397 273, 211, 33, 33, 162, 64, 143, 25, 35, 32,
2398 211, 218, 31, 217, 246, 280, 168, 222, 33, 33,
2399 33, 268, 32, 222, 245, 64, 270, 274, 33, 31,
2400 97, 33, 35, 25, 232, 34, 31, 64, 32, 33,
2401 234, 33, 245, 34, 34, 261, 33, 34, 18, 271,
2402 272, 32, 34, 211, 24, 207, 32, 97, 32, 222,
2403 211, 254, 255, 256, 262, 281, 33, 270, 25, 25,
2404 232, 33, 33, 207, 263, 264, 265, 270, 33, 34,
2405 255, 34, 33, 35, 33, 33, 32, 33, 34, 254,
2406 25, 246, 32, 234, 245, 33, 270, 33, 207, 32,
2407 33, 264, 234, 33, 33
2410 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2411 static const unsigned short yyr1
[] =
2413 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2414 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2415 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2416 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2417 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
2418 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2419 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2420 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2421 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2422 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2423 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2424 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2425 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2426 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2427 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2428 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2429 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2430 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2431 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2432 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2433 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2434 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2435 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2436 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2437 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2438 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2439 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2440 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
2441 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2442 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
2443 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
2444 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
2445 158, 158, 159, 159, 159, 159, 160, 160, 160, 160,
2446 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
2447 164, 164, 164, 164, 164, 164, 164, 165, 165, 166,
2448 166, 167, 168, 168, 168, 169, 169, 169, 170, 170,
2449 171, 171, 172, 172, 173, 173, 173, 173, 173, 174,
2450 174, 174, 174, 174, 175, 175, 175, 176, 176, 177,
2451 177, 178, 178, 178, 179, 179, 179, 179, 180, 180,
2452 180, 181, 181, 182, 182, 182, 183, 183, 183, 183,
2453 184, 184, 184, 184, 184, 184, 185, 185, 186, 186,
2454 186, 186, 187, 187, 187, 188, 188, 189, 189, 190,
2455 190, 191, 192, 192, 193, 193, 194, 195, 195, 195,
2456 195, 195, 195, 196, 197, 197, 198, 198, 199, 199,
2457 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
2458 204, 205, 206, 207, 207, 207, 208, 208, 209, 209,
2459 209, 210, 210, 211, 211, 212, 213, 214, 214, 215,
2460 216, 216, 217, 217, 218, 218, 219, 220, 220, 221,
2461 221, 222, 222, 222, 222, 222, 222, 223, 223, 223,
2462 223, 223, 223, 224, 224, 225, 225, 226, 226, 226,
2463 227, 228, 229, 230, 230, 231, 231, 232, 232, 232,
2464 232, 233, 233, 234, 234, 234, 235, 235, 235, 235,
2465 236, 236, 237, 237, 238, 238, 239, 239, 240, 240,
2466 241, 241, 242, 242, 242, 243, 243, 244, 244, 245,
2467 246, 247, 248, 248, 249, 249, 249, 249, 250, 250,
2468 250, 250, 250, 251, 251, 252, 252, 252, 252, 252,
2469 253, 253, 254, 254, 254, 255, 255, 255, 255, 255,
2470 255, 256, 256, 257, 258, 258, 259, 260, 260, 260,
2471 260, 260, 260, 260, 260, 260, 260, 261, 261, 262,
2472 262, 263, 263, 264, 264, 265, 265, 266, 267, 267,
2473 268, 268, 268, 269, 270, 270, 270, 271, 271, 272,
2474 272, 272, 272, 272, 272, 272, 272, 273, 273, 274,
2475 274, 275, 276, 276, 277, 278, 278, 279, 280, 280,
2479 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2480 static const unsigned char yyr2
[] =
2482 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2484 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2487 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2495 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2509 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
2510 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2511 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
2512 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
2513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2514 1, 1, 2, 6, 2, 2, 0, 1, 1, 3,
2515 1, 3, 0, 1, 1, 2, 3, 2, 3, 5,
2516 2, 4, 1, 1, 1, 1, 4, 0, 1, 1,
2517 3, 6, 1, 1, 1, 1, 1, 1, 3, 4,
2518 1, 2, 1, 2, 1, 1, 2, 4, 4, 1,
2519 1, 1, 3, 3, 1, 2, 2, 1, 1, 1,
2520 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
2521 2, 1, 1, 1, 1, 2, 1, 1, 2, 2,
2522 0, 1, 1, 2, 1, 2, 0, 1, 0, 1,
2523 1, 2, 0, 1, 2, 3, 4, 0, 4, 1,
2524 2, 4, 0, 2, 1, 3, 3, 1, 2, 2,
2525 3, 1, 2, 3, 1, 2, 1, 1, 1, 2,
2526 1, 1, 5, 7, 5, 7, 13, 16, 5, 7,
2527 6, 5, 1, 0, 1, 1, 1, 3, 1, 1,
2528 2, 1, 2, 3, 2, 4, 4, 1, 1, 3,
2529 4, 5, 0, 2, 2, 4, 5, 1, 3, 1,
2530 3, 1, 4, 3, 3, 2, 5, 1, 1, 1,
2531 1, 1, 1, 4, 2, 1, 2, 2, 1, 1,
2532 2, 2, 2, 0, 1, 0, 1, 0, 2, 7,
2533 9, 0, 7, 0, 3, 3, 0, 1, 1, 1,
2534 0, 1, 1, 2, 1, 2, 1, 2, 1, 1,
2535 4, 5, 7, 8, 13, 1, 3, 2, 4, 2,
2536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2537 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
2538 3, 6, 1, 2, 1, 1, 1, 1, 2, 1,
2539 1, 3, 4, 6, 8, 12, 5, 1, 1, 1,
2540 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
2541 3, 1, 1, 0, 1, 1, 3, 3, 6, 1,
2542 0, 1, 1, 3, 1, 1, 3, 5, 6, 1,
2543 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
2544 3, 3, 1, 1, 3, 1, 3, 4, 0, 1,
2549 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2550 static const unsigned char yydprec
[] =
2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2584 0, 0, 1, 2, 2, 2, 0, 0, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
2589 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2597 0, 0, 0, 0, 2, 1, 0, 0, 0, 2,
2598 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2608 0, 0, 0, 0, 0, 2, 1, 0, 0, 0,
2609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2619 static const unsigned char yymerger
[] =
2621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2688 in the case of predicates. */
2689 static const yybool yyimmediate
[] =
2691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2758 list of conflicting reductions corresponding to action entry for
2759 state STATE-NUM in yytable. 0 means no conflicts. The list in
2760 yyconfl is terminated by a rule number of 0. */
2761 static const unsigned short yyconflp
[] =
2763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 3209, 0, 3211, 3213, 0, 3215, 0, 0, 0,
2770 0, 0, 0, 3217, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 3197, 0, 0, 0,
2773 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 0, 0, 0, 0, 3199, 0, 0, 0, 0, 0,
2776 0, 0, 0, 0, 0, 0, 3201, 3203, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 13, 0, 0, 0, 9, 0, 157, 0, 11,
2779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2782 0, 0, 0, 0, 0, 0, 3219, 0, 3221, 3223,
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2796 0, 0, 3205, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 3207, 0, 0, 0, 0, 0,
2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2804 0, 3225, 0, 0, 0, 0, 0, 0, 0, 0,
2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
2819 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2820 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 0, 0, 0, 0, 159, 0, 0, 0, 0, 0,
2912 0, 0, 0, 161, 0, 0, 0, 0, 163, 165,
2913 0, 0, 0, 167, 0, 0, 169, 171, 173, 175,
2914 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 179, 181,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 0, 183, 185, 0, 0, 0, 0, 187, 189, 191,
2918 193, 195, 0, 0, 0, 0, 0, 0, 0, 197,
2919 0, 0, 0, 0, 0, 0, 0, 0, 0, 199,
2920 0, 201, 203, 205, 207, 209, 211, 0, 213, 0,
2921 0, 215, 217, 219, 221, 223, 225, 227, 229, 231,
2922 233, 235, 237, 239, 241, 243, 245, 247, 0, 0,
2923 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
2924 0, 251, 253, 0, 0, 0, 255, 0, 0, 257,
2925 259, 261, 263, 0, 0, 0, 265, 0, 0, 0,
2926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2927 0, 267, 269, 0, 0, 0, 0, 0, 0, 0,
2928 0, 0, 0, 0, 271, 273, 0, 0, 0, 0,
2929 275, 277, 279, 281, 283, 0, 0, 0, 0, 0,
2930 0, 0, 285, 0, 0, 0, 0, 0, 0, 0,
2931 0, 0, 287, 0, 289, 291, 293, 295, 297, 299,
2932 0, 301, 0, 0, 303, 305, 307, 309, 311, 313,
2933 315, 317, 319, 321, 323, 325, 327, 329, 331, 333,
2934 335, 0, 0, 0, 0, 0, 0, 0, 0, 337,
2935 0, 0, 0, 0, 339, 341, 0, 0, 0, 343,
2936 0, 0, 345, 347, 349, 351, 0, 0, 0, 353,
2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 355, 357, 0, 0, 0, 0,
2939 0, 0, 0, 0, 0, 0, 0, 359, 361, 0,
2940 0, 0, 0, 363, 365, 367, 369, 371, 0, 0,
2941 0, 0, 0, 0, 0, 373, 0, 0, 0, 0,
2942 0, 0, 0, 0, 0, 375, 0, 377, 379, 381,
2943 383, 385, 387, 0, 389, 0, 0, 391, 393, 395,
2944 397, 399, 401, 403, 405, 407, 409, 411, 413, 415,
2945 417, 419, 421, 423, 0, 0, 0, 0, 0, 0,
2946 0, 0, 426, 0, 0, 0, 0, 429, 432, 0,
2947 0, 0, 435, 0, 0, 438, 441, 444, 447, 0,
2948 0, 0, 450, 0, 0, 0, 0, 0, 0, 0,
2949 0, 0, 0, 0, 0, 0, 0, 453, 456, 0,
2950 0, 0, 149, 0, 0, 0, 0, 151, 0, 0,
2951 459, 462, 0, 0, 153, 0, 465, 468, 471, 474,
2952 477, 0, 0, 0, 0, 0, 0, 0, 480, 0,
2953 0, 0, 0, 0, 0, 0, 0, 0, 483, 0,
2954 486, 489, 492, 495, 498, 501, 0, 504, 0, 0,
2955 507, 510, 513, 516, 519, 522, 525, 528, 531, 534,
2956 537, 540, 543, 546, 549, 552, 557, 0, 555, 0,
2957 0, 0, 155, 0, 0, 559, 0, 0, 0, 0,
2958 561, 563, 0, 0, 0, 565, 0, 0, 567, 569,
2959 571, 573, 0, 0, 0, 575, 0, 0, 0, 0,
2960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2961 577, 579, 0, 0, 0, 0, 0, 0, 0, 0,
2962 0, 0, 0, 581, 583, 0, 0, 0, 0, 585,
2963 587, 589, 591, 593, 0, 0, 0, 0, 0, 0,
2964 0, 595, 0, 0, 0, 0, 0, 0, 0, 0,
2965 0, 597, 0, 599, 601, 603, 605, 607, 609, 0,
2966 611, 0, 0, 613, 615, 617, 619, 621, 623, 625,
2967 627, 629, 631, 633, 635, 637, 639, 641, 643, 645,
2968 0, 0, 0, 0, 0, 0, 0, 0, 647, 0,
2969 0, 0, 0, 649, 651, 0, 0, 0, 653, 0,
2970 0, 655, 657, 659, 661, 0, 0, 0, 663, 0,
2971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2972 0, 0, 0, 665, 667, 0, 0, 0, 0, 0,
2973 0, 0, 0, 0, 0, 0, 669, 671, 0, 0,
2974 0, 0, 673, 675, 677, 679, 681, 0, 0, 0,
2975 0, 0, 0, 0, 683, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 685, 0, 687, 689, 691, 693,
2977 695, 697, 0, 699, 0, 0, 701, 703, 705, 707,
2978 709, 711, 713, 715, 717, 719, 721, 723, 725, 727,
2979 729, 731, 733, 0, 0, 0, 0, 0, 0, 0,
2980 0, 735, 0, 0, 0, 0, 737, 739, 0, 0,
2981 0, 741, 0, 0, 743, 745, 747, 749, 0, 0,
2982 0, 751, 0, 0, 0, 0, 0, 0, 0, 0,
2983 0, 0, 0, 0, 0, 0, 753, 755, 0, 0,
2984 0, 0, 0, 0, 0, 0, 0, 0, 0, 757,
2985 759, 0, 0, 0, 0, 761, 763, 765, 767, 769,
2986 0, 0, 0, 0, 0, 0, 0, 771, 0, 0,
2987 0, 0, 0, 0, 0, 0, 0, 773, 0, 775,
2988 777, 779, 781, 783, 785, 0, 787, 0, 0, 789,
2989 791, 793, 795, 797, 799, 801, 803, 805, 807, 809,
2990 811, 813, 815, 817, 819, 821, 0, 0, 0, 0,
2991 0, 0, 0, 0, 823, 0, 0, 0, 0, 825,
2992 827, 0, 0, 0, 829, 0, 0, 831, 833, 835,
2993 837, 0, 0, 0, 839, 0, 0, 0, 0, 0,
2994 0, 0, 0, 0, 0, 0, 0, 0, 0, 841,
2995 843, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2996 0, 0, 845, 847, 0, 0, 0, 0, 849, 851,
2997 853, 855, 857, 0, 0, 0, 0, 0, 0, 0,
2998 859, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999 861, 0, 863, 865, 867, 869, 871, 873, 0, 875,
3000 0, 0, 877, 879, 881, 883, 885, 887, 889, 891,
3001 893, 895, 897, 899, 901, 903, 905, 907, 909, 0,
3002 0, 0, 0, 0, 0, 0, 0, 911, 0, 0,
3003 0, 0, 913, 915, 0, 0, 0, 917, 0, 0,
3004 919, 921, 923, 925, 0, 0, 0, 927, 0, 0,
3005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3006 0, 0, 929, 931, 0, 0, 0, 0, 0, 0,
3007 0, 0, 0, 0, 0, 933, 935, 0, 0, 0,
3008 0, 937, 939, 941, 943, 945, 0, 0, 0, 0,
3009 0, 0, 0, 947, 0, 0, 0, 0, 0, 0,
3010 0, 0, 0, 949, 0, 951, 953, 955, 957, 959,
3011 961, 0, 963, 0, 0, 965, 967, 969, 971, 973,
3012 975, 977, 979, 981, 983, 985, 987, 989, 991, 993,
3013 995, 997, 0, 0, 0, 0, 0, 0, 0, 0,
3014 999, 0, 0, 0, 0, 1001, 1003, 0, 0, 0,
3015 1005, 0, 0, 1007, 1009, 1011, 1013, 0, 0, 0,
3016 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3017 0, 0, 0, 0, 0, 1017, 1019, 0, 0, 0,
3018 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1023,
3019 0, 0, 0, 0, 1025, 1027, 1029, 1031, 1033, 0,
3020 0, 0, 0, 0, 0, 0, 1035, 0, 0, 0,
3021 0, 0, 0, 0, 0, 0, 1037, 0, 1039, 1041,
3022 1043, 1045, 1047, 1049, 0, 1051, 0, 0, 1053, 1055,
3023 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075,
3024 1077, 1079, 1081, 1083, 1085, 0, 0, 0, 0, 0,
3025 0, 0, 0, 1087, 0, 0, 0, 0, 1089, 1091,
3026 0, 0, 0, 1093, 0, 0, 1095, 1097, 1099, 1101,
3027 0, 0, 0, 1103, 0, 0, 0, 0, 0, 0,
3028 0, 0, 0, 0, 0, 0, 0, 0, 1105, 1107,
3029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3030 0, 1109, 1111, 0, 0, 0, 0, 1113, 1115, 1117,
3031 1119, 1121, 0, 0, 0, 0, 0, 0, 0, 1123,
3032 0, 0, 0, 0, 0, 0, 0, 0, 0, 1125,
3033 0, 1127, 1129, 1131, 1133, 1135, 1137, 0, 1139, 0,
3034 0, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157,
3035 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 0, 0,
3036 0, 0, 0, 0, 0, 0, 1175, 0, 0, 0,
3037 0, 1177, 1179, 0, 0, 0, 1181, 0, 0, 1183,
3038 1185, 1187, 1189, 0, 0, 0, 1191, 0, 0, 0,
3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3040 0, 1193, 1195, 0, 0, 0, 0, 0, 0, 0,
3041 0, 0, 0, 0, 1197, 1199, 0, 0, 0, 0,
3042 1201, 1203, 1205, 1207, 1209, 0, 0, 0, 0, 0,
3043 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0,
3044 0, 0, 1213, 0, 1215, 1217, 1219, 1221, 1223, 1225,
3045 0, 1227, 0, 0, 1229, 1231, 1233, 1235, 1237, 1239,
3046 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259,
3047 1261, 0, 0, 0, 0, 0, 0, 0, 0, 1263,
3048 0, 0, 0, 0, 1265, 1267, 0, 0, 0, 1269,
3049 0, 0, 1271, 1273, 1275, 1277, 0, 0, 0, 1279,
3050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3051 0, 0, 0, 0, 1281, 1283, 0, 0, 0, 0,
3052 0, 0, 0, 0, 0, 0, 0, 1285, 1287, 0,
3053 0, 0, 0, 1289, 1291, 1293, 1295, 1297, 0, 0,
3054 0, 0, 0, 0, 0, 1299, 0, 0, 0, 0,
3055 0, 0, 0, 0, 0, 1301, 0, 1303, 1305, 1307,
3056 1309, 1311, 1313, 0, 1315, 0, 0, 1317, 1319, 1321,
3057 1323, 1325, 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341,
3058 1343, 1345, 1347, 1349, 0, 0, 0, 0, 0, 0,
3059 0, 0, 1351, 0, 0, 0, 0, 1353, 1355, 0,
3060 0, 0, 1357, 0, 0, 1359, 1361, 1363, 1365, 0,
3061 0, 0, 1367, 0, 0, 0, 0, 0, 0, 0,
3062 0, 0, 0, 0, 0, 0, 0, 1369, 1371, 0,
3063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3064 1373, 1375, 0, 0, 0, 0, 1377, 1379, 1381, 1383,
3065 1385, 0, 0, 0, 0, 0, 0, 0, 1387, 0,
3066 0, 0, 0, 0, 0, 0, 0, 0, 1389, 0,
3067 1391, 1393, 1395, 1397, 1399, 1401, 0, 1403, 0, 0,
3068 1405, 1407, 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1423,
3069 1425, 1427, 1429, 1431, 1433, 1435, 1437, 0, 0, 0,
3070 0, 0, 0, 0, 0, 1439, 0, 0, 0, 0,
3071 1441, 1443, 0, 0, 0, 1445, 0, 0, 1447, 1449,
3072 1451, 1453, 0, 0, 0, 1455, 0, 0, 0, 0,
3073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3074 1457, 1459, 0, 0, 0, 0, 0, 0, 0, 0,
3075 0, 0, 0, 1461, 1463, 0, 0, 0, 0, 1465,
3076 1467, 1469, 1471, 1473, 0, 0, 0, 0, 0, 0,
3077 0, 1475, 0, 0, 0, 0, 0, 0, 0, 0,
3078 0, 1477, 0, 1479, 1481, 1483, 1485, 1487, 1489, 0,
3079 1491, 0, 0, 1493, 1495, 1497, 1499, 1501, 1503, 1505,
3080 1507, 1509, 1511, 1513, 1515, 1517, 1519, 1521, 1523, 1525,
3081 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0,
3082 0, 0, 0, 1529, 1531, 0, 0, 0, 1533, 0,
3083 0, 1535, 1537, 1539, 1541, 0, 0, 0, 1543, 0,
3084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3085 0, 0, 0, 1545, 1547, 0, 0, 0, 0, 0,
3086 0, 0, 0, 0, 0, 0, 1549, 1551, 0, 0,
3087 0, 0, 1553, 1555, 1557, 1559, 1561, 0, 0, 0,
3088 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0,
3089 0, 0, 0, 0, 1565, 0, 1567, 1569, 1571, 1573,
3090 1575, 1577, 0, 1579, 0, 0, 1581, 1583, 1585, 1587,
3091 1589, 1591, 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607,
3092 1609, 1611, 1613, 0, 0, 0, 0, 0, 0, 0,
3093 0, 1615, 0, 0, 0, 0, 1617, 1619, 0, 0,
3094 0, 1621, 0, 0, 1623, 1625, 1627, 1629, 0, 0,
3095 0, 1631, 0, 0, 0, 0, 0, 0, 0, 0,
3096 0, 0, 0, 0, 0, 0, 1633, 1635, 0, 0,
3097 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637,
3098 1639, 0, 0, 0, 0, 1641, 1643, 1645, 1647, 1649,
3099 0, 0, 0, 0, 0, 0, 0, 1651, 0, 0,
3100 0, 0, 0, 0, 0, 0, 0, 1653, 0, 1655,
3101 1657, 1659, 1661, 1663, 1665, 0, 1667, 0, 0, 1669,
3102 1671, 1673, 1675, 1677, 1679, 1681, 1683, 1685, 1687, 1689,
3103 1691, 1693, 1695, 1697, 1699, 1701, 0, 0, 0, 0,
3104 0, 0, 0, 0, 1703, 0, 0, 0, 0, 1705,
3105 1707, 0, 0, 0, 1709, 0, 0, 1711, 1713, 1715,
3106 1717, 0, 0, 0, 1719, 0, 0, 0, 0, 0,
3107 0, 0, 0, 0, 0, 0, 0, 0, 0, 1721,
3108 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3109 0, 0, 1725, 1727, 0, 0, 0, 0, 1729, 1731,
3110 1733, 1735, 1737, 0, 0, 0, 0, 0, 0, 0,
3111 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3112 1741, 0, 1743, 1745, 1747, 1749, 1751, 1753, 0, 1755,
3113 0, 0, 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771,
3114 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, 1789, 0,
3115 0, 0, 0, 0, 0, 0, 0, 1791, 0, 0,
3116 0, 0, 1793, 1795, 0, 0, 0, 1797, 0, 0,
3117 1799, 1801, 1803, 1805, 0, 0, 0, 1807, 0, 0,
3118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3119 0, 0, 1809, 1811, 0, 0, 0, 0, 0, 0,
3120 0, 0, 0, 0, 0, 1813, 1815, 0, 0, 0,
3121 0, 1817, 1819, 1821, 1823, 1825, 0, 0, 0, 0,
3122 0, 0, 0, 1827, 0, 0, 0, 0, 0, 0,
3123 0, 0, 0, 1829, 0, 1831, 1833, 1835, 1837, 1839,
3124 1841, 0, 1843, 0, 0, 1845, 1847, 1849, 1851, 1853,
3125 1855, 1857, 1859, 1861, 1863, 1865, 1867, 1869, 1871, 1873,
3126 1875, 1877, 0, 0, 0, 0, 0, 0, 0, 0,
3127 1879, 0, 0, 0, 0, 1881, 1883, 0, 0, 0,
3128 1885, 0, 0, 1887, 1889, 1891, 1893, 0, 0, 0,
3129 1895, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3130 0, 0, 0, 0, 0, 1897, 1899, 0, 0, 0,
3131 0, 0, 0, 0, 0, 0, 0, 0, 1901, 1903,
3132 0, 0, 0, 0, 1905, 1907, 1909, 1911, 1913, 0,
3133 0, 0, 0, 0, 0, 0, 1915, 0, 0, 0,
3134 0, 0, 0, 0, 0, 0, 1917, 0, 1919, 1921,
3135 1923, 1925, 1927, 1929, 0, 1931, 0, 0, 1933, 1935,
3136 1937, 1939, 1941, 1943, 1945, 1947, 1949, 1951, 1953, 1955,
3137 1957, 1959, 1961, 1963, 1965, 0, 0, 0, 0, 0,
3138 0, 0, 0, 1967, 0, 0, 0, 0, 1969, 1971,
3139 0, 0, 0, 1973, 0, 0, 1975, 1977, 1979, 1981,
3140 0, 0, 0, 1983, 0, 0, 0, 0, 0, 0,
3141 0, 0, 0, 0, 0, 0, 0, 0, 1985, 1987,
3142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3143 0, 1989, 1991, 0, 0, 0, 0, 1993, 1995, 1997,
3144 1999, 2001, 0, 0, 0, 0, 0, 0, 0, 2003,
3145 0, 0, 0, 0, 0, 0, 0, 0, 0, 2005,
3146 0, 2007, 2009, 2011, 2013, 2015, 2017, 0, 2019, 0,
3147 0, 2021, 2023, 2025, 2027, 2029, 2031, 2033, 2035, 2037,
3148 2039, 2041, 2043, 2045, 2047, 2049, 2051, 2053, 0, 0,
3149 0, 0, 0, 0, 0, 0, 2055, 0, 0, 0,
3150 0, 2057, 2059, 0, 0, 0, 2061, 0, 0, 2063,
3151 2065, 2067, 2069, 0, 0, 0, 2071, 0, 0, 0,
3152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3153 0, 2073, 2075, 0, 0, 0, 0, 0, 0, 0,
3154 0, 0, 0, 0, 2077, 2079, 0, 0, 0, 0,
3155 2081, 2083, 2085, 2087, 2089, 0, 0, 0, 0, 0,
3156 0, 0, 2091, 0, 0, 0, 0, 0, 0, 0,
3157 0, 0, 2093, 0, 2095, 2097, 2099, 2101, 2103, 2105,
3158 0, 2107, 0, 0, 2109, 2111, 2113, 2115, 2117, 2119,
3159 2121, 2123, 2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139,
3160 2141, 0, 0, 0, 0, 0, 0, 0, 0, 2143,
3161 0, 0, 0, 0, 2145, 2147, 0, 0, 0, 2149,
3162 0, 0, 2151, 2153, 2155, 2157, 0, 0, 0, 2159,
3163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3164 0, 0, 0, 0, 2161, 2163, 0, 0, 0, 0,
3165 0, 0, 0, 0, 0, 0, 0, 2165, 2167, 0,
3166 0, 0, 0, 2169, 2171, 2173, 2175, 2177, 0, 0,
3167 0, 0, 0, 0, 0, 2179, 0, 0, 0, 0,
3168 0, 0, 0, 0, 0, 2181, 0, 2183, 2185, 2187,
3169 2189, 2191, 2193, 0, 2195, 0, 0, 2197, 2199, 2201,
3170 2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2221,
3171 2223, 2225, 2227, 2229, 0, 0, 0, 0, 0, 0,
3172 0, 0, 2231, 0, 0, 0, 0, 2233, 2235, 0,
3173 0, 0, 2237, 0, 0, 2239, 2241, 2243, 2245, 0,
3174 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0,
3175 0, 0, 0, 0, 0, 0, 0, 2249, 2251, 0,
3176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3177 2253, 2255, 0, 0, 0, 0, 2257, 2259, 2261, 2263,
3178 2265, 0, 0, 0, 0, 0, 0, 0, 2267, 0,
3179 0, 0, 0, 0, 0, 0, 0, 0, 2269, 0,
3180 2271, 2273, 2275, 2277, 2279, 2281, 0, 2283, 0, 0,
3181 2285, 2287, 2289, 2291, 2293, 2295, 2297, 2299, 2301, 2303,
3182 2305, 2307, 2309, 2311, 2313, 2315, 2317, 0, 0, 0,
3183 0, 0, 0, 0, 0, 2319, 0, 0, 0, 0,
3184 2321, 2323, 0, 0, 0, 2325, 0, 0, 2327, 2329,
3185 2331, 2333, 0, 0, 0, 2335, 0, 0, 0, 0,
3186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3187 2337, 2339, 0, 0, 0, 0, 0, 0, 0, 0,
3188 0, 0, 0, 2341, 2343, 0, 0, 0, 0, 2345,
3189 2347, 2349, 2351, 2353, 0, 0, 0, 0, 0, 0,
3190 0, 2355, 0, 0, 0, 0, 0, 0, 0, 0,
3191 0, 2357, 0, 2359, 2361, 2363, 2365, 2367, 2369, 0,
3192 2371, 0, 0, 2373, 2375, 2377, 2379, 2381, 2383, 2385,
3193 2387, 2389, 2391, 2393, 2395, 2397, 2399, 2401, 2403, 2405,
3194 0, 0, 0, 0, 0, 0, 0, 0, 2407, 0,
3195 0, 0, 0, 2409, 2411, 0, 0, 0, 2413, 0,
3196 0, 2415, 2417, 2419, 2421, 0, 0, 0, 2423, 0,
3197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3198 0, 0, 0, 2425, 2427, 0, 0, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 2429, 2431, 0, 0,
3200 0, 0, 2433, 2435, 2437, 2439, 2441, 0, 0, 0,
3201 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0,
3202 0, 0, 0, 0, 2445, 0, 2447, 2449, 2451, 2453,
3203 2455, 2457, 0, 2459, 0, 0, 2461, 2463, 2465, 2467,
3204 2469, 2471, 2473, 2475, 2477, 2479, 2481, 2483, 2485, 2487,
3205 2489, 2491, 2493, 0, 0, 0, 0, 0, 0, 0,
3206 0, 2495, 0, 0, 0, 0, 2497, 2499, 0, 0,
3207 0, 2501, 0, 0, 2503, 2505, 2507, 2509, 0, 0,
3208 0, 2511, 0, 0, 0, 0, 0, 0, 0, 0,
3209 0, 0, 0, 0, 0, 0, 2513, 2515, 0, 0,
3210 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517,
3211 2519, 0, 0, 0, 0, 2521, 2523, 2525, 2527, 2529,
3212 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0,
3213 0, 0, 0, 0, 0, 0, 0, 2533, 0, 2535,
3214 2537, 2539, 2541, 2543, 2545, 0, 2547, 0, 0, 2549,
3215 2551, 2553, 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569,
3216 2571, 2573, 2575, 2577, 2579, 2581, 0, 0, 0, 0,
3217 0, 0, 0, 0, 2583, 0, 0, 0, 0, 2585,
3218 2587, 0, 0, 0, 2589, 0, 0, 2591, 2593, 2595,
3219 2597, 0, 0, 0, 2599, 0, 0, 0, 0, 0,
3220 0, 0, 0, 0, 0, 0, 0, 0, 0, 2601,
3221 2603, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3222 0, 0, 2605, 2607, 0, 0, 0, 0, 2609, 2611,
3223 2613, 2615, 2617, 0, 0, 0, 0, 0, 0, 0,
3224 2619, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3225 2621, 0, 2623, 2625, 2627, 2629, 2631, 2633, 0, 2635,
3226 0, 0, 2637, 2639, 2641, 2643, 2645, 2647, 2649, 2651,
3227 2653, 2655, 2657, 2659, 2661, 2663, 2665, 2667, 2669, 0,
3228 0, 0, 0, 0, 0, 0, 0, 2671, 0, 0,
3229 0, 0, 2673, 2675, 0, 0, 0, 2677, 0, 0,
3230 2679, 2681, 2683, 2685, 0, 0, 0, 2687, 0, 0,
3231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3232 0, 0, 2689, 2691, 0, 0, 0, 0, 0, 0,
3233 0, 0, 0, 0, 0, 2693, 2695, 0, 0, 0,
3234 0, 2697, 2699, 2701, 2703, 2705, 0, 0, 0, 0,
3235 0, 0, 0, 2707, 0, 0, 0, 0, 0, 0,
3236 0, 0, 0, 2709, 0, 2711, 2713, 2715, 2717, 2719,
3237 2721, 0, 2723, 0, 0, 2725, 2727, 2729, 2731, 2733,
3238 2735, 2737, 2739, 2741, 2743, 2745, 2747, 2749, 2751, 2753,
3239 2755, 2757, 0, 0, 0, 0, 0, 0, 0, 0,
3240 2759, 0, 0, 0, 0, 2761, 2763, 0, 0, 0,
3241 2765, 0, 0, 2767, 2769, 2771, 2773, 0, 0, 0,
3242 2775, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3243 0, 0, 0, 0, 0, 2777, 2779, 0, 0, 0,
3244 0, 0, 0, 0, 0, 0, 0, 0, 2781, 2783,
3245 0, 0, 0, 0, 2785, 2787, 2789, 2791, 2793, 0,
3246 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0,
3247 0, 0, 0, 0, 0, 0, 2797, 0, 2799, 2801,
3248 2803, 2805, 2807, 2809, 0, 2811, 0, 0, 2813, 2815,
3249 2817, 2819, 2821, 2823, 2825, 2827, 2829, 2831, 2833, 2835,
3250 2837, 2839, 2841, 2843, 2845, 0, 0, 0, 0, 0,
3251 0, 0, 0, 2847, 0, 0, 0, 0, 2849, 2851,
3252 0, 0, 0, 2853, 0, 0, 2855, 2857, 2859, 2861,
3253 0, 0, 0, 2863, 0, 0, 0, 0, 0, 0,
3254 0, 0, 0, 0, 0, 0, 0, 0, 2865, 2867,
3255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3256 0, 2869, 2871, 0, 0, 0, 0, 2873, 2875, 2877,
3257 2879, 2881, 0, 0, 0, 0, 0, 0, 0, 2883,
3258 0, 0, 0, 0, 0, 0, 0, 0, 0, 2885,
3259 0, 2887, 2889, 2891, 2893, 2895, 2897, 0, 2899, 0,
3260 0, 2901, 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917,
3261 2919, 2921, 2923, 2925, 2927, 2929, 2931, 2933, 0, 0,
3262 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0,
3263 0, 2937, 2939, 0, 0, 0, 2941, 0, 0, 2943,
3264 2945, 2947, 2949, 0, 0, 0, 2951, 0, 0, 0,
3265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3266 0, 2953, 2955, 0, 0, 0, 0, 0, 0, 0,
3267 0, 0, 0, 0, 2957, 2959, 0, 0, 0, 0,
3268 2961, 2963, 2965, 2967, 2969, 0, 0, 0, 0, 0,
3269 0, 0, 2971, 0, 0, 0, 0, 0, 0, 0,
3270 0, 0, 2973, 0, 2975, 2977, 2979, 2981, 2983, 2985,
3271 0, 2987, 0, 0, 2989, 2991, 2993, 2995, 2997, 2999,
3272 3001, 3003, 3005, 3007, 3009, 3011, 3013, 3015, 3017, 3019,
3273 3021, 0, 0, 0, 0, 0, 0, 0, 0, 3023,
3274 0, 0, 0, 0, 3025, 3027, 0, 0, 0, 3029,
3275 0, 0, 3031, 3033, 3035, 3037, 0, 0, 0, 3039,
3276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3277 0, 0, 0, 0, 3041, 3043, 0, 0, 0, 0,
3278 0, 0, 0, 0, 0, 0, 0, 3045, 3047, 0,
3279 0, 0, 0, 3049, 3051, 3053, 3055, 3057, 0, 0,
3280 0, 0, 0, 0, 0, 3059, 0, 0, 0, 0,
3281 0, 0, 0, 0, 0, 3061, 0, 3063, 3065, 3067,
3282 3069, 3071, 3073, 0, 3075, 0, 0, 3077, 3079, 3081,
3283 3083, 3085, 3087, 3089, 3091, 3093, 3095, 3097, 3099, 3101,
3284 3103, 3105, 3107, 3109, 0, 0, 0, 0, 0, 0,
3285 0, 0, 3111, 0, 0, 0, 0, 3113, 3115, 0,
3286 0, 0, 3117, 0, 0, 3119, 3121, 3123, 3125, 0,
3287 0, 0, 3127, 0, 0, 0, 0, 0, 0, 0,
3288 0, 0, 0, 0, 0, 0, 0, 3129, 3131, 0,
3289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3290 3133, 3135, 0, 0, 0, 0, 3137, 3139, 3141, 3143,
3291 3145, 0, 0, 0, 0, 0, 0, 0, 3147, 0,
3292 0, 0, 0, 0, 0, 0, 0, 0, 3149, 0,
3293 3151, 3153, 3155, 3157, 3159, 3161, 0, 3163, 0, 0,
3294 3165, 3167, 3169, 3171, 3173, 3175, 3177, 3179, 3181, 3183,
3295 3185, 3187, 3189, 3191, 3193, 3195, 0, 0, 0, 0,
3296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3306 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
3307 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
3308 0, 0, 0, 21, 23, 0, 0, 0, 25, 0,
3309 0, 0, 0, 0, 0, 27, 29, 31, 33, 35,
3310 37, 39, 41, 43, 45, 47, 49, 0, 51, 53,
3311 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
3312 75, 77, 79, 81, 83, 85, 0, 0, 0, 0,
3313 0, 87, 89, 91, 93, 95, 97, 0, 0, 0,
3314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3315 0, 0, 0, 99, 101, 0, 103, 105, 107, 109,
3316 111, 113, 0, 115, 0, 0, 117, 119, 121, 123,
3317 125, 127, 129, 131, 133, 135, 137, 139, 141, 143,
3318 145, 147, 0, 0, 0, 0, 0, 0, 0, 0,
3319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3529 0, 0, 0, 3227, 0, 0, 0, 0, 0, 0,
3530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3531 0, 0, 0, 0, 0, 0, 0, 3229
3534 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3535 0, pointed into by YYCONFLP. */
3536 static const short yyconfl
[] =
3538 0, 386, 0, 386, 0, 386, 0, 386, 0, 377,
3539 0, 377, 0, 400, 0, 461, 0, 615, 0, 615,
3540 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3541 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3542 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3543 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3544 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3545 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3546 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3547 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3548 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3549 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3550 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3551 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3552 0, 615, 0, 615, 0, 615, 0, 615, 0, 386,
3553 0, 386, 0, 386, 0, 386, 0, 400, 0, 43,
3554 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3555 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3556 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3557 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3558 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3559 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3560 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3561 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3562 0, 43, 0, 43, 0, 43, 0, 52, 0, 52,
3563 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3564 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3565 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3566 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3567 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3568 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3569 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3570 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3571 0, 52, 0, 52, 0, 616, 0, 616, 0, 616,
3572 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3573 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3574 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3575 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3576 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3577 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3578 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3579 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3580 0, 616, 0, 577, 615, 0, 577, 615, 0, 577,
3581 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3582 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3583 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3584 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3585 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3586 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3587 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3588 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3589 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3590 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3591 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3592 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3593 615, 0, 577, 615, 0, 615, 0, 62, 0, 62,
3594 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3595 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3596 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3597 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3598 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3599 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3600 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3601 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3602 0, 62, 0, 62, 0, 106, 0, 106, 0, 106,
3603 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3604 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3605 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3606 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3607 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3608 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3609 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3610 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3611 0, 106, 0, 107, 0, 107, 0, 107, 0, 107,
3612 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3613 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3614 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3615 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3616 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3617 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3618 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3619 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3620 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3621 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3622 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3623 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3624 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3625 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3626 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3627 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3628 0, 105, 0, 105, 0, 105, 0, 105, 0, 103,
3629 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3630 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3631 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3632 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3633 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3634 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3635 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3636 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3637 0, 103, 0, 103, 0, 103, 0, 104, 0, 104,
3638 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3639 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3640 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3641 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3642 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3643 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3644 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3645 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3646 0, 104, 0, 104, 0, 124, 0, 124, 0, 124,
3647 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3648 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3649 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3650 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3651 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3652 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3653 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3654 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3655 0, 124, 0, 126, 0, 126, 0, 126, 0, 126,
3656 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3657 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3658 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3659 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3660 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3661 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3662 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3663 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3664 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3665 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3666 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3667 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3668 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3669 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3670 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3671 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3672 0, 127, 0, 127, 0, 127, 0, 127, 0, 128,
3673 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3674 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3675 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3676 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3677 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3678 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3679 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3680 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3681 0, 128, 0, 128, 0, 128, 0, 129, 0, 129,
3682 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3683 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3684 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3685 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3686 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3687 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3688 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3689 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3690 0, 129, 0, 129, 0, 130, 0, 130, 0, 130,
3691 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3692 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3693 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3694 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3695 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3696 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3697 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3698 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3699 0, 130, 0, 131, 0, 131, 0, 131, 0, 131,
3700 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3701 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3702 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3703 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3704 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3705 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3706 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3707 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3708 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3709 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3710 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3711 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3712 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3713 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3714 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3715 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3716 0, 160, 0, 160, 0, 160, 0, 160, 0, 585,
3717 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3718 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3719 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3720 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3721 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3722 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3723 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3724 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3725 0, 585, 0, 585, 0, 585, 0, 584, 0, 584,
3726 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3727 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3728 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3729 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3730 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3731 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3732 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3733 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3734 0, 584, 0, 584, 0, 582, 0, 582, 0, 582,
3735 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3736 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3737 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3738 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3739 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3740 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3741 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3742 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3743 0, 582, 0, 580, 0, 580, 0, 580, 0, 580,
3744 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3745 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3746 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3747 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3748 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3749 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3750 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3751 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3752 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3753 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3754 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3755 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3756 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3757 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3758 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3759 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3760 0, 581, 0, 581, 0, 581, 0, 581, 0, 583,
3761 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3762 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3763 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3764 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3765 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3766 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3767 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3768 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3769 0, 583, 0, 583, 0, 583, 0, 579, 0, 579,
3770 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3771 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3772 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3773 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3774 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3775 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3776 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3777 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3778 0, 579, 0, 579, 0, 578, 0, 578, 0, 578,
3779 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3780 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3781 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3782 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3783 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3784 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3785 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3786 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3787 0, 578, 0, 586, 0, 586, 0, 586, 0, 586,
3788 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3789 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3790 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3791 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3792 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3793 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3794 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3795 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3796 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3797 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3798 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3799 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3800 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3801 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3802 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3803 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3804 0, 144, 0, 144, 0, 144, 0, 144, 0, 614,
3805 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3806 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3807 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3808 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3809 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3810 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3811 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3812 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3813 0, 614, 0, 614, 0, 614, 0, 612, 0, 612,
3814 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3815 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3816 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3817 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3818 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3819 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3820 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3821 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3822 0, 612, 0, 612, 0, 611, 0, 611, 0, 611,
3823 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3824 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3825 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3826 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3827 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3828 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3829 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3830 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3831 0, 611, 0, 613, 0, 613, 0, 613, 0, 613,
3832 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3833 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3834 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3835 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3836 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3837 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3838 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3839 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3840 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3841 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3842 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3843 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3844 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3845 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3846 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3847 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3848 0, 610, 0, 610, 0, 610, 0, 610, 0, 609,
3849 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3850 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3851 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3852 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3853 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3854 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3855 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3856 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3857 0, 609, 0, 609, 0, 609, 0, 504, 0, 504,
3858 0, 454, 0, 454, 0, 455, 0, 42, 0, 490,
3859 0, 490, 0, 490, 0, 616, 0, 386, 0, 565,
3860 0, 565, 0, 565, 0, 616, 0, 339, 0, 486,
3864 /* Error token number */
3871 #define yynerrs (yystackp->yyerrcnt)
3873 #define yychar (yystackp->yyrawchar)
3875 #define yylval (yystackp->yyval)
3877 #define yylloc (yystackp->yyloc)
3878 #define psi_parser_proc_nerrs yynerrs
3879 #define psi_parser_proc_char yychar
3880 #define psi_parser_proc_lval yylval
3881 #define psi_parser_proc_lloc yylloc
3883 static const int YYEOF
= 0;
3884 static const int YYEMPTY
= -2;
3886 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
3888 #define YYCHK(YYE) \
3890 YYRESULTTAG yychk_flag = YYE; \
3891 if (yychk_flag != yyok) \
3892 return yychk_flag; \
3898 # define YYFPRINTF fprintf
3901 /* This macro is provided for backward compatibility. */
3902 #ifndef YY_LOCATION_PRINT
3903 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3907 # define YYDPRINTF(Args) \
3914 /*----------------------------------------.
3915 | Print this symbol's value on YYOUTPUT. |
3916 `----------------------------------------*/
3919 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
3921 FILE *yyo
= yyoutput
;
3932 /*--------------------------------.
3933 | Print this symbol on YYOUTPUT. |
3934 `--------------------------------*/
3937 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
3939 YYFPRINTF (yyoutput
, "%s %s (",
3940 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
3942 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
3943 YYFPRINTF (yyoutput
, ")");
3946 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3950 YYFPRINTF (stderr, "%s ", Title); \
3951 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
3952 YYFPRINTF (stderr, "\n"); \
3956 /* Nonzero means print parse trace. It is left uninitialized so that
3957 multiple parsers can coexist. */
3961 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
3962 YY_ATTRIBUTE_UNUSED
;
3963 static void yypdumpstack (struct yyGLRStack
* yystackp
)
3964 YY_ATTRIBUTE_UNUSED
;
3966 #else /* !YYDEBUG */
3968 # define YYDPRINTF(Args)
3969 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3971 #endif /* !YYDEBUG */
3973 /* YYINITDEPTH -- initial size of the parser's stacks. */
3975 # define YYINITDEPTH 200
3978 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3979 if the built-in stack extension method is used).
3981 Do not make this value too large; the results are undefined if
3982 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
3983 evaluated with infinite-precision integer arithmetic. */
3986 # define YYMAXDEPTH 10000
3989 /* Minimum number of free items on the stack allowed after an
3990 allocation. This is to allow allocation and initialization
3991 to be completed by functions that call yyexpandGLRStack before the
3992 stack is expanded, thus insuring that all necessary pointers get
3993 properly redirected to new data. */
3994 #define YYHEADROOM 2
3996 #ifndef YYSTACKEXPANDABLE
3997 # define YYSTACKEXPANDABLE 1
4000 #if YYSTACKEXPANDABLE
4001 # define YY_RESERVE_GLRSTACK(Yystack) \
4003 if (Yystack->yyspaceLeft < YYHEADROOM) \
4004 yyexpandGLRStack (Yystack); \
4007 # define YY_RESERVE_GLRSTACK(Yystack) \
4009 if (Yystack->yyspaceLeft < YYHEADROOM) \
4010 yyMemoryExhausted (Yystack); \
4018 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4019 # define yystpcpy stpcpy
4021 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4024 yystpcpy (char *yydest
, const char *yysrc
)
4027 const char *yys
= yysrc
;
4029 while ((*yyd
++ = *yys
++) != '\0')
4038 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4039 quotes and backslashes, so that it's suitable for yyerror. The
4040 heuristic is that double-quoting is unnecessary unless the string
4041 contains an apostrophe, a comma, or backslash (other than
4042 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4043 null, do not copy; instead, return the length of what the result
4046 yytnamerr (char *yyres
, const char *yystr
)
4051 char const *yyp
= yystr
;
4058 goto do_not_strip_quotes
;
4062 goto do_not_strip_quotes
;
4075 do_not_strip_quotes
: ;
4079 return strlen (yystr
);
4081 return yystpcpy (yyres
, yystr
) - yyres
;
4085 #endif /* !YYERROR_VERBOSE */
4087 /** State numbers, as in LALR(1) machine */
4088 typedef int yyStateNum
;
4090 /** Rule numbers, as in LALR(1) machine */
4091 typedef int yyRuleNum
;
4093 /** Grammar symbol */
4094 typedef int yySymbol
;
4096 /** Item references, as in LALR(1) machine */
4097 typedef short yyItemNum
;
4099 typedef struct yyGLRState yyGLRState
;
4100 typedef struct yyGLRStateSet yyGLRStateSet
;
4101 typedef struct yySemanticOption yySemanticOption
;
4102 typedef union yyGLRStackItem yyGLRStackItem
;
4103 typedef struct yyGLRStack yyGLRStack
;
4106 /** Type tag: always true. */
4108 /** Type tag for yysemantics. If true, yysval applies, otherwise
4109 * yyfirstVal applies. */
4111 /** Number of corresponding LALR(1) machine state. */
4112 yyStateNum yylrState
;
4113 /** Preceding state in this stack */
4115 /** Source position of the last token produced by my symbol */
4118 /** First in a chain of alternative reductions producing the
4119 * non-terminal corresponding to this state, threaded through
4121 yySemanticOption
* yyfirstVal
;
4122 /** Semantic value for this state. */
4127 struct yyGLRStateSet
{
4128 yyGLRState
** yystates
;
4129 /** During nondeterministic operation, yylookaheadNeeds tracks which
4130 * stacks have actually needed the current lookahead. During deterministic
4131 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4132 * duplicate yychar != YYEMPTY. */
4133 yybool
* yylookaheadNeeds
;
4134 size_t yysize
, yycapacity
;
4137 struct yySemanticOption
{
4138 /** Type tag: always false. */
4140 /** Rule number for this reduction */
4142 /** The last RHS state in the list of states to be reduced. */
4143 yyGLRState
* yystate
;
4144 /** The lookahead for this reduction. */
4147 /** Next sibling in chain of options. To facilitate merging,
4148 * options are chained in decreasing order by address. */
4149 yySemanticOption
* yynext
;
4152 /** Type of the items in the GLR stack. The yyisState field
4153 * indicates which item of the union is valid. */
4154 union yyGLRStackItem
{
4156 yySemanticOption yyoption
;
4167 YYJMP_BUF yyexception_buffer
;
4168 yyGLRStackItem
* yyitems
;
4169 yyGLRStackItem
* yynextFree
;
4171 yyGLRState
* yysplitPoint
;
4172 yyGLRState
* yylastDeleted
;
4173 yyGLRStateSet yytops
;
4176 #if YYSTACKEXPANDABLE
4177 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
4180 static _Noreturn
void
4181 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
4183 if (yymsg
!= YY_NULLPTR
)
4184 yyerror (P
, tokens
, index
, yymsg
);
4185 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
4188 static _Noreturn
void
4189 yyMemoryExhausted (yyGLRStack
* yystackp
)
4191 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
4194 #if YYDEBUG || YYERROR_VERBOSE
4195 /** A printable representation of TOKEN. */
4196 static inline const char*
4197 yytokenName (yySymbol yytoken
)
4199 if (yytoken
== YYEMPTY
)
4202 return yytname
[yytoken
];
4206 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4207 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4208 * containing the pointer to the next state in the chain. */
4209 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
4211 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
4214 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
4215 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
4218 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
4220 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
4222 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
4224 /* The effect of using yysval or yyloc (in an immediate rule) is
4226 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
4227 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
4231 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4232 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4233 * For convenience, always return YYLOW1. */
4234 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
4235 YY_ATTRIBUTE_UNUSED
;
4237 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
4239 if (!yynormal
&& yylow1
< *yylow
)
4241 yyfillin (yyvsp
, *yylow
, yylow1
);
4247 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4248 * and top stack item YYVSP. YYLVALP points to place to put semantic
4249 * value ($$), and yylocp points to place for location information
4250 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4251 * yyerr for YYERROR, yyabort for YYABORT. */
4253 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
4254 yyGLRStack
* yystackp
,
4255 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4257 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
4265 # define yyerrok (yystackp->yyerrState = 0)
4267 # define YYACCEPT return yyaccept
4269 # define YYABORT return yyabort
4271 # define YYERROR return yyerrok, yyerr
4272 # undef YYRECOVERING
4273 # define YYRECOVERING() (yystackp->yyerrState != 0)
4275 # define yyclearin (yychar = YYEMPTY)
4277 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
4279 # define YYBACKUP(Token, Value) \
4280 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4285 *yyvalp
= yyval_default
;
4287 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
4291 #line 452 "src/parser_proc_grammar.y" /* glr.c:817 */
4293 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4294 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
4295 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4298 #line 4299 "src/parser_proc.c" /* glr.c:817 */
4302 #line 458 "src/parser_proc_grammar.y" /* glr.c:817 */
4304 char *libname
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4305 P
->file
.libnames
= psi_plist_add(P
->file
.libnames
, &libname
);
4307 #line 4308 "src/parser_proc.c" /* glr.c:817 */
4311 #line 462 "src/parser_proc_grammar.y" /* glr.c:817 */
4313 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4315 #line 4316 "src/parser_proc.c" /* glr.c:817 */
4319 #line 465 "src/parser_proc_grammar.y" /* glr.c:817 */
4321 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4323 #line 4324 "src/parser_proc.c" /* glr.c:817 */
4327 #line 468 "src/parser_proc_grammar.y" /* glr.c:817 */
4329 psi_parser_proc_add_decl_extvars(P
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4331 #line 4332 "src/parser_proc.c" /* glr.c:817 */
4335 #line 471 "src/parser_proc_grammar.y" /* glr.c:817 */
4337 if (P
->flags
& PSI_DEBUG
) {
4338 P
->error(PSI_DATA(P
), (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
, PSI_NOTICE
, "Ignored decl: %s", (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
);
4340 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4342 #line 4343 "src/parser_proc.c" /* glr.c:817 */
4346 #line 477 "src/parser_proc_grammar.y" /* glr.c:817 */
4348 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4350 #line 4351 "src/parser_proc.c" /* glr.c:817 */
4354 #line 480 "src/parser_proc_grammar.y" /* glr.c:817 */
4356 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4358 #line 4359 "src/parser_proc.c" /* glr.c:817 */
4362 #line 483 "src/parser_proc_grammar.y" /* glr.c:817 */
4364 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4366 #line 4367 "src/parser_proc.c" /* glr.c:817 */
4370 #line 486 "src/parser_proc_grammar.y" /* glr.c:817 */
4372 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4374 #line 4375 "src/parser_proc.c" /* glr.c:817 */
4378 #line 489 "src/parser_proc_grammar.y" /* glr.c:817 */
4380 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4382 #line 4383 "src/parser_proc.c" /* glr.c:817 */
4386 #line 495 "src/parser_proc_grammar.y" /* glr.c:817 */
4388 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4390 #line 4391 "src/parser_proc.c" /* glr.c:817 */
4394 #line 501 "src/parser_proc_grammar.y" /* glr.c:817 */
4396 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4398 #line 4399 "src/parser_proc.c" /* glr.c:817 */
4402 #line 504 "src/parser_proc_grammar.y" /* glr.c:817 */
4404 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4406 #line 4407 "src/parser_proc.c" /* glr.c:817 */
4410 #line 510 "src/parser_proc_grammar.y" /* glr.c:817 */
4412 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4413 struct psi_token
*msg
= NULL
;
4415 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
4417 struct psi_token
*next
;
4419 msg
= psi_token_copy(msg
);
4420 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
4421 struct psi_token
*old
= msg
;
4422 msg
= psi_token_cat(" ", 2, msg
, next
);
4426 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4428 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
4430 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4432 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4434 #line 4435 "src/parser_proc.c" /* glr.c:817 */
4438 #line 533 "src/parser_proc_grammar.y" /* glr.c:817 */
4440 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4441 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4443 #line 4444 "src/parser_proc.c" /* glr.c:817 */
4447 #line 537 "src/parser_proc_grammar.y" /* glr.c:817 */
4449 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4450 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4452 #line 4453 "src/parser_proc.c" /* glr.c:817 */
4456 #line 541 "src/parser_proc_grammar.y" /* glr.c:817 */
4458 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4459 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4460 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4462 #line 4463 "src/parser_proc.c" /* glr.c:817 */
4466 #line 546 "src/parser_proc_grammar.y" /* glr.c:817 */
4468 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_cpp_macro_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4469 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4471 #line 4472 "src/parser_proc.c" /* glr.c:817 */
4475 #line 550 "src/parser_proc_grammar.y" /* glr.c:817 */
4477 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4478 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4480 #line 4481 "src/parser_proc.c" /* glr.c:817 */
4484 #line 554 "src/parser_proc_grammar.y" /* glr.c:817 */
4486 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4487 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4489 #line 4490 "src/parser_proc.c" /* glr.c:817 */
4493 #line 558 "src/parser_proc_grammar.y" /* glr.c:817 */
4495 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4496 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4498 #line 4499 "src/parser_proc.c" /* glr.c:817 */
4502 #line 602 "src/parser_proc_grammar.y" /* glr.c:817 */
4504 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4505 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
4506 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4508 #line 4509 "src/parser_proc.c" /* glr.c:817 */
4512 #line 607 "src/parser_proc_grammar.y" /* glr.c:817 */
4514 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4515 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
4516 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4518 #line 4519 "src/parser_proc.c" /* glr.c:817 */
4522 #line 612 "src/parser_proc_grammar.y" /* glr.c:817 */
4524 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4525 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, psi_num_exp_tokens((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4526 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4528 #line 4529 "src/parser_proc.c" /* glr.c:817 */
4532 #line 617 "src/parser_proc_grammar.y" /* glr.c:817 */
4534 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_token_free
);
4535 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4536 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, psi_plist_add(list
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))), NULL
);
4537 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4539 #line 4540 "src/parser_proc.c" /* glr.c:817 */
4543 #line 626 "src/parser_proc_grammar.y" /* glr.c:817 */
4545 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
4547 #line 4548 "src/parser_proc.c" /* glr.c:817 */
4551 #line 629 "src/parser_proc_grammar.y" /* glr.c:817 */
4553 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
4555 #line 4556 "src/parser_proc.c" /* glr.c:817 */
4559 #line 633 "src/parser_proc_grammar.y" /* glr.c:817 */
4561 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4563 #line 4564 "src/parser_proc.c" /* glr.c:817 */
4567 #line 639 "src/parser_proc_grammar.y" /* glr.c:817 */
4569 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4570 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4571 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_token_free
), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4573 #line 4574 "src/parser_proc.c" /* glr.c:817 */
4577 #line 644 "src/parser_proc_grammar.y" /* glr.c:817 */
4579 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4580 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4581 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4583 #line 4584 "src/parser_proc.c" /* glr.c:817 */
4587 #line 652 "src/parser_proc_grammar.y" /* glr.c:817 */
4589 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4591 #line 4592 "src/parser_proc.c" /* glr.c:817 */
4595 #line 659 "src/parser_proc_grammar.y" /* glr.c:817 */
4597 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4598 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_token_free
), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4600 #line 4601 "src/parser_proc.c" /* glr.c:817 */
4604 #line 663 "src/parser_proc_grammar.y" /* glr.c:817 */
4606 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4607 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4609 #line 4610 "src/parser_proc.c" /* glr.c:817 */
4613 #line 670 "src/parser_proc_grammar.y" /* glr.c:817 */
4615 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_unary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4616 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4618 #line 4619 "src/parser_proc.c" /* glr.c:817 */
4622 #line 674 "src/parser_proc_grammar.y" /* glr.c:817 */
4624 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_unary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4625 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4627 #line 4628 "src/parser_proc.c" /* glr.c:817 */
4631 #line 678 "src/parser_proc_grammar.y" /* glr.c:817 */
4633 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_binary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4634 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4636 #line 4637 "src/parser_proc.c" /* glr.c:817 */
4640 #line 682 "src/parser_proc_grammar.y" /* glr.c:817 */
4642 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_ternary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4643 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4645 #line 4646 "src/parser_proc.c" /* glr.c:817 */
4649 #line 687 "src/parser_proc_grammar.y" /* glr.c:817 */
4654 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4655 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4656 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
4657 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4658 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4661 #line 4662 "src/parser_proc.c" /* glr.c:817 */
4665 #line 698 "src/parser_proc_grammar.y" /* glr.c:817 */
4670 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4671 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4672 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
4673 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4674 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4677 #line 4678 "src/parser_proc.c" /* glr.c:817 */
4681 #line 709 "src/parser_proc_grammar.y" /* glr.c:817 */
4683 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->flags
));
4684 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4685 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4687 #line 4688 "src/parser_proc.c" /* glr.c:817 */
4691 #line 714 "src/parser_proc_grammar.y" /* glr.c:817 */
4693 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0));
4694 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4695 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4697 #line 4698 "src/parser_proc.c" /* glr.c:817 */
4701 #line 719 "src/parser_proc_grammar.y" /* glr.c:817 */
4703 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4704 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4706 #line 4707 "src/parser_proc.c" /* glr.c:817 */
4710 #line 723 "src/parser_proc_grammar.y" /* glr.c:817 */
4712 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4713 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINE
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0));
4714 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4715 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4717 #line 4718 "src/parser_proc.c" /* glr.c:817 */
4721 #line 729 "src/parser_proc_grammar.y" /* glr.c:817 */
4723 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4724 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
4725 psi_cpp_macro_call_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 0));
4726 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4727 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4729 #line 4730 "src/parser_proc.c" /* glr.c:817 */
4733 #line 739 "src/parser_proc_grammar.y" /* glr.c:817 */
4735 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4737 #line 4738 "src/parser_proc.c" /* glr.c:817 */
4741 #line 746 "src/parser_proc_grammar.y" /* glr.c:817 */
4743 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
4744 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4746 #line 4747 "src/parser_proc.c" /* glr.c:817 */
4750 #line 750 "src/parser_proc_grammar.y" /* glr.c:817 */
4752 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4754 #line 4755 "src/parser_proc.c" /* glr.c:817 */
4758 #line 756 "src/parser_proc_grammar.y" /* glr.c:817 */
4760 (*(struct psi_const
**)(&(*yyvalp
))) = psi_const_init((*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_impl_def_val
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4761 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4763 #line 4764 "src/parser_proc.c" /* glr.c:817 */
4767 #line 763 "src/parser_proc_grammar.y" /* glr.c:817 */
4769 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4770 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4772 #line 4773 "src/parser_proc.c" /* glr.c:817 */
4776 #line 767 "src/parser_proc_grammar.y" /* glr.c:817 */
4778 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_NUMBER
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4779 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4781 #line 4782 "src/parser_proc.c" /* glr.c:817 */
4785 #line 771 "src/parser_proc_grammar.y" /* glr.c:817 */
4787 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4788 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4790 #line 4791 "src/parser_proc.c" /* glr.c:817 */
4794 #line 784 "src/parser_proc_grammar.y" /* glr.c:817 */
4796 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4798 #line 4799 "src/parser_proc.c" /* glr.c:817 */
4802 #line 798 "src/parser_proc_grammar.y" /* glr.c:817 */
4804 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4806 #line 4807 "src/parser_proc.c" /* glr.c:817 */
4810 #line 804 "src/parser_proc_grammar.y" /* glr.c:817 */
4812 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4814 #line 4815 "src/parser_proc.c" /* glr.c:817 */
4818 #line 807 "src/parser_proc_grammar.y" /* glr.c:817 */
4820 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4822 #line 4823 "src/parser_proc.c" /* glr.c:817 */
4826 #line 813 "src/parser_proc_grammar.y" /* glr.c:817 */
4828 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4830 #line 4831 "src/parser_proc.c" /* glr.c:817 */
4834 #line 816 "src/parser_proc_grammar.y" /* glr.c:817 */
4836 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4838 #line 4839 "src/parser_proc.c" /* glr.c:817 */
4842 #line 823 "src/parser_proc_grammar.y" /* glr.c:817 */
4844 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4845 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
4846 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
4848 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
4849 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4851 #line 4852 "src/parser_proc.c" /* glr.c:817 */
4855 #line 831 "src/parser_proc_grammar.y" /* glr.c:817 */
4857 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4858 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4859 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
4860 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4862 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4863 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
4864 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4865 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4867 #line 4868 "src/parser_proc.c" /* glr.c:817 */
4871 #line 842 "src/parser_proc_grammar.y" /* glr.c:817 */
4873 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4874 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4875 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
= psi_decl_struct_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4876 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4877 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
4878 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
4879 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
4881 #line 4882 "src/parser_proc.c" /* glr.c:817 */
4885 #line 851 "src/parser_proc_grammar.y" /* glr.c:817 */
4887 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4888 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4889 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
= psi_decl_union_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4890 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4891 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
4892 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
4893 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
4895 #line 4896 "src/parser_proc.c" /* glr.c:817 */
4899 #line 864 "src/parser_proc_grammar.y" /* glr.c:817 */
4901 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(NULL
, 0, 0));
4902 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4904 #line 4905 "src/parser_proc.c" /* glr.c:817 */
4908 #line 868 "src/parser_proc_grammar.y" /* glr.c:817 */
4910 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4911 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
4912 psi_decl_var_init(NULL
, 0, 0)
4914 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4915 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4916 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4917 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4919 #line 4920 "src/parser_proc.c" /* glr.c:817 */
4923 #line 878 "src/parser_proc_grammar.y" /* glr.c:817 */
4925 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
), psi_decl_var_init(NULL
, 0, 0));
4926 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4927 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
= psi_decl_struct_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4928 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4929 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4930 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4931 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
4933 #line 4934 "src/parser_proc.c" /* glr.c:817 */
4937 #line 887 "src/parser_proc_grammar.y" /* glr.c:817 */
4939 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
), psi_decl_var_init(NULL
, 0, 0));
4940 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4941 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
= psi_decl_union_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4942 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4943 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4944 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4945 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
4947 #line 4948 "src/parser_proc.c" /* glr.c:817 */
4951 #line 900 "src/parser_proc_grammar.y" /* glr.c:817 */
4953 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4955 #line 4956 "src/parser_proc.c" /* glr.c:817 */
4959 #line 903 "src/parser_proc_grammar.y" /* glr.c:817 */
4961 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4963 #line 4964 "src/parser_proc.c" /* glr.c:817 */
4967 #line 914 "src/parser_proc_grammar.y" /* glr.c:817 */
4969 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4970 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4972 #line 4973 "src/parser_proc.c" /* glr.c:817 */
4976 #line 922 "src/parser_proc_grammar.y" /* glr.c:817 */
4978 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4979 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4980 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4982 #line 4983 "src/parser_proc.c" /* glr.c:817 */
4986 #line 927 "src/parser_proc_grammar.y" /* glr.c:817 */
4988 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4989 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4990 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4992 #line 4993 "src/parser_proc.c" /* glr.c:817 */
4996 #line 932 "src/parser_proc_grammar.y" /* glr.c:817 */
4998 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4999 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
5000 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5002 #line 5003 "src/parser_proc.c" /* glr.c:817 */
5006 #line 942 "src/parser_proc_grammar.y" /* glr.c:817 */
5008 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5010 #line 5011 "src/parser_proc.c" /* glr.c:817 */
5014 #line 945 "src/parser_proc_grammar.y" /* glr.c:817 */
5016 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5018 #line 5019 "src/parser_proc.c" /* glr.c:817 */
5022 #line 951 "src/parser_proc_grammar.y" /* glr.c:817 */
5024 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5026 #line 5027 "src/parser_proc.c" /* glr.c:817 */
5030 #line 954 "src/parser_proc_grammar.y" /* glr.c:817 */
5032 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5034 #line 5035 "src/parser_proc.c" /* glr.c:817 */
5038 #line 957 "src/parser_proc_grammar.y" /* glr.c:817 */
5040 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5042 #line 5043 "src/parser_proc.c" /* glr.c:817 */
5046 #line 968 "src/parser_proc_grammar.y" /* glr.c:817 */
5048 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5050 #line 5051 "src/parser_proc.c" /* glr.c:817 */
5054 #line 971 "src/parser_proc_grammar.y" /* glr.c:817 */
5056 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5058 #line 5059 "src/parser_proc.c" /* glr.c:817 */
5062 #line 974 "src/parser_proc_grammar.y" /* glr.c:817 */
5064 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5066 #line 5067 "src/parser_proc.c" /* glr.c:817 */
5070 #line 980 "src/parser_proc_grammar.y" /* glr.c:817 */
5072 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5074 #line 5075 "src/parser_proc.c" /* glr.c:817 */
5078 #line 983 "src/parser_proc_grammar.y" /* glr.c:817 */
5080 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5082 #line 5083 "src/parser_proc.c" /* glr.c:817 */
5086 #line 986 "src/parser_proc_grammar.y" /* glr.c:817 */
5088 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5089 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5090 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5092 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5095 #line 5096 "src/parser_proc.c" /* glr.c:817 */
5099 #line 994 "src/parser_proc_grammar.y" /* glr.c:817 */
5101 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5102 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5103 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5104 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5106 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5109 #line 5110 "src/parser_proc.c" /* glr.c:817 */
5113 #line 1006 "src/parser_proc_grammar.y" /* glr.c:817 */
5115 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5117 #line 5118 "src/parser_proc.c" /* glr.c:817 */
5121 #line 1009 "src/parser_proc_grammar.y" /* glr.c:817 */
5123 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5125 #line 5126 "src/parser_proc.c" /* glr.c:817 */
5129 #line 1012 "src/parser_proc_grammar.y" /* glr.c:817 */
5131 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5133 #line 5134 "src/parser_proc.c" /* glr.c:817 */
5137 #line 1015 "src/parser_proc_grammar.y" /* glr.c:817 */
5139 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5140 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5142 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5145 #line 5146 "src/parser_proc.c" /* glr.c:817 */
5149 #line 1022 "src/parser_proc_grammar.y" /* glr.c:817 */
5151 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5153 #line 5154 "src/parser_proc.c" /* glr.c:817 */
5157 #line 1025 "src/parser_proc_grammar.y" /* glr.c:817 */
5159 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5160 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5162 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5165 #line 5166 "src/parser_proc.c" /* glr.c:817 */
5169 #line 1035 "src/parser_proc_grammar.y" /* glr.c:817 */
5171 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5173 #line 5174 "src/parser_proc.c" /* glr.c:817 */
5177 #line 1041 "src/parser_proc_grammar.y" /* glr.c:817 */
5179 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5181 #line 5182 "src/parser_proc.c" /* glr.c:817 */
5185 #line 1050 "src/parser_proc_grammar.y" /* glr.c:817 */
5187 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5189 #line 5190 "src/parser_proc.c" /* glr.c:817 */
5193 #line 1053 "src/parser_proc_grammar.y" /* glr.c:817 */
5195 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5197 #line 5198 "src/parser_proc.c" /* glr.c:817 */
5201 #line 1056 "src/parser_proc_grammar.y" /* glr.c:817 */
5203 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5204 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5205 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5207 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5210 #line 5211 "src/parser_proc.c" /* glr.c:817 */
5214 #line 1067 "src/parser_proc_grammar.y" /* glr.c:817 */
5216 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5217 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5218 (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->redir
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5219 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5222 #line 5223 "src/parser_proc.c" /* glr.c:817 */
5226 #line 1074 "src/parser_proc_grammar.y" /* glr.c:817 */
5228 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5229 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5230 (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->redir
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5231 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5234 #line 5235 "src/parser_proc.c" /* glr.c:817 */
5238 #line 1084 "src/parser_proc_grammar.y" /* glr.c:817 */
5240 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5242 #line 5243 "src/parser_proc.c" /* glr.c:817 */
5246 #line 1087 "src/parser_proc_grammar.y" /* glr.c:817 */
5248 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5250 #line 5251 "src/parser_proc.c" /* glr.c:817 */
5254 #line 1093 "src/parser_proc_grammar.y" /* glr.c:817 */
5256 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5258 #line 5259 "src/parser_proc.c" /* glr.c:817 */
5262 #line 1096 "src/parser_proc_grammar.y" /* glr.c:817 */
5264 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat("", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5265 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5267 #line 5268 "src/parser_proc.c" /* glr.c:817 */
5271 #line 1103 "src/parser_proc_grammar.y" /* glr.c:817 */
5273 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
5275 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5277 struct psi_decl_var
*var
;
5279 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &var
)) {
5280 if (psi_decl_extvar_is_blacklisted(var
->name
)) {
5281 psi_decl_var_free(&var
);
5283 struct psi_decl_extvar
*evar
= psi_decl_extvar_init(
5284 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
), var
));
5285 list
= psi_plist_add(list
, &evar
);
5288 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5291 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->var
->name
)) {
5292 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5294 struct psi_decl_extvar
*evar
= psi_decl_extvar_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5295 list
= psi_plist_add(list
, &evar
);
5298 (*(struct psi_plist
**)(&(*yyvalp
))) = list
;
5300 #line 5301 "src/parser_proc.c" /* glr.c:817 */
5304 #line 1134 "src/parser_proc_grammar.y" /* glr.c:817 */
5306 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5308 #line 5309 "src/parser_proc.c" /* glr.c:817 */
5312 #line 1137 "src/parser_proc_grammar.y" /* glr.c:817 */
5314 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5316 #line 5317 "src/parser_proc.c" /* glr.c:817 */
5320 #line 1143 "src/parser_proc_grammar.y" /* glr.c:817 */
5322 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_var_free
), &(*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5324 #line 5325 "src/parser_proc.c" /* glr.c:817 */
5328 #line 1146 "src/parser_proc_grammar.y" /* glr.c:817 */
5330 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5332 #line 5333 "src/parser_proc.c" /* glr.c:817 */
5336 #line 1152 "src/parser_proc_grammar.y" /* glr.c:817 */
5338 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5340 #line 5341 "src/parser_proc.c" /* glr.c:817 */
5344 #line 1182 "src/parser_proc_grammar.y" /* glr.c:817 */
5346 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5347 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5349 #line 5350 "src/parser_proc.c" /* glr.c:817 */
5353 #line 1194 "src/parser_proc_grammar.y" /* glr.c:817 */
5355 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5356 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5357 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5358 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5361 #line 5362 "src/parser_proc.c" /* glr.c:817 */
5365 #line 1201 "src/parser_proc_grammar.y" /* glr.c:817 */
5367 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5368 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5369 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5370 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5371 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5374 #line 5375 "src/parser_proc.c" /* glr.c:817 */
5378 #line 1212 "src/parser_proc_grammar.y" /* glr.c:817 */
5380 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5381 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5382 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5383 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5386 #line 5387 "src/parser_proc.c" /* glr.c:817 */
5390 #line 1219 "src/parser_proc_grammar.y" /* glr.c:817 */
5392 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5393 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5394 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5395 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5396 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5399 #line 5400 "src/parser_proc.c" /* glr.c:817 */
5403 #line 1227 "src/parser_proc_grammar.y" /* glr.c:817 */
5405 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
));
5406 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5408 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))), 1, "rval");
5409 struct psi_decl_arg
*rval_func
= psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-12)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(type_token
->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)), 0));
5410 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5412 rval_func
->var
->token
= psi_token_copy(type_token
);
5413 rval_func
->token
= psi_token_copy(type_token
);
5414 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5415 rval_func
->var
->pointer_level
+= 1;
5416 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5419 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5420 struct psi_decl_arg
*func
= psi_decl_arg_init(type
, psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))->text
, 1, 0));
5422 type
->real
.func
= rval_decl
;
5423 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5424 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5426 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5428 #line 5429 "src/parser_proc.c" /* glr.c:817 */
5432 #line 1251 "src/parser_proc_grammar.y" /* glr.c:817 */
5434 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-12)].yystate
.yysemantics
.yysval
));
5435 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
));
5436 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5438 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))), 1, "rval");
5439 struct psi_decl_arg
*rval_func
= psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-15)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(type_token
->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-14)].yystate
.yysemantics
.yysval
)), 0));
5440 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5442 rval_func
->var
->token
= psi_token_copy(type_token
);
5443 rval_func
->token
= psi_token_copy(type_token
);
5444 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5445 rval_func
->var
->pointer_level
+= 1;
5446 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5449 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5450 struct psi_decl_arg
*func
= psi_decl_arg_init(type
, psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))->text
, 1, 0));
5452 type
->real
.func
= rval_decl
;
5453 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5454 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5456 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5458 #line 5459 "src/parser_proc.c" /* glr.c:817 */
5462 #line 1279 "src/parser_proc_grammar.y" /* glr.c:817 */
5464 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5465 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5466 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5467 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5470 #line 5471 "src/parser_proc.c" /* glr.c:817 */
5474 #line 1286 "src/parser_proc_grammar.y" /* glr.c:817 */
5476 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5477 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5478 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5479 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5480 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5483 #line 5484 "src/parser_proc.c" /* glr.c:817 */
5487 #line 1297 "src/parser_proc_grammar.y" /* glr.c:817 */
5489 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5490 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5491 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)), psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), 0));
5492 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5493 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5495 #line 5496 "src/parser_proc.c" /* glr.c:817 */
5499 #line 1343 "src/parser_proc_grammar.y" /* glr.c:817 */
5501 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5502 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), 0));
5503 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5504 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5506 #line 5507 "src/parser_proc.c" /* glr.c:817 */
5510 #line 1399 "src/parser_proc_grammar.y" /* glr.c:817 */
5512 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5514 #line 5515 "src/parser_proc.c" /* glr.c:817 */
5518 #line 1402 "src/parser_proc_grammar.y" /* glr.c:817 */
5520 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5522 #line 5523 "src/parser_proc.c" /* glr.c:817 */
5526 #line 1405 "src/parser_proc_grammar.y" /* glr.c:817 */
5528 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5530 #line 5531 "src/parser_proc.c" /* glr.c:817 */
5534 #line 1411 "src/parser_proc_grammar.y" /* glr.c:817 */
5536 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5538 #line 5539 "src/parser_proc.c" /* glr.c:817 */
5542 #line 1414 "src/parser_proc_grammar.y" /* glr.c:817 */
5544 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5546 #line 5547 "src/parser_proc.c" /* glr.c:817 */
5550 #line 1420 "src/parser_proc_grammar.y" /* glr.c:817 */
5553 struct psi_token
*name
;
5555 psi_token_hash((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
, digest
);
5556 name
= psi_token_append("@", psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
), 2, "funct", digest
);
5558 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5559 psi_decl_type_init(PSI_T_FUNCTION
, name
->text
),
5560 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5562 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= name
;
5563 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5564 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5566 #line 5567 "src/parser_proc.c" /* glr.c:817 */
5570 #line 1435 "src/parser_proc_grammar.y" /* glr.c:817 */
5572 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5574 #line 5575 "src/parser_proc.c" /* glr.c:817 */
5578 #line 1438 "src/parser_proc_grammar.y" /* glr.c:817 */
5580 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5581 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
5582 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
5585 #line 5586 "src/parser_proc.c" /* glr.c:817 */
5589 #line 1467 "src/parser_proc_grammar.y" /* glr.c:817 */
5591 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5592 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5593 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5595 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5596 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5598 #line 5599 "src/parser_proc.c" /* glr.c:817 */
5602 #line 1475 "src/parser_proc_grammar.y" /* glr.c:817 */
5604 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5606 #line 5607 "src/parser_proc.c" /* glr.c:817 */
5610 #line 1503 "src/parser_proc_grammar.y" /* glr.c:817 */
5612 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5613 (*(struct psi_decl_var
**)(&(*yyvalp
))) = psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)) + !! (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5614 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5616 #line 5617 "src/parser_proc.c" /* glr.c:817 */
5620 #line 1508 "src/parser_proc_grammar.y" /* glr.c:817 */
5622 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5623 (*(struct psi_decl_var
**)(&(*yyvalp
))) = psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, !! (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5624 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5626 #line 5627 "src/parser_proc.c" /* glr.c:817 */
5630 #line 1516 "src/parser_proc_grammar.y" /* glr.c:817 */
5632 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5633 (*(struct psi_decl_union
**)(&(*yyvalp
))) = psi_decl_union_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5634 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5635 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5636 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5638 #line 5639 "src/parser_proc.c" /* glr.c:817 */
5642 #line 1526 "src/parser_proc_grammar.y" /* glr.c:817 */
5644 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5645 (*(struct psi_decl_struct
**)(&(*yyvalp
))) = psi_decl_struct_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5646 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5647 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5648 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5650 #line 5651 "src/parser_proc.c" /* glr.c:817 */
5654 #line 1536 "src/parser_proc_grammar.y" /* glr.c:817 */
5656 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5658 #line 5659 "src/parser_proc.c" /* glr.c:817 */
5662 #line 1543 "src/parser_proc_grammar.y" /* glr.c:817 */
5664 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5666 #line 5667 "src/parser_proc.c" /* glr.c:817 */
5670 #line 1549 "src/parser_proc_grammar.y" /* glr.c:817 */
5672 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5673 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5674 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5676 struct psi_decl_arg
*arg
;
5678 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5679 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5680 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5682 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5685 #line 5686 "src/parser_proc.c" /* glr.c:817 */
5689 #line 1563 "src/parser_proc_grammar.y" /* glr.c:817 */
5691 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5692 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5693 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5695 struct psi_decl_arg
*arg
;
5697 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5698 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5699 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5701 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5704 #line 5705 "src/parser_proc.c" /* glr.c:817 */
5708 #line 1580 "src/parser_proc_grammar.y" /* glr.c:817 */
5710 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5712 #line 5713 "src/parser_proc.c" /* glr.c:817 */
5716 #line 1583 "src/parser_proc_grammar.y" /* glr.c:817 */
5718 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5720 #line 5721 "src/parser_proc.c" /* glr.c:817 */
5724 #line 1589 "src/parser_proc_grammar.y" /* glr.c:817 */
5727 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5728 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5729 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
5732 #line 5733 "src/parser_proc.c" /* glr.c:817 */
5736 #line 1596 "src/parser_proc_grammar.y" /* glr.c:817 */
5739 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5740 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5741 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
5744 #line 5745 "src/parser_proc.c" /* glr.c:817 */
5748 #line 1606 "src/parser_proc_grammar.y" /* glr.c:817 */
5750 (*(struct psi_decl_enum
**)(&(*yyvalp
))) = psi_decl_enum_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5751 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
5753 #line 5754 "src/parser_proc.c" /* glr.c:817 */
5757 #line 1613 "src/parser_proc_grammar.y" /* glr.c:817 */
5759 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_enum_item_free
), &(*(struct psi_decl_enum_item
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5761 #line 5762 "src/parser_proc.c" /* glr.c:817 */
5765 #line 1616 "src/parser_proc_grammar.y" /* glr.c:817 */
5767 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_enum_item
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5769 #line 5770 "src/parser_proc.c" /* glr.c:817 */
5773 #line 1622 "src/parser_proc_grammar.y" /* glr.c:817 */
5775 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5776 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
5777 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5779 #line 5780 "src/parser_proc.c" /* glr.c:817 */
5783 #line 1627 "src/parser_proc_grammar.y" /* glr.c:817 */
5785 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5786 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5787 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5789 #line 5790 "src/parser_proc.c" /* glr.c:817 */
5793 #line 1635 "src/parser_proc_grammar.y" /* glr.c:817 */
5795 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5796 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5798 #line 5799 "src/parser_proc.c" /* glr.c:817 */
5802 #line 1639 "src/parser_proc_grammar.y" /* glr.c:817 */
5804 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_cast((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5805 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
5807 #line 5808 "src/parser_proc.c" /* glr.c:817 */
5811 #line 1643 "src/parser_proc_grammar.y" /* glr.c:817 */
5813 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_unary(PSI_T_LPAREN
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5814 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5816 #line 5817 "src/parser_proc.c" /* glr.c:817 */
5820 #line 1647 "src/parser_proc_grammar.y" /* glr.c:817 */
5822 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_binary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5823 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5825 #line 5826 "src/parser_proc.c" /* glr.c:817 */
5829 #line 1651 "src/parser_proc_grammar.y" /* glr.c:817 */
5831 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_unary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5832 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5834 #line 5835 "src/parser_proc.c" /* glr.c:817 */
5838 #line 1655 "src/parser_proc_grammar.y" /* glr.c:817 */
5840 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_ternary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5841 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5843 #line 5844 "src/parser_proc.c" /* glr.c:817 */
5847 #line 1662 "src/parser_proc_grammar.y" /* glr.c:817 */
5849 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->flags
);
5850 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5852 #line 5853 "src/parser_proc.c" /* glr.c:817 */
5856 #line 1666 "src/parser_proc_grammar.y" /* glr.c:817 */
5858 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0);
5859 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5861 #line 5862 "src/parser_proc.c" /* glr.c:817 */
5865 #line 1670 "src/parser_proc_grammar.y" /* glr.c:817 */
5867 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0);
5868 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5870 #line 5871 "src/parser_proc.c" /* glr.c:817 */
5874 #line 1674 "src/parser_proc_grammar.y" /* glr.c:817 */
5876 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0);
5877 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5879 #line 5880 "src/parser_proc.c" /* glr.c:817 */
5883 #line 1678 "src/parser_proc_grammar.y" /* glr.c:817 */
5885 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
5886 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5888 #line 5889 "src/parser_proc.c" /* glr.c:817 */
5892 #line 1682 "src/parser_proc_grammar.y" /* glr.c:817 */
5894 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5896 #line 5897 "src/parser_proc.c" /* glr.c:817 */
5900 #line 1688 "src/parser_proc_grammar.y" /* glr.c:817 */
5902 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5903 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5905 #line 5906 "src/parser_proc.c" /* glr.c:817 */
5909 #line 1692 "src/parser_proc_grammar.y" /* glr.c:817 */
5911 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5912 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5914 #line 5915 "src/parser_proc.c" /* glr.c:817 */
5918 #line 1699 "src/parser_proc_grammar.y" /* glr.c:817 */
5920 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5922 #line 5923 "src/parser_proc.c" /* glr.c:817 */
5926 #line 1702 "src/parser_proc_grammar.y" /* glr.c:817 */
5928 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5929 int8_t sizeof_void_p
= sizeof(void *);
5930 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
5931 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5933 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
5936 #line 5937 "src/parser_proc.c" /* glr.c:817 */
5940 #line 1714 "src/parser_proc_grammar.y" /* glr.c:817 */
5942 int8_t sizeof_void_p
= sizeof(void *);
5943 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
5945 #line 5946 "src/parser_proc.c" /* glr.c:817 */
5949 #line 1718 "src/parser_proc_grammar.y" /* glr.c:817 */
5951 int8_t sizeof_a
= sizeof('a');
5952 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
5954 #line 5955 "src/parser_proc.c" /* glr.c:817 */
5958 #line 1722 "src/parser_proc_grammar.y" /* glr.c:817 */
5960 uint64_t len
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
+ 1;
5961 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_UINT64
, &len
, 0);
5963 #line 5964 "src/parser_proc.c" /* glr.c:817 */
5967 #line 1729 "src/parser_proc_grammar.y" /* glr.c:817 */
5969 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5970 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5974 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
5975 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
5978 #line 5979 "src/parser_proc.c" /* glr.c:817 */
5982 #line 1742 "src/parser_proc_grammar.y" /* glr.c:817 */
5984 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5985 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5989 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
5990 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
5993 #line 5994 "src/parser_proc.c" /* glr.c:817 */
5997 #line 1755 "src/parser_proc_grammar.y" /* glr.c:817 */
5999 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6000 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6004 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6005 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6008 #line 6009 "src/parser_proc.c" /* glr.c:817 */
6012 #line 1768 "src/parser_proc_grammar.y" /* glr.c:817 */
6014 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
6016 #line 6017 "src/parser_proc.c" /* glr.c:817 */
6020 #line 1771 "src/parser_proc_grammar.y" /* glr.c:817 */
6022 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6023 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
6025 #line 6026 "src/parser_proc.c" /* glr.c:817 */
6029 #line 1783 "src/parser_proc_grammar.y" /* glr.c:817 */
6031 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
6033 #line 6034 "src/parser_proc.c" /* glr.c:817 */
6037 #line 1786 "src/parser_proc_grammar.y" /* glr.c:817 */
6039 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(0, 0, psi_layout_init(0, atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
), NULL
));
6041 #line 6042 "src/parser_proc.c" /* glr.c:817 */
6045 #line 1789 "src/parser_proc_grammar.y" /* glr.c:817 */
6047 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
), NULL
);
6049 #line 6050 "src/parser_proc.c" /* glr.c:817 */
6053 #line 1792 "src/parser_proc_grammar.y" /* glr.c:817 */
6055 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
), psi_layout_init(0, atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
))->text
), NULL
));
6057 #line 6058 "src/parser_proc.c" /* glr.c:817 */
6061 #line 1798 "src/parser_proc_grammar.y" /* glr.c:817 */
6063 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
6064 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
6066 #line 6067 "src/parser_proc.c" /* glr.c:817 */
6070 #line 1802 "src/parser_proc_grammar.y" /* glr.c:817 */
6072 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
6073 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
6075 #line 6076 "src/parser_proc.c" /* glr.c:817 */
6079 #line 1809 "src/parser_proc_grammar.y" /* glr.c:817 */
6081 (*(size_t*)(&(*yyvalp
))) = 0;
6083 #line 6084 "src/parser_proc.c" /* glr.c:817 */
6087 #line 1812 "src/parser_proc_grammar.y" /* glr.c:817 */
6089 (*(size_t*)(&(*yyvalp
))) = 0;
6091 #line 6092 "src/parser_proc.c" /* glr.c:817 */
6095 #line 1815 "src/parser_proc_grammar.y" /* glr.c:817 */
6097 struct psi_validate_scope scope
= {0};
6098 psi_validate_scope_ctor(&scope
);
6099 scope
.defs
= &P
->preproc
->defs
;
6100 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &scope
)) {
6101 (*(size_t*)(&(*yyvalp
))) = psi_num_exp_get_long((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
6103 (*(size_t*)(&(*yyvalp
))) = 0;
6105 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6106 psi_validate_scope_dtor(&scope
);
6108 #line 6109 "src/parser_proc.c" /* glr.c:817 */
6112 #line 1837 "src/parser_proc_grammar.y" /* glr.c:817 */
6114 (*(size_t*)(&(*yyvalp
))) = 0;
6116 #line 6117 "src/parser_proc.c" /* glr.c:817 */
6120 #line 1840 "src/parser_proc_grammar.y" /* glr.c:817 */
6122 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6124 #line 6125 "src/parser_proc.c" /* glr.c:817 */
6128 #line 1847 "src/parser_proc_grammar.y" /* glr.c:817 */
6130 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6132 #line 6133 "src/parser_proc.c" /* glr.c:817 */
6136 #line 1853 "src/parser_proc_grammar.y" /* glr.c:817 */
6138 (*(size_t*)(&(*yyvalp
))) = 1;
6140 #line 6141 "src/parser_proc.c" /* glr.c:817 */
6144 #line 1856 "src/parser_proc_grammar.y" /* glr.c:817 */
6146 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
6148 #line 6149 "src/parser_proc.c" /* glr.c:817 */
6152 #line 1878 "src/parser_proc_grammar.y" /* glr.c:817 */
6154 (*(struct psi_impl
**)(&(*yyvalp
))) = psi_impl_init((*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6156 #line 6157 "src/parser_proc.c" /* glr.c:817 */
6160 #line 1881 "src/parser_proc_grammar.y" /* glr.c:817 */
6162 (*(struct psi_impl
**)(&(*yyvalp
))) = psi_impl_init((*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6163 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6165 #line 6166 "src/parser_proc.c" /* glr.c:817 */
6169 #line 1888 "src/parser_proc_grammar.y" /* glr.c:817 */
6171 (*(struct psi_impl_func
**)(&(*yyvalp
))) = psi_impl_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->text
, NULL
, (*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6172 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6173 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
6175 #line 6176 "src/parser_proc.c" /* glr.c:817 */
6179 #line 1893 "src/parser_proc_grammar.y" /* glr.c:817 */
6181 (*(struct psi_impl_func
**)(&(*yyvalp
))) = psi_impl_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), (*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6182 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6183 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
6185 #line 6186 "src/parser_proc.c" /* glr.c:817 */
6189 #line 1898 "src/parser_proc_grammar.y" /* glr.c:817 */
6191 (*(struct psi_impl_func
**)(&(*yyvalp
))) = psi_impl_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)), (*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6192 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
6193 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
6194 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
= psi_impl_arg_init((*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), psi_impl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))), NULL
);
6195 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6197 #line 6198 "src/parser_proc.c" /* glr.c:817 */
6201 #line 1908 "src/parser_proc_grammar.y" /* glr.c:817 */
6203 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_impl_arg_free
), &(*(struct psi_impl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6205 #line 6206 "src/parser_proc.c" /* glr.c:817 */
6209 #line 1911 "src/parser_proc_grammar.y" /* glr.c:817 */
6211 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_impl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6213 #line 6214 "src/parser_proc.c" /* glr.c:817 */
6217 #line 1917 "src/parser_proc_grammar.y" /* glr.c:817 */
6219 (*(struct psi_impl_arg
**)(&(*yyvalp
))) = psi_impl_arg_init((*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
6221 #line 6222 "src/parser_proc.c" /* glr.c:817 */
6225 #line 1920 "src/parser_proc_grammar.y" /* glr.c:817 */
6227 (*(struct psi_impl_arg
**)(&(*yyvalp
))) = psi_impl_arg_init((*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_impl_def_val
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6229 #line 6230 "src/parser_proc.c" /* glr.c:817 */
6233 #line 1926 "src/parser_proc_grammar.y" /* glr.c:817 */
6235 (*(struct psi_impl_var
**)(&(*yyvalp
))) = psi_impl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6236 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6238 #line 6239 "src/parser_proc.c" /* glr.c:817 */
6242 #line 1933 "src/parser_proc_grammar.y" /* glr.c:817 */
6244 (*(struct psi_impl_type
**)(&(*yyvalp
))) = psi_impl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
6245 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6247 #line 6248 "src/parser_proc.c" /* glr.c:817 */
6251 #line 1940 "src/parser_proc_grammar.y" /* glr.c:817 */
6253 (*(struct psi_impl_type
**)(&(*yyvalp
))) = psi_impl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
6254 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6256 #line 6257 "src/parser_proc.c" /* glr.c:817 */
6260 #line 1967 "src/parser_proc_grammar.y" /* glr.c:817 */
6262 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_impl_stmt_free
), &(*(struct psi_token
***)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6264 #line 6265 "src/parser_proc.c" /* glr.c:817 */
6268 #line 1970 "src/parser_proc_grammar.y" /* glr.c:817 */
6270 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &(*(struct psi_token
***)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6272 #line 6273 "src/parser_proc.c" /* glr.c:817 */
6276 #line 1976 "src/parser_proc_grammar.y" /* glr.c:817 */
6278 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6280 #line 6281 "src/parser_proc.c" /* glr.c:817 */
6284 #line 1979 "src/parser_proc_grammar.y" /* glr.c:817 */
6286 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6288 #line 6289 "src/parser_proc.c" /* glr.c:817 */
6292 #line 1982 "src/parser_proc_grammar.y" /* glr.c:817 */
6294 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6296 #line 6297 "src/parser_proc.c" /* glr.c:817 */
6300 #line 1985 "src/parser_proc_grammar.y" /* glr.c:817 */
6302 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6304 #line 6305 "src/parser_proc.c" /* glr.c:817 */
6308 #line 1988 "src/parser_proc_grammar.y" /* glr.c:817 */
6310 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6312 #line 6313 "src/parser_proc.c" /* glr.c:817 */
6316 #line 1994 "src/parser_proc_grammar.y" /* glr.c:817 */
6318 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6319 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6321 #line 6322 "src/parser_proc.c" /* glr.c:817 */
6325 #line 1998 "src/parser_proc_grammar.y" /* glr.c:817 */
6327 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init(psi_let_exp_init_ex((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), PSI_LET_TMP
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))));
6328 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6329 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6331 #line 6332 "src/parser_proc.c" /* glr.c:817 */
6335 #line 2007 "src/parser_proc_grammar.y" /* glr.c:817 */
6337 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6338 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
6340 #line 6341 "src/parser_proc.c" /* glr.c:817 */
6344 #line 2011 "src/parser_proc_grammar.y" /* glr.c:817 */
6346 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6347 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
6349 #line 6350 "src/parser_proc.c" /* glr.c:817 */
6353 #line 2018 "src/parser_proc_grammar.y" /* glr.c:817 */
6355 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
6357 #line 6358 "src/parser_proc.c" /* glr.c:817 */
6361 #line 2021 "src/parser_proc_grammar.y" /* glr.c:817 */
6363 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init_ex(NULL
, PSI_LET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6365 #line 6366 "src/parser_proc.c" /* glr.c:817 */
6369 #line 2024 "src/parser_proc_grammar.y" /* glr.c:817 */
6371 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6373 #line 6374 "src/parser_proc.c" /* glr.c:817 */
6377 #line 2027 "src/parser_proc_grammar.y" /* glr.c:817 */
6379 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6380 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6382 #line 6383 "src/parser_proc.c" /* glr.c:817 */
6386 #line 2031 "src/parser_proc_grammar.y" /* glr.c:817 */
6388 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6390 #line 6391 "src/parser_proc.c" /* glr.c:817 */
6394 #line 2034 "src/parser_proc_grammar.y" /* glr.c:817 */
6396 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init_ex(NULL
, PSI_LET_FUNC
, (*(struct psi_let_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6398 #line 6399 "src/parser_proc.c" /* glr.c:817 */
6402 #line 2040 "src/parser_proc_grammar.y" /* glr.c:817 */
6404 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6405 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6407 #line 6408 "src/parser_proc.c" /* glr.c:817 */
6411 #line 2044 "src/parser_proc_grammar.y" /* glr.c:817 */
6413 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6414 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
6415 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
6417 #line 6418 "src/parser_proc.c" /* glr.c:817 */
6421 #line 2052 "src/parser_proc_grammar.y" /* glr.c:817 */
6423 (*(struct psi_let_calloc
**)(&(*yyvalp
))) = psi_let_calloc_init((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6424 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6426 #line 6427 "src/parser_proc.c" /* glr.c:817 */
6430 #line 2059 "src/parser_proc_grammar.y" /* glr.c:817 */
6432 (*(struct psi_let_callback
**)(&(*yyvalp
))) = psi_let_callback_init(psi_let_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), NULL
);
6433 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6434 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
6436 #line 6437 "src/parser_proc.c" /* glr.c:817 */
6440 #line 2064 "src/parser_proc_grammar.y" /* glr.c:817 */
6442 (*(struct psi_let_callback
**)(&(*yyvalp
))) = psi_let_callback_init(psi_let_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
6443 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6444 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
6446 #line 6447 "src/parser_proc.c" /* glr.c:817 */
6450 #line 2072 "src/parser_proc_grammar.y" /* glr.c:817 */
6452 (*(struct psi_let_func
**)(&(*yyvalp
))) = psi_let_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6453 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6454 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6456 #line 6457 "src/parser_proc.c" /* glr.c:817 */
6460 #line 2093 "src/parser_proc_grammar.y" /* glr.c:817 */
6462 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6464 #line 6465 "src/parser_proc.c" /* glr.c:817 */
6468 #line 2096 "src/parser_proc_grammar.y" /* glr.c:817 */
6470 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6472 #line 6473 "src/parser_proc.c" /* glr.c:817 */
6476 #line 2102 "src/parser_proc_grammar.y" /* glr.c:817 */
6478 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_let_exp_free
), &(*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6480 #line 6481 "src/parser_proc.c" /* glr.c:817 */
6484 #line 2105 "src/parser_proc_grammar.y" /* glr.c:817 */
6486 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6488 #line 6489 "src/parser_proc.c" /* glr.c:817 */
6492 #line 2116 "src/parser_proc_grammar.y" /* glr.c:817 */
6494 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6496 #line 6497 "src/parser_proc.c" /* glr.c:817 */
6500 #line 2119 "src/parser_proc_grammar.y" /* glr.c:817 */
6502 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6504 #line 6505 "src/parser_proc.c" /* glr.c:817 */
6508 #line 2125 "src/parser_proc_grammar.y" /* glr.c:817 */
6510 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_set_exp_free
), &(*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6512 #line 6513 "src/parser_proc.c" /* glr.c:817 */
6516 #line 2128 "src/parser_proc_grammar.y" /* glr.c:817 */
6518 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6520 #line 6521 "src/parser_proc.c" /* glr.c:817 */
6524 #line 2134 "src/parser_proc_grammar.y" /* glr.c:817 */
6526 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6527 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6529 #line 6530 "src/parser_proc.c" /* glr.c:817 */
6533 #line 2141 "src/parser_proc_grammar.y" /* glr.c:817 */
6535 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
6536 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
6538 #line 6539 "src/parser_proc.c" /* glr.c:817 */
6542 #line 2145 "src/parser_proc_grammar.y" /* glr.c:817 */
6544 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init(NULL
, NULL
, psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
6545 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6547 #line 6548 "src/parser_proc.c" /* glr.c:817 */
6551 #line 2152 "src/parser_proc_grammar.y" /* glr.c:817 */
6553 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6555 #line 6556 "src/parser_proc.c" /* glr.c:817 */
6559 #line 2155 "src/parser_proc_grammar.y" /* glr.c:817 */
6561 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6563 #line 6564 "src/parser_proc.c" /* glr.c:817 */
6567 #line 2158 "src/parser_proc_grammar.y" /* glr.c:817 */
6569 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6571 #line 6572 "src/parser_proc.c" /* glr.c:817 */
6575 #line 2164 "src/parser_proc_grammar.y" /* glr.c:817 */
6577 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6578 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6580 #line 6581 "src/parser_proc.c" /* glr.c:817 */
6584 #line 2171 "src/parser_proc_grammar.y" /* glr.c:817 */
6586 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6588 #line 6589 "src/parser_proc.c" /* glr.c:817 */
6592 #line 2174 "src/parser_proc_grammar.y" /* glr.c:817 */
6594 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6596 #line 6597 "src/parser_proc.c" /* glr.c:817 */
6600 #line 2177 "src/parser_proc_grammar.y" /* glr.c:817 */
6602 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6603 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6605 #line 6606 "src/parser_proc.c" /* glr.c:817 */
6609 #line 2184 "src/parser_proc_grammar.y" /* glr.c:817 */
6611 (*(struct psi_set_func
**)(&(*yyvalp
))) = psi_set_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6612 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6613 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6615 #line 6616 "src/parser_proc.c" /* glr.c:817 */
6619 #line 2189 "src/parser_proc_grammar.y" /* glr.c:817 */
6621 (*(struct psi_set_func
**)(&(*yyvalp
))) = psi_set_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6622 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6623 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
6625 #line 6626 "src/parser_proc.c" /* glr.c:817 */
6629 #line 2208 "src/parser_proc_grammar.y" /* glr.c:817 */
6631 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6633 #line 6634 "src/parser_proc.c" /* glr.c:817 */
6637 #line 2211 "src/parser_proc_grammar.y" /* glr.c:817 */
6639 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6641 #line 6642 "src/parser_proc.c" /* glr.c:817 */
6645 #line 2217 "src/parser_proc_grammar.y" /* glr.c:817 */
6647 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_set_exp_free
), &(*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6649 #line 6650 "src/parser_proc.c" /* glr.c:817 */
6653 #line 2220 "src/parser_proc_grammar.y" /* glr.c:817 */
6655 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6657 #line 6658 "src/parser_proc.c" /* glr.c:817 */
6661 #line 2226 "src/parser_proc_grammar.y" /* glr.c:817 */
6663 (*(struct psi_assert_stmt
**)(&(*yyvalp
))) = psi_assert_stmt_init((enum psi_assert_kind
) (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6664 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6666 #line 6667 "src/parser_proc.c" /* glr.c:817 */
6670 #line 2238 "src/parser_proc_grammar.y" /* glr.c:817 */
6672 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6673 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6675 #line 6676 "src/parser_proc.c" /* glr.c:817 */
6679 #line 2245 "src/parser_proc_grammar.y" /* glr.c:817 */
6681 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_free_exp_free
), &(*(struct psi_free_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6683 #line 6684 "src/parser_proc.c" /* glr.c:817 */
6687 #line 2248 "src/parser_proc_grammar.y" /* glr.c:817 */
6689 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_free_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6691 #line 6692 "src/parser_proc.c" /* glr.c:817 */
6695 #line 2254 "src/parser_proc_grammar.y" /* glr.c:817 */
6697 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6698 (*(struct psi_free_exp
**)(&(*yyvalp
))) = psi_free_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6699 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6701 #line 6702 "src/parser_proc.c" /* glr.c:817 */
6705 #line 2262 "src/parser_proc_grammar.y" /* glr.c:817 */
6707 (*(bool*)(&(*yyvalp
))) = false;
6709 #line 6710 "src/parser_proc.c" /* glr.c:817 */
6713 #line 2265 "src/parser_proc_grammar.y" /* glr.c:817 */
6715 (*(bool*)(&(*yyvalp
))) = true;
6717 #line 6718 "src/parser_proc.c" /* glr.c:817 */
6721 #line 6722 "src/parser_proc.c" /* glr.c:817 */
6732 # undef YYRECOVERING
6737 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
6749 /* Bison grammar-table manipulation. */
6751 /*-----------------------------------------------.
6752 | Release the memory associated to this symbol. |
6753 `-----------------------------------------------*/
6756 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6764 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
6766 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6769 case 141: /* binary_op_token */
6770 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6772 #line 6773 "src/parser_proc.c" /* glr.c:847 */
6775 case 142: /* unary_op_token */
6776 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6778 #line 6779 "src/parser_proc.c" /* glr.c:847 */
6781 case 143: /* name_token */
6782 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6784 #line 6785 "src/parser_proc.c" /* glr.c:847 */
6787 case 144: /* any_noeol_token */
6788 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6790 #line 6791 "src/parser_proc.c" /* glr.c:847 */
6794 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
6795 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6796 #line 6797 "src/parser_proc.c" /* glr.c:847 */
6800 #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */
6801 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
6802 #line 6803 "src/parser_proc.c" /* glr.c:847 */
6805 case 151: /* cpp_exp */
6806 #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */
6807 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
6808 #line 6809 "src/parser_proc.c" /* glr.c:847 */
6811 case 153: /* cpp_message_token */
6812 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6814 #line 6815 "src/parser_proc.c" /* glr.c:847 */
6817 case 154: /* cpp_include_token */
6818 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6820 #line 6821 "src/parser_proc.c" /* glr.c:847 */
6823 case 155: /* cpp_header_token */
6824 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6826 #line 6827 "src/parser_proc.c" /* glr.c:847 */
6829 case 156: /* cpp_no_arg_token */
6830 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6832 #line 6833 "src/parser_proc.c" /* glr.c:847 */
6835 case 157: /* cpp_name_arg_token */
6836 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6838 #line 6839 "src/parser_proc.c" /* glr.c:847 */
6841 case 158: /* cpp_exp_arg_token */
6842 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6844 #line 6845 "src/parser_proc.c" /* glr.c:847 */
6847 case 159: /* cpp_macro_decl */
6848 #line 326 "src/parser_proc_grammar.y" /* glr.c:847 */
6849 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
6850 #line 6851 "src/parser_proc.c" /* glr.c:847 */
6853 case 160: /* cpp_macro_sig */
6854 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6855 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6856 #line 6857 "src/parser_proc.c" /* glr.c:847 */
6859 case 161: /* cpp_macro_sig_args */
6860 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6861 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6862 #line 6863 "src/parser_proc.c" /* glr.c:847 */
6865 case 162: /* cpp_macro_decl_tokens */
6866 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6867 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6868 #line 6869 "src/parser_proc.c" /* glr.c:847 */
6871 case 163: /* cpp_macro_decl_token_list */
6872 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6873 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6874 #line 6875 "src/parser_proc.c" /* glr.c:847 */
6877 case 164: /* cpp_macro_exp */
6878 #line 330 "src/parser_proc_grammar.y" /* glr.c:847 */
6879 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
6880 #line 6881 "src/parser_proc.c" /* glr.c:847 */
6883 case 165: /* cpp_macro_call_args */
6884 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6885 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6886 #line 6887 "src/parser_proc.c" /* glr.c:847 */
6889 case 166: /* cpp_macro_call_arg_list */
6890 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6891 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6892 #line 6893 "src/parser_proc.c" /* glr.c:847 */
6895 case 167: /* constant */
6896 #line 336 "src/parser_proc_grammar.y" /* glr.c:847 */
6897 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
6898 #line 6899 "src/parser_proc.c" /* glr.c:847 */
6901 case 168: /* impl_def_val */
6902 #line 338 "src/parser_proc_grammar.y" /* glr.c:847 */
6903 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
6904 #line 6905 "src/parser_proc.c" /* glr.c:847 */
6907 case 169: /* impl_def_val_token */
6908 #line 333 "src/parser_proc_grammar.y" /* glr.c:847 */
6910 #line 6911 "src/parser_proc.c" /* glr.c:847 */
6913 case 170: /* decl_typedef */
6914 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6915 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6916 #line 6917 "src/parser_proc.c" /* glr.c:847 */
6919 case 171: /* typedef */
6920 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6921 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6922 #line 6923 "src/parser_proc.c" /* glr.c:847 */
6925 case 172: /* typedef_anon */
6926 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6927 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6928 #line 6929 "src/parser_proc.c" /* glr.c:847 */
6931 case 173: /* typedef_decl */
6932 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6933 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6934 #line 6935 "src/parser_proc.c" /* glr.c:847 */
6937 case 174: /* typedef_anon_decl */
6938 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6939 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6940 #line 6941 "src/parser_proc.c" /* glr.c:847 */
6943 case 175: /* qualified_decl_type */
6944 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6945 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
6946 #line 6947 "src/parser_proc.c" /* glr.c:847 */
6949 case 177: /* decl_type */
6950 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6951 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
6952 #line 6953 "src/parser_proc.c" /* glr.c:847 */
6955 case 178: /* decl_type_complex */
6956 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6957 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
6958 #line 6959 "src/parser_proc.c" /* glr.c:847 */
6961 case 179: /* decl_type_simple */
6962 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6963 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6964 #line 6965 "src/parser_proc.c" /* glr.c:847 */
6967 case 180: /* decl_real_type */
6968 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6969 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6970 #line 6971 "src/parser_proc.c" /* glr.c:847 */
6973 case 181: /* int_signed */
6974 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
6976 #line 6977 "src/parser_proc.c" /* glr.c:847 */
6979 case 182: /* int_width */
6980 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
6981 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6982 #line 6983 "src/parser_proc.c" /* glr.c:847 */
6985 case 183: /* decl_int_type */
6986 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6987 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6988 #line 6989 "src/parser_proc.c" /* glr.c:847 */
6991 case 184: /* int_signed_types */
6992 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
6993 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6994 #line 6995 "src/parser_proc.c" /* glr.c:847 */
6997 case 185: /* signed_short_types */
6998 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
7000 #line 7001 "src/parser_proc.c" /* glr.c:847 */
7003 case 186: /* signed_long_types */
7004 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
7006 #line 7007 "src/parser_proc.c" /* glr.c:847 */
7009 case 187: /* int_width_types */
7010 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
7011 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7012 #line 7013 "src/parser_proc.c" /* glr.c:847 */
7015 case 188: /* decl_stmt */
7016 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7017 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7018 #line 7019 "src/parser_proc.c" /* glr.c:847 */
7021 case 189: /* decl_asm */
7022 #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */
7023 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7024 #line 7025 "src/parser_proc.c" /* glr.c:847 */
7027 case 190: /* quoted_strings */
7028 #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */
7029 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7030 #line 7031 "src/parser_proc.c" /* glr.c:847 */
7033 case 191: /* decl_extvar_stmt */
7034 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7035 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7036 #line 7037 "src/parser_proc.c" /* glr.c:847 */
7039 case 192: /* decl_extvar_list */
7040 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7041 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7042 #line 7043 "src/parser_proc.c" /* glr.c:847 */
7045 case 193: /* decl_vars */
7046 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7047 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7048 #line 7049 "src/parser_proc.c" /* glr.c:847 */
7051 case 194: /* ignored_decl */
7052 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7053 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7054 #line 7055 "src/parser_proc.c" /* glr.c:847 */
7057 case 199: /* decl */
7058 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7059 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7060 #line 7061 "src/parser_proc.c" /* glr.c:847 */
7063 case 200: /* decl_body */
7064 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7065 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7066 #line 7067 "src/parser_proc.c" /* glr.c:847 */
7069 case 201: /* decl_func_body */
7070 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7071 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7072 #line 7073 "src/parser_proc.c" /* glr.c:847 */
7075 case 202: /* decl_functor_body */
7076 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7077 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7078 #line 7079 "src/parser_proc.c" /* glr.c:847 */
7081 case 203: /* decl_anon_functor_body */
7082 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7083 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7084 #line 7085 "src/parser_proc.c" /* glr.c:847 */
7087 case 204: /* decl_functor */
7088 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7089 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7090 #line 7091 "src/parser_proc.c" /* glr.c:847 */
7093 case 205: /* decl_anon_functor */
7094 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7095 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7096 #line 7097 "src/parser_proc.c" /* glr.c:847 */
7099 case 206: /* decl_func */
7100 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7101 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7102 #line 7103 "src/parser_proc.c" /* glr.c:847 */
7105 case 207: /* decl_args */
7106 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7107 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7108 #line 7109 "src/parser_proc.c" /* glr.c:847 */
7111 case 208: /* decl_arg_list */
7112 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7113 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7114 #line 7115 "src/parser_proc.c" /* glr.c:847 */
7117 case 209: /* decl_anon_arg */
7118 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7119 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7120 #line 7121 "src/parser_proc.c" /* glr.c:847 */
7123 case 210: /* decl_arg */
7124 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7125 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7126 #line 7127 "src/parser_proc.c" /* glr.c:847 */
7129 case 211: /* decl_var */
7130 #line 353 "src/parser_proc_grammar.y" /* glr.c:847 */
7131 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
7132 #line 7133 "src/parser_proc.c" /* glr.c:847 */
7135 case 212: /* decl_union */
7136 #line 357 "src/parser_proc_grammar.y" /* glr.c:847 */
7137 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
7138 #line 7139 "src/parser_proc.c" /* glr.c:847 */
7141 case 213: /* decl_struct */
7142 #line 355 "src/parser_proc_grammar.y" /* glr.c:847 */
7143 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
7144 #line 7145 "src/parser_proc.c" /* glr.c:847 */
7147 case 214: /* decl_struct_args */
7148 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7149 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7150 #line 7151 "src/parser_proc.c" /* glr.c:847 */
7153 case 215: /* struct_args_block */
7154 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7155 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7156 #line 7157 "src/parser_proc.c" /* glr.c:847 */
7159 case 216: /* struct_args */
7160 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7161 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7162 #line 7163 "src/parser_proc.c" /* glr.c:847 */
7165 case 217: /* struct_arg_var_list */
7166 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7167 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7168 #line 7169 "src/parser_proc.c" /* glr.c:847 */
7171 case 218: /* decl_vars_with_layout */
7172 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7173 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7174 #line 7175 "src/parser_proc.c" /* glr.c:847 */
7177 case 219: /* decl_enum */
7178 #line 359 "src/parser_proc_grammar.y" /* glr.c:847 */
7179 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
7180 #line 7181 "src/parser_proc.c" /* glr.c:847 */
7183 case 220: /* decl_enum_items */
7184 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7185 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7186 #line 7187 "src/parser_proc.c" /* glr.c:847 */
7189 case 221: /* decl_enum_item */
7190 #line 361 "src/parser_proc_grammar.y" /* glr.c:847 */
7191 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
7192 #line 7193 "src/parser_proc.c" /* glr.c:847 */
7195 case 222: /* num_exp */
7196 #line 419 "src/parser_proc_grammar.y" /* glr.c:847 */
7197 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7198 #line 7199 "src/parser_proc.c" /* glr.c:847 */
7201 case 223: /* number */
7202 #line 421 "src/parser_proc_grammar.y" /* glr.c:847 */
7203 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7204 #line 7205 "src/parser_proc.c" /* glr.c:847 */
7207 case 224: /* sizeof */
7208 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7209 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7210 #line 7211 "src/parser_proc.c" /* glr.c:847 */
7213 case 225: /* sizeof_body */
7214 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7215 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7216 #line 7217 "src/parser_proc.c" /* glr.c:847 */
7219 case 226: /* sizeof_body_notypes */
7220 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7221 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7222 #line 7223 "src/parser_proc.c" /* glr.c:847 */
7225 case 227: /* enum_name */
7226 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7227 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7228 #line 7229 "src/parser_proc.c" /* glr.c:847 */
7231 case 228: /* union_name */
7232 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7233 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7234 #line 7235 "src/parser_proc.c" /* glr.c:847 */
7237 case 229: /* struct_name */
7238 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7239 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7240 #line 7241 "src/parser_proc.c" /* glr.c:847 */
7243 case 230: /* optional_name */
7244 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7245 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7246 #line 7247 "src/parser_proc.c" /* glr.c:847 */
7249 case 232: /* decl_layout */
7250 #line 368 "src/parser_proc_grammar.y" /* glr.c:847 */
7251 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
7252 #line 7253 "src/parser_proc.c" /* glr.c:847 */
7255 case 233: /* align_and_size */
7256 #line 366 "src/parser_proc_grammar.y" /* glr.c:847 */
7258 #line 7259 "src/parser_proc.c" /* glr.c:847 */
7261 case 234: /* array_size */
7262 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7264 #line 7265 "src/parser_proc.c" /* glr.c:847 */
7267 case 236: /* indirection */
7268 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7270 #line 7271 "src/parser_proc.c" /* glr.c:847 */
7273 case 237: /* pointers */
7274 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7276 #line 7277 "src/parser_proc.c" /* glr.c:847 */
7279 case 238: /* asterisks */
7280 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7282 #line 7283 "src/parser_proc.c" /* glr.c:847 */
7285 case 241: /* impl */
7286 #line 374 "src/parser_proc_grammar.y" /* glr.c:847 */
7287 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
7288 #line 7289 "src/parser_proc.c" /* glr.c:847 */
7291 case 242: /* impl_func */
7292 #line 376 "src/parser_proc_grammar.y" /* glr.c:847 */
7293 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
7294 #line 7295 "src/parser_proc.c" /* glr.c:847 */
7297 case 243: /* impl_args */
7298 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7299 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7300 #line 7301 "src/parser_proc.c" /* glr.c:847 */
7303 case 244: /* impl_arg */
7304 #line 378 "src/parser_proc_grammar.y" /* glr.c:847 */
7305 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
7306 #line 7307 "src/parser_proc.c" /* glr.c:847 */
7309 case 245: /* impl_var */
7310 #line 382 "src/parser_proc_grammar.y" /* glr.c:847 */
7311 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
7312 #line 7313 "src/parser_proc.c" /* glr.c:847 */
7315 case 246: /* impl_type */
7316 #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */
7317 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7318 #line 7319 "src/parser_proc.c" /* glr.c:847 */
7321 case 247: /* impl_type_restricted */
7322 #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */
7323 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7324 #line 7325 "src/parser_proc.c" /* glr.c:847 */
7327 case 248: /* impl_type_token */
7328 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7329 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7330 #line 7331 "src/parser_proc.c" /* glr.c:847 */
7333 case 249: /* impl_type_restricted_token */
7334 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7335 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7336 #line 7337 "src/parser_proc.c" /* glr.c:847 */
7339 case 250: /* impl_type_extended_token */
7340 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7341 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7342 #line 7343 "src/parser_proc.c" /* glr.c:847 */
7345 case 251: /* impl_stmts */
7346 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7347 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7348 #line 7349 "src/parser_proc.c" /* glr.c:847 */
7351 case 252: /* impl_stmt */
7352 #line 412 "src/parser_proc_grammar.y" /* glr.c:847 */
7353 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
7354 #line 7355 "src/parser_proc.c" /* glr.c:847 */
7357 case 253: /* let_stmt */
7358 #line 385 "src/parser_proc_grammar.y" /* glr.c:847 */
7359 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
7360 #line 7361 "src/parser_proc.c" /* glr.c:847 */
7363 case 254: /* let_exp */
7364 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7365 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7366 #line 7367 "src/parser_proc.c" /* glr.c:847 */
7369 case 255: /* let_exp_byref */
7370 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7371 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7372 #line 7373 "src/parser_proc.c" /* glr.c:847 */
7375 case 256: /* let_exp_assign */
7376 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7377 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7378 #line 7379 "src/parser_proc.c" /* glr.c:847 */
7381 case 257: /* let_calloc */
7382 #line 389 "src/parser_proc_grammar.y" /* glr.c:847 */
7383 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
7384 #line 7385 "src/parser_proc.c" /* glr.c:847 */
7387 case 258: /* let_callback */
7388 #line 391 "src/parser_proc_grammar.y" /* glr.c:847 */
7389 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
7390 #line 7391 "src/parser_proc.c" /* glr.c:847 */
7393 case 259: /* let_func */
7394 #line 393 "src/parser_proc_grammar.y" /* glr.c:847 */
7395 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
7396 #line 7397 "src/parser_proc.c" /* glr.c:847 */
7399 case 260: /* let_func_token */
7400 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7401 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7402 #line 7403 "src/parser_proc.c" /* glr.c:847 */
7405 case 261: /* let_func_exps */
7406 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7407 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7408 #line 7409 "src/parser_proc.c" /* glr.c:847 */
7411 case 262: /* let_exps */
7412 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7413 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7414 #line 7415 "src/parser_proc.c" /* glr.c:847 */
7417 case 263: /* callback_rval */
7418 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7419 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7420 #line 7421 "src/parser_proc.c" /* glr.c:847 */
7423 case 264: /* callback_arg_list */
7424 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7425 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7426 #line 7427 "src/parser_proc.c" /* glr.c:847 */
7429 case 265: /* callback_args */
7430 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7431 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7432 #line 7433 "src/parser_proc.c" /* glr.c:847 */
7435 case 266: /* return_stmt */
7436 #line 403 "src/parser_proc_grammar.y" /* glr.c:847 */
7437 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
7438 #line 7439 "src/parser_proc.c" /* glr.c:847 */
7441 case 267: /* return_exp */
7442 #line 405 "src/parser_proc_grammar.y" /* glr.c:847 */
7443 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
7444 #line 7445 "src/parser_proc.c" /* glr.c:847 */
7447 case 268: /* call_decl_vars */
7448 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7449 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7450 #line 7451 "src/parser_proc.c" /* glr.c:847 */
7453 case 269: /* set_stmt */
7454 #line 395 "src/parser_proc_grammar.y" /* glr.c:847 */
7455 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
7456 #line 7457 "src/parser_proc.c" /* glr.c:847 */
7459 case 270: /* set_exp */
7460 #line 397 "src/parser_proc_grammar.y" /* glr.c:847 */
7461 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
7462 #line 7463 "src/parser_proc.c" /* glr.c:847 */
7465 case 271: /* set_func */
7466 #line 399 "src/parser_proc_grammar.y" /* glr.c:847 */
7467 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
7468 #line 7469 "src/parser_proc.c" /* glr.c:847 */
7471 case 272: /* set_func_token */
7472 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7473 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7474 #line 7475 "src/parser_proc.c" /* glr.c:847 */
7477 case 273: /* set_func_exps */
7478 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7479 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7480 #line 7481 "src/parser_proc.c" /* glr.c:847 */
7483 case 274: /* set_exps */
7484 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7485 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7486 #line 7487 "src/parser_proc.c" /* glr.c:847 */
7489 case 275: /* assert_stmt */
7490 #line 401 "src/parser_proc_grammar.y" /* glr.c:847 */
7491 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
7492 #line 7493 "src/parser_proc.c" /* glr.c:847 */
7495 case 276: /* assert_stmt_token */
7496 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7497 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7498 #line 7499 "src/parser_proc.c" /* glr.c:847 */
7501 case 277: /* free_stmt */
7502 #line 407 "src/parser_proc_grammar.y" /* glr.c:847 */
7503 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
7504 #line 7505 "src/parser_proc.c" /* glr.c:847 */
7507 case 278: /* free_exps */
7508 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7509 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7510 #line 7511 "src/parser_proc.c" /* glr.c:847 */
7513 case 279: /* free_exp */
7514 #line 409 "src/parser_proc_grammar.y" /* glr.c:847 */
7515 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
7516 #line 7517 "src/parser_proc.c" /* glr.c:847 */
7519 case 280: /* reference */
7520 #line 426 "src/parser_proc_grammar.y" /* glr.c:847 */
7522 #line 7523 "src/parser_proc.c" /* glr.c:847 */
7529 YY_IGNORE_MAYBE_UNINITIALIZED_END
7532 /** Number of symbols composing the right hand side of rule #RULE. */
7534 yyrhsLength (yyRuleNum yyrule
)
7536 return yyr2
[yyrule
];
7540 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7542 if (yys
->yyresolved
)
7543 yydestruct (yymsg
, yystos
[yys
->yylrState
],
7544 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
7550 if (yys
->yysemantics
.yyfirstVal
)
7551 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
7553 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
7554 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
7558 if (yys
->yysemantics
.yyfirstVal
)
7560 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
7563 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
7565 yyrh
= yyrh
->yypred
, yyn
-= 1)
7566 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
7571 /** Left-hand-side symbol for rule #YYRULE. */
7572 static inline yySymbol
7573 yylhsNonterm (yyRuleNum yyrule
)
7575 return yyr1
[yyrule
];
7578 #define yypact_value_is_default(Yystate) \
7579 (!!((Yystate) == (-714)))
7581 /** True iff LR state YYSTATE has only a default reduction (regardless
7583 static inline yybool
7584 yyisDefaultedState (yyStateNum yystate
)
7586 return yypact_value_is_default (yypact
[yystate
]);
7589 /** The default reduction for YYSTATE, assuming it has one. */
7590 static inline yyRuleNum
7591 yydefaultAction (yyStateNum yystate
)
7593 return yydefact
[yystate
];
7596 #define yytable_value_is_error(Yytable_value) \
7599 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7601 * R < 0: Reduce on rule -R.
7603 * R > 0: Shift to state R.
7604 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7605 * of conflicting reductions.
7608 yygetLRActions (yyStateNum yystate
, int yytoken
,
7609 int* yyaction
, const short** yyconflicts
)
7611 int yyindex
= yypact
[yystate
] + yytoken
;
7612 if (yypact_value_is_default (yypact
[yystate
])
7613 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
7615 *yyaction
= -yydefact
[yystate
];
7616 *yyconflicts
= yyconfl
;
7618 else if (! yytable_value_is_error (yytable
[yyindex
]))
7620 *yyaction
= yytable
[yyindex
];
7621 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7626 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7630 /** Compute post-reduction state.
7631 * \param yystate the current state
7632 * \param yysym the nonterminal to push on the stack
7634 static inline yyStateNum
7635 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
7637 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
7638 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
7639 return yytable
[yyr
];
7641 return yydefgoto
[yysym
- YYNTOKENS
];
7644 static inline yybool
7645 yyisShiftAction (int yyaction
)
7647 return 0 < yyaction
;
7650 static inline yybool
7651 yyisErrorAction (int yyaction
)
7653 return yyaction
== 0;
7658 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7659 * if YYISSTATE, and otherwise a semantic option. Callers should call
7660 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7663 static inline yyGLRStackItem
*
7664 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
7666 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
7667 yystackp
->yyspaceLeft
-= 1;
7668 yystackp
->yynextFree
+= 1;
7669 yynewItem
->yystate
.yyisState
= yyisState
;
7673 /** Add a new semantic action that will execute the action for rule
7674 * YYRULE on the semantic values in YYRHS to the list of
7675 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7676 * stack #YYK of *YYSTACKP. */
7678 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
7679 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
7681 yySemanticOption
* yynewOption
=
7682 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
7683 YYASSERT (!yynewOption
->yyisState
);
7684 yynewOption
->yystate
= yyrhs
;
7685 yynewOption
->yyrule
= yyrule
;
7686 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
7688 yynewOption
->yyrawchar
= yychar
;
7689 yynewOption
->yyval
= yylval
;
7692 yynewOption
->yyrawchar
= YYEMPTY
;
7693 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
7694 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
7696 YY_RESERVE_GLRSTACK (yystackp
);
7701 /** Initialize YYSET to a singleton set containing an empty stack. */
7703 yyinitStateSet (yyGLRStateSet
* yyset
)
7706 yyset
->yycapacity
= 16;
7707 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
7708 if (! yyset
->yystates
)
7710 yyset
->yystates
[0] = YY_NULLPTR
;
7711 yyset
->yylookaheadNeeds
=
7712 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
7713 if (! yyset
->yylookaheadNeeds
)
7715 YYFREE (yyset
->yystates
);
7721 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
7723 YYFREE (yyset
->yystates
);
7724 YYFREE (yyset
->yylookaheadNeeds
);
7727 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7728 * capacity for all stacks of YYSIZE. */
7730 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
7732 yystackp
->yyerrState
= 0;
7734 yystackp
->yyspaceLeft
= yysize
;
7736 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
7737 if (!yystackp
->yyitems
)
7739 yystackp
->yynextFree
= yystackp
->yyitems
;
7740 yystackp
->yysplitPoint
= YY_NULLPTR
;
7741 yystackp
->yylastDeleted
= YY_NULLPTR
;
7742 return yyinitStateSet (&yystackp
->yytops
);
7746 #if YYSTACKEXPANDABLE
7747 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7748 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
7750 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
7751 stack from outside should be considered invalid after this call.
7752 We always expand when there are 1 or fewer items left AFTER an
7753 allocation, so that we can avoid having external pointers exist
7754 across an allocation. */
7756 yyexpandGLRStack (yyGLRStack
* yystackp
)
7758 yyGLRStackItem
* yynewItems
;
7759 yyGLRStackItem
* yyp0
, *yyp1
;
7762 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
7763 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
7764 yyMemoryExhausted (yystackp
);
7765 yynewSize
= 2*yysize
;
7766 if (YYMAXDEPTH
< yynewSize
)
7767 yynewSize
= YYMAXDEPTH
;
7768 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
7770 yyMemoryExhausted (yystackp
);
7771 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
7773 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
7776 if (*(yybool
*) yyp0
)
7778 yyGLRState
* yys0
= &yyp0
->yystate
;
7779 yyGLRState
* yys1
= &yyp1
->yystate
;
7780 if (yys0
->yypred
!= YY_NULLPTR
)
7782 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
7783 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
7784 yys1
->yysemantics
.yyfirstVal
=
7785 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
7789 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
7790 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
7791 if (yyv0
->yystate
!= YY_NULLPTR
)
7792 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
7793 if (yyv0
->yynext
!= YY_NULLPTR
)
7794 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
7797 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
7798 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
7799 yystackp
->yysplitPoint
, yystate
);
7801 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
7802 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
7803 yystackp
->yytops
.yystates
[yyn
] =
7804 YYRELOC (yystackp
->yyitems
, yynewItems
,
7805 yystackp
->yytops
.yystates
[yyn
], yystate
);
7806 YYFREE (yystackp
->yyitems
);
7807 yystackp
->yyitems
= yynewItems
;
7808 yystackp
->yynextFree
= yynewItems
+ yysize
;
7809 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
7814 yyfreeGLRStack (yyGLRStack
* yystackp
)
7816 YYFREE (yystackp
->yyitems
);
7817 yyfreeStateSet (&yystackp
->yytops
);
7820 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
7821 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
7824 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
7826 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
7827 yystackp
->yysplitPoint
= yys
;
7830 /** Invalidate stack #YYK in *YYSTACKP. */
7832 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
7834 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7835 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
7836 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
7839 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
7840 only be done once after a deletion, and only when all other stacks have
7843 yyundeleteLastStack (yyGLRStack
* yystackp
)
7845 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
7847 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
7848 yystackp
->yytops
.yysize
= 1;
7849 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
7850 yystackp
->yylastDeleted
= YY_NULLPTR
;
7854 yyremoveDeletes (yyGLRStack
* yystackp
)
7858 while (yyj
< yystackp
->yytops
.yysize
)
7860 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
7864 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
7866 yystackp
->yytops
.yysize
-= 1;
7870 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
7871 /* In the current implementation, it's unnecessary to copy
7872 yystackp->yytops.yylookaheadNeeds[yyi] since, after
7873 yyremoveDeletes returns, the parser immediately either enters
7874 deterministic operation or shifts a token. However, it doesn't
7875 hurt, and the code might evolve to need it. */
7876 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
7877 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
7880 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
7881 (unsigned long) yyi
, (unsigned long) yyj
));
7889 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
7890 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
7891 * value *YYVALP and source location *YYLOCP. */
7893 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
7897 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
7899 yynewState
->yylrState
= yylrState
;
7900 yynewState
->yyposn
= yyposn
;
7901 yynewState
->yyresolved
= yytrue
;
7902 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
7903 yynewState
->yysemantics
.yysval
= *yyvalp
;
7904 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
7906 YY_RESERVE_GLRSTACK (yystackp
);
7909 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
7910 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
7911 * semantic value of YYRHS under the action for YYRULE. */
7913 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
7914 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
7916 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
7917 YYASSERT (yynewState
->yyisState
);
7919 yynewState
->yylrState
= yylrState
;
7920 yynewState
->yyposn
= yyposn
;
7921 yynewState
->yyresolved
= yyfalse
;
7922 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
7923 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
7924 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
7926 /* Invokes YY_RESERVE_GLRSTACK. */
7927 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
7931 # define YY_REDUCE_PRINT(Args)
7933 # define YY_REDUCE_PRINT(Args) \
7936 yy_reduce_print Args; \
7939 /*----------------------------------------------------------------------.
7940 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
7941 `----------------------------------------------------------------------*/
7944 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
7945 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7947 int yynrhs
= yyrhsLength (yyrule
);
7949 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
7950 (unsigned long) yyk
, yyrule
- 1,
7951 (unsigned long) yyrline
[yyrule
]);
7953 yyfillin (yyvsp
, 1, -yynrhs
);
7954 /* The symbols being reduced. */
7955 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
7957 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
7958 yy_symbol_print (stderr
,
7959 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
7960 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
7961 , P
, tokens
, index
);
7962 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
7963 YYFPRINTF (stderr
, " (unresolved)");
7964 YYFPRINTF (stderr
, "\n");
7969 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
7970 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
7971 * semantic values. Assumes that all ambiguities in semantic values
7972 * have been previously resolved. Set *YYVALP to the resulting value,
7973 * and *YYLOCP to the computed location (if any). Return value is as
7974 * for userAction. */
7975 static inline YYRESULTTAG
7976 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
7977 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7979 int yynrhs
= yyrhsLength (yyrule
);
7981 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
7983 /* Standard special case: single stack. */
7984 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
7985 YYASSERT (yyk
== 0);
7986 yystackp
->yynextFree
-= yynrhs
;
7987 yystackp
->yyspaceLeft
+= yynrhs
;
7988 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
7989 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
7990 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
7991 yyvalp
, P
, tokens
, index
);
7997 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
7998 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
7999 = yystackp
->yytops
.yystates
[yyk
];
8000 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
8005 yyupdateSplit (yystackp
, yys
);
8006 yystackp
->yytops
.yystates
[yyk
] = yys
;
8007 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
8008 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8009 yystackp
, yyvalp
, P
, tokens
, index
);
8013 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8014 * and push back on the resulting nonterminal symbol. Perform the
8015 * semantic action associated with YYRULE and store its value with the
8016 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8017 * unambiguous. Otherwise, store the deferred semantic action with
8018 * the new state. If the new state would have an identical input
8019 * position, LR state, and predecessor to an existing state on the stack,
8020 * it is identified with that existing state, eliminating stack #YYK from
8021 * *YYSTACKP. In this case, the semantic value is
8022 * added to the options for the existing state's semantic value.
8024 static inline YYRESULTTAG
8025 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8026 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8028 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
8030 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
8034 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
8035 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
8037 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
8038 (unsigned long) yyk
, yyrule
- 1));
8042 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
8043 yyglrShift (yystackp
, yyk
,
8044 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
8045 yylhsNonterm (yyrule
)),
8052 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
8053 yyStateNum yynewLRState
;
8055 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
8061 yyupdateSplit (yystackp
, yys
);
8062 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
8064 "Reduced stack %lu by rule #%d; action deferred. "
8065 "Now in state %d.\n",
8066 (unsigned long) yyk
, yyrule
- 1, yynewLRState
));
8067 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
8068 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
8070 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
8071 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
8072 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
8074 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
8076 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
8077 yymarkStackDeleted (yystackp
, yyk
);
8078 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
8079 (unsigned long) yyk
,
8080 (unsigned long) yyi
));
8086 yystackp
->yytops
.yystates
[yyk
] = yys
;
8087 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
8093 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
8095 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8097 YYASSERT (yyk
== 0);
8098 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
8100 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
8102 yyGLRState
** yynewStates
;
8103 yybool
* yynewLookaheadNeeds
;
8105 yynewStates
= YY_NULLPTR
;
8107 if (yystackp
->yytops
.yycapacity
8108 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
8109 yyMemoryExhausted (yystackp
);
8110 yystackp
->yytops
.yycapacity
*= 2;
8113 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
8114 (yystackp
->yytops
.yycapacity
8115 * sizeof yynewStates
[0]));
8116 if (yynewStates
== YY_NULLPTR
)
8117 yyMemoryExhausted (yystackp
);
8118 yystackp
->yytops
.yystates
= yynewStates
;
8120 yynewLookaheadNeeds
=
8121 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
8122 (yystackp
->yytops
.yycapacity
8123 * sizeof yynewLookaheadNeeds
[0]));
8124 if (yynewLookaheadNeeds
== YY_NULLPTR
)
8125 yyMemoryExhausted (yystackp
);
8126 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
8128 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
8129 = yystackp
->yytops
.yystates
[yyk
];
8130 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
8131 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
8132 yystackp
->yytops
.yysize
+= 1;
8133 return yystackp
->yytops
.yysize
-1;
8136 /** True iff YYY0 and YYY1 represent identical options at the top level.
8137 * That is, they represent the same rule applied to RHS symbols
8138 * that produce the same terminal symbols. */
8140 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8142 if (yyy0
->yyrule
== yyy1
->yyrule
)
8144 yyGLRState
*yys0
, *yys1
;
8146 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8147 yyn
= yyrhsLength (yyy0
->yyrule
);
8149 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8150 if (yys0
->yyposn
!= yys1
->yyposn
)
8158 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8159 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8161 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8163 yyGLRState
*yys0
, *yys1
;
8165 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8166 yyn
= yyrhsLength (yyy0
->yyrule
);
8168 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8172 else if (yys0
->yyresolved
)
8174 yys1
->yyresolved
= yytrue
;
8175 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
8177 else if (yys1
->yyresolved
)
8179 yys0
->yyresolved
= yytrue
;
8180 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
8184 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
8185 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
8188 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
8190 else if (*yyz0p
== YY_NULLPTR
)
8195 else if (*yyz0p
< yyz1
)
8197 yySemanticOption
* yyz
= *yyz0p
;
8199 yyz1
= yyz1
->yynext
;
8200 (*yyz0p
)->yynext
= yyz
;
8202 yyz0p
= &(*yyz0p
)->yynext
;
8204 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
8209 /** Y0 and Y1 represent two possible actions to take in a given
8210 * parsing state; return 0 if no combination is possible,
8211 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8213 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
8215 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
8216 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
8220 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
8225 if (p0
== 0 || p1
== 0)
8234 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
8235 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
8238 /** Resolve the previous YYN states starting at and including state YYS
8239 * on *YYSTACKP. If result != yyok, some states may have been left
8240 * unresolved possibly with empty semantic option chains. Regardless
8241 * of whether result = yyok, each state has been left with consistent
8242 * data so that yydestroyGLRState can be invoked if necessary. */
8244 yyresolveStates (yyGLRState
* yys
, int yyn
,
8245 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8249 YYASSERT (yys
->yypred
);
8250 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
8251 if (! yys
->yyresolved
)
8252 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
8257 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8258 * user action, and return the semantic value and location in *YYVALP
8259 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8260 * have been destroyed (assuming the user action destroys all RHS
8261 * semantic values if invoked). */
8263 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
8264 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8266 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8267 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
8268 YYRESULTTAG yyflag
=
8269 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
8273 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
8274 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
8278 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
8280 int yychar_current
= yychar
;
8281 YYSTYPE yylval_current
= yylval
;
8282 yychar
= yyopt
->yyrawchar
;
8283 yylval
= yyopt
->yyval
;
8284 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
8285 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8286 yystackp
, yyvalp
, P
, tokens
, index
);
8287 yychar
= yychar_current
;
8288 yylval
= yylval_current
;
8295 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
8297 int yynrhs
= yyrhsLength (yyx
->yyrule
);
8300 yyGLRState
* yystates
[1 + YYMAXRHS
];
8301 yyGLRState yyleftmost_state
;
8303 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
8304 yystates
[yyi
] = yys
;
8305 if (yys
== YY_NULLPTR
)
8307 yyleftmost_state
.yyposn
= 0;
8308 yystates
[0] = &yyleftmost_state
;
8313 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
8314 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
8315 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8318 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8319 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8320 yyx
->yyrule
- 1, (unsigned long) (yys
->yyposn
+ 1),
8321 (unsigned long) yyx
->yystate
->yyposn
);
8322 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
8324 if (yystates
[yyi
]->yyresolved
)
8326 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
8327 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
8328 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
8330 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
8331 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
8332 (unsigned long) (yystates
[yyi
-1]->yyposn
+ 1),
8333 (unsigned long) yystates
[yyi
]->yyposn
);
8336 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
8342 yyreportAmbiguity (yySemanticOption
* yyx0
,
8343 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8349 YYFPRINTF (stderr
, "Ambiguity detected.\n");
8350 YYFPRINTF (stderr
, "Option 1,\n");
8351 yyreportTree (yyx0
, 2);
8352 YYFPRINTF (stderr
, "\nOption 2,\n");
8353 yyreportTree (yyx1
, 2);
8354 YYFPRINTF (stderr
, "\n");
8357 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
8361 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8362 * perform the indicated actions, and set the semantic value of YYS.
8363 * If result != yyok, the chain of semantic options in YYS has been
8364 * cleared instead or it has been left unmodified except that
8365 * redundant options may have been removed. Regardless of whether
8366 * result = yyok, YYS has been left with consistent data so that
8367 * yydestroyGLRState can be invoked if necessary. */
8369 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8371 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
8372 yySemanticOption
* yybest
= yyoptionList
;
8373 yySemanticOption
** yypp
;
8374 yybool yymerge
= yyfalse
;
8378 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
8380 yySemanticOption
* yyp
= *yypp
;
8382 if (yyidenticalOptions (yybest
, yyp
))
8384 yymergeOptionSets (yybest
, yyp
);
8385 *yypp
= yyp
->yynext
;
8389 switch (yypreference (yybest
, yyp
))
8392 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
8404 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8405 but some compilers complain if the default case is
8409 yypp
= &yyp
->yynext
;
8415 yySemanticOption
* yyp
;
8416 int yyprec
= yydprec
[yybest
->yyrule
];
8417 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8419 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
8421 if (yyprec
== yydprec
[yyp
->yyrule
])
8423 YYSTYPE yysval_other
;
8424 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
8427 yydestruct ("Cleanup: discarding incompletely merged value for",
8428 yystos
[yys
->yylrState
],
8429 &yysval
, P
, tokens
, index
);
8432 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
8437 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8441 yys
->yyresolved
= yytrue
;
8442 yys
->yysemantics
.yysval
= yysval
;
8445 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8450 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8452 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8457 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
8458 yys
!= yystackp
->yysplitPoint
;
8459 yys
= yys
->yypred
, yyn
+= 1)
8461 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
8462 , P
, tokens
, index
));
8468 yycompressStack (yyGLRStack
* yystackp
)
8470 yyGLRState
* yyp
, *yyq
, *yyr
;
8472 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
8475 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
8476 yyp
!= yystackp
->yysplitPoint
;
8477 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
8480 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
8481 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
8482 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
8483 yystackp
->yysplitPoint
= YY_NULLPTR
;
8484 yystackp
->yylastDeleted
= YY_NULLPTR
;
8486 while (yyr
!= YY_NULLPTR
)
8488 yystackp
->yynextFree
->yystate
= *yyr
;
8490 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
8491 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
8492 yystackp
->yynextFree
+= 1;
8493 yystackp
->yyspaceLeft
-= 1;
8498 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
8499 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8501 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8503 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
8504 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
8505 (unsigned long) yyk
, yystate
));
8507 YYASSERT (yystate
!= YYFINAL
);
8509 if (yyisDefaultedState (yystate
))
8512 yyRuleNum yyrule
= yydefaultAction (yystate
);
8515 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8516 (unsigned long) yyk
));
8517 yymarkStackDeleted (yystackp
, yyk
);
8520 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
8521 if (yyflag
== yyerr
)
8525 "(predicate failure or explicit user error).\n",
8526 (unsigned long) yyk
));
8527 yymarkStackDeleted (yystackp
, yyk
);
8537 const short* yyconflicts
;
8539 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
8540 if (yychar
== YYEMPTY
)
8542 YYDPRINTF ((stderr
, "Reading a token: "));
8543 yychar
= yylex (&yylval
, P
, tokens
, index
);
8546 if (yychar
<= YYEOF
)
8548 yychar
= yytoken
= YYEOF
;
8549 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8553 yytoken
= YYTRANSLATE (yychar
);
8554 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8557 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
8559 while (*yyconflicts
!= 0)
8562 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
8563 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
8564 (unsigned long) yynewStack
,
8565 (unsigned long) yyk
));
8566 yyflag
= yyglrReduce (yystackp
, yynewStack
,
8568 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
8570 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
8571 yyposn
, P
, tokens
, index
));
8572 else if (yyflag
== yyerr
)
8574 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8575 (unsigned long) yynewStack
));
8576 yymarkStackDeleted (yystackp
, yynewStack
);
8583 if (yyisShiftAction (yyaction
))
8585 else if (yyisErrorAction (yyaction
))
8587 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8588 (unsigned long) yyk
));
8589 yymarkStackDeleted (yystackp
, yyk
);
8594 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
8595 yyimmediate
[-yyaction
], P
, tokens
, index
);
8596 if (yyflag
== yyerr
)
8600 "(predicate failure or explicit user error).\n",
8601 (unsigned long) yyk
));
8602 yymarkStackDeleted (yystackp
, yyk
);
8605 else if (yyflag
!= yyok
)
8614 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8616 if (yystackp
->yyerrState
!= 0)
8618 #if ! YYERROR_VERBOSE
8619 yyerror (P
, tokens
, index
, YY_("syntax error"));
8622 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
8623 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
8624 size_t yysize
= yysize0
;
8625 yybool yysize_overflow
= yyfalse
;
8626 char* yymsg
= YY_NULLPTR
;
8627 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
8628 /* Internationalized format string. */
8629 const char *yyformat
= YY_NULLPTR
;
8630 /* Arguments of yyformat. */
8631 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
8632 /* Number of reported tokens (one for the "unexpected", one per
8636 /* There are many possibilities here to consider:
8637 - If this state is a consistent state with a default action, then
8638 the only way this function was invoked is if the default action
8639 is an error action. In that case, don't check for expected
8640 tokens because there are none.
8641 - The only way there can be no lookahead present (in yychar) is if
8642 this state is a consistent state with a default action. Thus,
8643 detecting the absence of a lookahead is sufficient to determine
8644 that there is no unexpected or expected token to report. In that
8645 case, just report a simple "syntax error".
8646 - Don't assume there isn't a lookahead just because this state is a
8647 consistent state with a default action. There might have been a
8648 previous inconsistent state, consistent state with a non-default
8649 action, or user semantic action that manipulated yychar.
8650 - Of course, the expected token list depends on states to have
8651 correct lookahead information, and it depends on the parser not
8652 to perform extra reductions after fetching a lookahead from the
8653 scanner and before detecting a syntax error. Thus, state merging
8654 (from LALR or IELR) and default reductions corrupt the expected
8655 token list. However, the list is correct for canonical LR with
8656 one exception: it will still contain any token that will not be
8657 accepted due to an error action in a later state.
8659 if (yytoken
!= YYEMPTY
)
8661 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
8662 yyarg
[yycount
++] = yytokenName (yytoken
);
8663 if (!yypact_value_is_default (yyn
))
8665 /* Start YYX at -YYN if negative to avoid negative indexes in
8666 YYCHECK. In other words, skip the first -YYN actions for this
8667 state because they are default actions. */
8668 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
8669 /* Stay within bounds of both yycheck and yytname. */
8670 int yychecklim
= YYLAST
- yyn
+ 1;
8671 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
8673 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
8674 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
8675 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
8677 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
8683 yyarg
[yycount
++] = yytokenName (yyx
);
8685 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
8686 yysize_overflow
|= yysz
< yysize
;
8695 #define YYCASE_(N, S) \
8699 default: /* Avoid compiler warnings. */
8700 YYCASE_(0, YY_("syntax error"));
8701 YYCASE_(1, YY_("syntax error, unexpected %s"));
8702 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8703 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8704 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8705 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8710 size_t yysz
= yysize
+ strlen (yyformat
);
8711 yysize_overflow
|= yysz
< yysize
;
8715 if (!yysize_overflow
)
8716 yymsg
= (char *) YYMALLOC (yysize
);
8722 while ((*yyp
= *yyformat
))
8724 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
8726 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
8735 yyerror (P
, tokens
, index
, yymsg
);
8740 yyerror (P
, tokens
, index
, YY_("syntax error"));
8741 yyMemoryExhausted (yystackp
);
8744 #endif /* YYERROR_VERBOSE */
8748 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8749 yylval, and yylloc are the syntactic category, semantic value, and location
8750 of the lookahead. */
8752 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8757 if (yystackp
->yyerrState
== 3)
8758 /* We just shifted the error token and (perhaps) took some
8759 reductions. Skip tokens until we can proceed. */
8763 if (yychar
== YYEOF
)
8764 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
8765 if (yychar
!= YYEMPTY
)
8767 yytoken
= YYTRANSLATE (yychar
);
8768 yydestruct ("Error: discarding",
8769 yytoken
, &yylval
, P
, tokens
, index
);
8771 YYDPRINTF ((stderr
, "Reading a token: "));
8772 yychar
= yylex (&yylval
, P
, tokens
, index
);
8773 if (yychar
<= YYEOF
)
8775 yychar
= yytoken
= YYEOF
;
8776 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8780 yytoken
= YYTRANSLATE (yychar
);
8781 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8783 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
8784 if (yypact_value_is_default (yyj
))
8787 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
8789 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
8792 else if (! yytable_value_is_error (yytable
[yyj
]))
8796 /* Reduce to one stack. */
8797 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
8798 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8800 if (yyk
>= yystackp
->yytops
.yysize
)
8801 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
8802 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
8803 yymarkStackDeleted (yystackp
, yyk
);
8804 yyremoveDeletes (yystackp
);
8805 yycompressStack (yystackp
);
8807 /* Now pop stack until we find a state that shifts the error token. */
8808 yystackp
->yyerrState
= 3;
8809 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
8811 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
8812 yyj
= yypact
[yys
->yylrState
];
8813 if (! yypact_value_is_default (yyj
))
8816 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
8817 && yyisShiftAction (yytable
[yyj
]))
8819 /* Shift the error token. */
8820 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
8821 &yylval
, &yyerrloc
);
8822 yyglrShift (yystackp
, 0, yytable
[yyj
],
8823 yys
->yyposn
, &yylval
);
8824 yys
= yystackp
->yytops
.yystates
[0];
8828 if (yys
->yypred
!= YY_NULLPTR
)
8829 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
8830 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
8831 yystackp
->yynextFree
-= 1;
8832 yystackp
->yyspaceLeft
+= 1;
8834 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
8835 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
8838 #define YYCHK1(YYE) \
8848 goto yyuser_error; \
8859 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8863 yyGLRStack
* const yystackp
= &yystack
;
8866 YYDPRINTF ((stderr
, "Starting parse\n"));
8869 yylval
= yyval_default
;
8871 /* User initialization code. */
8872 #line 144 "src/parser_proc_grammar.y" /* glr.c:2261 */
8876 #line 8877 "src/parser_proc.c" /* glr.c:2261 */
8878 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
8879 goto yyexhaustedlab
;
8880 switch (YYSETJMP (yystack
.yyexception_buffer
))
8883 case 1: goto yyabortlab
;
8884 case 2: goto yyexhaustedlab
;
8885 default: goto yybuglab
;
8887 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
8892 /* For efficiency, we have two loops, the first of which is
8893 specialized to deterministic operation (single stack, no
8894 potential ambiguity). */
8900 const short* yyconflicts
;
8902 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
8903 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
8904 if (yystate
== YYFINAL
)
8906 if (yyisDefaultedState (yystate
))
8908 yyrule
= yydefaultAction (yystate
);
8911 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
8914 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
8919 if (yychar
== YYEMPTY
)
8921 YYDPRINTF ((stderr
, "Reading a token: "));
8922 yychar
= yylex (&yylval
, P
, tokens
, index
);
8925 if (yychar
<= YYEOF
)
8927 yychar
= yytoken
= YYEOF
;
8928 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8932 yytoken
= YYTRANSLATE (yychar
);
8933 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8936 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
8937 if (*yyconflicts
!= 0)
8939 if (yyisShiftAction (yyaction
))
8941 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
8944 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
8945 if (0 < yystack
.yyerrState
)
8946 yystack
.yyerrState
-= 1;
8948 else if (yyisErrorAction (yyaction
))
8950 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
8954 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
8960 yySymbol yytoken_to_shift
;
8963 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
8964 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
8966 /* yyprocessOneStack returns one of three things:
8968 - An error flag. If the caller is yyprocessOneStack, it
8969 immediately returns as well. When the caller is finally
8970 yyparse, it jumps to an error label via YYCHK1.
8972 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
8973 (&yystack, yys), which sets the top state of yys to NULL. Thus,
8974 yyparse's following invocation of yyremoveDeletes will remove
8977 - yyok, when ready to shift a token.
8979 Except in the first case, yyparse will invoke yyremoveDeletes and
8980 then shift the next token onto all remaining stacks. This
8981 synchronization of the shift (that is, after all preceding
8982 reductions on all stacks) helps prevent double destructor calls
8983 on yylval in the event of memory exhaustion. */
8985 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
8986 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
8987 yyremoveDeletes (&yystack
);
8988 if (yystack
.yytops
.yysize
== 0)
8990 yyundeleteLastStack (&yystack
);
8991 if (yystack
.yytops
.yysize
== 0)
8992 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
8993 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
8994 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
8995 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
8999 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9000 a copy of yylval will already be on stack 0 in the event of a
9001 failure in the following loop. Thus, yychar is set to YYEMPTY
9002 before the loop to make sure the user destructor for yylval isn't
9004 yytoken_to_shift
= YYTRANSLATE (yychar
);
9007 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9010 const short* yyconflicts
;
9011 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
9012 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
9014 /* Note that yyconflicts were handled by yyprocessOneStack. */
9015 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long) yys
));
9016 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
9017 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
9019 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
9020 (unsigned long) yys
,
9021 yystack
.yytops
.yystates
[yys
]->yylrState
));
9024 if (yystack
.yytops
.yysize
== 1)
9026 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9027 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9028 yycompressStack (&yystack
);
9034 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
9035 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
9051 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
9056 if (yychar
!= YYEMPTY
)
9057 yydestruct ("Cleanup: discarding lookahead",
9058 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
9060 /* If the stack is well-formed, pop the stack until it is empty,
9061 destroying its entries as we go. But free the stack regardless
9062 of whether it is well-formed. */
9063 if (yystack
.yyitems
)
9065 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
9068 size_t yysize
= yystack
.yytops
.yysize
;
9070 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
9073 while (yystates
[yyk
])
9075 yyGLRState
*yys
= yystates
[yyk
];
9076 if (yys
->yypred
!= YY_NULLPTR
)
9077 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
9078 yystates
[yyk
] = yys
->yypred
;
9079 yystack
.yynextFree
-= 1;
9080 yystack
.yyspaceLeft
+= 1;
9085 yyfreeGLRStack (&yystack
);
9091 /* DEBUGGING ONLY */
9094 yy_yypstack (yyGLRState
* yys
)
9098 yy_yypstack (yys
->yypred
);
9099 YYFPRINTF (stderr
, " -> ");
9101 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
9102 (unsigned long) yys
->yyposn
);
9106 yypstates (yyGLRState
* yyst
)
9108 if (yyst
== YY_NULLPTR
)
9109 YYFPRINTF (stderr
, "<null>");
9112 YYFPRINTF (stderr
, "\n");
9116 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
9118 yypstates (yystackp
->yytops
.yystates
[yyk
]);
9121 #define YYINDEX(YYX) \
9122 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9126 yypdumpstack (yyGLRStack
* yystackp
)
9128 yyGLRStackItem
* yyp
;
9130 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
9132 YYFPRINTF (stderr
, "%3lu. ",
9133 (unsigned long) (yyp
- yystackp
->yyitems
));
9134 if (*(yybool
*) yyp
)
9136 YYASSERT (yyp
->yystate
.yyisState
);
9137 YYASSERT (yyp
->yyoption
.yyisState
);
9138 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9139 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
9140 (unsigned long) yyp
->yystate
.yyposn
,
9141 (long) YYINDEX (yyp
->yystate
.yypred
));
9142 if (! yyp
->yystate
.yyresolved
)
9143 YYFPRINTF (stderr
, ", firstVal: %ld",
9144 (long) YYINDEX (yyp
->yystate
9145 .yysemantics
.yyfirstVal
));
9149 YYASSERT (!yyp
->yystate
.yyisState
);
9150 YYASSERT (!yyp
->yyoption
.yyisState
);
9151 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
9152 yyp
->yyoption
.yyrule
- 1,
9153 (long) YYINDEX (yyp
->yyoption
.yystate
),
9154 (long) YYINDEX (yyp
->yyoption
.yynext
));
9156 YYFPRINTF (stderr
, "\n");
9158 YYFPRINTF (stderr
, "Tops:");
9159 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
9160 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long) yyi
,
9161 (long) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
9162 YYFPRINTF (stderr
, "\n");
9170 /* Substitute the variable and function names. */
9171 #define yyparse psi_parser_proc_parse
9172 #define yylex psi_parser_proc_lex
9173 #define yyerror psi_parser_proc_error
9174 #define yylval psi_parser_proc_lval
9175 #define yychar psi_parser_proc_char
9176 #define yydebug psi_parser_proc_debug
9177 #define yynerrs psi_parser_proc_nerrs
9179 #line 2274 "src/parser_proc_grammar.y" /* glr.c:2575 */
9184 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9186 struct psi_token
*token
;
9188 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
9189 if (P
->flags
& PSI_DEBUG
) {
9190 psi_token_dump(2, token
);
9193 *((struct psi_token
**)lvalp
) = token
;
9197 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
9203 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
9205 struct psi_token
*T
= NULL
;
9214 psi_plist_get(tokens
, last
, &T
);
9216 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
9218 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);