1 /* A Bison parser, made by GNU Bison 3.2. */
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 /* Undocumented macros, especially those whose name start with YY_,
36 are private implementation details. Do not rely on them. */
38 /* Identify Bison output. */
42 #define YYBISON_VERSION "3.2"
45 #define YYSKELETON_NAME "glr.c"
51 /* "%code top" blocks. */
52 #line 1 "src/parser_proc_grammar.y" /* glr.c:221 */
57 # include "php_config.h"
60 #line 61 "src/parser_proc.c" /* glr.c:221 */
63 /* Substitute the variable and function names. */
64 #define yyparse psi_parser_proc_parse
65 #define yylex psi_parser_proc_lex
66 #define yyerror psi_parser_proc_error
67 #define yydebug psi_parser_proc_debug
73 # if defined __cplusplus
74 # if 201103L <= __cplusplus
75 # define YY_NULLPTR nullptr
80 # define YY_NULLPTR ((void*)0)
84 #include "parser_proc.h"
86 /* Enabling verbose error messages. */
87 #ifdef YYERROR_VERBOSE
88 # undef YYERROR_VERBOSE
89 # define YYERROR_VERBOSE 1
91 # define YYERROR_VERBOSE 1
94 /* Default (constant) value used for initialization for null
95 right-hand sides. Unlike the standard yacc.c template, here we set
96 the default value of $$ to a zeroed-out value. Since the default
97 value is undefined, this behavior is technically correct. */
98 static YYSTYPE yyval_default
;
101 /* Unqualified %code blocks. */
102 #line 9 "src/parser_proc_grammar.y" /* glr.c:261 */
111 #define PSI_PARSER_PROC_DEBUG 1
113 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
114 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
116 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
120 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
122 P
->structs
= psi_plist_add(P
->structs
, &strct
);
124 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
128 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
130 P
->unions
= psi_plist_add(P
->unions
, &u
);
132 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
136 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
138 P
->enums
= psi_plist_add(P
->enums
, &e
);
140 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
144 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
146 P
->types
= psi_plist_add(P
->types
, &def
);
148 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
151 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
153 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
156 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
159 if (psi_decl_is_blacklisted(decl
->func
->var
->name
->val
)) {
160 psi_decl_free(&decl
);
165 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
167 P
->decls
= psi_plist_add(P
->decls
, &decl
);
169 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser
*P
, struct psi_plist
*list
) {
172 P
->vars
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
174 P
->vars
= psi_plist_add_r(P
->vars
, psi_plist_count(list
), psi_plist_eles(list
));
177 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
180 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
182 P
->impls
= psi_plist_add(P
->impls
, &impl
);
187 #line 188 "src/parser_proc.c" /* glr.c:261 */
194 # if defined YYENABLE_NLS && YYENABLE_NLS
196 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
197 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
201 # define YY_(Msgid) Msgid
209 # define YYMALLOC malloc
212 # define YYREALLOC realloc
215 #define YYSIZEMAX ((size_t) -1)
220 # define yyfalse false
222 /* When we move to stdbool, get rid of the various casts to yybool. */
223 typedef unsigned char yybool
;
230 # define YYJMP_BUF jmp_buf
231 # define YYSETJMP(Env) setjmp (Env)
232 /* Pacify Clang and ICC. */
233 # define YYLONGJMP(Env, Val) \
235 longjmp (Env, Val); \
241 # if (defined __GNUC__ \
242 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
243 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
244 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
246 # define YY_ATTRIBUTE(Spec) /* empty */
250 #ifndef YY_ATTRIBUTE_PURE
251 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
254 #ifndef YY_ATTRIBUTE_UNUSED
255 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
258 #if !defined _Noreturn \
259 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
260 # if defined _MSC_VER && 1200 <= _MSC_VER
261 # define _Noreturn __declspec (noreturn)
263 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
267 /* Suppress unused-variable warnings by "using" E. */
268 #if ! defined lint || defined __GNUC__
269 # define YYUSE(E) ((void) (E))
271 # define YYUSE(E) /* empty */
274 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
275 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
276 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
277 _Pragma ("GCC diagnostic push") \
278 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
279 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
280 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
281 _Pragma ("GCC diagnostic pop")
283 # define YY_INITIAL_VALUE(Value) Value
285 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
286 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
287 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
289 #ifndef YY_INITIAL_VALUE
290 # define YY_INITIAL_VALUE(Value) /* Nothing. */
295 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
298 /* YYFINAL -- State number of the termination state. */
300 /* YYLAST -- Last index in YYTABLE. */
303 /* YYNTOKENS -- Number of terminals. */
304 #define YYNTOKENS 140
305 /* YYNNTS -- Number of nonterminals. */
307 /* YYNRULES -- Number of rules. */
309 /* YYNRULES -- Number of states. */
310 #define YYNSTATES 950
311 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
313 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
314 accessed by $0, $-1, etc., in any rule. */
317 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
319 #define YYMAXUTOK 394
321 #define YYTRANSLATE(YYX) \
322 ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
324 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
325 static const unsigned char yytranslate
[] =
327 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 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, 1, 2, 3, 4,
353 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
354 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
355 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
356 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
357 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
358 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
359 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
360 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
361 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
362 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
363 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
364 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
365 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
366 135, 136, 137, 138, 139
370 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
371 static const unsigned short yyrline
[] =
373 0, 412, 412, 412, 412, 412, 412, 412, 412, 412,
374 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
375 413, 413, 413, 413, 414, 414, 414, 414, 414, 414,
376 414, 414, 414, 414, 414, 414, 414, 414, 414, 414,
377 414, 414, 414, 414, 414, 414, 415, 415, 415, 415,
378 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
379 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
380 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
381 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
382 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
383 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
384 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
385 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
386 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
387 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
388 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
389 415, 415, 415, 415, 416, 416, 416, 416, 416, 416,
390 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
391 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
392 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
393 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
394 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
395 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
396 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
397 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
398 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
399 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
400 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
401 420, 421, 424, 425, 428, 429, 430, 431, 437, 441,
402 444, 447, 450, 456, 459, 462, 465, 468, 474, 480,
403 483, 489, 512, 516, 520, 525, 529, 533, 537, 544,
404 545, 549, 550, 554, 555, 556, 560, 561, 565, 566,
405 570, 571, 572, 576, 577, 581, 586, 591, 596, 605,
406 608, 611, 612, 618, 623, 631, 634, 638, 642, 649,
407 653, 657, 661, 666, 677, 688, 693, 698, 702, 708,
408 719, 722, 726, 734, 738, 744, 748, 755, 759, 763,
409 770, 771, 772, 776, 790, 796, 799, 805, 808, 814,
410 815, 823, 834, 843, 855, 856, 860, 870, 879, 891,
411 892, 895, 901, 902, 906, 910, 914, 919, 924, 932,
412 933, 934, 937, 943, 946, 949, 955, 956, 960, 963,
413 966, 972, 975, 978, 986, 998, 1001, 1004, 1007, 1014,
414 1017, 1027, 1030, 1033, 1036, 1037, 1038, 1042, 1045, 1048,
415 1059, 1066, 1076, 1079, 1085, 1088, 1095, 1131, 1134, 1140,
416 1143, 1149, 1155, 1156, 1157, 1158, 1159, 1160, 1164, 1168,
417 1169, 1173, 1174, 1178, 1179, 1186, 1187, 1191, 1198, 1209,
418 1216, 1224, 1248, 1277, 1284, 1295, 1341, 1382, 1397, 1400,
419 1403, 1409, 1412, 1418, 1433, 1436, 1465, 1473, 1501, 1506,
420 1514, 1524, 1534, 1537, 1541, 1547, 1561, 1578, 1581, 1587,
421 1594, 1601, 1609, 1620, 1627, 1630, 1636, 1641, 1649, 1653,
422 1657, 1661, 1665, 1669, 1676, 1680, 1684, 1688, 1692, 1696,
423 1702, 1706, 1713, 1716, 1728, 1732, 1736, 1743, 1756, 1769,
424 1782, 1785, 1792, 1793, 1797, 1800, 1803, 1806, 1812, 1816,
425 1823, 1826, 1829, 1844, 1845, 1846, 1847, 1851, 1854, 1860,
426 1861, 1867, 1870, 1876, 1877, 1881, 1882, 1892, 1895, 1902,
427 1907, 1912, 1922, 1925, 1931, 1934, 1940, 1947, 1954, 1961,
428 1962, 1966, 1967, 1968, 1969, 1970, 1974, 1975, 1976, 1977,
429 1981, 1984, 1990, 1993, 1996, 1999, 2002, 2008, 2012, 2020,
430 2021, 2025, 2032, 2035, 2038, 2041, 2045, 2048, 2054, 2058,
431 2066, 2073, 2078, 2086, 2094, 2095, 2096, 2097, 2098, 2099,
432 2100, 2101, 2102, 2103, 2107, 2110, 2116, 2119, 2125, 2126,
433 2130, 2133, 2139, 2142, 2148, 2155, 2159, 2166, 2169, 2172,
434 2178, 2185, 2188, 2191, 2198, 2203, 2211, 2212, 2213, 2214,
435 2215, 2216, 2217, 2218, 2222, 2225, 2231, 2234, 2240, 2247,
436 2248, 2252, 2259, 2262, 2268, 2276, 2279, 2285
440 #if YYDEBUG || YYERROR_VERBOSE || 1
441 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
442 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
443 static const char *const yytname
[] =
445 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
446 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
447 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
448 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
449 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
450 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
451 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
452 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
453 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
454 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
455 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
456 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
457 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
458 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
459 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
460 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
461 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
462 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
463 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
464 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
465 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
466 "$accept", "binary_op_token", "unary_op_token", "name_token",
467 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
468 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
469 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
470 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
471 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
472 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
473 "cpp_macro_call_arg_list", "constant", "impl_def_val",
474 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
475 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
476 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
477 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
478 "decl_int_type", "int_signed_types", "signed_short_types",
479 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
480 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
481 "ignored_decl", "ignored_decl_qualifiers", "ignored_decl_body",
482 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
483 "decl_func_body", "decl_functor_body", "decl_anon_functor_body",
484 "decl_functor", "decl_anon_functor", "decl_func", "decl_args",
485 "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
486 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
487 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
488 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
489 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
490 "struct_name", "optional_name", "optional_comma", "decl_layout",
491 "align_and_size", "array_size", "array_qualifier_token", "indirection",
492 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
493 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
494 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
495 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
496 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
497 "let_callback", "let_func", "let_func_token", "let_func_exps",
498 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
499 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
500 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
501 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
506 #define YYPACT_NINF -731
507 #define YYTABLE_NINF -636
509 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
511 static const short yypact
[] =
513 529, -731, -731, -731, -731, -731, 128, -731, -731, -731,
514 582, -731, -731, -731, 555, 722, 7975, 7975, 7975, 348,
515 77, -23, 80, -731, 281, -731, 132, 529, -731, -731,
516 -731, -731, -731, 7120, 109, -731, -731, -731, -731, 409,
517 161, -731, -731, -731, -731, 493, 26, -731, -731, 30,
518 96, 126, -731, -731, -731, -731, 125, -731, 142, -731,
519 -731, -731, 7975, 7975, 7975, -731, -731, -731, 145, -731,
520 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
521 -731, 861, -731, -731, -731, -731, 151, 987, 987, 33,
522 -731, 987, 6894, 7975, 7975, 1728, 154, -731, -731, -731,
523 165, 7975, 164, 164, -731, -731, -731, -731, -731, -731,
524 1353, -731, -731, -731, -731, -731, -731, -731, -731, -731,
525 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
526 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
527 -731, 114, -731, -731, 114, 181, -731, -731, -731, -731,
528 -731, -731, 201, 192, -731, 214, -731, 218, -731, 234,
529 -731, 1841, 722, 138, -731, 26, -731, -731, 46, 224,
530 -731, -731, 232, 7975, 17, -731, -731, -731, 261, -731,
531 101, -731, -731, -731, 507, -731, 233, 244, 248, 1954,
532 1954, 7975, 230, -731, -731, -731, 7459, 26, -731, 1693,
533 -731, -731, -731, -731, -731, -731, -731, -731, 1806, 1919,
534 2032, 2145, -731, 2258, 2371, -731, -731, -731, 2484, -731,
535 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
536 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
537 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
538 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
539 -731, 2597, 2710, 2823, 2936, 3049, -731, -731, -731, -731,
540 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
541 -731, 3162, -731, 3275, 3388, 3501, 3614, 3727, 3840, -731,
542 3953, -731, -731, 4066, 4179, 4292, 4405, 4518, 4631, 4744,
543 4857, 4970, 5083, 5196, 5309, 5422, 5535, 5648, 5761, -731,
544 -731, -731, -731, -731, -731, -731, 5874, 987, -731, -731,
545 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
546 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
547 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
548 -731, -731, -731, -731, -731, -731, -731, -731, -731, 987,
549 -731, -731, -731, -731, -731, -731, -731, 116, 6894, -731,
550 -731, -731, -731, 7572, 6894, 250, 8076, -731, 111, -731,
551 169, -731, -731, -731, -731, 245, 247, 247, 91, 91,
552 6103, 256, -731, 230, 252, 266, -731, 268, -731, -731,
553 -731, 1467, -731, 255, 224, -731, -731, -731, -731, -731,
554 301, -731, -731, 1239, -731, 283, -731, 52, 7120, -731,
555 279, 173, 284, -731, -731, 175, 277, 286, -731, 7459,
556 6555, 7459, 7975, 7459, -731, -731, 129, -731, -731, -731,
557 -731, -731, 6781, -731, 287, -731, 7975, 299, -731, 317,
558 8076, 307, -731, -731, -731, -731, 755, 331, -731, 7108,
559 7975, -731, -731, 1580, -731, -731, -731, -731, -731, -731,
560 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
561 -731, -731, 6894, 6894, 323, 1420, 7459, 7459, -731, -731,
562 -731, -731, 153, -731, -731, -731, -731, -731, 5990, 6781,
563 325, -731, 307, -731, 8100, -731, -731, 6103, 179, 427,
564 -731, -731, -731, -731, -731, -731, 8052, 320, 7685, -731,
565 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
566 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
567 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
568 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
569 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
570 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
571 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
572 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
573 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
574 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
575 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
576 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
577 1113, -731, 76, 56, 1954, 224, 308, 493, 224, 309,
578 6781, 7975, 338, 346, 356, 8100, 351, 357, -731, 360,
579 369, 354, 363, 122, -731, 370, 376, -731, -731, -731,
580 769, 7459, -731, 7744, -731, 255, 375, -731, -731, -731,
581 378, -731, 8076, 379, 388, 7676, -731, 398, 1728, 389,
582 -731, -731, 7007, 229, 7975, 164, 164, -731, -731, 36,
583 38, 47, 7225, -731, -731, 6781, 6781, 394, -731, -731,
584 -731, -731, -731, 391, 186, -731, 80, -731, -731, -731,
585 -731, -731, 255, 180, -731, -731, -731, 255, -731, 196,
586 -731, 399, -731, -731, 403, 8100, -731, -731, 6216, -731,
587 6555, -731, 7459, -731, 80, 7459, -731, 7975, 7857, -731,
588 -731, -731, -731, -731, 405, 393, -731, -731, -731, -731,
589 6894, 6894, 411, -731, 71, 412, -731, 389, 247, 247,
590 6781, -731, 7838, -731, -731, 641, 413, 641, 407, 7975,
591 1954, -731, 7233, 224, 392, 224, 224, 158, 350, 238,
592 431, 8100, -731, -731, -731, -731, 434, 6668, -731, 433,
593 7459, 219, -731, 436, 287, 440, 987, 7916, 8076, 8124,
594 449, 441, 443, 7346, 446, 412, 7459, 7459, -731, 6781,
595 -731, 641, -731, 80, 6103, 448, 452, -731, -731, 453,
596 -731, -731, 431, -731, -731, -731, 7857, -731, 455, 6781,
597 80, -731, 6329, 456, 460, -731, 395, -731, -731, -731,
598 462, 458, 471, 389, 472, -731, -731, 474, 8148, -731,
599 48, -731, 476, 484, 224, 488, 80, 7563, 489, 491,
600 -731, 492, -731, -731, 61, -731, 495, 494, -731, 7346,
601 -731, 506, 1954, 500, -731, 445, 511, 6781, 6216, 512,
602 -731, 6555, -731, -731, 515, 519, 523, 389, -731, 516,
603 520, 1954, 276, 6442, 7442, 346, -731, -731, -731, 518,
604 6668, -731, -731, 522, 521, -731, 526, 524, 530, 534,
605 535, 528, -731, -731, 6216, -731, 542, -731, 641, 537,
606 224, 80, 538, 6555, -731, 539, -731, 1954, -731, 541,
607 -731, -731, -731, 543, 6442, 224, 548, -731, 549, -731
610 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
611 Performed when YYTABLE does not specify something else to do. Zero
612 means the default is an error. */
613 static const unsigned short yydefact
[] =
615 280, 401, 398, 402, 396, 397, 399, 393, 394, 392,
616 391, 383, 285, 284, 0, 0, 0, 0, 510, 382,
617 0, 432, 635, 286, 0, 436, 0, 281, 282, 288,
618 287, 289, 293, 527, 0, 379, 385, 384, 390, 405,
619 417, 389, 290, 291, 292, 0, 422, 443, 445, 446,
620 0, 0, 457, 295, 294, 296, 0, 297, 0, 400,
621 395, 391, 0, 0, 0, 382, 437, 444, 427, 299,
622 310, 307, 309, 311, 312, 323, 320, 321, 318, 324,
623 319, 0, 322, 313, 314, 315, 0, 335, 335, 0,
624 303, 0, 0, 510, 510, 0, 0, 365, 370, 466,
625 369, 0, 518, 518, 33, 34, 35, 36, 37, 623,
626 584, 24, 42, 41, 40, 38, 39, 32, 31, 25,
627 29, 28, 26, 27, 43, 592, 591, 589, 587, 588,
628 590, 586, 585, 593, 30, 621, 619, 618, 620, 617,
629 616, 386, 44, 45, 387, 388, 507, 551, 552, 553,
630 554, 555, 0, 0, 548, 0, 433, 0, 637, 0,
631 636, 391, 0, 0, 434, 422, 1, 283, 533, 520,
632 381, 467, 0, 528, 529, 531, 380, 407, 411, 409,
633 413, 406, 403, 418, 405, 404, 0, 0, 0, 458,
634 458, 0, 0, 386, 387, 388, 0, 422, 71, 46,
635 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
636 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
637 67, 68, 69, 70, 161, 162, 72, 73, 74, 75,
638 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
639 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
640 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
641 111, 109, 110, 108, 106, 107, 112, 113, 114, 115,
642 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
643 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
644 163, 136, 137, 138, 139, 140, 141, 142, 143, 144,
645 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
646 155, 159, 156, 157, 158, 160, 0, 335, 305, 300,
647 46, 55, 56, 57, 58, 60, 61, 65, 109, 110,
648 108, 106, 107, 127, 129, 130, 131, 132, 133, 134,
649 163, 138, 139, 140, 141, 142, 143, 144, 145, 146,
650 147, 148, 149, 150, 151, 152, 153, 337, 308, 336,
651 301, 316, 317, 302, 304, 345, 346, 0, 0, 22,
652 23, 20, 21, 0, 0, 348, 306, 347, 386, 509,
653 387, 508, 366, 363, 371, 0, 0, 0, 0, 0,
654 0, 0, 298, 0, 0, 0, 435, 0, 536, 535,
655 534, 523, 469, 527, 520, 530, 532, 412, 408, 414,
656 415, 410, 419, 0, 431, 0, 420, 392, 527, 463,
657 0, 0, 460, 461, 464, 0, 486, 512, 484, 0,
658 635, 0, 0, 0, 629, 630, 0, 560, 563, 562,
659 564, 565, 0, 566, 428, 429, 0, 0, 424, 0,
660 327, 328, 325, 338, 506, 505, 0, 0, 501, 0,
661 0, 343, 340, 350, 2, 3, 4, 5, 6, 7,
662 8, 9, 10, 11, 13, 12, 14, 15, 16, 17,
663 18, 19, 0, 0, 0, 0, 0, 0, 472, 471,
664 473, 470, 497, 361, 362, 495, 494, 496, 0, 0,
665 0, 357, 359, 498, 358, 488, 499, 0, 0, 0,
666 364, 421, 497, 525, 526, 524, 0, 0, 0, 528,
667 468, 416, 189, 164, 165, 166, 167, 168, 169, 170,
668 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
669 181, 182, 183, 184, 185, 186, 187, 188, 277, 278,
670 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
671 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
672 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
673 220, 221, 227, 225, 226, 224, 222, 223, 228, 229,
674 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
675 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
676 250, 251, 279, 252, 253, 254, 255, 256, 257, 258,
677 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
678 269, 270, 271, 275, 272, 273, 274, 276, 441, 442,
679 0, 439, 0, 520, 458, 520, 0, 0, 520, 0,
680 0, 513, 0, 0, 0, 612, 0, 0, 611, 45,
681 0, 0, 0, 0, 632, 0, 0, 606, 537, 561,
682 0, 0, 426, 329, 425, 527, 0, 502, 504, 339,
683 0, 352, 353, 0, 351, 0, 341, 0, 0, 514,
684 374, 367, 375, 0, 376, 518, 518, 373, 372, 623,
685 24, 0, 0, 492, 356, 0, 0, 0, 538, 557,
686 558, 559, 556, 0, 0, 542, 635, 547, 549, 550,
687 522, 521, 527, 0, 438, 440, 423, 527, 465, 0,
688 449, 0, 462, 447, 0, 487, 485, 483, 0, 567,
689 635, 610, 0, 546, 635, 0, 631, 0, 607, 604,
690 628, 430, 330, 333, 0, 331, 503, 500, 344, 349,
691 0, 0, 0, 368, 0, 477, 474, 514, 0, 0,
692 0, 490, 0, 491, 355, 0, 0, 0, 544, 0,
693 458, 455, 0, 520, 0, 520, 520, 497, 0, 31,
694 30, 573, 578, 574, 576, 577, 44, 0, 613, 624,
695 0, 0, 633, 623, 609, 0, 335, 0, 354, 342,
696 0, 515, 0, 514, 0, 477, 378, 377, 489, 0,
697 539, 0, 543, 635, 0, 0, 0, 456, 453, 0,
698 450, 448, 0, 575, 598, 584, 607, 599, 0, 0,
699 635, 579, 635, 0, 0, 634, 0, 326, 332, 334,
700 0, 0, 0, 514, 478, 481, 475, 0, 493, 540,
701 0, 545, 0, 0, 520, 0, 635, 0, 594, 0,
702 626, 625, 614, 568, 0, 519, 0, 0, 479, 514,
703 476, 0, 458, 0, 454, 0, 0, 0, 0, 0,
704 615, 635, 622, 605, 0, 0, 0, 514, 482, 0,
705 0, 458, 0, 600, 0, 498, 596, 571, 569, 595,
706 0, 583, 627, 0, 0, 480, 0, 0, 0, 0,
707 0, 601, 602, 580, 0, 570, 0, 516, 0, 0,
708 520, 635, 0, 635, 597, 0, 541, 458, 451, 0,
709 581, 603, 517, 0, 600, 520, 0, 452, 0, 582
712 /* YYPGOTO[NTERM-NUM]. */
713 static const short yypgoto
[] =
715 -731, -351, -73, -11, -47, -731, -731, -731, 547, -731,
716 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
717 -731, -731, -86, -731, -281, -731, -731, -731, -476, -731,
718 -731, 421, -118, 41, -104, -179, -19, -5, -731, -731,
719 -731, 554, -731, -731, 416, -731, -731, -731, -731, -76,
720 -261, -731, -731, -181, -731, -731, 410, -731, -45, 573,
721 39, -3, 50, -731, -731, -731, -731, -182, -731, -44,
722 3, -33, -731, -731, 213, -349, -731, -210, -731, 9,
723 -731, -41, -369, -731, -66, -731, 150, -731, -446, -444,
724 166, -731, -709, -87, -380, -731, -375, -29, -731, 459,
725 -731, -731, 586, -731, -158, -683, -730, -731, -731, 620,
726 -731, 249, -373, -731, -283, -696, 220, -145, -731, -731,
727 -692, -731, -731, -254, -284, -731, -731, -731, -175, -731,
728 -408, -410, -413, -731, -731, -731, -731, -731, -731, -83,
732 /* YYDEFGOTO[NTERM-NUM]. */
733 static const short yydefgoto
[] =
735 -1, 706, 499, 169, 357, 638, 26, 27, 28, 29,
736 30, 86, 87, 88, 89, 363, 90, 91, 92, 318,
737 754, 755, 358, 359, 376, 683, 684, 31, 500, 501,
738 32, 96, 689, 690, 691, 33, 34, 35, 36, 37,
739 38, 39, 40, 41, 182, 408, 411, 185, 42, 188,
740 502, 43, 197, 804, 44, 45, 639, 640, 641, 46,
741 47, 48, 99, 419, 50, 420, 51, 421, 422, 423,
742 424, 503, 53, 54, 489, 490, 693, 814, 854, 101,
743 427, 428, 655, 505, 506, 676, 458, 56, 102, 103,
744 146, 652, 765, 386, 402, 517, 172, 446, 174, 175,
745 400, 57, 58, 714, 715, 656, 716, 153, 717, 718,
746 719, 436, 437, 438, 906, 907, 908, 793, 794, 795,
747 142, 889, 909, 838, 920, 921, 439, 666, 805, 440,
748 922, 658, 143, 843, 871, 441, 442, 443, 663, 664,
752 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
753 positive, shift that token. If negative, reduce the rule whose
754 number is the opposite. If YYTABLE_NINF, syntax error. */
755 static const short yytable
[] =
757 171, 159, 360, 52, 173, 141, 144, 145, 425, 55,
758 418, 418, 98, 68, 170, 444, 387, 659, 100, 374,
759 659, 504, 657, 667, 520, 483, 377, 52, 518, 176,
760 52, 707, 516, 778, 317, 450, 55, 486, 487, 695,
761 797, 696, 792, 643, 364, 820, 796, 823, 52, 67,
762 49, 193, 194, 195, 388, 451, 97, 389, 815, 361,
763 49, -446, -466, 669, -466, -392, 168, -391, 22, -392,
764 316, -24, 743, 670, 49, 398, 11, 49, 109, 892,
765 770, 375, 378, 380, 186, -392, -392, 459, 727, 397,
766 384, 859, 98, 462, 401, 49, 811, 837, 100, 483,
767 156, 841, 674, 155, 855, 796, 812, 409, 483, 726,
768 410, 483, 881, 1, 2, 3, 4, 5, 6, 7,
769 8, 447, 488, -392, 158, -391, 9, 485, 189, 702,
770 703, 61, 166, 399, 65, 669, 382, 59, 504, 60,
771 778, 405, 454, 455, 878, -518, -386, -511, 456, 385,
772 -518, 187, 362, 746, 642, -446, 747, 868, 190, 98,
773 457, 191, 404, 445, 52, 100, 668, 183, 4, 5,
774 898, 135, 136, 137, 138, 139, 140, -457, 192, 196,
775 426, 319, 682, 886, -360, 383, -360, -360, 915, -497,
776 910, -497, -497, 62, 63, 64, 796, -457, 936, 385,
777 67, 685, 686, 97, -387, -511, 645, 646, 648, 649,
778 837, 49, 780, 781, 925, 391, 708, -511, 796, 776,
779 777, 429, 430, 431, 432, 433, 910, 434, 435, 783,
780 784, 452, 796, 1, 2, 3, 4, 5, 6, 7,
781 8, 390, 695, 374, 696, 392, 9, 695, 939, 696,
782 377, 61, 845, 671, 393, 834, 835, 394, 11, 379,
783 381, 396, 401, 728, 403, 730, 766, 407, 733, 413,
784 836, 429, 430, 431, 432, 433, 415, 434, 435, 416,
785 484, 735, 463, 485, 509, 1, 2, 3, 4, 5,
786 6, 7, 8, 834, 835, 374, 507, 510, 9, 511,
787 756, 374, 377, 161, 168, 375, 692, 521, 377, 448,
788 11, 644, 453, 93, 94, 18, 65, 650, 647, 701,
789 651, 671, 429, 430, 431, 432, 433, 659, 434, 435,
790 672, 483, 798, 674, 483, 483, 772, 773, 125, 126,
791 127, 128, 129, 130, 131, 132, 133, 779, 861, 673,
792 688, 147, 782, 678, 148, 687, 704, 375, 149, 721,
793 150, 151, 461, 375, 162, 62, 63, 64, 65, 791,
794 163, 152, 731, 734, 519, 737, 125, 126, 127, 128,
795 129, 130, 131, 132, 133, 171, 738, 739, 741, 173,
796 374, 740, 742, 743, 744, 745, 653, 377, 661, 170,
797 665, 818, 748, 828, 164, 830, 831, 749, 757, 374,
798 374, 758, 759, 177, 178, 179, 377, 377, 180, 816,
799 817, 662, 760, 762, 764, 774, 775, 807, 791, 659,
800 147, 181, 785, 148, 870, 404, 786, 149, 806, 150,
801 151, 709, 710, 711, 712, 810, 813, 824, 821, 680,
802 858, 675, 375, 697, 698, 504, 829, 483, 483, 832,
803 713, 894, 729, 839, 893, 418, 840, 842, 418, -608,
804 867, 375, 375, 846, 850, 852, 851, 856, 659, 808,
805 809, 862, 98, 912, 884, 863, 864, 866, 100, 872,
806 659, 873, 874, 876, 694, 875, 877, 1, 2, 3,
807 4, 5, 6, 7, 8, 880, 879, 723, 882, 692,
808 9, 177, 178, 179, 692, 61, 180, 883, 904, 791,
809 659, 885, 11, 888, 890, 941, 891, 895, 896, 181,
810 899, 659, 901, 1, 2, 3, 4, 5, 6, 7,
811 8, 791, 902, 903, 913, 911, 9, 742, 914, 916,
812 938, 10, 924, 917, 927, 791, 926, 929, 11, 12,
813 13, 928, 933, 930, 801, 947, 931, 935, 932, 937,
814 14, 940, 942, 944, 167, 767, 945, 62, 63, 64,
815 65, 948, 949, 395, 763, 69, 1, 2, 3, 4,
816 5, 6, 7, 8, 184, 725, 414, 165, 826, 9,
817 412, 418, 491, 732, 61, 857, 677, 157, 768, 769,
818 736, 11, 15, 16, 17, 18, 19, 20, 21, 822,
819 22, 70, 71, 72, 73, 74, 75, 76, 77, 78,
820 79, 80, 81, 406, 82, 83, 84, 85, 751, 154,
821 426, 934, 508, 833, 147, 23, 519, 148, 919, 654,
822 24, 149, 25, 150, 151, 709, 710, 711, 712, 171,
823 946, 865, 753, 173, 802, 0, 62, 63, 64, 65,
824 0, 0, 0, 170, 0, 0, 0, 0, 0, 0,
825 0, 0, 170, 384, 0, 98, 0, 374, 374, 0,
826 98, 100, 0, 519, 377, 377, 100, 694, 519, 0,
827 900, 0, 694, 418, 0, 66, 0, 0, 0, 799,
828 0, 0, 445, 0, 0, 445, 0, 0, 0, 918,
829 847, 0, 418, 800, 0, 0, 1, 2, 3, 4,
830 5, 6, 7, 8, 0, 0, 662, 0, 0, 9,
831 0, 0, 0, 0, 61, 0, 0, 0, 0, 375,
832 375, 11, 0, 0, 0, 943, 0, 0, 418, 1,
833 2, 3, 4, 5, 6, 7, 8, 844, 825, 0,
834 0, 723, 9, 0, 0, 0, 0, 61, 0, 0,
835 853, 454, 455, 697, 698, 0, 0, 0, 0, 0,
836 0, 0, 0, 0, 0, 0, 849, 0, 0, 457,
837 750, 0, 860, 445, 0, 0, 93, 94, 18, 65,
838 0, 464, 465, 466, 467, 468, 469, 470, 471, 472,
839 473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
840 0, 0, 0, 0, 705, 0, 0, 0, 0, 62,
841 63, 64, 0, 95, 0, 0, 897, 0, 0, 0,
842 0, 0, 0, 0, 0, 905, 0, 0, 0, 0,
843 0, 198, 0, 0, 199, 200, 201, 202, 203, 204,
844 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
845 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
846 225, 905, 226, 227, 228, 229, 230, 231, 232, 233,
847 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
848 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
849 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
850 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
851 274, 0, 275, 0, 276, 277, 278, 279, 280, 281,
852 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
853 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
854 302, 303, 304, 305, 306, 307, 308, 309, 0, 0,
855 310, 0, 311, 312, 313, 314, 315, 198, 0, 0,
856 320, 200, 201, 202, 203, 204, 205, 206, 207, 321,
857 322, 323, 324, 212, 325, 326, 215, 216, 217, 327,
858 219, 220, 221, 222, 223, 224, 225, 0, 226, 227,
859 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
860 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
861 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
862 258, 259, 260, 328, 329, 330, 331, 332, 266, 267,
863 268, 269, 270, 271, 272, 273, 274, 0, 275, 0,
864 276, 277, 278, 279, 280, 333, 282, 334, 335, 336,
865 337, 338, 339, 289, 340, 291, 292, 341, 342, 343,
866 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
867 354, 355, 356, 309, 0, 0, 310, 0, 311, 312,
868 313, 314, 315, 522, 0, 0, 523, 524, 525, 526,
869 527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
870 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
871 547, 548, 549, 0, 550, 551, 552, 553, 554, 413,
872 724, 555, 556, 557, 558, 559, 560, 561, 562, 563,
873 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
874 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
875 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
876 594, 595, 596, 0, 597, 0, 598, 599, 600, 601,
877 602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
878 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
879 622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
880 0, 0, 632, 0, 633, 634, 635, 636, 637, 522,
881 0, 0, 523, 524, 525, 526, 527, 528, 529, 530,
882 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
883 541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
884 550, 551, 552, 553, 554, 413, 0, 555, 556, 557,
885 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
886 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
887 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
888 588, 589, 590, 591, 592, 593, 594, 595, 596, 0,
889 597, 0, 598, 599, 600, 601, 602, 603, 604, 605,
890 606, 607, 608, 609, 610, 611, 612, 613, 614, 615,
891 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
892 626, 627, 628, 629, 630, 631, -584, 0, 632, 0,
893 633, 634, 635, 636, 637, -584, -584, -584, -584, 0,
894 -584, -584, 0, 0, 0, -584, 0, 0, 0, 0,
895 0, 0, -584, -584, -584, -584, -584, -584, -584, -584,
896 -584, -584, -584, -584, 0, -584, -584, -584, -584, -584,
897 -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
898 -584, -584, -584, 0, 0, 0, 0, 0, -584, -584,
899 -584, -584, -584, -584, 1, 2, 3, 4, 5, 6,
900 7, 8, 0, 0, 0, 0, 0, 9, 0, 0,
901 -584, -584, 61, -584, -584, -584, -584, -584, -584, 11,
902 -584, 0, 0, -584, -584, -584, -584, -584, -584, -584,
903 -584, -584, -584, -584, -584, -584, -584, -584, -584, 0,
904 104, 0, 0, 0, 0, 0, 0, 0, -584, 105,
905 106, 107, 108, 0, 109, 110, 512, 0, 0, 111,
906 495, 0, 496, 0, 497, 367, 513, 0, 0, 498,
907 0, 0, 0, 0, 93, 94, 18, 65, 0, 0,
908 0, 0, 0, 0, 369, 370, 168, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 0, 371, 372, 0,
910 0, 0, 0, 112, 113, 114, 115, 116, 0, 0,
911 0, 688, 0, 0, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 514, 117, 0, 118, 119, 120,
913 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
914 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
915 138, 139, 140, 104, 0, 0, 0, 0, 0, 0,
916 0, 515, 105, 106, 107, 108, 0, 109, 110, 0,
917 0, 0, 111, 0, 0, 365, 0, 366, 367, 0,
918 0, 0, 368, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 369, 370, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 371, 372, 0, 0, 0, 0, 112, 113, 114, 115,
922 116, 0, 0, 0, 0, 0, 0, 0, 373, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
924 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
925 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
926 135, 136, 137, 138, 139, 140, -33, 0, 0, 681,
927 0, 0, 0, 0, 0, -33, -33, -33, -33, 0,
928 -33, -33, 0, 0, 0, -33, 0, 0, -33, -33,
929 -33, -33, 0, 0, 0, -33, 0, 0, 0, 0,
930 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
931 -33, -33, 0, 0, 0, 9, 0, 0, 0, 0,
932 61, 0, 0, -33, -33, 0, 0, 11, 0, -33,
933 -33, -33, -33, -33, 0, 0, 0, 0, 0, 0,
934 0, -33, 0, 0, 0, 0, 0, 0, 0, 0,
935 0, -33, 0, -33, -33, -33, -33, -33, -33, 0,
936 -33, 0, 0, -33, -33, -33, -33, -33, -33, -33,
937 -33, -33, -33, -33, -33, -33, -33, -33, -33, -34,
938 0, -33, 93, 94, 18, 65, 0, 0, -34, -34,
939 -34, -34, 0, -34, -34, 0, 0, 0, -34, 0,
940 0, -34, -34, -34, -34, 0, 0, 0, -34, 0,
941 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
942 6, 7, 8, -34, -34, 0, 0, 0, 9, 0,
943 0, 0, 0, 61, 0, 0, -34, -34, 0, 0,
944 11, 0, -34, -34, -34, -34, -34, 0, 0, 0,
945 0, 0, 0, 0, -34, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, -34, 0, -34, -34, -34, -34,
947 -34, -34, 0, -34, 0, 0, -34, -34, -34, -34,
948 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
949 -34, -34, -35, 0, -34, 62, 63, 64, 65, 0,
950 0, -35, -35, -35, -35, 0, -35, -35, 0, 0,
951 0, -35, 0, 0, -35, -35, -35, -35, 0, 0,
952 0, -35, 0, 0, 0, 0, 0, 0, 1, 2,
953 3, 4, 5, 6, 7, 8, -35, -35, 0, 0,
954 0, 417, 0, 0, 0, 0, 61, 0, 0, -35,
955 -35, 0, 0, 11, 0, -35, -35, -35, -35, -35,
956 0, 0, 0, 0, 0, 0, 0, -35, 0, 0,
957 0, 0, 0, 0, 0, 0, 0, -35, 0, -35,
958 -35, -35, -35, -35, -35, 0, -35, 0, 0, -35,
959 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
960 -35, -35, -35, -35, -35, -36, 0, -35, 62, 63,
961 64, 65, 0, 0, -36, -36, -36, -36, 0, -36,
962 -36, 0, 0, 0, -36, 0, 0, -36, -36, -36,
963 -36, 0, 0, 0, -36, 0, 0, 0, 0, 0,
964 0, 0, 0, 0, 0, 0, 0, 0, 0, -36,
965 -36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
966 0, 0, -36, -36, 0, 0, 0, 0, -36, -36,
967 -36, -36, -36, 0, 0, 0, 0, 0, 0, 0,
968 -36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
969 -36, 0, -36, -36, -36, -36, -36, -36, 0, -36,
970 0, 0, -36, -36, -36, -36, -36, -36, -36, -36,
971 -36, -36, -36, -36, -36, -36, -36, -36, -37, 0,
972 -36, 0, 0, 0, 0, 0, 0, -37, -37, -37,
973 -37, 0, -37, -37, 0, 0, 0, -37, 0, 0,
974 -37, -37, -37, -37, 0, 0, 0, -37, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, 0, -37, -37, 0, 0, 0, 0, 0, 0,
977 0, 0, 0, 0, 0, -37, -37, 0, 0, 0,
978 0, -37, -37, -37, -37, -37, 0, 0, 0, 0,
979 0, 0, 0, -37, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, -37, 0, -37, -37, -37, -37, -37,
981 -37, 0, -37, 0, 0, -37, -37, -37, -37, -37,
982 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
983 -37, -60, 0, -37, 0, 0, 0, 0, 0, 0,
984 -60, -60, -60, -60, 0, -60, -60, 0, 0, 0,
985 -60, 0, 0, -60, -60, -60, -60, 0, 0, 0,
986 -60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, -60, -60, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 0, 0, -60, -60,
989 0, 0, 0, 0, -60, -60, -60, -60, -60, 0,
990 0, 0, 0, 0, 0, 0, -60, 0, 0, 0,
991 0, 0, 0, 0, 0, 0, -60, 0, -60, -60,
992 -60, -60, -60, -60, 0, -60, 0, 0, -60, -60,
993 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
994 -60, -60, -60, -60, -61, 0, -623, 0, 0, 0,
995 0, 0, 0, -61, -61, -61, -61, 0, -61, -61,
996 0, 0, 0, -61, 0, 0, -61, -61, -61, -61,
997 0, 0, 0, -61, 0, 0, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, 0, -61, -61,
999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1000 0, -61, -61, 0, 0, 0, 0, -61, -61, -61,
1001 -61, -61, 0, 0, 0, 0, 0, 0, 0, -61,
1002 0, 0, 0, 0, 0, 0, 0, 0, 0, -61,
1003 0, -61, -61, -61, -61, -61, -61, 0, -61, 0,
1004 0, -61, -61, -61, -61, -61, -61, -61, -61, -61,
1005 -61, -61, -61, -61, -61, -61, -61, -24, 0, -584,
1006 0, 0, 0, 0, 0, 0, -24, -24, -24, -24,
1007 0, -24, -24, 0, 0, 0, -24, 0, 0, -24,
1008 -24, -24, -24, 0, 0, 0, -24, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, -24, -24, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, -24, -24, 0, 0, 0, 0,
1012 -24, -24, -24, -24, -24, 0, 0, 0, 0, 0,
1013 0, 0, -24, 0, 0, 0, 0, 0, 0, 0,
1014 0, 0, -24, 0, -24, -24, -24, -24, -24, -24,
1015 0, -24, 0, 0, -24, -24, -24, -24, -24, -24,
1016 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
1017 -42, 0, -24, 0, 0, 0, 0, 0, 0, -42,
1018 -42, -42, -42, 0, -42, -42, 0, 0, 0, -42,
1019 0, 0, -42, -42, -42, -42, 0, 0, 0, -42,
1020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, -42, -42, 0, 0, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, -42, -42, 0,
1023 0, 0, 0, -42, -42, -42, -42, -42, 0, 0,
1024 0, 0, 0, 0, 0, -42, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, -42, 0, -42, -42, -42,
1026 -42, -42, -42, 0, -42, 0, 0, -42, -42, -42,
1027 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1028 -42, -42, -42, -41, 0, -42, 0, 0, 0, 0,
1029 0, 0, -41, -41, -41, -41, 0, -41, -41, 0,
1030 0, 0, -41, 0, 0, -41, -41, -41, -41, 0,
1031 0, 0, -41, 0, 0, 0, 0, 0, 0, 0,
1032 0, 0, 0, 0, 0, 0, 0, -41, -41, 0,
1033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1034 -41, -41, 0, 0, 0, 0, -41, -41, -41, -41,
1035 -41, 0, 0, 0, 0, 0, 0, 0, -41, 0,
1036 0, 0, 0, 0, 0, 0, 0, 0, -41, 0,
1037 -41, -41, -41, -41, -41, -41, 0, -41, 0, 0,
1038 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1039 -41, -41, -41, -41, -41, -41, -40, 0, -41, 0,
1040 0, 0, 0, 0, 0, -40, -40, -40, -40, 0,
1041 -40, -40, 0, 0, 0, -40, 0, 0, -40, -40,
1042 -40, -40, 0, 0, 0, -40, 0, 0, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1044 -40, -40, 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, -40, -40, 0, 0, 0, 0, -40,
1046 -40, -40, -40, -40, 0, 0, 0, 0, 0, 0,
1047 0, -40, 0, 0, 0, 0, 0, 0, 0, 0,
1048 0, -40, 0, -40, -40, -40, -40, -40, -40, 0,
1049 -40, 0, 0, -40, -40, -40, -40, -40, -40, -40,
1050 -40, -40, -40, -40, -40, -40, -40, -40, -40, -38,
1051 0, -40, 0, 0, 0, 0, 0, 0, -38, -38,
1052 -38, -38, 0, -38, -38, 0, 0, 0, -38, 0,
1053 0, -38, -38, -38, -38, 0, 0, 0, -38, 0,
1054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1055 0, 0, 0, -38, -38, 0, 0, 0, 0, 0,
1056 0, 0, 0, 0, 0, 0, -38, -38, 0, 0,
1057 0, 0, -38, -38, -38, -38, -38, 0, 0, 0,
1058 0, 0, 0, 0, -38, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, -38, 0, -38, -38, -38, -38,
1060 -38, -38, 0, -38, 0, 0, -38, -38, -38, -38,
1061 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1062 -38, -38, -39, 0, -38, 0, 0, 0, 0, 0,
1063 0, -39, -39, -39, -39, 0, -39, -39, 0, 0,
1064 0, -39, 0, 0, -39, -39, -39, -39, 0, 0,
1065 0, -39, 0, 0, 0, 0, 0, 0, 0, 0,
1066 0, 0, 0, 0, 0, 0, -39, -39, 0, 0,
1067 0, 0, 0, 0, 0, 0, 0, 0, 0, -39,
1068 -39, 0, 0, 0, 0, -39, -39, -39, -39, -39,
1069 0, 0, 0, 0, 0, 0, 0, -39, 0, 0,
1070 0, 0, 0, 0, 0, 0, 0, -39, 0, -39,
1071 -39, -39, -39, -39, -39, 0, -39, 0, 0, -39,
1072 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1073 -39, -39, -39, -39, -39, -32, 0, -39, 0, 0,
1074 0, 0, 0, 0, -32, -32, -32, -32, 0, -32,
1075 -32, 0, 0, 0, -32, 0, 0, -32, -32, -32,
1076 -32, 0, 0, 0, -32, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0, 0, -32,
1078 -32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1079 0, 0, -32, -32, 0, 0, 0, 0, -32, -32,
1080 -32, -32, -32, 0, 0, 0, 0, 0, 0, 0,
1081 -32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1082 -32, 0, -32, -32, -32, -32, -32, -32, 0, -32,
1083 0, 0, -32, -32, -32, -32, -32, -32, -32, -32,
1084 -32, -32, -32, -32, -32, -32, -32, -32, -31, 0,
1085 -32, 0, 0, 0, 0, 0, 0, -31, -31, -31,
1086 -31, 0, -31, -31, 0, 0, 0, -31, 0, 0,
1087 -31, -31, -31, -31, 0, 0, 0, -31, 0, 0,
1088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089 0, 0, -31, -31, 0, 0, 0, 0, 0, 0,
1090 0, 0, 0, 0, 0, -31, -31, 0, 0, 0,
1091 0, -31, -31, -31, -31, -31, 0, 0, 0, 0,
1092 0, 0, 0, -31, 0, 0, 0, 0, 0, 0,
1093 0, 0, 0, -31, 0, -31, -31, -31, -31, -31,
1094 -31, 0, -31, 0, 0, -31, -31, -31, -31, -31,
1095 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1096 -31, -25, 0, -31, 0, 0, 0, 0, 0, 0,
1097 -25, -25, -25, -25, 0, -25, -25, 0, 0, 0,
1098 -25, 0, 0, -25, -25, -25, -25, 0, 0, 0,
1099 -25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1100 0, 0, 0, 0, 0, -25, -25, 0, 0, 0,
1101 0, 0, 0, 0, 0, 0, 0, 0, -25, -25,
1102 0, 0, 0, 0, -25, -25, -25, -25, -25, 0,
1103 0, 0, 0, 0, 0, 0, -25, 0, 0, 0,
1104 0, 0, 0, 0, 0, 0, -25, 0, -25, -25,
1105 -25, -25, -25, -25, 0, -25, 0, 0, -25, -25,
1106 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1107 -25, -25, -25, -25, -29, 0, -25, 0, 0, 0,
1108 0, 0, 0, -29, -29, -29, -29, 0, -29, -29,
1109 0, 0, 0, -29, 0, 0, -29, -29, -29, -29,
1110 0, 0, 0, -29, 0, 0, 0, 0, 0, 0,
1111 0, 0, 0, 0, 0, 0, 0, 0, -29, -29,
1112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1113 0, -29, -29, 0, 0, 0, 0, -29, -29, -29,
1114 -29, -29, 0, 0, 0, 0, 0, 0, 0, -29,
1115 0, 0, 0, 0, 0, 0, 0, 0, 0, -29,
1116 0, -29, -29, -29, -29, -29, -29, 0, -29, 0,
1117 0, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1118 -29, -29, -29, -29, -29, -29, -29, -28, 0, -29,
1119 0, 0, 0, 0, 0, 0, -28, -28, -28, -28,
1120 0, -28, -28, 0, 0, 0, -28, 0, 0, -28,
1121 -28, -28, -28, 0, 0, 0, -28, 0, 0, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 0, -28, -28, 0, 0, 0, 0, 0, 0, 0,
1124 0, 0, 0, 0, -28, -28, 0, 0, 0, 0,
1125 -28, -28, -28, -28, -28, 0, 0, 0, 0, 0,
1126 0, 0, -28, 0, 0, 0, 0, 0, 0, 0,
1127 0, 0, -28, 0, -28, -28, -28, -28, -28, -28,
1128 0, -28, 0, 0, -28, -28, -28, -28, -28, -28,
1129 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
1130 -26, 0, -28, 0, 0, 0, 0, 0, 0, -26,
1131 -26, -26, -26, 0, -26, -26, 0, 0, 0, -26,
1132 0, 0, -26, -26, -26, -26, 0, 0, 0, -26,
1133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1134 0, 0, 0, 0, -26, -26, 0, 0, 0, 0,
1135 0, 0, 0, 0, 0, 0, 0, -26, -26, 0,
1136 0, 0, 0, -26, -26, -26, -26, -26, 0, 0,
1137 0, 0, 0, 0, 0, -26, 0, 0, 0, 0,
1138 0, 0, 0, 0, 0, -26, 0, -26, -26, -26,
1139 -26, -26, -26, 0, -26, 0, 0, -26, -26, -26,
1140 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1141 -26, -26, -26, -27, 0, -26, 0, 0, 0, 0,
1142 0, 0, -27, -27, -27, -27, 0, -27, -27, 0,
1143 0, 0, -27, 0, 0, -27, -27, -27, -27, 0,
1144 0, 0, -27, 0, 0, 0, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, 0, -27, -27, 0,
1146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1147 -27, -27, 0, 0, 0, 0, -27, -27, -27, -27,
1148 -27, 0, 0, 0, 0, 0, 0, 0, -27, 0,
1149 0, 0, 0, 0, 0, 0, 0, 0, -27, 0,
1150 -27, -27, -27, -27, -27, -27, 0, -27, 0, 0,
1151 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1152 -27, -27, -27, -27, -27, -27, -43, 0, -27, 0,
1153 0, 0, 0, 0, 0, -43, -43, -43, -43, 0,
1154 -43, -43, 0, 0, 0, -43, 0, 0, -43, -43,
1155 -43, -43, 0, 0, 0, -43, 0, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1157 -43, -43, 0, 0, 0, 0, 0, 0, 0, 0,
1158 0, 0, 0, -43, -43, 0, 0, 0, 0, -43,
1159 -43, -43, -43, -43, 0, 0, 0, 0, 0, 0,
1160 0, -43, 0, 0, 0, 0, 0, 0, 0, 0,
1161 0, -43, 0, -43, -43, -43, -43, -43, -43, 0,
1162 -43, 0, 0, -43, -43, -43, -43, -43, -43, -43,
1163 -43, -43, -43, -43, -43, -43, -43, -43, -43, -138,
1164 0, -43, 0, 0, 0, 0, 0, 0, -138, -138,
1165 -138, -138, 0, -138, -138, 0, 0, 0, -138, 0,
1166 0, -138, -138, -138, -138, 0, 0, 0, -138, 0,
1167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1168 0, 0, 0, -138, -138, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 0, 0, -138, -138, 0, 0,
1170 0, 0, -138, -138, -138, -138, -138, 0, 0, 0,
1171 0, 0, 0, 0, -138, 0, 0, 0, 0, 0,
1172 0, 0, 0, 0, -138, 0, -138, -138, -138, -138,
1173 -138, -138, 0, -138, 0, 0, -138, -138, -138, -138,
1174 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1175 -138, -138, -139, 0, -592, 0, 0, 0, 0, 0,
1176 0, -139, -139, -139, -139, 0, -139, -139, 0, 0,
1177 0, -139, 0, 0, -139, -139, -139, -139, 0, 0,
1178 0, -139, 0, 0, 0, 0, 0, 0, 0, 0,
1179 0, 0, 0, 0, 0, 0, -139, -139, 0, 0,
1180 0, 0, 0, 0, 0, 0, 0, 0, 0, -139,
1181 -139, 0, 0, 0, 0, -139, -139, -139, -139, -139,
1182 0, 0, 0, 0, 0, 0, 0, -139, 0, 0,
1183 0, 0, 0, 0, 0, 0, 0, -139, 0, -139,
1184 -139, -139, -139, -139, -139, 0, -139, 0, 0, -139,
1185 -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1186 -139, -139, -139, -139, -139, -140, 0, -591, 0, 0,
1187 0, 0, 0, 0, -140, -140, -140, -140, 0, -140,
1188 -140, 0, 0, 0, -140, 0, 0, -140, -140, -140,
1189 -140, 0, 0, 0, -140, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0, 0, -140,
1191 -140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1192 0, 0, -140, -140, 0, 0, 0, 0, -140, -140,
1193 -140, -140, -140, 0, 0, 0, 0, 0, 0, 0,
1194 -140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1195 -140, 0, -140, -140, -140, -140, -140, -140, 0, -140,
1196 0, 0, -140, -140, -140, -140, -140, -140, -140, -140,
1197 -140, -140, -140, -140, -140, -140, -140, -140, -141, 0,
1198 -589, 0, 0, 0, 0, 0, 0, -141, -141, -141,
1199 -141, 0, -141, -141, 0, 0, 0, -141, 0, 0,
1200 -141, -141, -141, -141, 0, 0, 0, -141, 0, 0,
1201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, 0, -141, -141, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, -141, -141, 0, 0, 0,
1204 0, -141, -141, -141, -141, -141, 0, 0, 0, 0,
1205 0, 0, 0, -141, 0, 0, 0, 0, 0, 0,
1206 0, 0, 0, -141, 0, -141, -141, -141, -141, -141,
1207 -141, 0, -141, 0, 0, -141, -141, -141, -141, -141,
1208 -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1209 -141, -142, 0, -587, 0, 0, 0, 0, 0, 0,
1210 -142, -142, -142, -142, 0, -142, -142, 0, 0, 0,
1211 -142, 0, 0, -142, -142, -142, -142, 0, 0, 0,
1212 -142, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, -142, -142, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0, -142, -142,
1215 0, 0, 0, 0, -142, -142, -142, -142, -142, 0,
1216 0, 0, 0, 0, 0, 0, -142, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, -142, 0, -142, -142,
1218 -142, -142, -142, -142, 0, -142, 0, 0, -142, -142,
1219 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1220 -142, -142, -142, -142, -143, 0, -588, 0, 0, 0,
1221 0, 0, 0, -143, -143, -143, -143, 0, -143, -143,
1222 0, 0, 0, -143, 0, 0, -143, -143, -143, -143,
1223 0, 0, 0, -143, 0, 0, 0, 0, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0, -143, -143,
1225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1226 0, -143, -143, 0, 0, 0, 0, -143, -143, -143,
1227 -143, -143, 0, 0, 0, 0, 0, 0, 0, -143,
1228 0, 0, 0, 0, 0, 0, 0, 0, 0, -143,
1229 0, -143, -143, -143, -143, -143, -143, 0, -143, 0,
1230 0, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1231 -143, -143, -143, -143, -143, -143, -143, -144, 0, -590,
1232 0, 0, 0, 0, 0, 0, -144, -144, -144, -144,
1233 0, -144, -144, 0, 0, 0, -144, 0, 0, -144,
1234 -144, -144, -144, 0, 0, 0, -144, 0, 0, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236 0, -144, -144, 0, 0, 0, 0, 0, 0, 0,
1237 0, 0, 0, 0, -144, -144, 0, 0, 0, 0,
1238 -144, -144, -144, -144, -144, 0, 0, 0, 0, 0,
1239 0, 0, -144, 0, 0, 0, 0, 0, 0, 0,
1240 0, 0, -144, 0, -144, -144, -144, -144, -144, -144,
1241 0, -144, 0, 0, -144, -144, -144, -144, -144, -144,
1242 -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
1243 -145, 0, -586, 0, 0, 0, 0, 0, 0, -145,
1244 -145, -145, -145, 0, -145, -145, 0, 0, 0, -145,
1245 0, 0, -145, -145, -145, -145, 0, 0, 0, -145,
1246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 0, 0, -145, -145, 0, 0, 0, 0,
1248 0, 0, 0, 0, 0, 0, 0, -145, -145, 0,
1249 0, 0, 0, -145, -145, -145, -145, -145, 0, 0,
1250 0, 0, 0, 0, 0, -145, 0, 0, 0, 0,
1251 0, 0, 0, 0, 0, -145, 0, -145, -145, -145,
1252 -145, -145, -145, 0, -145, 0, 0, -145, -145, -145,
1253 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1254 -145, -145, -145, -146, 0, -585, 0, 0, 0, 0,
1255 0, 0, -146, -146, -146, -146, 0, -146, -146, 0,
1256 0, 0, -146, 0, 0, -146, -146, -146, -146, 0,
1257 0, 0, -146, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, -146, -146, 0,
1259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1260 -146, -146, 0, 0, 0, 0, -146, -146, -146, -146,
1261 -146, 0, 0, 0, 0, 0, 0, 0, -146, 0,
1262 0, 0, 0, 0, 0, 0, 0, 0, -146, 0,
1263 -146, -146, -146, -146, -146, -146, 0, -146, 0, 0,
1264 -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1265 -146, -146, -146, -146, -146, -146, -30, 0, -593, 0,
1266 0, 0, 0, 0, 0, -30, -30, -30, -30, 0,
1267 -30, -30, 0, 0, 0, -30, 0, 0, -30, -30,
1268 -30, -30, 0, 0, 0, -30, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1270 -30, -30, 0, 0, 0, 0, 0, 0, 0, 0,
1271 0, 0, 0, -30, -30, 0, 0, 0, 0, -30,
1272 -30, -30, -30, -30, 0, 0, 0, 0, 0, 0,
1273 0, -30, 0, 0, 0, 0, 0, 0, 0, 0,
1274 0, -30, 0, -30, -30, -30, -30, -30, -30, 0,
1275 -30, 0, 0, -30, -30, -30, -30, -30, -30, -30,
1276 -30, -30, -30, -30, -30, -30, -30, -30, -30, -148,
1277 0, -30, 0, 0, 0, 0, 0, 0, -148, -148,
1278 -148, -148, 0, -148, -148, 0, 0, 0, -148, 0,
1279 0, -148, -148, -148, -148, 0, 0, 0, -148, 0,
1280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1281 0, 0, 0, -148, -148, 0, 0, 0, 0, 0,
1282 0, 0, 0, 0, 0, 0, -148, -148, 0, 0,
1283 0, 0, -148, -148, -148, -148, -148, 0, 0, 0,
1284 0, 0, 0, 0, -148, 0, 0, 0, 0, 0,
1285 0, 0, 0, 0, -148, 0, -148, -148, -148, -148,
1286 -148, -148, 0, -148, 0, 0, -148, -148, -148, -148,
1287 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1288 -148, -148, -149, 0, -621, 0, 0, 0, 0, 0,
1289 0, -149, -149, -149, -149, 0, -149, -149, 0, 0,
1290 0, -149, 0, 0, -149, -149, -149, -149, 0, 0,
1291 0, -149, 0, 0, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, 0, -149, -149, 0, 0,
1293 0, 0, 0, 0, 0, 0, 0, 0, 0, -149,
1294 -149, 0, 0, 0, 0, -149, -149, -149, -149, -149,
1295 0, 0, 0, 0, 0, 0, 0, -149, 0, 0,
1296 0, 0, 0, 0, 0, 0, 0, -149, 0, -149,
1297 -149, -149, -149, -149, -149, 0, -149, 0, 0, -149,
1298 -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1299 -149, -149, -149, -149, -149, -150, 0, -619, 0, 0,
1300 0, 0, 0, 0, -150, -150, -150, -150, 0, -150,
1301 -150, 0, 0, 0, -150, 0, 0, -150, -150, -150,
1302 -150, 0, 0, 0, -150, 0, 0, 0, 0, 0,
1303 0, 0, 0, 0, 0, 0, 0, 0, 0, -150,
1304 -150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1305 0, 0, -150, -150, 0, 0, 0, 0, -150, -150,
1306 -150, -150, -150, 0, 0, 0, 0, 0, 0, 0,
1307 -150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1308 -150, 0, -150, -150, -150, -150, -150, -150, 0, -150,
1309 0, 0, -150, -150, -150, -150, -150, -150, -150, -150,
1310 -150, -150, -150, -150, -150, -150, -150, -150, -151, 0,
1311 -618, 0, 0, 0, 0, 0, 0, -151, -151, -151,
1312 -151, 0, -151, -151, 0, 0, 0, -151, 0, 0,
1313 -151, -151, -151, -151, 0, 0, 0, -151, 0, 0,
1314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1315 0, 0, -151, -151, 0, 0, 0, 0, 0, 0,
1316 0, 0, 0, 0, 0, -151, -151, 0, 0, 0,
1317 0, -151, -151, -151, -151, -151, 0, 0, 0, 0,
1318 0, 0, 0, -151, 0, 0, 0, 0, 0, 0,
1319 0, 0, 0, -151, 0, -151, -151, -151, -151, -151,
1320 -151, 0, -151, 0, 0, -151, -151, -151, -151, -151,
1321 -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
1322 -151, -152, 0, -620, 0, 0, 0, 0, 0, 0,
1323 -152, -152, -152, -152, 0, -152, -152, 0, 0, 0,
1324 -152, 0, 0, -152, -152, -152, -152, 0, 0, 0,
1325 -152, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1326 0, 0, 0, 0, 0, -152, -152, 0, 0, 0,
1327 0, 0, 0, 0, 0, 0, 0, 0, -152, -152,
1328 0, 0, 0, 0, -152, -152, -152, -152, -152, 0,
1329 0, 0, 0, 0, 0, 0, -152, 0, 0, 0,
1330 0, 0, 0, 0, 0, 0, -152, 0, -152, -152,
1331 -152, -152, -152, -152, 0, -152, 0, 0, -152, -152,
1332 -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
1333 -152, -152, -152, -152, -153, 0, -617, 0, 0, 0,
1334 0, 0, 0, -153, -153, -153, -153, 0, -153, -153,
1335 0, 0, 0, -153, 0, 0, -153, -153, -153, -153,
1336 0, 0, 0, -153, 0, 0, 0, 0, 0, 0,
1337 0, 0, 0, 0, 0, 0, 0, 0, -153, -153,
1338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1339 0, -153, -153, 0, 0, 0, 0, -153, -153, -153,
1340 -153, -153, 0, 0, 0, 0, 0, 0, 0, -153,
1341 0, 0, 0, 0, 0, 0, 0, 0, 0, -153,
1342 0, -153, -153, -153, -153, -153, -153, 0, -153, 0,
1343 0, -153, -153, -153, -153, -153, -153, -153, -153, -153,
1344 -153, -153, -153, -153, -153, -153, -153, 104, 0, -616,
1345 0, 0, 0, 0, 0, 0, 105, 106, 107, 108,
1346 0, 109, 110, 0, 0, 0, 111, 0, 0, 365,
1347 448, 366, 367, 0, 0, 0, 368, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349 0, 369, 370, 0, 0, 0, 0, 0, 0, 0,
1350 0, 0, 0, 0, 371, 372, 0, 0, 0, 0,
1351 112, 113, 114, 115, 116, 0, 0, 0, 0, 0,
1352 0, 0, 373, 0, 0, 0, 0, 0, 0, 0,
1353 0, 0, 117, 0, 118, 119, 120, 121, 122, 123,
1354 0, 124, 0, 0, 125, 126, 127, 128, 129, 130,
1355 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1356 0, 0, 449, 104, 1, 2, 3, 4, 5, 6,
1357 7, 8, 105, 106, 107, 108, 0, 699, 110, 512,
1358 0, 0, 700, 495, 0, 496, 0, 497, 367, 11,
1359 0, 0, 498, 0, 0, 0, 0, 0, 0, 0,
1360 0, 0, 0, 0, 0, 0, 0, 369, 370, 168,
1361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1362 371, 372, 0, 0, 0, 0, 112, 113, 114, 115,
1363 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1364 0, 0, 0, 0, 62, 63, 64, 65, 117, 0,
1365 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
1366 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1367 135, 136, 137, 138, 139, 140, 104, 0, 0, 0,
1368 0, 0, 0, 0, 0, 105, 106, 107, 108, 0,
1369 109, 110, 492, 493, 494, 111, 495, 0, 496, 448,
1370 497, 367, 0, 0, 0, 498, 0, 0, 0, 0,
1371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372 369, 370, 168, 0, 0, 0, 0, 0, 0, 0,
1373 0, 0, 0, 371, 372, 0, 0, 0, 0, 112,
1374 113, 114, 115, 116, 0, 0, 0, 0, 0, 0,
1375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1376 0, 117, 0, 118, 119, 120, 121, 122, 123, 0,
1377 124, 0, 0, 125, 126, 127, 128, 129, 130, 131,
1378 132, 133, 134, 135, 136, 137, 138, 139, 140, 104,
1379 0, 0, 0, 0, 0, 0, 0, 0, 105, 106,
1380 107, 108, 0, 109, 110, 787, 0, 0, 111, 495,
1381 0, 496, 0, 497, 367, 0, 0, 0, 498, 0,
1382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383 158, 0, 0, 369, 370, 168, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 371, 372, 0, 0,
1385 0, 0, 112, 113, 114, 115, 116, 0, 0, 0,
1386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1387 0, 0, 0, 0, 117, 788, 789, 119, 120, 121,
1388 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1389 129, 130, 131, 132, 133, 790, 135, 136, 137, 138,
1390 139, 140, 104, 0, 0, 0, 0, 0, 0, 0,
1391 0, 105, 106, 107, 108, 0, 109, 110, 512, 0,
1392 0, 111, 495, 0, 496, 0, 497, 367, 0, 0,
1393 0, 498, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 0, 158, 0, 0, 369, 370, 168, 0,
1395 0, 0, 0, 0, 0, 0, 0, 0, 0, 371,
1396 372, 0, 0, 869, 0, 112, 113, 114, 115, 116,
1397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1398 0, 0, 0, 0, 0, 0, 0, 117, 0, 118,
1399 119, 120, 121, 122, 123, 0, 124, 0, 0, 125,
1400 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1401 136, 137, 138, 139, 140, 104, 0, 0, 0, 0,
1402 0, 0, 0, 0, 105, 106, 107, 108, 0, 109,
1403 110, 512, 0, 0, 111, 495, -635, 496, 0, 497,
1404 367, 0, 0, 0, 498, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 0, 158, 0, 0, 369,
1406 370, 168, 0, 0, 0, 0, 0, 0, 0, 0,
1407 0, 0, 371, 372, 0, 0, 0, 0, 112, 113,
1408 114, 115, 116, 0, 0, 0, 0, 0, 0, 0,
1409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1410 117, 0, 118, 119, 120, 121, 122, 123, 0, 124,
1411 0, 0, 125, 126, 127, 128, 129, 130, 131, 132,
1412 133, 134, 135, 136, 137, 138, 139, 140, 104, 0,
1413 0, 0, 0, 0, 0, 0, 0, 105, 106, 107,
1414 108, 0, 109, 110, 512, 0, 0, 111, 495, 0,
1415 496, 0, 497, 367, 0, 0, 0, 498, 0, 0,
1416 0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
1417 0, 0, 369, 370, 168, 0, 0, 0, 0, 0,
1418 0, 0, 0, 0, 0, 371, 372, 0, 0, 0,
1419 0, 112, 113, 114, 115, 116, 0, 0, 0, 0,
1420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1422 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1423 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1424 140, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1425 105, 106, 107, 108, 0, 109, 110, 787, 0, 0,
1426 111, 495, 0, 496, 0, 497, 367, 0, 0, 0,
1427 498, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 0, 0, 369, 370, 168, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0, 371, 372,
1430 0, 0, 0, 0, 112, 113, 114, 115, 116, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 0, 0, 0, 0, 0, 0, 117, 788, 789, 119,
1433 120, 121, 122, 123, 0, 124, 0, 0, 125, 126,
1434 127, 128, 129, 130, 131, 132, 133, 790, 135, 136,
1435 137, 138, 139, 140, 104, 0, 0, 0, 0, 0,
1436 0, 0, 0, 105, 106, 107, 108, 0, 109, 110,
1437 512, 0, 0, 111, 495, 0, 496, 0, 497, 367,
1438 0, 0, 0, 498, 0, 0, 0, 0, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0, 369, 370,
1440 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441 0, 371, 372, 0, 0, 0, 0, 112, 113, 114,
1442 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 117,
1444 0, 118, 119, 120, 121, 122, 123, 0, 124, 0,
1445 0, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1446 134, 135, 136, 137, 138, 139, 140, 104, 0, 0,
1447 0, 0, 0, 0, 0, 0, 105, 106, 107, 108,
1448 0, 109, 110, 0, 0, 0, 111, 0, 0, 365,
1449 0, 366, 367, 0, 0, 0, 368, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 369, 370, 0, 0, 0, 0, 0, 0, 0,
1452 0, 0, 0, 0, 371, 372, 0, 0, 0, 0,
1453 112, 113, 114, 115, 116, 0, 0, 0, 0, 0,
1454 0, 0, 373, 0, 0, 0, 0, 0, 0, 0,
1455 0, 0, 117, 0, 118, 119, 120, 121, 122, 123,
1456 0, 124, 0, 0, 125, 126, 127, 128, 129, 130,
1457 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1458 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1459 106, 107, 108, 0, 109, 110, 0, 0, 0, 111,
1460 0, 0, 0, 0, 0, 0, 11, 0, 0, -527,
1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, 0, 168, 0, 0, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 112, 113, 114, 115, 116, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466 0, 0, 0, 0, 65, 117, 0, 118, 119, 120,
1467 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
1468 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1469 138, 139, 140, 104, 0, 0, 0, 0, 0, 0,
1470 0, 0, 105, 106, 107, 108, 0, 109, 110, 0,
1471 0, 679, 111, 0, 0, 0, 0, 0, 0, 11,
1472 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1473 474, 475, 476, 477, 478, 479, 480, 481, 0, 168,
1474 0, 0, 0, 482, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 112, 113, 114, 115,
1476 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 0, 0, 0, 0, 0, 65, 117, 0,
1478 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
1479 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1480 135, 136, 137, 138, 139, 140, 104, 0, 0, 0,
1481 0, 0, 0, 0, 0, 105, 106, 107, 108, 0,
1482 109, 110, 0, 0, 0, 111, 0, 0, 771, 0,
1483 0, 0, 0, 0, 0, 722, 827, 464, 465, 466,
1484 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
1485 477, 478, 479, 480, 481, 0, 0, 0, 0, 0,
1486 705, 0, 0, 0, 0, 0, 0, 0, 0, 112,
1487 113, 114, 115, 116, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 117, 0, 118, 119, 120, 121, 122, 123, 0,
1490 124, 0, 0, 125, 126, 127, 128, 129, 130, 131,
1491 132, 133, 134, 135, 136, 137, 138, 139, 140, 104,
1492 0, 0, 0, 0, 0, 0, 0, 0, 105, 106,
1493 107, 108, 0, 109, 110, 0, 0, 0, 111, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 764, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 168, 0, 0, 0, 0,
1497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498 0, 0, 112, 113, 114, 115, 116, 0, 0, 0,
1499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500 0, 0, 0, 0, 117, 0, 118, 119, 120, 121,
1501 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1502 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1503 139, 140, 104, 0, 0, 0, 0, 0, 0, 0,
1504 0, 105, 106, 107, 108, 923, 109, 110, 0, 0,
1505 0, 111, 0, 0, 464, 465, 466, 467, 468, 469,
1506 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
1507 480, 481, 0, 0, 0, 0, 0, 705, 168, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 0, 112, 113, 114, 115, 116,
1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511 0, 0, 0, 0, 0, 0, 0, 117, 0, 118,
1512 119, 120, 121, 122, 123, 0, 124, 0, 0, 125,
1513 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1514 136, 137, 138, 139, 140, 104, 0, 0, 0, 0,
1515 0, 0, 0, 0, 105, 106, 107, 108, 0, 109,
1516 110, 0, 0, 0, 111, 0, 0, 887, 0, 0,
1517 0, 0, 0, 0, 460, 464, 465, 466, 467, 468,
1518 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
1519 479, 480, 481, 0, 0, 0, 0, 0, 705, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0, 112, 113,
1521 114, 115, 116, 0, 0, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 117, 0, 118, 119, 120, 121, 122, 123, 0, 124,
1524 0, 0, 125, 126, 127, 128, 129, 130, 131, 132,
1525 133, 134, 135, 136, 137, 138, 139, 140, 104, 0,
1526 0, 0, 0, 0, 0, 0, 0, 105, 106, 107,
1527 108, 0, 109, 110, 0, 0, 0, 111, 0, 0,
1528 0, 761, 0, 0, 0, 0, 0, 722, 464, 465,
1529 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
1530 476, 477, 478, 479, 480, 481, 0, 0, 0, 0,
1531 0, 482, 0, 0, 0, 0, 0, 104, 0, 0,
1532 0, 112, 113, 114, 115, 116, 105, 106, 107, 108,
1533 0, 109, 110, 0, 0, 0, 111, 0, 0, 0,
1534 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1535 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1536 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1537 140, 0, 0, 0, 0, 0, 0, 0, 752, 0,
1538 112, 113, 114, 115, 116, 0, 0, 0, 0, 0,
1539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 117, 0, 118, 119, 120, 121, 122, 123,
1541 0, 124, 0, 0, 125, 126, 127, 128, 129, 130,
1542 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1543 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1544 106, 107, 108, 819, 803, 110, 0, 0, 0, 111,
1545 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1546 474, 475, 476, 477, 478, 479, 480, 481, 0, 0,
1547 0, 0, 0, 705, 0, 0, 168, 0, 0, 0,
1548 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1549 0, 0, 0, 112, 113, 114, 115, 116, 105, 106,
1550 107, 108, 0, 109, 110, 0, 0, 0, 111, 0,
1551 0, 0, 0, 0, 0, 117, 0, 118, 119, 120,
1552 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
1553 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1554 138, 139, 140, 0, 0, 0, 0, 0, 104, 0,
1555 848, 0, 112, 113, 114, 115, 116, 105, 106, 107,
1556 108, 0, 109, 110, 0, 0, 0, 111, 0, 0,
1557 0, 0, 0, 0, 117, 0, 118, 119, 120, 121,
1558 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1559 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1560 139, 140, 0, 0, 0, 0, 0, 0, 0, 0,
1561 0, 112, 113, 114, 115, 116, 0, 0, 0, 0,
1562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1563 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1564 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1565 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1566 140, 720, 0, 0, 464, 465, 466, 467, 468, 469,
1567 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
1568 480, 481, 0, 0, 0, 0, 0, 705, 464, 465,
1569 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
1570 476, 477, 478, 479, 480, 481, 0, 0, 0, 0,
1571 0, 482, 464, 465, 466, 467, 468, 469, 470, 471,
1572 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
1573 0, 0, 0, 0, 0, 705, 464, 465, 466, 467,
1574 468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
1575 478, 479, 480, 481, 0, 0, 0, 0, 0, 482,
1576 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1577 474, 475, 476, 477, 478, 479, 480, 481, 0, 0,
1581 static const short yycheck
[] =
1583 33, 22, 88, 0, 33, 16, 17, 18, 190, 0,
1584 189, 190, 15, 10, 33, 196, 103, 430, 15, 92,
1585 433, 390, 430, 433, 404, 376, 92, 24, 403, 34,
1586 27, 507, 401, 716, 81, 316, 27, 386, 387, 485,
1587 738, 485, 738, 418, 91, 775, 738, 777, 45, 10,
1588 0, 62, 63, 64, 141, 316, 15, 144, 767, 26,
1589 10, 31, 32, 436, 34, 29, 49, 29, 91, 33,
1590 81, 33, 24, 442, 24, 29, 29, 27, 17, 18,
1591 33, 92, 93, 94, 45, 33, 34, 368, 32, 165,
1592 101, 821, 95, 374, 38, 45, 25, 789, 95, 450,
1593 123, 797, 26, 26, 813, 797, 35, 6, 459, 33,
1594 9, 462, 64, 4, 5, 6, 7, 8, 9, 10,
1595 11, 197, 31, 87, 44, 87, 17, 36, 32, 498,
1596 499, 22, 0, 87, 87, 508, 95, 9, 507, 11,
1597 823, 124, 26, 27, 853, 31, 35, 36, 32, 35,
1598 36, 125, 119, 31, 415, 125, 34, 840, 32, 162,
1599 44, 36, 173, 196, 161, 162, 37, 6, 7, 8,
1600 879, 110, 111, 112, 113, 114, 115, 32, 36, 34,
1601 191, 30, 463, 866, 31, 31, 33, 34, 897, 31,
1602 888, 33, 34, 84, 85, 86, 888, 32, 928, 35,
1603 161, 482, 483, 162, 35, 36, 33, 34, 33, 34,
1604 902, 161, 32, 33, 910, 23, 37, 36, 910, 33,
1605 34, 92, 93, 94, 95, 96, 924, 98, 99, 33,
1606 34, 317, 924, 4, 5, 6, 7, 8, 9, 10,
1607 11, 40, 688, 316, 688, 31, 17, 693, 931, 693,
1608 316, 22, 33, 34, 36, 17, 18, 23, 29, 93,
1609 94, 123, 38, 643, 32, 645, 37, 6, 648, 36,
1610 32, 92, 93, 94, 95, 96, 32, 98, 99, 31,
1611 35, 650, 32, 36, 32, 4, 5, 6, 7, 8,
1612 9, 10, 11, 17, 18, 368, 40, 31, 17, 31,
1613 675, 374, 368, 22, 49, 316, 485, 6, 374, 26,
1614 29, 32, 359, 84, 85, 86, 87, 40, 34, 498,
1615 34, 34, 92, 93, 94, 95, 96, 740, 98, 99,
1616 31, 682, 740, 26, 685, 686, 705, 706, 100, 101,
1617 102, 103, 104, 105, 106, 107, 108, 722, 824, 32,
1618 121, 3, 727, 22, 6, 32, 31, 368, 10, 39,
1619 12, 13, 373, 374, 83, 84, 85, 86, 87, 738,
1620 89, 23, 64, 64, 403, 37, 100, 101, 102, 103,
1621 104, 105, 106, 107, 108, 418, 40, 31, 31, 418,
1622 463, 40, 32, 24, 40, 32, 429, 463, 431, 418,
1623 433, 770, 32, 783, 123, 785, 786, 31, 33, 482,
1624 483, 33, 33, 4, 5, 6, 482, 483, 9, 768,
1625 769, 432, 34, 25, 35, 31, 35, 34, 797, 842,
1626 3, 22, 33, 6, 842, 446, 33, 10, 33, 12,
1627 13, 14, 15, 16, 17, 34, 34, 40, 35, 460,
1628 819, 456, 463, 486, 487, 824, 64, 808, 809, 109,
1629 33, 874, 644, 32, 874, 644, 32, 34, 647, 33,
1630 839, 482, 483, 33, 25, 32, 35, 31, 891, 760,
1631 761, 33, 485, 891, 864, 33, 33, 32, 485, 33,
1632 903, 31, 97, 35, 485, 33, 25, 4, 5, 6,
1633 7, 8, 9, 10, 11, 31, 34, 518, 32, 688,
1634 17, 4, 5, 6, 693, 22, 9, 33, 887, 888,
1635 933, 33, 29, 34, 33, 933, 34, 32, 34, 22,
1636 24, 944, 32, 4, 5, 6, 7, 8, 9, 10,
1637 11, 910, 97, 32, 25, 33, 17, 32, 25, 33,
1638 930, 22, 34, 33, 33, 924, 34, 33, 29, 30,
1639 31, 35, 34, 33, 745, 945, 32, 25, 33, 32,
1640 41, 33, 33, 32, 27, 693, 33, 84, 85, 86,
1641 87, 33, 33, 162, 688, 30, 4, 5, 6, 7,
1642 8, 9, 10, 11, 40, 640, 186, 24, 780, 17,
1643 184, 780, 389, 647, 22, 815, 456, 21, 695, 696,
1644 651, 29, 83, 84, 85, 86, 87, 88, 89, 777,
1645 91, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1646 75, 76, 77, 174, 79, 80, 81, 82, 671, 19,
1647 651, 924, 393, 788, 3, 116, 675, 6, 902, 429,
1648 121, 10, 123, 12, 13, 14, 15, 16, 17, 692,
1649 944, 836, 673, 692, 747, -1, 84, 85, 86, 87,
1650 -1, -1, -1, 692, -1, -1, -1, -1, -1, -1,
1651 -1, -1, 701, 694, -1, 688, -1, 760, 761, -1,
1652 693, 688, -1, 722, 760, 761, 693, 688, 727, -1,
1653 882, -1, 693, 882, -1, 123, -1, -1, -1, 742,
1654 -1, -1, 745, -1, -1, 748, -1, -1, -1, 901,
1655 806, -1, 901, 744, -1, -1, 4, 5, 6, 7,
1656 8, 9, 10, 11, -1, -1, 747, -1, -1, 17,
1657 -1, -1, -1, -1, 22, -1, -1, -1, -1, 760,
1658 761, 29, -1, -1, -1, 937, -1, -1, 937, 4,
1659 5, 6, 7, 8, 9, 10, 11, 800, 779, -1,
1660 -1, 782, 17, -1, -1, -1, -1, 22, -1, -1,
1661 813, 26, 27, 816, 817, -1, -1, -1, -1, -1,
1662 -1, -1, -1, -1, -1, -1, 807, -1, -1, 44,
1663 31, -1, 823, 836, -1, -1, 84, 85, 86, 87,
1664 -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1665 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1666 -1, -1, -1, -1, 65, -1, -1, -1, -1, 84,
1667 85, 86, -1, 121, -1, -1, 879, -1, -1, -1,
1668 -1, -1, -1, -1, -1, 888, -1, -1, -1, -1,
1669 -1, 0, -1, -1, 3, 4, 5, 6, 7, 8,
1670 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1671 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1672 29, 924, 31, 32, 33, 34, 35, 36, 37, 38,
1673 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1674 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1675 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1676 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1677 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1678 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1679 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1680 109, 110, 111, 112, 113, 114, 115, 116, -1, -1,
1681 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1682 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1683 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1684 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1685 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1686 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1687 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1688 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1689 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1690 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1691 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1692 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1693 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1694 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1695 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1696 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1697 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1698 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1699 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1700 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1701 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1702 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1703 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1704 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1705 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1706 -1, -1, 119, -1, 121, 122, 123, 124, 125, 0,
1707 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1708 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1709 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
1710 31, 32, 33, 34, 35, 36, -1, 38, 39, 40,
1711 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1712 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1713 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1714 71, 72, 73, 74, 75, 76, 77, 78, 79, -1,
1715 81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
1716 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1717 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1718 111, 112, 113, 114, 115, 116, 3, -1, 119, -1,
1719 121, 122, 123, 124, 125, 12, 13, 14, 15, -1,
1720 17, 18, -1, -1, -1, 22, -1, -1, -1, -1,
1721 -1, -1, 29, 30, 31, 32, 33, 34, 35, 36,
1722 37, 38, 39, 40, -1, 42, 43, 44, 45, 46,
1723 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1724 57, 58, 59, -1, -1, -1, -1, -1, 65, 66,
1725 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1726 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1727 87, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1728 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1729 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1730 3, -1, -1, -1, -1, -1, -1, -1, 125, 12,
1731 13, 14, 15, -1, 17, 18, 19, -1, -1, 22,
1732 23, -1, 25, -1, 27, 28, 29, -1, -1, 32,
1733 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1734 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
1735 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1736 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1737 -1, 121, -1, -1, -1, -1, -1, -1, -1, -1,
1738 -1, -1, -1, -1, 87, 88, -1, 90, 91, 92,
1739 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1740 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1741 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1742 -1, 124, 12, 13, 14, 15, -1, 17, 18, -1,
1743 -1, -1, 22, -1, -1, 25, -1, 27, 28, -1,
1744 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1745 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1747 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1748 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1749 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1750 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1751 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1752 110, 111, 112, 113, 114, 115, 3, -1, -1, 119,
1753 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1754 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1755 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1756 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1757 47, 48, -1, -1, -1, 17, -1, -1, -1, -1,
1758 22, -1, -1, 60, 61, -1, -1, 29, -1, 66,
1759 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1760 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1761 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1762 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1763 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1764 -1, 118, 84, 85, 86, 87, -1, -1, 12, 13,
1765 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1766 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1767 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1768 9, 10, 11, 47, 48, -1, -1, -1, 17, -1,
1769 -1, -1, -1, 22, -1, -1, 60, 61, -1, -1,
1770 29, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1771 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1772 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1773 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1774 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1775 114, 115, 3, -1, 118, 84, 85, 86, 87, -1,
1776 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
1777 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1778 -1, 32, -1, -1, -1, -1, -1, -1, 4, 5,
1779 6, 7, 8, 9, 10, 11, 47, 48, -1, -1,
1780 -1, 17, -1, -1, -1, -1, 22, -1, -1, 60,
1781 61, -1, -1, 29, -1, 66, 67, 68, 69, 70,
1782 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1783 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1784 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1785 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1786 111, 112, 113, 114, 115, 3, -1, 118, 84, 85,
1787 86, 87, -1, -1, 12, 13, 14, 15, -1, 17,
1788 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1789 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1790 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1791 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1792 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1793 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1794 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1795 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1796 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1797 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1798 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
1799 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1800 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1802 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1803 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1804 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1805 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1806 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1807 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1808 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1809 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1810 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
1811 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1812 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1813 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1814 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1815 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1816 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1817 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1818 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1819 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1820 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1821 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
1822 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1823 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1824 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1826 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1827 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1828 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1829 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1830 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1831 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1832 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
1833 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1834 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1835 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1836 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1837 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1838 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1839 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1840 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1841 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1842 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1843 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1844 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
1845 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1846 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1847 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1848 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1849 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1850 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1851 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1852 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1853 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1854 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1855 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
1856 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1857 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1858 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1859 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1860 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1861 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1862 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1863 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1864 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1865 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1866 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1867 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1868 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1869 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1870 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1871 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1872 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1873 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1874 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1875 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1876 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1877 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
1878 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1879 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1881 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1882 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1883 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1884 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1885 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1886 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1887 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1888 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1889 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
1890 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1891 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1892 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1893 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1894 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1895 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1896 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1897 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1898 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1899 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1900 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
1901 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1902 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1903 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1904 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1905 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1906 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1907 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1908 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1909 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1910 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1911 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
1912 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1913 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1915 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1916 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1917 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1918 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1919 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1920 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1921 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1922 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1923 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
1924 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1925 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1926 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1927 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1928 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1929 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1930 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1931 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1932 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1933 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1934 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
1935 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1936 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1938 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1939 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1940 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1941 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1942 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1943 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1944 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1945 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
1946 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1947 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1949 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1950 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1951 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1952 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1953 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1954 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1955 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1956 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1957 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
1958 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1959 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1960 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1961 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1962 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1963 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1964 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1965 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1966 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1967 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1968 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
1969 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1970 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1971 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1972 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1973 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1974 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1975 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1976 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1977 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1978 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1979 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1980 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1981 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1983 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1984 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1985 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1986 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1987 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1988 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1989 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1990 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
1991 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1992 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1994 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1995 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1996 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1997 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1998 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1999 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2000 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2001 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2002 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
2003 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2004 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2005 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2006 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2007 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2008 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2009 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2010 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2011 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2012 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2013 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2014 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2015 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2016 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2017 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2018 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2019 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2020 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2021 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2022 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2023 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2024 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2025 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2026 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2027 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2028 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2029 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2030 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2031 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2032 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2033 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2034 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2035 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2036 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2037 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2038 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2039 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2040 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2041 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2042 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2043 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2044 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2045 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2046 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2047 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2048 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2049 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2050 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2052 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2053 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2054 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2055 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2056 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2057 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2058 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2059 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2060 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2062 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2063 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2064 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2065 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2066 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2067 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2068 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2069 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
2070 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2071 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2073 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2074 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2075 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2076 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2077 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2078 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2079 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2080 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2081 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
2082 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2083 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2084 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2086 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2087 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2088 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2089 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2090 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2091 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2092 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2093 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2094 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2095 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2096 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2097 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2098 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2099 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2100 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2101 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2102 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2103 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
2104 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2105 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
2106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2107 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
2108 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2109 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2110 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
2111 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2112 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2113 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2114 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2115 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
2116 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2117 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2118 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2119 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2120 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2121 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2122 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2123 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2124 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2125 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2126 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2127 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2128 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2129 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2130 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2131 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2132 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2133 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2134 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2135 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2136 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2137 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2138 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2139 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2141 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2142 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2143 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2144 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2145 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2146 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2147 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2148 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2149 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2150 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2151 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2152 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2153 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2154 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2155 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2156 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2157 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2158 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2159 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2160 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2161 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2162 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2163 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2165 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2166 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2167 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2168 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2169 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2170 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2171 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2172 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2173 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2175 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2176 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2177 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2178 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2179 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2180 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2181 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2182 -1, -1, 118, 3, 4, 5, 6, 7, 8, 9,
2183 10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
2184 -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
2185 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2186 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2188 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2189 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2190 -1, -1, -1, -1, 84, 85, 86, 87, 88, -1,
2191 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2192 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2193 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2194 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2195 17, 18, 19, 20, 21, 22, 23, -1, 25, 26,
2196 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2198 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2199 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2200 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2201 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2202 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2203 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2204 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2205 -1, -1, -1, -1, -1, -1, -1, -1, 12, 13,
2206 14, 15, -1, 17, 18, 19, -1, -1, 22, 23,
2207 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
2208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2209 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2210 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2211 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2212 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2213 -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
2214 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2215 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2216 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2217 -1, 12, 13, 14, 15, -1, 17, 18, 19, -1,
2218 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
2219 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, -1, -1, 44, -1, -1, 47, 48, 49, -1,
2221 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2222 61, -1, -1, 64, -1, 66, 67, 68, 69, 70,
2223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2224 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2225 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2226 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2227 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2228 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2229 18, 19, -1, -1, 22, 23, 24, 25, -1, 27,
2230 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2231 -1, -1, -1, -1, -1, -1, 44, -1, -1, 47,
2232 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2233 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2234 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2236 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2237 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2238 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2239 -1, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2240 15, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2241 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2243 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2244 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2245 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2247 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2248 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2249 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2250 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2251 12, 13, 14, 15, -1, 17, 18, 19, -1, -1,
2252 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2253 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2254 -1, -1, -1, -1, -1, 47, 48, 49, -1, -1,
2255 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2256 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2257 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2258 -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
2259 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2260 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2261 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2262 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2263 19, -1, -1, 22, 23, -1, 25, -1, 27, 28,
2264 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2265 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2266 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2267 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2268 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2269 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2270 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2271 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2272 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2273 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2274 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2275 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2277 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2278 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2279 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2280 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2281 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2282 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2283 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2284 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2285 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2286 -1, -1, -1, -1, -1, -1, 29, -1, -1, 32,
2287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2288 -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
2289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2290 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2292 -1, -1, -1, -1, 87, 88, -1, 90, 91, 92,
2293 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2294 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2295 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2296 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
2297 -1, 33, 22, -1, -1, -1, -1, -1, -1, 29,
2298 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2299 52, 53, 54, 55, 56, 57, 58, 59, -1, 49,
2300 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
2301 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
2302 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2303 -1, -1, -1, -1, -1, -1, -1, 87, 88, -1,
2304 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2305 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2306 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2307 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2308 17, 18, -1, -1, -1, 22, -1, -1, 33, -1,
2309 -1, -1, -1, -1, -1, 32, 33, 42, 43, 44,
2310 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2311 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
2312 65, -1, -1, -1, -1, -1, -1, -1, -1, 66,
2313 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2315 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2316 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2317 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2318 -1, -1, -1, -1, -1, -1, -1, -1, 12, 13,
2319 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2321 -1, 35, -1, -1, -1, -1, -1, -1, -1, -1,
2322 -1, -1, -1, -1, -1, 49, -1, -1, -1, -1,
2323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2325 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2326 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2327 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2328 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2329 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2330 -1, 12, 13, 14, 15, 33, 17, 18, -1, -1,
2331 -1, 22, -1, -1, 42, 43, 44, 45, 46, 47,
2332 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2333 58, 59, -1, -1, -1, -1, -1, 65, 49, -1,
2334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2335 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2337 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2338 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2339 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2340 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2341 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2342 18, -1, -1, -1, 22, -1, -1, 34, -1, -1,
2343 -1, -1, -1, -1, 32, 42, 43, 44, 45, 46,
2344 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2345 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
2346 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2347 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2348 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2349 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2350 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2351 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2352 -1, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2353 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2354 -1, 35, -1, -1, -1, -1, -1, 32, 42, 43,
2355 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2356 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2357 -1, 65, -1, -1, -1, -1, -1, 3, -1, -1,
2358 -1, 66, 67, 68, 69, 70, 12, 13, 14, 15,
2359 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
2360 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2361 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2362 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2363 115, -1, -1, -1, -1, -1, -1, -1, 64, -1,
2364 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2365 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2366 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2367 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2368 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2369 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2370 13, 14, 15, 35, 17, 18, -1, -1, -1, 22,
2371 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2372 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2373 -1, -1, -1, 65, -1, -1, 49, -1, -1, -1,
2374 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
2375 -1, -1, -1, 66, 67, 68, 69, 70, 12, 13,
2376 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2377 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2378 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2379 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2380 113, 114, 115, -1, -1, -1, -1, -1, 3, -1,
2381 64, -1, 66, 67, 68, 69, 70, 12, 13, 14,
2382 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2383 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2384 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2385 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2386 114, 115, -1, -1, -1, -1, -1, -1, -1, -1,
2387 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2389 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2390 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2391 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2392 115, 39, -1, -1, 42, 43, 44, 45, 46, 47,
2393 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2394 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
2395 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2396 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2397 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2398 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2399 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
2400 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2401 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2402 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2403 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2407 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2408 symbol of state STATE-NUM. */
2409 static const unsigned short yystos
[] =
2411 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2412 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2413 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2414 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2415 182, 183, 188, 191, 194, 195, 199, 200, 201, 202,
2416 204, 206, 210, 212, 213, 219, 227, 241, 242, 9,
2417 11, 22, 84, 85, 86, 87, 123, 200, 210, 30,
2418 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2419 76, 77, 79, 80, 81, 82, 151, 152, 153, 154,
2420 156, 157, 158, 84, 85, 121, 171, 173, 201, 202,
2421 210, 219, 228, 229, 3, 12, 13, 14, 15, 17,
2422 18, 22, 66, 67, 68, 69, 70, 88, 90, 91,
2423 92, 93, 94, 95, 97, 100, 101, 102, 103, 104,
2424 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2425 115, 143, 260, 272, 143, 143, 230, 3, 6, 10,
2426 12, 13, 23, 247, 249, 26, 123, 242, 44, 280,
2427 281, 22, 83, 89, 123, 199, 0, 148, 49, 143,
2428 176, 211, 236, 237, 238, 239, 177, 4, 5, 6,
2429 9, 22, 184, 6, 181, 187, 200, 125, 189, 32,
2430 32, 36, 36, 143, 143, 143, 34, 192, 0, 3,
2431 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2432 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2433 24, 25, 26, 27, 28, 29, 31, 32, 33, 34,
2434 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2435 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2436 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2437 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2438 75, 76, 77, 78, 79, 81, 83, 84, 85, 86,
2439 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2440 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2441 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2442 119, 121, 122, 123, 124, 125, 143, 144, 159, 30,
2443 3, 12, 13, 14, 15, 17, 18, 22, 66, 67,
2444 68, 69, 70, 88, 90, 91, 92, 93, 94, 95,
2445 97, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2446 109, 110, 111, 112, 113, 114, 115, 144, 162, 163,
2447 162, 26, 119, 155, 144, 25, 27, 28, 32, 47,
2448 48, 60, 61, 78, 142, 143, 164, 224, 143, 230,
2449 143, 230, 173, 31, 143, 35, 233, 233, 233, 233,
2450 40, 23, 31, 36, 23, 171, 123, 189, 29, 87,
2451 240, 38, 234, 32, 143, 124, 239, 6, 185, 6,
2452 9, 186, 184, 36, 196, 32, 31, 17, 175, 203,
2453 205, 207, 208, 209, 210, 207, 143, 220, 221, 92,
2454 93, 94, 95, 96, 98, 99, 251, 252, 253, 266,
2455 269, 275, 276, 277, 193, 211, 237, 189, 26, 118,
2456 164, 190, 162, 144, 26, 27, 32, 44, 226, 164,
2457 32, 143, 164, 32, 42, 43, 44, 45, 46, 47,
2458 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2459 58, 59, 65, 141, 35, 36, 215, 215, 31, 214,
2460 215, 214, 19, 20, 21, 23, 25, 27, 32, 142,
2461 168, 169, 190, 211, 222, 223, 224, 40, 251, 32,
2462 31, 31, 19, 29, 87, 124, 222, 235, 236, 237,
2463 234, 6, 0, 3, 4, 5, 6, 7, 8, 9,
2464 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2465 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2466 31, 32, 33, 34, 35, 38, 39, 40, 41, 42,
2467 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2468 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2469 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2470 73, 74, 75, 76, 77, 78, 79, 81, 83, 84,
2471 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2472 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2473 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2474 115, 116, 119, 121, 122, 123, 124, 125, 145, 196,
2475 197, 198, 190, 236, 32, 33, 34, 34, 33, 34,
2476 40, 34, 231, 211, 256, 222, 245, 270, 271, 272,
2477 280, 211, 143, 278, 279, 211, 267, 271, 37, 252,
2478 222, 34, 31, 32, 26, 177, 225, 226, 22, 33,
2479 143, 119, 164, 165, 166, 164, 164, 32, 121, 172,
2480 173, 174, 175, 216, 219, 228, 229, 211, 211, 17,
2481 22, 175, 222, 222, 31, 65, 141, 168, 37, 14,
2482 15, 16, 17, 33, 243, 244, 246, 248, 249, 250,
2483 39, 39, 32, 143, 37, 198, 33, 32, 234, 207,
2484 234, 64, 209, 234, 64, 222, 221, 37, 40, 31,
2485 40, 31, 32, 24, 40, 32, 31, 34, 32, 31,
2486 31, 211, 64, 143, 160, 161, 236, 33, 33, 33,
2487 34, 35, 25, 174, 35, 232, 37, 172, 233, 233,
2488 33, 33, 222, 222, 31, 35, 33, 34, 245, 236,
2489 32, 33, 236, 33, 34, 33, 33, 19, 89, 90,
2490 109, 222, 255, 257, 258, 259, 260, 281, 270, 211,
2491 280, 193, 279, 17, 193, 268, 33, 34, 164, 164,
2492 34, 25, 35, 34, 217, 232, 215, 215, 222, 35,
2493 246, 35, 244, 246, 40, 143, 207, 33, 234, 64,
2494 234, 234, 109, 257, 17, 18, 32, 260, 263, 32,
2495 32, 255, 34, 273, 211, 33, 33, 162, 64, 143,
2496 25, 35, 32, 211, 218, 232, 31, 217, 222, 246,
2497 280, 168, 33, 33, 33, 268, 32, 222, 245, 64,
2498 270, 274, 33, 31, 97, 33, 35, 25, 232, 34,
2499 31, 64, 32, 33, 234, 33, 245, 34, 34, 261,
2500 33, 34, 18, 271, 272, 32, 34, 211, 232, 24,
2501 207, 32, 97, 32, 222, 211, 254, 255, 256, 262,
2502 281, 33, 270, 25, 25, 232, 33, 33, 207, 263,
2503 264, 265, 270, 33, 34, 255, 34, 33, 35, 33,
2504 33, 32, 33, 34, 254, 25, 246, 32, 234, 245,
2505 33, 270, 33, 207, 32, 33, 264, 234, 33, 33
2508 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2509 static const unsigned short yyr1
[] =
2511 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2512 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2513 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2514 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2515 143, 143, 143, 143, 143, 143, 144, 144, 144, 144,
2516 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2517 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2518 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2519 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2520 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2521 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2522 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2523 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2524 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2525 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2526 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2527 144, 144, 144, 144, 145, 145, 145, 145, 145, 145,
2528 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2529 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2530 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2531 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2532 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2533 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2534 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2535 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2536 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2537 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2538 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2539 146, 146, 147, 147, 148, 148, 148, 148, 148, 148,
2540 148, 148, 148, 148, 148, 148, 148, 148, 149, 150,
2541 150, 151, 151, 151, 151, 151, 151, 151, 151, 152,
2542 152, 153, 153, 154, 154, 154, 155, 155, 156, 156,
2543 157, 157, 157, 158, 158, 159, 159, 159, 159, 160,
2544 160, 160, 160, 161, 161, 162, 162, 163, 163, 164,
2545 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2546 165, 165, 166, 166, 166, 167, 167, 168, 168, 168,
2547 169, 169, 169, 170, 170, 171, 171, 172, 172, 173,
2548 173, 173, 173, 173, 174, 174, 174, 174, 174, 175,
2549 175, 175, 176, 176, 177, 177, 178, 178, 178, 179,
2550 179, 179, 179, 180, 180, 180, 181, 181, 182, 182,
2551 182, 183, 183, 183, 183, 184, 184, 184, 184, 184,
2552 184, 185, 185, 186, 186, 186, 186, 187, 187, 187,
2553 188, 188, 189, 189, 190, 190, 191, 192, 192, 193,
2554 193, 194, 195, 195, 195, 195, 195, 195, 196, 197,
2555 197, 198, 198, 199, 199, 200, 200, 201, 201, 202,
2556 202, 202, 202, 203, 203, 204, 205, 206, 207, 207,
2557 207, 208, 208, 209, 209, 209, 210, 210, 211, 211,
2558 212, 213, 214, 214, 215, 216, 216, 217, 217, 218,
2559 218, 218, 218, 219, 220, 220, 221, 221, 222, 222,
2560 222, 222, 222, 222, 223, 223, 223, 223, 223, 223,
2561 224, 224, 225, 225, 226, 226, 226, 227, 228, 229,
2562 230, 230, 231, 231, 232, 232, 232, 232, 233, 233,
2563 234, 234, 234, 235, 235, 235, 235, 236, 236, 237,
2564 237, 238, 238, 239, 239, 240, 240, 241, 241, 242,
2565 242, 242, 243, 243, 244, 244, 245, 246, 247, 248,
2566 248, 249, 249, 249, 249, 249, 250, 250, 250, 250,
2567 251, 251, 252, 252, 252, 252, 252, 253, 253, 254,
2568 254, 254, 255, 255, 255, 255, 255, 255, 256, 256,
2569 257, 258, 258, 259, 260, 260, 260, 260, 260, 260,
2570 260, 260, 260, 260, 261, 261, 262, 262, 263, 263,
2571 264, 264, 265, 265, 266, 267, 267, 268, 268, 268,
2572 269, 270, 270, 270, 271, 271, 272, 272, 272, 272,
2573 272, 272, 272, 272, 273, 273, 274, 274, 275, 276,
2574 276, 277, 278, 278, 279, 280, 280, 281
2577 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2578 static const unsigned char yyr2
[] =
2580 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2583 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2584 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2585 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2586 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2587 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2588 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2591 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2592 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2593 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2594 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2595 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2596 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2597 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2600 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2601 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2602 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2603 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2604 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2605 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2606 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2607 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2608 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
2609 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
2610 3, 2, 2, 1, 2, 2, 2, 1, 2, 1,
2611 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2612 1, 1, 1, 1, 1, 2, 6, 2, 2, 0,
2613 1, 1, 3, 1, 3, 0, 1, 1, 2, 3,
2614 2, 3, 5, 2, 4, 1, 1, 1, 1, 4,
2615 0, 1, 1, 1, 3, 6, 5, 1, 1, 1,
2616 1, 1, 1, 3, 4, 1, 2, 1, 2, 1,
2617 1, 2, 4, 4, 1, 1, 1, 3, 3, 1,
2618 2, 2, 1, 1, 1, 1, 2, 2, 2, 1,
2619 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
2620 2, 1, 1, 2, 2, 0, 1, 1, 2, 1,
2621 2, 0, 1, 0, 1, 1, 2, 0, 1, 2,
2622 3, 4, 0, 4, 1, 2, 5, 0, 2, 1,
2623 3, 3, 1, 2, 2, 3, 1, 2, 3, 1,
2624 2, 1, 1, 1, 2, 1, 1, 5, 7, 5,
2625 7, 13, 16, 5, 7, 6, 5, 1, 0, 1,
2626 1, 1, 3, 1, 1, 3, 1, 2, 3, 2,
2627 4, 4, 1, 1, 3, 4, 5, 0, 2, 2,
2628 4, 1, 3, 5, 1, 3, 1, 3, 1, 4,
2629 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
2630 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
2631 0, 1, 0, 1, 0, 2, 7, 9, 0, 7,
2632 0, 3, 3, 0, 1, 1, 1, 0, 1, 1,
2633 2, 1, 2, 1, 2, 1, 1, 4, 5, 7,
2634 8, 13, 1, 3, 2, 4, 2, 1, 1, 1,
2635 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2636 1, 2, 1, 1, 1, 1, 1, 3, 6, 1,
2637 2, 1, 1, 1, 1, 2, 1, 1, 3, 4,
2638 6, 8, 12, 5, 1, 1, 1, 1, 1, 1,
2639 1, 1, 1, 1, 0, 2, 1, 3, 1, 1,
2640 0, 1, 1, 3, 3, 6, 1, 0, 1, 1,
2641 3, 1, 1, 3, 5, 6, 1, 1, 1, 1,
2642 1, 1, 1, 1, 0, 2, 1, 3, 3, 1,
2643 1, 3, 1, 3, 4, 0, 1, 1
2647 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2648 static const unsigned char yydprec
[] =
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, 1, 2, 2, 2, 0,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 2, 1, 0,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 0, 0, 0, 0, 2, 1, 0, 0, 0, 0,
2688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 2,
2696 1, 0, 0, 0, 2, 1, 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, 2, 1, 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
2716 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2717 static const unsigned char yymerger
[] =
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,
2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0
2785 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2786 in the case of predicates. */
2787 static const yybool yyimmediate
[] =
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, 0, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 0, 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, 0, 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, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 0, 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, 0, 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
2855 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2856 list of conflicting reductions corresponding to action entry for
2857 state STATE-NUM in yytable. 0 means no conflicts. The list in
2858 yyconfl is terminated by a rule number of 0. */
2859 static const unsigned short yyconflp
[] =
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, 15, 0, 0, 0, 0, 0, 0, 0, 3714,
2868 0, 3716, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 3700, 3702, 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, 3696, 0, 0, 0,
2876 0, 0, 0, 0, 0, 17, 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, 3706, 0, 3708, 3710, 0, 3718,
2880 0, 3720, 3722, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 3698, 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, 3704, 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, 9, 0, 0, 0, 11, 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, 3712, 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, 13, 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, 3724,
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, 0, 0, 0, 0, 0, 0,
2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 167,
2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2920 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
2921 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
2922 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
2923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2927 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
2928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2996 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
2997 0, 0, 0, 0, 0, 21, 23, 25, 27, 0,
2998 29, 31, 0, 0, 0, 33, 0, 0, 0, 0,
2999 0, 0, 35, 37, 39, 41, 43, 45, 47, 49,
3000 51, 53, 55, 57, 0, 59, 61, 63, 65, 67,
3001 69, 71, 73, 75, 77, 79, 81, 83, 85, 87,
3002 89, 91, 93, 0, 0, 0, 0, 0, 95, 97,
3003 99, 101, 103, 105, 0, 0, 0, 0, 0, 0,
3004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3005 107, 109, 0, 111, 113, 115, 117, 119, 121, 0,
3006 123, 0, 0, 125, 127, 129, 131, 133, 135, 137,
3007 139, 141, 143, 145, 147, 149, 151, 153, 155, 0,
3008 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
3009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3030 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
3031 0, 0, 0, 0, 0, 171, 173, 175, 177, 0,
3032 179, 181, 0, 0, 0, 183, 0, 0, 185, 187,
3033 189, 191, 0, 0, 0, 193, 0, 0, 0, 0,
3034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3035 195, 197, 0, 0, 0, 0, 0, 0, 0, 0,
3036 0, 0, 0, 199, 201, 0, 0, 0, 0, 203,
3037 205, 207, 209, 211, 0, 0, 0, 0, 0, 0,
3038 0, 213, 0, 0, 0, 0, 0, 0, 0, 0,
3039 0, 215, 0, 217, 219, 221, 223, 225, 227, 0,
3040 229, 0, 0, 231, 233, 235, 237, 239, 241, 243,
3041 245, 247, 249, 251, 253, 255, 257, 259, 261, 263,
3042 0, 0, 0, 0, 0, 0, 0, 0, 265, 267,
3043 269, 271, 0, 273, 275, 0, 0, 0, 277, 0,
3044 0, 279, 281, 283, 285, 0, 0, 0, 287, 0,
3045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3046 0, 0, 0, 289, 291, 0, 0, 0, 159, 0,
3047 0, 0, 0, 161, 0, 0, 293, 295, 0, 0,
3048 163, 0, 297, 299, 301, 303, 305, 0, 0, 0,
3049 0, 0, 0, 0, 307, 0, 0, 0, 0, 0,
3050 0, 0, 0, 0, 309, 0, 311, 313, 315, 317,
3051 319, 321, 0, 323, 0, 0, 325, 327, 329, 331,
3052 333, 335, 337, 339, 341, 343, 345, 347, 349, 351,
3053 353, 355, 357, 0, 0, 0, 0, 0, 165, 0,
3054 0, 359, 361, 363, 365, 0, 367, 369, 0, 0,
3055 0, 371, 0, 0, 373, 375, 377, 379, 0, 0,
3056 0, 381, 0, 0, 0, 0, 0, 0, 0, 0,
3057 0, 0, 0, 0, 0, 0, 383, 385, 0, 0,
3058 0, 0, 0, 0, 0, 0, 0, 0, 0, 387,
3059 389, 0, 0, 0, 0, 391, 393, 395, 397, 399,
3060 0, 0, 0, 0, 0, 0, 0, 401, 0, 0,
3061 0, 0, 0, 0, 0, 0, 0, 403, 0, 405,
3062 407, 409, 411, 413, 415, 0, 417, 0, 0, 419,
3063 421, 423, 425, 427, 429, 431, 433, 435, 437, 439,
3064 441, 443, 445, 447, 449, 451, 0, 0, 0, 0,
3065 0, 0, 0, 0, 453, 455, 457, 459, 0, 461,
3066 463, 0, 0, 0, 465, 0, 0, 467, 469, 471,
3067 473, 0, 0, 0, 475, 0, 0, 0, 0, 0,
3068 0, 0, 0, 0, 0, 0, 0, 0, 0, 477,
3069 479, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3070 0, 0, 481, 483, 0, 0, 0, 0, 485, 487,
3071 489, 491, 493, 0, 0, 0, 0, 0, 0, 0,
3072 495, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3073 497, 0, 499, 501, 503, 505, 507, 509, 0, 511,
3074 0, 0, 513, 515, 517, 519, 521, 523, 525, 527,
3075 529, 531, 533, 535, 537, 539, 541, 543, 545, 0,
3076 0, 0, 0, 0, 0, 0, 0, 547, 549, 551,
3077 553, 0, 555, 557, 0, 0, 0, 559, 0, 0,
3078 561, 563, 565, 567, 0, 0, 0, 569, 0, 0,
3079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3080 0, 0, 571, 573, 0, 0, 0, 0, 0, 0,
3081 0, 0, 0, 0, 0, 575, 577, 0, 0, 0,
3082 0, 579, 581, 583, 585, 587, 0, 0, 0, 0,
3083 0, 0, 0, 589, 0, 0, 0, 0, 0, 0,
3084 0, 0, 0, 591, 0, 593, 595, 597, 599, 601,
3085 603, 0, 605, 0, 0, 607, 609, 611, 613, 615,
3086 617, 619, 621, 623, 625, 627, 629, 631, 633, 635,
3087 637, 639, 0, 0, 0, 0, 0, 0, 0, 0,
3088 641, 643, 645, 647, 0, 649, 651, 0, 0, 0,
3089 653, 0, 0, 655, 657, 659, 661, 0, 0, 0,
3090 663, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3091 0, 0, 0, 0, 0, 665, 667, 0, 0, 0,
3092 0, 0, 0, 0, 0, 0, 0, 0, 669, 671,
3093 0, 0, 0, 0, 673, 675, 677, 679, 681, 0,
3094 0, 0, 0, 0, 0, 0, 683, 0, 0, 0,
3095 0, 0, 0, 0, 0, 0, 685, 0, 687, 689,
3096 691, 693, 695, 697, 0, 699, 0, 0, 701, 703,
3097 705, 707, 709, 711, 713, 715, 717, 719, 721, 723,
3098 725, 727, 729, 731, 733, 0, 0, 0, 0, 0,
3099 0, 0, 0, 736, 739, 742, 745, 0, 748, 751,
3100 0, 0, 0, 754, 0, 0, 757, 760, 763, 766,
3101 0, 0, 0, 769, 0, 0, 0, 0, 0, 0,
3102 0, 0, 0, 0, 0, 0, 0, 0, 772, 775,
3103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3104 0, 778, 781, 0, 0, 0, 0, 784, 787, 790,
3105 793, 796, 0, 0, 0, 0, 0, 0, 0, 799,
3106 0, 0, 0, 0, 0, 0, 0, 0, 0, 802,
3107 0, 805, 808, 811, 814, 817, 820, 0, 823, 0,
3108 0, 826, 829, 832, 835, 838, 841, 844, 847, 850,
3109 853, 856, 859, 862, 865, 868, 871, 876, 0, 874,
3110 0, 0, 0, 0, 0, 0, 878, 880, 882, 884,
3111 0, 886, 888, 0, 0, 0, 890, 0, 0, 892,
3112 894, 896, 898, 0, 0, 0, 900, 0, 0, 0,
3113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3114 0, 902, 904, 0, 0, 0, 0, 0, 0, 0,
3115 0, 0, 0, 0, 906, 908, 0, 0, 0, 0,
3116 910, 912, 914, 916, 918, 0, 0, 0, 0, 0,
3117 0, 0, 920, 0, 0, 0, 0, 0, 0, 0,
3118 0, 0, 922, 0, 924, 926, 928, 930, 932, 934,
3119 0, 936, 0, 0, 938, 940, 942, 944, 946, 948,
3120 950, 952, 954, 956, 958, 960, 962, 964, 966, 968,
3121 970, 0, 0, 0, 0, 0, 0, 0, 0, 972,
3122 974, 976, 978, 0, 980, 982, 0, 0, 0, 984,
3123 0, 0, 986, 988, 990, 992, 0, 0, 0, 994,
3124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3125 0, 0, 0, 0, 996, 998, 0, 0, 0, 0,
3126 0, 0, 0, 0, 0, 0, 0, 1000, 1002, 0,
3127 0, 0, 0, 1004, 1006, 1008, 1010, 1012, 0, 0,
3128 0, 0, 0, 0, 0, 1014, 0, 0, 0, 0,
3129 0, 0, 0, 0, 0, 1016, 0, 1018, 1020, 1022,
3130 1024, 1026, 1028, 0, 1030, 0, 0, 1032, 1034, 1036,
3131 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054, 1056,
3132 1058, 1060, 1062, 1064, 0, 0, 0, 0, 0, 0,
3133 0, 0, 1066, 1068, 1070, 1072, 0, 1074, 1076, 0,
3134 0, 0, 1078, 0, 0, 1080, 1082, 1084, 1086, 0,
3135 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
3136 0, 0, 0, 0, 0, 0, 0, 1090, 1092, 0,
3137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3138 1094, 1096, 0, 0, 0, 0, 1098, 1100, 1102, 1104,
3139 1106, 0, 0, 0, 0, 0, 0, 0, 1108, 0,
3140 0, 0, 0, 0, 0, 0, 0, 0, 1110, 0,
3141 1112, 1114, 1116, 1118, 1120, 1122, 0, 1124, 0, 0,
3142 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, 1144,
3143 1146, 1148, 1150, 1152, 1154, 1156, 1158, 0, 0, 0,
3144 0, 0, 0, 0, 0, 1160, 1162, 1164, 1166, 0,
3145 1168, 1170, 0, 0, 0, 1172, 0, 0, 1174, 1176,
3146 1178, 1180, 0, 0, 0, 1182, 0, 0, 0, 0,
3147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3148 1184, 1186, 0, 0, 0, 0, 0, 0, 0, 0,
3149 0, 0, 0, 1188, 1190, 0, 0, 0, 0, 1192,
3150 1194, 1196, 1198, 1200, 0, 0, 0, 0, 0, 0,
3151 0, 1202, 0, 0, 0, 0, 0, 0, 0, 0,
3152 0, 1204, 0, 1206, 1208, 1210, 1212, 1214, 1216, 0,
3153 1218, 0, 0, 1220, 1222, 1224, 1226, 1228, 1230, 1232,
3154 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252,
3155 0, 0, 0, 0, 0, 0, 0, 0, 1254, 1256,
3156 1258, 1260, 0, 1262, 1264, 0, 0, 0, 1266, 0,
3157 0, 1268, 1270, 1272, 1274, 0, 0, 0, 1276, 0,
3158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3159 0, 0, 0, 1278, 1280, 0, 0, 0, 0, 0,
3160 0, 0, 0, 0, 0, 0, 1282, 1284, 0, 0,
3161 0, 0, 1286, 1288, 1290, 1292, 1294, 0, 0, 0,
3162 0, 0, 0, 0, 1296, 0, 0, 0, 0, 0,
3163 0, 0, 0, 0, 1298, 0, 1300, 1302, 1304, 1306,
3164 1308, 1310, 0, 1312, 0, 0, 1314, 1316, 1318, 1320,
3165 1322, 1324, 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340,
3166 1342, 1344, 1346, 0, 0, 0, 0, 0, 0, 0,
3167 0, 1348, 1350, 1352, 1354, 0, 1356, 1358, 0, 0,
3168 0, 1360, 0, 0, 1362, 1364, 1366, 1368, 0, 0,
3169 0, 1370, 0, 0, 0, 0, 0, 0, 0, 0,
3170 0, 0, 0, 0, 0, 0, 1372, 1374, 0, 0,
3171 0, 0, 0, 0, 0, 0, 0, 0, 0, 1376,
3172 1378, 0, 0, 0, 0, 1380, 1382, 1384, 1386, 1388,
3173 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0,
3174 0, 0, 0, 0, 0, 0, 0, 1392, 0, 1394,
3175 1396, 1398, 1400, 1402, 1404, 0, 1406, 0, 0, 1408,
3176 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428,
3177 1430, 1432, 1434, 1436, 1438, 1440, 0, 0, 0, 0,
3178 0, 0, 0, 0, 1442, 1444, 1446, 1448, 0, 1450,
3179 1452, 0, 0, 0, 1454, 0, 0, 1456, 1458, 1460,
3180 1462, 0, 0, 0, 1464, 0, 0, 0, 0, 0,
3181 0, 0, 0, 0, 0, 0, 0, 0, 0, 1466,
3182 1468, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3183 0, 0, 1470, 1472, 0, 0, 0, 0, 1474, 1476,
3184 1478, 1480, 1482, 0, 0, 0, 0, 0, 0, 0,
3185 1484, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3186 1486, 0, 1488, 1490, 1492, 1494, 1496, 1498, 0, 1500,
3187 0, 0, 1502, 1504, 1506, 1508, 1510, 1512, 1514, 1516,
3188 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532, 1534, 0,
3189 0, 0, 0, 0, 0, 0, 0, 1536, 1538, 1540,
3190 1542, 0, 1544, 1546, 0, 0, 0, 1548, 0, 0,
3191 1550, 1552, 1554, 1556, 0, 0, 0, 1558, 0, 0,
3192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3193 0, 0, 1560, 1562, 0, 0, 0, 0, 0, 0,
3194 0, 0, 0, 0, 0, 1564, 1566, 0, 0, 0,
3195 0, 1568, 1570, 1572, 1574, 1576, 0, 0, 0, 0,
3196 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0,
3197 0, 0, 0, 1580, 0, 1582, 1584, 1586, 1588, 1590,
3198 1592, 0, 1594, 0, 0, 1596, 1598, 1600, 1602, 1604,
3199 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622, 1624,
3200 1626, 1628, 0, 0, 0, 0, 0, 0, 0, 0,
3201 1630, 1632, 1634, 1636, 0, 1638, 1640, 0, 0, 0,
3202 1642, 0, 0, 1644, 1646, 1648, 1650, 0, 0, 0,
3203 1652, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3204 0, 0, 0, 0, 0, 1654, 1656, 0, 0, 0,
3205 0, 0, 0, 0, 0, 0, 0, 0, 1658, 1660,
3206 0, 0, 0, 0, 1662, 1664, 1666, 1668, 1670, 0,
3207 0, 0, 0, 0, 0, 0, 1672, 0, 0, 0,
3208 0, 0, 0, 0, 0, 0, 1674, 0, 1676, 1678,
3209 1680, 1682, 1684, 1686, 0, 1688, 0, 0, 1690, 1692,
3210 1694, 1696, 1698, 1700, 1702, 1704, 1706, 1708, 1710, 1712,
3211 1714, 1716, 1718, 1720, 1722, 0, 0, 0, 0, 0,
3212 0, 0, 0, 1724, 1726, 1728, 1730, 0, 1732, 1734,
3213 0, 0, 0, 1736, 0, 0, 1738, 1740, 1742, 1744,
3214 0, 0, 0, 1746, 0, 0, 0, 0, 0, 0,
3215 0, 0, 0, 0, 0, 0, 0, 0, 1748, 1750,
3216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3217 0, 1752, 1754, 0, 0, 0, 0, 1756, 1758, 1760,
3218 1762, 1764, 0, 0, 0, 0, 0, 0, 0, 1766,
3219 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768,
3220 0, 1770, 1772, 1774, 1776, 1778, 1780, 0, 1782, 0,
3221 0, 1784, 1786, 1788, 1790, 1792, 1794, 1796, 1798, 1800,
3222 1802, 1804, 1806, 1808, 1810, 1812, 1814, 1816, 0, 0,
3223 0, 0, 0, 0, 0, 0, 1818, 1820, 1822, 1824,
3224 0, 1826, 1828, 0, 0, 0, 1830, 0, 0, 1832,
3225 1834, 1836, 1838, 0, 0, 0, 1840, 0, 0, 0,
3226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3227 0, 1842, 1844, 0, 0, 0, 0, 0, 0, 0,
3228 0, 0, 0, 0, 1846, 1848, 0, 0, 0, 0,
3229 1850, 1852, 1854, 1856, 1858, 0, 0, 0, 0, 0,
3230 0, 0, 1860, 0, 0, 0, 0, 0, 0, 0,
3231 0, 0, 1862, 0, 1864, 1866, 1868, 1870, 1872, 1874,
3232 0, 1876, 0, 0, 1878, 1880, 1882, 1884, 1886, 1888,
3233 1890, 1892, 1894, 1896, 1898, 1900, 1902, 1904, 1906, 1908,
3234 1910, 0, 0, 0, 0, 0, 0, 0, 0, 1912,
3235 1914, 1916, 1918, 0, 1920, 1922, 0, 0, 0, 1924,
3236 0, 0, 1926, 1928, 1930, 1932, 0, 0, 0, 1934,
3237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3238 0, 0, 0, 0, 1936, 1938, 0, 0, 0, 0,
3239 0, 0, 0, 0, 0, 0, 0, 1940, 1942, 0,
3240 0, 0, 0, 1944, 1946, 1948, 1950, 1952, 0, 0,
3241 0, 0, 0, 0, 0, 1954, 0, 0, 0, 0,
3242 0, 0, 0, 0, 0, 1956, 0, 1958, 1960, 1962,
3243 1964, 1966, 1968, 0, 1970, 0, 0, 1972, 1974, 1976,
3244 1978, 1980, 1982, 1984, 1986, 1988, 1990, 1992, 1994, 1996,
3245 1998, 2000, 2002, 2004, 0, 0, 0, 0, 0, 0,
3246 0, 0, 2006, 2008, 2010, 2012, 0, 2014, 2016, 0,
3247 0, 0, 2018, 0, 0, 2020, 2022, 2024, 2026, 0,
3248 0, 0, 2028, 0, 0, 0, 0, 0, 0, 0,
3249 0, 0, 0, 0, 0, 0, 0, 2030, 2032, 0,
3250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3251 2034, 2036, 0, 0, 0, 0, 2038, 2040, 2042, 2044,
3252 2046, 0, 0, 0, 0, 0, 0, 0, 2048, 0,
3253 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0,
3254 2052, 2054, 2056, 2058, 2060, 2062, 0, 2064, 0, 0,
3255 2066, 2068, 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084,
3256 2086, 2088, 2090, 2092, 2094, 2096, 2098, 0, 0, 0,
3257 0, 0, 0, 0, 0, 2100, 2102, 2104, 2106, 0,
3258 2108, 2110, 0, 0, 0, 2112, 0, 0, 2114, 2116,
3259 2118, 2120, 0, 0, 0, 2122, 0, 0, 0, 0,
3260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3261 2124, 2126, 0, 0, 0, 0, 0, 0, 0, 0,
3262 0, 0, 0, 2128, 2130, 0, 0, 0, 0, 2132,
3263 2134, 2136, 2138, 2140, 0, 0, 0, 0, 0, 0,
3264 0, 2142, 0, 0, 0, 0, 0, 0, 0, 0,
3265 0, 2144, 0, 2146, 2148, 2150, 2152, 2154, 2156, 0,
3266 2158, 0, 0, 2160, 2162, 2164, 2166, 2168, 2170, 2172,
3267 2174, 2176, 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192,
3268 0, 0, 0, 0, 0, 0, 0, 0, 2194, 2196,
3269 2198, 2200, 0, 2202, 2204, 0, 0, 0, 2206, 0,
3270 0, 2208, 2210, 2212, 2214, 0, 0, 0, 2216, 0,
3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3272 0, 0, 0, 2218, 2220, 0, 0, 0, 0, 0,
3273 0, 0, 0, 0, 0, 0, 2222, 2224, 0, 0,
3274 0, 0, 2226, 2228, 2230, 2232, 2234, 0, 0, 0,
3275 0, 0, 0, 0, 2236, 0, 0, 0, 0, 0,
3276 0, 0, 0, 0, 2238, 0, 2240, 2242, 2244, 2246,
3277 2248, 2250, 0, 2252, 0, 0, 2254, 2256, 2258, 2260,
3278 2262, 2264, 2266, 2268, 2270, 2272, 2274, 2276, 2278, 2280,
3279 2282, 2284, 2286, 0, 0, 0, 0, 0, 0, 0,
3280 0, 2288, 2290, 2292, 2294, 0, 2296, 2298, 0, 0,
3281 0, 2300, 0, 0, 2302, 2304, 2306, 2308, 0, 0,
3282 0, 2310, 0, 0, 0, 0, 0, 0, 0, 0,
3283 0, 0, 0, 0, 0, 0, 2312, 2314, 0, 0,
3284 0, 0, 0, 0, 0, 0, 0, 0, 0, 2316,
3285 2318, 0, 0, 0, 0, 2320, 2322, 2324, 2326, 2328,
3286 0, 0, 0, 0, 0, 0, 0, 2330, 0, 0,
3287 0, 0, 0, 0, 0, 0, 0, 2332, 0, 2334,
3288 2336, 2338, 2340, 2342, 2344, 0, 2346, 0, 0, 2348,
3289 2350, 2352, 2354, 2356, 2358, 2360, 2362, 2364, 2366, 2368,
3290 2370, 2372, 2374, 2376, 2378, 2380, 0, 0, 0, 0,
3291 0, 0, 0, 0, 2382, 2384, 2386, 2388, 0, 2390,
3292 2392, 0, 0, 0, 2394, 0, 0, 2396, 2398, 2400,
3293 2402, 0, 0, 0, 2404, 0, 0, 0, 0, 0,
3294 0, 0, 0, 0, 0, 0, 0, 0, 0, 2406,
3295 2408, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3296 0, 0, 2410, 2412, 0, 0, 0, 0, 2414, 2416,
3297 2418, 2420, 2422, 0, 0, 0, 0, 0, 0, 0,
3298 2424, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3299 2426, 0, 2428, 2430, 2432, 2434, 2436, 2438, 0, 2440,
3300 0, 0, 2442, 2444, 2446, 2448, 2450, 2452, 2454, 2456,
3301 2458, 2460, 2462, 2464, 2466, 2468, 2470, 2472, 2474, 0,
3302 0, 0, 0, 0, 0, 0, 0, 2476, 2478, 2480,
3303 2482, 0, 2484, 2486, 0, 0, 0, 2488, 0, 0,
3304 2490, 2492, 2494, 2496, 0, 0, 0, 2498, 0, 0,
3305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3306 0, 0, 2500, 2502, 0, 0, 0, 0, 0, 0,
3307 0, 0, 0, 0, 0, 2504, 2506, 0, 0, 0,
3308 0, 2508, 2510, 2512, 2514, 2516, 0, 0, 0, 0,
3309 0, 0, 0, 2518, 0, 0, 0, 0, 0, 0,
3310 0, 0, 0, 2520, 0, 2522, 2524, 2526, 2528, 2530,
3311 2532, 0, 2534, 0, 0, 2536, 2538, 2540, 2542, 2544,
3312 2546, 2548, 2550, 2552, 2554, 2556, 2558, 2560, 2562, 2564,
3313 2566, 2568, 0, 0, 0, 0, 0, 0, 0, 0,
3314 2570, 2572, 2574, 2576, 0, 2578, 2580, 0, 0, 0,
3315 2582, 0, 0, 2584, 2586, 2588, 2590, 0, 0, 0,
3316 2592, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3317 0, 0, 0, 0, 0, 2594, 2596, 0, 0, 0,
3318 0, 0, 0, 0, 0, 0, 0, 0, 2598, 2600,
3319 0, 0, 0, 0, 2602, 2604, 2606, 2608, 2610, 0,
3320 0, 0, 0, 0, 0, 0, 2612, 0, 0, 0,
3321 0, 0, 0, 0, 0, 0, 2614, 0, 2616, 2618,
3322 2620, 2622, 2624, 2626, 0, 2628, 0, 0, 2630, 2632,
3323 2634, 2636, 2638, 2640, 2642, 2644, 2646, 2648, 2650, 2652,
3324 2654, 2656, 2658, 2660, 2662, 0, 0, 0, 0, 0,
3325 0, 0, 0, 2664, 2666, 2668, 2670, 0, 2672, 2674,
3326 0, 0, 0, 2676, 0, 0, 2678, 2680, 2682, 2684,
3327 0, 0, 0, 2686, 0, 0, 0, 0, 0, 0,
3328 0, 0, 0, 0, 0, 0, 0, 0, 2688, 2690,
3329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3330 0, 2692, 2694, 0, 0, 0, 0, 2696, 2698, 2700,
3331 2702, 2704, 0, 0, 0, 0, 0, 0, 0, 2706,
3332 0, 0, 0, 0, 0, 0, 0, 0, 0, 2708,
3333 0, 2710, 2712, 2714, 2716, 2718, 2720, 0, 2722, 0,
3334 0, 2724, 2726, 2728, 2730, 2732, 2734, 2736, 2738, 2740,
3335 2742, 2744, 2746, 2748, 2750, 2752, 2754, 2756, 0, 0,
3336 0, 0, 0, 0, 0, 0, 2758, 2760, 2762, 2764,
3337 0, 2766, 2768, 0, 0, 0, 2770, 0, 0, 2772,
3338 2774, 2776, 2778, 0, 0, 0, 2780, 0, 0, 0,
3339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3340 0, 2782, 2784, 0, 0, 0, 0, 0, 0, 0,
3341 0, 0, 0, 0, 2786, 2788, 0, 0, 0, 0,
3342 2790, 2792, 2794, 2796, 2798, 0, 0, 0, 0, 0,
3343 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0,
3344 0, 0, 2802, 0, 2804, 2806, 2808, 2810, 2812, 2814,
3345 0, 2816, 0, 0, 2818, 2820, 2822, 2824, 2826, 2828,
3346 2830, 2832, 2834, 2836, 2838, 2840, 2842, 2844, 2846, 2848,
3347 2850, 0, 0, 0, 0, 0, 0, 0, 0, 2852,
3348 2854, 2856, 2858, 0, 2860, 2862, 0, 0, 0, 2864,
3349 0, 0, 2866, 2868, 2870, 2872, 0, 0, 0, 2874,
3350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3351 0, 0, 0, 0, 2876, 2878, 0, 0, 0, 0,
3352 0, 0, 0, 0, 0, 0, 0, 2880, 2882, 0,
3353 0, 0, 0, 2884, 2886, 2888, 2890, 2892, 0, 0,
3354 0, 0, 0, 0, 0, 2894, 0, 0, 0, 0,
3355 0, 0, 0, 0, 0, 2896, 0, 2898, 2900, 2902,
3356 2904, 2906, 2908, 0, 2910, 0, 0, 2912, 2914, 2916,
3357 2918, 2920, 2922, 2924, 2926, 2928, 2930, 2932, 2934, 2936,
3358 2938, 2940, 2942, 2944, 0, 0, 0, 0, 0, 0,
3359 0, 0, 2946, 2948, 2950, 2952, 0, 2954, 2956, 0,
3360 0, 0, 2958, 0, 0, 2960, 2962, 2964, 2966, 0,
3361 0, 0, 2968, 0, 0, 0, 0, 0, 0, 0,
3362 0, 0, 0, 0, 0, 0, 0, 2970, 2972, 0,
3363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3364 2974, 2976, 0, 0, 0, 0, 2978, 2980, 2982, 2984,
3365 2986, 0, 0, 0, 0, 0, 0, 0, 2988, 0,
3366 0, 0, 0, 0, 0, 0, 0, 0, 2990, 0,
3367 2992, 2994, 2996, 2998, 3000, 3002, 0, 3004, 0, 0,
3368 3006, 3008, 3010, 3012, 3014, 3016, 3018, 3020, 3022, 3024,
3369 3026, 3028, 3030, 3032, 3034, 3036, 3038, 0, 0, 0,
3370 0, 0, 0, 0, 0, 3040, 3042, 3044, 3046, 0,
3371 3048, 3050, 0, 0, 0, 3052, 0, 0, 3054, 3056,
3372 3058, 3060, 0, 0, 0, 3062, 0, 0, 0, 0,
3373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3374 3064, 3066, 0, 0, 0, 0, 0, 0, 0, 0,
3375 0, 0, 0, 3068, 3070, 0, 0, 0, 0, 3072,
3376 3074, 3076, 3078, 3080, 0, 0, 0, 0, 0, 0,
3377 0, 3082, 0, 0, 0, 0, 0, 0, 0, 0,
3378 0, 3084, 0, 3086, 3088, 3090, 3092, 3094, 3096, 0,
3379 3098, 0, 0, 3100, 3102, 3104, 3106, 3108, 3110, 3112,
3380 3114, 3116, 3118, 3120, 3122, 3124, 3126, 3128, 3130, 3132,
3381 0, 0, 0, 0, 0, 0, 0, 0, 3134, 3136,
3382 3138, 3140, 0, 3142, 3144, 0, 0, 0, 3146, 0,
3383 0, 3148, 3150, 3152, 3154, 0, 0, 0, 3156, 0,
3384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3385 0, 0, 0, 3158, 3160, 0, 0, 0, 0, 0,
3386 0, 0, 0, 0, 0, 0, 3162, 3164, 0, 0,
3387 0, 0, 3166, 3168, 3170, 3172, 3174, 0, 0, 0,
3388 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0,
3389 0, 0, 0, 0, 3178, 0, 3180, 3182, 3184, 3186,
3390 3188, 3190, 0, 3192, 0, 0, 3194, 3196, 3198, 3200,
3391 3202, 3204, 3206, 3208, 3210, 3212, 3214, 3216, 3218, 3220,
3392 3222, 3224, 3226, 0, 0, 0, 0, 0, 0, 0,
3393 0, 3228, 3230, 3232, 3234, 0, 3236, 3238, 0, 0,
3394 0, 3240, 0, 0, 3242, 3244, 3246, 3248, 0, 0,
3395 0, 3250, 0, 0, 0, 0, 0, 0, 0, 0,
3396 0, 0, 0, 0, 0, 0, 3252, 3254, 0, 0,
3397 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256,
3398 3258, 0, 0, 0, 0, 3260, 3262, 3264, 3266, 3268,
3399 0, 0, 0, 0, 0, 0, 0, 3270, 0, 0,
3400 0, 0, 0, 0, 0, 0, 0, 3272, 0, 3274,
3401 3276, 3278, 3280, 3282, 3284, 0, 3286, 0, 0, 3288,
3402 3290, 3292, 3294, 3296, 3298, 3300, 3302, 3304, 3306, 3308,
3403 3310, 3312, 3314, 3316, 3318, 3320, 0, 0, 0, 0,
3404 0, 0, 0, 0, 3322, 3324, 3326, 3328, 0, 3330,
3405 3332, 0, 0, 0, 3334, 0, 0, 3336, 3338, 3340,
3406 3342, 0, 0, 0, 3344, 0, 0, 0, 0, 0,
3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 3346,
3408 3348, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 3350, 3352, 0, 0, 0, 0, 3354, 3356,
3410 3358, 3360, 3362, 0, 0, 0, 0, 0, 0, 0,
3411 3364, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3412 3366, 0, 3368, 3370, 3372, 3374, 3376, 3378, 0, 3380,
3413 0, 0, 3382, 3384, 3386, 3388, 3390, 3392, 3394, 3396,
3414 3398, 3400, 3402, 3404, 3406, 3408, 3410, 3412, 3414, 0,
3415 0, 0, 0, 0, 0, 0, 0, 3416, 3418, 3420,
3416 3422, 0, 3424, 3426, 0, 0, 0, 3428, 0, 0,
3417 3430, 3432, 3434, 3436, 0, 0, 0, 3438, 0, 0,
3418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3419 0, 0, 3440, 3442, 0, 0, 0, 0, 0, 0,
3420 0, 0, 0, 0, 0, 3444, 3446, 0, 0, 0,
3421 0, 3448, 3450, 3452, 3454, 3456, 0, 0, 0, 0,
3422 0, 0, 0, 3458, 0, 0, 0, 0, 0, 0,
3423 0, 0, 0, 3460, 0, 3462, 3464, 3466, 3468, 3470,
3424 3472, 0, 3474, 0, 0, 3476, 3478, 3480, 3482, 3484,
3425 3486, 3488, 3490, 3492, 3494, 3496, 3498, 3500, 3502, 3504,
3426 3506, 3508, 0, 0, 0, 0, 0, 0, 0, 0,
3427 3510, 3512, 3514, 3516, 0, 3518, 3520, 0, 0, 0,
3428 3522, 0, 0, 3524, 3526, 3528, 3530, 0, 0, 0,
3429 3532, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3430 0, 0, 0, 0, 0, 3534, 3536, 0, 0, 0,
3431 0, 0, 0, 0, 0, 0, 0, 0, 3538, 3540,
3432 0, 0, 0, 0, 3542, 3544, 3546, 3548, 3550, 0,
3433 0, 0, 0, 0, 0, 0, 3552, 0, 0, 0,
3434 0, 0, 0, 0, 0, 0, 3554, 0, 3556, 3558,
3435 3560, 3562, 3564, 3566, 0, 3568, 0, 0, 3570, 3572,
3436 3574, 3576, 3578, 3580, 3582, 3584, 3586, 3588, 3590, 3592,
3437 3594, 3596, 3598, 3600, 3602, 0, 0, 0, 0, 0,
3438 0, 0, 0, 3604, 3606, 3608, 3610, 0, 3612, 3614,
3439 0, 0, 0, 3616, 0, 0, 3618, 3620, 3622, 3624,
3440 0, 0, 0, 3626, 0, 0, 0, 0, 0, 0,
3441 0, 0, 0, 0, 0, 0, 0, 0, 3628, 3630,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3443 0, 3632, 3634, 0, 0, 0, 0, 3636, 3638, 3640,
3444 3642, 3644, 0, 0, 0, 0, 0, 0, 0, 3646,
3445 0, 0, 0, 0, 0, 0, 0, 0, 0, 3648,
3446 0, 3650, 3652, 3654, 3656, 3658, 3660, 0, 3662, 0,
3447 0, 3664, 3666, 3668, 3670, 3672, 3674, 3676, 3678, 3680,
3448 3682, 3684, 3686, 3688, 3690, 3692, 3694, 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, 0, 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, 0, 0, 0,
3532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3679 0, 0, 0, 0, 0, 0, 0, 0, 0, 3726,
3680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3685 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3686 0, pointed into by YYCONFLP. */
3687 static const short yyconfl
[] =
3689 0, 391, 0, 391, 0, 391, 0, 391, 0, 382,
3690 0, 382, 0, 405, 0, 466, 0, 466, 0, 622,
3691 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3692 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3693 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3694 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3695 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3696 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3697 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3698 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3699 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3700 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3701 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3702 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3703 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3704 0, 622, 0, 622, 0, 622, 0, 622, 0, 391,
3705 0, 391, 0, 391, 0, 391, 0, 405, 0, 46,
3706 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3707 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3708 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3709 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3710 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3711 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3712 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3713 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3714 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3715 0, 46, 0, 55, 0, 55, 0, 55, 0, 55,
3716 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3717 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3718 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3719 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3720 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3721 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3722 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3723 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3724 0, 55, 0, 55, 0, 55, 0, 56, 0, 56,
3725 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3726 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3727 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3728 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3729 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3730 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3731 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3732 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3733 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3734 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3735 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3736 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3737 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3738 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3739 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3740 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3741 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3742 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3743 0, 57, 0, 57, 0, 58, 0, 58, 0, 58,
3744 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3745 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3746 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3747 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3748 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3749 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3750 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3751 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3752 0, 58, 0, 58, 0, 58, 0, 58, 0, 623,
3753 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3754 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3755 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3756 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3757 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3758 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3759 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3760 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3761 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3762 0, 623, 0, 584, 622, 0, 584, 622, 0, 584,
3763 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3764 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3765 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3766 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3767 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3768 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3769 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3770 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3771 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3772 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3773 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3774 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3775 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3776 0, 584, 622, 0, 622, 0, 65, 0, 65, 0,
3777 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3778 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3779 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3780 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3781 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3782 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3783 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3784 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3785 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3786 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3787 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3788 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3789 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3790 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3791 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3792 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3793 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3794 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3795 109, 0, 109, 0, 110, 0, 110, 0, 110, 0,
3796 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3797 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3798 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3799 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3800 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3801 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3802 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3803 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3804 110, 0, 110, 0, 110, 0, 110, 0, 108, 0,
3805 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3806 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3807 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3808 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3809 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3810 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3811 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3812 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3813 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3814 108, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3815 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3816 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3817 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3818 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3819 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3820 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3821 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3822 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3823 106, 0, 106, 0, 106, 0, 107, 0, 107, 0,
3824 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3825 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3826 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3827 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3828 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3829 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3830 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3831 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3832 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3833 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3834 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3835 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3836 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3837 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3838 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3839 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3840 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3841 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3842 127, 0, 127, 0, 129, 0, 129, 0, 129, 0,
3843 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3844 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3845 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3846 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3847 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3848 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3849 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3850 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3851 129, 0, 129, 0, 129, 0, 129, 0, 130, 0,
3852 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3853 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3854 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3855 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3856 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3857 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3858 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3859 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3860 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3861 130, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3862 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3863 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3864 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3865 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3866 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3867 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3868 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3869 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3870 131, 0, 131, 0, 131, 0, 132, 0, 132, 0,
3871 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3872 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3873 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3874 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3875 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3876 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3877 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3878 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3879 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3880 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3881 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3882 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3883 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3884 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3885 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3886 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3887 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3888 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3889 133, 0, 133, 0, 134, 0, 134, 0, 134, 0,
3890 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3891 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3892 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3893 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3894 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3895 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3896 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3897 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3898 134, 0, 134, 0, 134, 0, 134, 0, 163, 0,
3899 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3900 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3901 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3902 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3903 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3904 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3905 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3906 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3907 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3908 163, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3909 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3910 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3911 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3912 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3913 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3914 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3915 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3916 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3917 592, 0, 592, 0, 592, 0, 591, 0, 591, 0,
3918 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3919 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3920 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3921 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3922 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3923 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3924 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3925 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3926 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3927 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3928 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3929 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3930 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3931 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3932 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3933 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3934 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3935 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3936 589, 0, 589, 0, 587, 0, 587, 0, 587, 0,
3937 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3938 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3939 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3940 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3941 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3942 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3943 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3944 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3945 587, 0, 587, 0, 587, 0, 587, 0, 588, 0,
3946 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3947 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3948 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3949 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3950 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3951 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3952 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3953 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3954 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3955 588, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3956 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3957 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3958 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3959 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3960 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3961 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3962 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3963 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3964 590, 0, 590, 0, 590, 0, 586, 0, 586, 0,
3965 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3966 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3967 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3968 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3969 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3970 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3971 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3972 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3973 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3974 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3975 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3976 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3977 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3978 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3979 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3980 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3981 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3982 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3983 585, 0, 585, 0, 593, 0, 593, 0, 593, 0,
3984 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3985 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3986 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3987 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3988 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3989 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3990 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3991 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3992 593, 0, 593, 0, 593, 0, 593, 0, 147, 0,
3993 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3994 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3995 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3996 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3997 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3998 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3999 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4000 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4001 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4002 147, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4003 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4004 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4005 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4006 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4007 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4008 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4009 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4010 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4011 621, 0, 621, 0, 621, 0, 619, 0, 619, 0,
4012 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4013 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4014 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4015 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4016 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4017 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4018 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4019 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4020 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4021 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4022 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4023 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4024 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4025 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4026 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4027 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4028 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4029 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4030 618, 0, 618, 0, 620, 0, 620, 0, 620, 0,
4031 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4032 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4033 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4034 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4035 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4036 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4037 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4038 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4039 620, 0, 620, 0, 620, 0, 620, 0, 617, 0,
4040 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4041 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4042 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4043 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4044 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4045 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4046 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4047 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4048 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4049 617, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4050 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4051 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4052 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4053 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4054 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4055 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4056 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4057 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4058 616, 0, 616, 0, 616, 0, 511, 0, 511, 0,
4059 459, 0, 459, 0, 460, 0, 497, 0, 497, 0,
4060 497, 0, 45, 0, 623, 0, 391, 0, 572, 0,
4061 572, 0, 572, 0, 623, 0, 342, 0, 493, 0
4064 /* Error token number */
4071 #define yynerrs (yystackp->yyerrcnt)
4073 #define yychar (yystackp->yyrawchar)
4075 #define yylval (yystackp->yyval)
4077 #define yylloc (yystackp->yyloc)
4078 #define psi_parser_proc_nerrs yynerrs
4079 #define psi_parser_proc_char yychar
4080 #define psi_parser_proc_lval yylval
4081 #define psi_parser_proc_lloc yylloc
4083 static const int YYEOF
= 0;
4084 static const int YYEMPTY
= -2;
4086 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
4088 #define YYCHK(YYE) \
4090 YYRESULTTAG yychk_flag = YYE; \
4091 if (yychk_flag != yyok) \
4092 return yychk_flag; \
4098 # define YYFPRINTF fprintf
4101 /* This macro is provided for backward compatibility. */
4102 #ifndef YY_LOCATION_PRINT
4103 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4107 # define YYDPRINTF(Args) \
4114 /*-----------------------------------.
4115 | Print this symbol's value on YYO. |
4116 `-----------------------------------*/
4119 yy_symbol_value_print (FILE *yyo
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4121 FILE *yyoutput
= yyo
;
4132 /*---------------------------.
4133 | Print this symbol on YYO. |
4134 `---------------------------*/
4137 yy_symbol_print (FILE *yyo
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4139 YYFPRINTF (yyo
, "%s %s (",
4140 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
4142 yy_symbol_value_print (yyo
, yytype
, yyvaluep
, P
, tokens
, index
);
4143 YYFPRINTF (yyo
, ")");
4146 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4150 YYFPRINTF (stderr, "%s ", Title); \
4151 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
4152 YYFPRINTF (stderr, "\n"); \
4156 /* Nonzero means print parse trace. It is left uninitialized so that
4157 multiple parsers can coexist. */
4161 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
4162 YY_ATTRIBUTE_UNUSED
;
4163 static void yypdumpstack (struct yyGLRStack
* yystackp
)
4164 YY_ATTRIBUTE_UNUSED
;
4166 #else /* !YYDEBUG */
4168 # define YYDPRINTF(Args)
4169 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4171 #endif /* !YYDEBUG */
4173 /* YYINITDEPTH -- initial size of the parser's stacks. */
4175 # define YYINITDEPTH 200
4178 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4179 if the built-in stack extension method is used).
4181 Do not make this value too large; the results are undefined if
4182 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
4183 evaluated with infinite-precision integer arithmetic. */
4186 # define YYMAXDEPTH 10000
4189 /* Minimum number of free items on the stack allowed after an
4190 allocation. This is to allow allocation and initialization
4191 to be completed by functions that call yyexpandGLRStack before the
4192 stack is expanded, thus insuring that all necessary pointers get
4193 properly redirected to new data. */
4194 #define YYHEADROOM 2
4196 #ifndef YYSTACKEXPANDABLE
4197 # define YYSTACKEXPANDABLE 1
4200 #if YYSTACKEXPANDABLE
4201 # define YY_RESERVE_GLRSTACK(Yystack) \
4203 if (Yystack->yyspaceLeft < YYHEADROOM) \
4204 yyexpandGLRStack (Yystack); \
4207 # define YY_RESERVE_GLRSTACK(Yystack) \
4209 if (Yystack->yyspaceLeft < YYHEADROOM) \
4210 yyMemoryExhausted (Yystack); \
4218 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4219 # define yystpcpy stpcpy
4221 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4224 yystpcpy (char *yydest
, const char *yysrc
)
4227 const char *yys
= yysrc
;
4229 while ((*yyd
++ = *yys
++) != '\0')
4238 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4239 quotes and backslashes, so that it's suitable for yyerror. The
4240 heuristic is that double-quoting is unnecessary unless the string
4241 contains an apostrophe, a comma, or backslash (other than
4242 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4243 null, do not copy; instead, return the length of what the result
4246 yytnamerr (char *yyres
, const char *yystr
)
4251 char const *yyp
= yystr
;
4258 goto do_not_strip_quotes
;
4262 goto do_not_strip_quotes
;
4275 do_not_strip_quotes
: ;
4279 return strlen (yystr
);
4281 return (size_t) (yystpcpy (yyres
, yystr
) - yyres
);
4285 #endif /* !YYERROR_VERBOSE */
4287 /** State numbers, as in LALR(1) machine */
4288 typedef int yyStateNum
;
4290 /** Rule numbers, as in LALR(1) machine */
4291 typedef int yyRuleNum
;
4293 /** Grammar symbol */
4294 typedef int yySymbol
;
4296 /** Item references, as in LALR(1) machine */
4297 typedef short yyItemNum
;
4299 typedef struct yyGLRState yyGLRState
;
4300 typedef struct yyGLRStateSet yyGLRStateSet
;
4301 typedef struct yySemanticOption yySemanticOption
;
4302 typedef union yyGLRStackItem yyGLRStackItem
;
4303 typedef struct yyGLRStack yyGLRStack
;
4306 /** Type tag: always true. */
4308 /** Type tag for yysemantics. If true, yysval applies, otherwise
4309 * yyfirstVal applies. */
4311 /** Number of corresponding LALR(1) machine state. */
4312 yyStateNum yylrState
;
4313 /** Preceding state in this stack */
4315 /** Source position of the last token produced by my symbol */
4318 /** First in a chain of alternative reductions producing the
4319 * non-terminal corresponding to this state, threaded through
4321 yySemanticOption
* yyfirstVal
;
4322 /** Semantic value for this state. */
4327 struct yyGLRStateSet
{
4328 yyGLRState
** yystates
;
4329 /** During nondeterministic operation, yylookaheadNeeds tracks which
4330 * stacks have actually needed the current lookahead. During deterministic
4331 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4332 * duplicate yychar != YYEMPTY. */
4333 yybool
* yylookaheadNeeds
;
4334 size_t yysize
, yycapacity
;
4337 struct yySemanticOption
{
4338 /** Type tag: always false. */
4340 /** Rule number for this reduction */
4342 /** The last RHS state in the list of states to be reduced. */
4343 yyGLRState
* yystate
;
4344 /** The lookahead for this reduction. */
4347 /** Next sibling in chain of options. To facilitate merging,
4348 * options are chained in decreasing order by address. */
4349 yySemanticOption
* yynext
;
4352 /** Type of the items in the GLR stack. The yyisState field
4353 * indicates which item of the union is valid. */
4354 union yyGLRStackItem
{
4356 yySemanticOption yyoption
;
4367 YYJMP_BUF yyexception_buffer
;
4368 yyGLRStackItem
* yyitems
;
4369 yyGLRStackItem
* yynextFree
;
4371 yyGLRState
* yysplitPoint
;
4372 yyGLRState
* yylastDeleted
;
4373 yyGLRStateSet yytops
;
4376 #if YYSTACKEXPANDABLE
4377 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
4380 static _Noreturn
void
4381 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
4383 if (yymsg
!= YY_NULLPTR
)
4384 yyerror (P
, tokens
, index
, yymsg
);
4385 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
4388 static _Noreturn
void
4389 yyMemoryExhausted (yyGLRStack
* yystackp
)
4391 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
4394 #if YYDEBUG || YYERROR_VERBOSE
4395 /** A printable representation of TOKEN. */
4396 static inline const char*
4397 yytokenName (yySymbol yytoken
)
4399 if (yytoken
== YYEMPTY
)
4402 return yytname
[yytoken
];
4406 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4407 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4408 * containing the pointer to the next state in the chain. */
4409 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
4411 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
4414 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
4415 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
4418 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
4420 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
4422 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
4424 /* The effect of using yysval or yyloc (in an immediate rule) is
4426 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
4427 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
4431 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4432 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4433 * For convenience, always return YYLOW1. */
4434 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
4435 YY_ATTRIBUTE_UNUSED
;
4437 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
4439 if (!yynormal
&& yylow1
< *yylow
)
4441 yyfillin (yyvsp
, *yylow
, yylow1
);
4447 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4448 * and top stack item YYVSP. YYLVALP points to place to put semantic
4449 * value ($$), and yylocp points to place for location information
4450 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4451 * yyerr for YYERROR, yyabort for YYABORT. */
4453 yyuserAction (yyRuleNum yyn
, int yyrhslen
, yyGLRStackItem
* yyvsp
,
4454 yyGLRStack
* yystackp
,
4455 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4457 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yybool
) (yystackp
->yysplitPoint
== YY_NULLPTR
);
4465 # define yyerrok (yystackp->yyerrState = 0)
4467 # define YYACCEPT return yyaccept
4469 # define YYABORT return yyabort
4471 # define YYERROR return yyerrok, yyerr
4472 # undef YYRECOVERING
4473 # define YYRECOVERING() (yystackp->yyerrState != 0)
4475 # define yyclearin (yychar = YYEMPTY)
4477 # define YYFILL(N) yyfill (yyvsp, &yylow, (N), yynormal)
4479 # define YYBACKUP(Token, Value) \
4480 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4485 *yyvalp
= yyval_default
;
4487 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
4491 #line 431 "src/parser_proc_grammar.y" /* glr.c:821 */
4493 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4494 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
4495 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4498 #line 4499 "src/parser_proc.c" /* glr.c:821 */
4502 #line 437 "src/parser_proc_grammar.y" /* glr.c:821 */
4504 char *libname
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
->val
);
4505 P
->file
.libnames
= psi_plist_add(P
->file
.libnames
, &libname
);
4507 #line 4508 "src/parser_proc.c" /* glr.c:821 */
4511 #line 441 "src/parser_proc_grammar.y" /* glr.c:821 */
4513 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4515 #line 4516 "src/parser_proc.c" /* glr.c:821 */
4519 #line 444 "src/parser_proc_grammar.y" /* glr.c:821 */
4521 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4523 #line 4524 "src/parser_proc.c" /* glr.c:821 */
4527 #line 447 "src/parser_proc_grammar.y" /* glr.c:821 */
4529 psi_parser_proc_add_decl_extvars(P
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4531 #line 4532 "src/parser_proc.c" /* glr.c:821 */
4535 #line 450 "src/parser_proc_grammar.y" /* glr.c:821 */
4537 if (P
->flags
& PSI_DEBUG
) {
4538 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
->val
);
4540 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4542 #line 4543 "src/parser_proc.c" /* glr.c:821 */
4546 #line 456 "src/parser_proc_grammar.y" /* glr.c:821 */
4548 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4550 #line 4551 "src/parser_proc.c" /* glr.c:821 */
4554 #line 459 "src/parser_proc_grammar.y" /* glr.c:821 */
4556 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4558 #line 4559 "src/parser_proc.c" /* glr.c:821 */
4562 #line 462 "src/parser_proc_grammar.y" /* glr.c:821 */
4564 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4566 #line 4567 "src/parser_proc.c" /* glr.c:821 */
4570 #line 465 "src/parser_proc_grammar.y" /* glr.c:821 */
4572 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4574 #line 4575 "src/parser_proc.c" /* glr.c:821 */
4578 #line 468 "src/parser_proc_grammar.y" /* glr.c:821 */
4580 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4582 #line 4583 "src/parser_proc.c" /* glr.c:821 */
4586 #line 474 "src/parser_proc_grammar.y" /* glr.c:821 */
4588 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4590 #line 4591 "src/parser_proc.c" /* glr.c:821 */
4594 #line 480 "src/parser_proc_grammar.y" /* glr.c:821 */
4596 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4598 #line 4599 "src/parser_proc.c" /* glr.c:821 */
4602 #line 483 "src/parser_proc_grammar.y" /* glr.c:821 */
4604 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4606 #line 4607 "src/parser_proc.c" /* glr.c:821 */
4610 #line 489 "src/parser_proc_grammar.y" /* glr.c:821 */
4612 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4613 struct psi_token
*msg
= NULL
;
4615 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
4617 struct psi_token
*next
;
4619 msg
= psi_token_copy(msg
);
4620 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
4621 struct psi_token
*old
= msg
;
4622 msg
= psi_token_cat(" ", 2, msg
, next
);
4623 psi_token_free(&old
);
4626 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4628 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
4630 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4632 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4634 #line 4635 "src/parser_proc.c" /* glr.c:821 */
4638 #line 512 "src/parser_proc_grammar.y" /* glr.c:821 */
4640 (*(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
))));
4641 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4643 #line 4644 "src/parser_proc.c" /* glr.c:821 */
4647 #line 516 "src/parser_proc_grammar.y" /* glr.c:821 */
4649 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4650 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4652 #line 4653 "src/parser_proc.c" /* glr.c:821 */
4656 #line 520 "src/parser_proc_grammar.y" /* glr.c:821 */
4658 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4659 (*(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
))));
4660 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4662 #line 4663 "src/parser_proc.c" /* glr.c:821 */
4666 #line 525 "src/parser_proc_grammar.y" /* glr.c:821 */
4668 (*(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
)));
4669 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4671 #line 4672 "src/parser_proc.c" /* glr.c:821 */
4675 #line 529 "src/parser_proc_grammar.y" /* glr.c:821 */
4677 (*(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
)));
4678 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4680 #line 4681 "src/parser_proc.c" /* glr.c:821 */
4684 #line 533 "src/parser_proc_grammar.y" /* glr.c:821 */
4686 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4687 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4689 #line 4690 "src/parser_proc.c" /* glr.c:821 */
4693 #line 537 "src/parser_proc_grammar.y" /* glr.c:821 */
4695 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4696 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4698 #line 4699 "src/parser_proc.c" /* glr.c:821 */
4702 #line 581 "src/parser_proc_grammar.y" /* glr.c:821 */
4704 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4705 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
4706 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4708 #line 4709 "src/parser_proc.c" /* glr.c:821 */
4712 #line 586 "src/parser_proc_grammar.y" /* glr.c:821 */
4714 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4715 (*(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
);
4716 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4718 #line 4719 "src/parser_proc.c" /* glr.c:821 */
4722 #line 591 "src/parser_proc_grammar.y" /* glr.c:821 */
4724 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4725 (*(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
)));
4726 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4728 #line 4729 "src/parser_proc.c" /* glr.c:821 */
4732 #line 596 "src/parser_proc_grammar.y" /* glr.c:821 */
4734 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_token_free
);
4735 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4736 (*(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
);
4737 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4739 #line 4740 "src/parser_proc.c" /* glr.c:821 */
4743 #line 605 "src/parser_proc_grammar.y" /* glr.c:821 */
4745 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
4747 #line 4748 "src/parser_proc.c" /* glr.c:821 */
4751 #line 608 "src/parser_proc_grammar.y" /* glr.c:821 */
4753 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
4755 #line 4756 "src/parser_proc.c" /* glr.c:821 */
4759 #line 612 "src/parser_proc_grammar.y" /* glr.c:821 */
4761 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4763 #line 4764 "src/parser_proc.c" /* glr.c:821 */
4767 #line 618 "src/parser_proc_grammar.y" /* glr.c:821 */
4769 (*(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
)));
4770 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4771 (*(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
)));
4773 #line 4774 "src/parser_proc.c" /* glr.c:821 */
4777 #line 623 "src/parser_proc_grammar.y" /* glr.c:821 */
4779 (*(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
)));
4780 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4781 (*(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
)));
4783 #line 4784 "src/parser_proc.c" /* glr.c:821 */
4787 #line 631 "src/parser_proc_grammar.y" /* glr.c:821 */
4789 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4791 #line 4792 "src/parser_proc.c" /* glr.c:821 */
4795 #line 638 "src/parser_proc_grammar.y" /* glr.c:821 */
4797 (*(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
)));
4798 (*(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
)));
4800 #line 4801 "src/parser_proc.c" /* glr.c:821 */
4804 #line 642 "src/parser_proc_grammar.y" /* glr.c:821 */
4806 (*(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
)));
4807 (*(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
)));
4809 #line 4810 "src/parser_proc.c" /* glr.c:821 */
4813 #line 649 "src/parser_proc_grammar.y" /* glr.c:821 */
4815 (*(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
)));
4816 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4818 #line 4819 "src/parser_proc.c" /* glr.c:821 */
4822 #line 653 "src/parser_proc_grammar.y" /* glr.c:821 */
4824 (*(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
)));
4825 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4827 #line 4828 "src/parser_proc.c" /* glr.c:821 */
4831 #line 657 "src/parser_proc_grammar.y" /* glr.c:821 */
4833 (*(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
)));
4834 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4836 #line 4837 "src/parser_proc.c" /* glr.c:821 */
4840 #line 661 "src/parser_proc_grammar.y" /* glr.c:821 */
4842 (*(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
)));
4843 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4845 #line 4846 "src/parser_proc.c" /* glr.c:821 */
4849 #line 666 "src/parser_proc_grammar.y" /* glr.c:821 */
4854 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4855 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4856 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINED
, &exists
, 0));
4857 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4858 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4861 #line 4862 "src/parser_proc.c" /* glr.c:821 */
4865 #line 677 "src/parser_proc_grammar.y" /* glr.c:821 */
4870 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4871 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4872 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINED
, &exists
, 0));
4873 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4874 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4877 #line 4878 "src/parser_proc.c" /* glr.c:821 */
4881 #line 688 "src/parser_proc_grammar.y" /* glr.c:821 */
4883 (*(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
));
4884 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4885 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4887 #line 4888 "src/parser_proc.c" /* glr.c:821 */
4891 #line 693 "src/parser_proc_grammar.y" /* glr.c:821 */
4893 (*(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));
4894 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4895 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4897 #line 4898 "src/parser_proc.c" /* glr.c:821 */
4901 #line 698 "src/parser_proc_grammar.y" /* glr.c:821 */
4903 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4904 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4906 #line 4907 "src/parser_proc.c" /* glr.c:821 */
4910 #line 702 "src/parser_proc_grammar.y" /* glr.c:821 */
4912 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4913 (*(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));
4914 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4915 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4917 #line 4918 "src/parser_proc.c" /* glr.c:821 */
4921 #line 708 "src/parser_proc_grammar.y" /* glr.c:821 */
4923 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4924 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
4925 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));
4926 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4927 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4928 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->data
.call
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4930 #line 4931 "src/parser_proc.c" /* glr.c:821 */
4934 #line 719 "src/parser_proc_grammar.y" /* glr.c:821 */
4936 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4938 #line 4939 "src/parser_proc.c" /* glr.c:821 */
4942 #line 726 "src/parser_proc_grammar.y" /* glr.c:821 */
4944 /* TODO: clang include test macros */
4946 struct psi_num_exp
*exp
= psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &no
, 0));
4947 exp
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4948 exp
->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4949 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
), &exp
);
4951 #line 4952 "src/parser_proc.c" /* glr.c:821 */
4955 #line 734 "src/parser_proc_grammar.y" /* glr.c:821 */
4957 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
4958 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4960 #line 4961 "src/parser_proc.c" /* glr.c:821 */
4964 #line 738 "src/parser_proc_grammar.y" /* glr.c:821 */
4966 (*(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
)));
4968 #line 4969 "src/parser_proc.c" /* glr.c:821 */
4972 #line 744 "src/parser_proc_grammar.y" /* glr.c:821 */
4974 (*(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
)));
4975 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4977 #line 4978 "src/parser_proc.c" /* glr.c:821 */
4981 #line 748 "src/parser_proc_grammar.y" /* glr.c:821 */
4983 (*(struct psi_const
**)(&(*yyvalp
))) = psi_const_init(NULL
, (*(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
)));
4984 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4986 #line 4987 "src/parser_proc.c" /* glr.c:821 */
4990 #line 755 "src/parser_proc_grammar.y" /* glr.c:821 */
4992 (*(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
);
4993 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4995 #line 4996 "src/parser_proc.c" /* glr.c:821 */
4999 #line 759 "src/parser_proc_grammar.y" /* glr.c:821 */
5001 (*(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
)));
5002 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5004 #line 5005 "src/parser_proc.c" /* glr.c:821 */
5008 #line 763 "src/parser_proc_grammar.y" /* glr.c:821 */
5010 (*(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
);
5011 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5013 #line 5014 "src/parser_proc.c" /* glr.c:821 */
5017 #line 776 "src/parser_proc_grammar.y" /* glr.c:821 */
5019 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5021 #line 5022 "src/parser_proc.c" /* glr.c:821 */
5025 #line 790 "src/parser_proc_grammar.y" /* glr.c:821 */
5027 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5029 #line 5030 "src/parser_proc.c" /* glr.c:821 */
5033 #line 796 "src/parser_proc_grammar.y" /* glr.c:821 */
5035 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5037 #line 5038 "src/parser_proc.c" /* glr.c:821 */
5041 #line 799 "src/parser_proc_grammar.y" /* glr.c:821 */
5043 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5045 #line 5046 "src/parser_proc.c" /* glr.c:821 */
5049 #line 805 "src/parser_proc_grammar.y" /* glr.c:821 */
5051 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5053 #line 5054 "src/parser_proc.c" /* glr.c:821 */
5057 #line 808 "src/parser_proc_grammar.y" /* glr.c:821 */
5059 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5061 #line 5062 "src/parser_proc.c" /* glr.c:821 */
5065 #line 815 "src/parser_proc_grammar.y" /* glr.c:821 */
5067 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5068 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5069 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5071 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5072 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5074 #line 5075 "src/parser_proc.c" /* glr.c:821 */
5078 #line 823 "src/parser_proc_grammar.y" /* glr.c:821 */
5080 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5081 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5082 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
5083 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
5085 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5086 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
5087 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5088 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5090 #line 5091 "src/parser_proc.c" /* glr.c:821 */
5094 #line 834 "src/parser_proc_grammar.y" /* glr.c:821 */
5096 (*(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
)));
5097 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
5098 (*(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
)));
5099 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5100 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
5101 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
5102 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
5104 #line 5105 "src/parser_proc.c" /* glr.c:821 */
5108 #line 843 "src/parser_proc_grammar.y" /* glr.c:821 */
5110 (*(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
)));
5111 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
5112 (*(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
)));
5113 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5114 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
5115 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
5116 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
5118 #line 5119 "src/parser_proc.c" /* glr.c:821 */
5122 #line 856 "src/parser_proc_grammar.y" /* glr.c:821 */
5124 (*(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));
5125 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5127 #line 5128 "src/parser_proc.c" /* glr.c:821 */
5131 #line 860 "src/parser_proc_grammar.y" /* glr.c:821 */
5133 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5134 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
5135 psi_decl_var_init(NULL
, 0, 0)
5137 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5138 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5139 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5140 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5142 #line 5143 "src/parser_proc.c" /* glr.c:821 */
5146 #line 870 "src/parser_proc_grammar.y" /* glr.c:821 */
5148 (*(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));
5149 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5150 (*(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
)));
5151 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5152 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5153 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5154 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
5156 #line 5157 "src/parser_proc.c" /* glr.c:821 */
5160 #line 879 "src/parser_proc_grammar.y" /* glr.c:821 */
5162 (*(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));
5163 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5164 (*(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
)));
5165 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5166 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5167 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5168 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
5170 #line 5171 "src/parser_proc.c" /* glr.c:821 */
5174 #line 892 "src/parser_proc_grammar.y" /* glr.c:821 */
5176 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5178 #line 5179 "src/parser_proc.c" /* glr.c:821 */
5182 #line 895 "src/parser_proc_grammar.y" /* glr.c:821 */
5184 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5186 #line 5187 "src/parser_proc.c" /* glr.c:821 */
5190 #line 906 "src/parser_proc_grammar.y" /* glr.c:821 */
5192 (*(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
);
5193 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5195 #line 5196 "src/parser_proc.c" /* glr.c:821 */
5199 #line 914 "src/parser_proc_grammar.y" /* glr.c:821 */
5201 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5202 (*(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
);
5203 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5205 #line 5206 "src/parser_proc.c" /* glr.c:821 */
5209 #line 919 "src/parser_proc_grammar.y" /* glr.c:821 */
5211 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5212 (*(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
);
5213 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5215 #line 5216 "src/parser_proc.c" /* glr.c:821 */
5219 #line 924 "src/parser_proc_grammar.y" /* glr.c:821 */
5221 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5222 (*(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
);
5223 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5225 #line 5226 "src/parser_proc.c" /* glr.c:821 */
5229 #line 934 "src/parser_proc_grammar.y" /* glr.c:821 */
5231 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5233 #line 5234 "src/parser_proc.c" /* glr.c:821 */
5237 #line 937 "src/parser_proc_grammar.y" /* glr.c:821 */
5239 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5241 #line 5242 "src/parser_proc.c" /* glr.c:821 */
5245 #line 943 "src/parser_proc_grammar.y" /* glr.c:821 */
5247 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5249 #line 5250 "src/parser_proc.c" /* glr.c:821 */
5253 #line 946 "src/parser_proc_grammar.y" /* glr.c:821 */
5255 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5257 #line 5258 "src/parser_proc.c" /* glr.c:821 */
5261 #line 949 "src/parser_proc_grammar.y" /* glr.c:821 */
5263 (*(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 #line 5266 "src/parser_proc.c" /* glr.c:821 */
5269 #line 960 "src/parser_proc_grammar.y" /* glr.c:821 */
5271 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5273 #line 5274 "src/parser_proc.c" /* glr.c:821 */
5277 #line 963 "src/parser_proc_grammar.y" /* glr.c:821 */
5279 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5281 #line 5282 "src/parser_proc.c" /* glr.c:821 */
5285 #line 966 "src/parser_proc_grammar.y" /* glr.c:821 */
5287 (*(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
)));
5289 #line 5290 "src/parser_proc.c" /* glr.c:821 */
5293 #line 972 "src/parser_proc_grammar.y" /* glr.c:821 */
5295 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5297 #line 5298 "src/parser_proc.c" /* glr.c:821 */
5301 #line 975 "src/parser_proc_grammar.y" /* glr.c:821 */
5303 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5305 #line 5306 "src/parser_proc.c" /* glr.c:821 */
5309 #line 978 "src/parser_proc_grammar.y" /* glr.c:821 */
5311 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5312 (*(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
)));
5313 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5315 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5318 #line 5319 "src/parser_proc.c" /* glr.c:821 */
5322 #line 986 "src/parser_proc_grammar.y" /* glr.c:821 */
5324 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5325 (*(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
)));
5326 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5327 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5329 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5332 #line 5333 "src/parser_proc.c" /* glr.c:821 */
5336 #line 998 "src/parser_proc_grammar.y" /* glr.c:821 */
5338 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5340 #line 5341 "src/parser_proc.c" /* glr.c:821 */
5344 #line 1001 "src/parser_proc_grammar.y" /* glr.c:821 */
5346 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5348 #line 5349 "src/parser_proc.c" /* glr.c:821 */
5352 #line 1004 "src/parser_proc_grammar.y" /* glr.c:821 */
5354 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5356 #line 5357 "src/parser_proc.c" /* glr.c:821 */
5360 #line 1007 "src/parser_proc_grammar.y" /* glr.c:821 */
5362 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5363 (*(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
)));
5365 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5368 #line 5369 "src/parser_proc.c" /* glr.c:821 */
5372 #line 1014 "src/parser_proc_grammar.y" /* glr.c:821 */
5374 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5376 #line 5377 "src/parser_proc.c" /* glr.c:821 */
5380 #line 1017 "src/parser_proc_grammar.y" /* glr.c:821 */
5382 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5383 (*(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
)));
5385 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5388 #line 5389 "src/parser_proc.c" /* glr.c:821 */
5392 #line 1027 "src/parser_proc_grammar.y" /* glr.c:821 */
5394 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5396 #line 5397 "src/parser_proc.c" /* glr.c:821 */
5400 #line 1033 "src/parser_proc_grammar.y" /* glr.c:821 */
5402 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5404 #line 5405 "src/parser_proc.c" /* glr.c:821 */
5408 #line 1042 "src/parser_proc_grammar.y" /* glr.c:821 */
5410 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5412 #line 5413 "src/parser_proc.c" /* glr.c:821 */
5416 #line 1045 "src/parser_proc_grammar.y" /* glr.c:821 */
5418 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5420 #line 5421 "src/parser_proc.c" /* glr.c:821 */
5424 #line 1048 "src/parser_proc_grammar.y" /* glr.c:821 */
5426 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5427 (*(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
)));
5428 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5430 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5433 #line 5434 "src/parser_proc.c" /* glr.c:821 */
5437 #line 1059 "src/parser_proc_grammar.y" /* glr.c:821 */
5439 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5440 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5441 (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->redir
= zend_string_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5442 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5445 #line 5446 "src/parser_proc.c" /* glr.c:821 */
5449 #line 1066 "src/parser_proc_grammar.y" /* glr.c:821 */
5451 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5452 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5453 (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->redir
= zend_string_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5454 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5457 #line 5458 "src/parser_proc.c" /* glr.c:821 */
5461 #line 1076 "src/parser_proc_grammar.y" /* glr.c:821 */
5463 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5465 #line 5466 "src/parser_proc.c" /* glr.c:821 */
5469 #line 1079 "src/parser_proc_grammar.y" /* glr.c:821 */
5471 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5473 #line 5474 "src/parser_proc.c" /* glr.c:821 */
5477 #line 1085 "src/parser_proc_grammar.y" /* glr.c:821 */
5479 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5481 #line 5482 "src/parser_proc.c" /* glr.c:821 */
5485 #line 1088 "src/parser_proc_grammar.y" /* glr.c:821 */
5487 (*(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
)));
5488 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5490 #line 5491 "src/parser_proc.c" /* glr.c:821 */
5494 #line 1095 "src/parser_proc_grammar.y" /* glr.c:821 */
5496 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
5498 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))) {
5500 struct psi_decl_var
*var
;
5502 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), i
++, &var
)) {
5503 if (psi_decl_extvar_is_blacklisted(var
->name
->val
)) {
5504 psi_decl_var_free(&var
);
5506 struct psi_decl_extvar
*evar
= psi_decl_extvar_init(
5507 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
), var
));
5508 list
= psi_plist_add(list
, &evar
);
5511 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5514 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->var
->name
->val
)) {
5515 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5517 struct psi_decl_extvar
*evar
= psi_decl_extvar_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5519 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5520 evar
->redir
= zend_string_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5521 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5523 list
= psi_plist_add(list
, &evar
);
5526 (*(struct psi_plist
**)(&(*yyvalp
))) = list
;
5528 #line 5529 "src/parser_proc.c" /* glr.c:821 */
5532 #line 1131 "src/parser_proc_grammar.y" /* glr.c:821 */
5534 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5536 #line 5537 "src/parser_proc.c" /* glr.c:821 */
5540 #line 1134 "src/parser_proc_grammar.y" /* glr.c:821 */
5542 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5544 #line 5545 "src/parser_proc.c" /* glr.c:821 */
5548 #line 1140 "src/parser_proc_grammar.y" /* glr.c:821 */
5550 (*(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
)));
5552 #line 5553 "src/parser_proc.c" /* glr.c:821 */
5556 #line 1143 "src/parser_proc_grammar.y" /* glr.c:821 */
5558 (*(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
)));
5560 #line 5561 "src/parser_proc.c" /* glr.c:821 */
5564 #line 1149 "src/parser_proc_grammar.y" /* glr.c:821 */
5566 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5568 #line 5569 "src/parser_proc.c" /* glr.c:821 */
5572 #line 1179 "src/parser_proc_grammar.y" /* glr.c:821 */
5574 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5575 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5577 #line 5578 "src/parser_proc.c" /* glr.c:821 */
5581 #line 1191 "src/parser_proc_grammar.y" /* glr.c:821 */
5583 (*(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
)));
5584 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5585 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5586 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5589 #line 5590 "src/parser_proc.c" /* glr.c:821 */
5593 #line 1198 "src/parser_proc_grammar.y" /* glr.c:821 */
5595 (*(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
)));
5596 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5597 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5598 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5599 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5602 #line 5603 "src/parser_proc.c" /* glr.c:821 */
5606 #line 1209 "src/parser_proc_grammar.y" /* glr.c:821 */
5608 (*(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
)));
5609 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5610 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5611 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5614 #line 5615 "src/parser_proc.c" /* glr.c:821 */
5618 #line 1216 "src/parser_proc_grammar.y" /* glr.c:821 */
5620 (*(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
)));
5621 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5622 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5623 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5624 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5627 #line 5628 "src/parser_proc.c" /* glr.c:821 */
5631 #line 1224 "src/parser_proc_grammar.y" /* glr.c:821 */
5633 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
));
5634 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5636 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))), 1, "rval");
5637 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));
5638 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5640 rval_func
->var
->token
= psi_token_copy(type_token
);
5641 rval_func
->token
= psi_token_copy(type_token
);
5642 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5643 rval_func
->var
->pointer_level
+= 1;
5644 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5647 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5648 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));
5650 type
->real
.func
= rval_decl
;
5651 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5652 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5654 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5656 #line 5657 "src/parser_proc.c" /* glr.c:821 */
5660 #line 1248 "src/parser_proc_grammar.y" /* glr.c:821 */
5662 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-12)].yystate
.yysemantics
.yysval
));
5663 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
));
5664 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5666 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))), 1, "rval");
5667 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));
5668 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5670 rval_func
->var
->token
= psi_token_copy(type_token
);
5671 rval_func
->token
= psi_token_copy(type_token
);
5672 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5673 rval_func
->var
->pointer_level
+= 1;
5674 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5677 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5678 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));
5680 type
->real
.func
= rval_decl
;
5681 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5682 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5683 type
->token
= type_token
;
5685 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5687 #line 5688 "src/parser_proc.c" /* glr.c:821 */
5691 #line 1277 "src/parser_proc_grammar.y" /* glr.c:821 */
5693 (*(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
)));
5694 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5695 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5696 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5699 #line 5700 "src/parser_proc.c" /* glr.c:821 */
5703 #line 1284 "src/parser_proc_grammar.y" /* glr.c:821 */
5705 (*(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
)));
5706 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5707 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5708 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5709 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5712 #line 5713 "src/parser_proc.c" /* glr.c:821 */
5716 #line 1295 "src/parser_proc_grammar.y" /* glr.c:821 */
5718 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5719 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5720 (*(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));
5721 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5722 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5724 #line 5725 "src/parser_proc.c" /* glr.c:821 */
5728 #line 1341 "src/parser_proc_grammar.y" /* glr.c:821 */
5730 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5731 (*(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));
5732 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5733 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5735 #line 5736 "src/parser_proc.c" /* glr.c:821 */
5739 #line 1397 "src/parser_proc_grammar.y" /* glr.c:821 */
5741 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5743 #line 5744 "src/parser_proc.c" /* glr.c:821 */
5747 #line 1400 "src/parser_proc_grammar.y" /* glr.c:821 */
5749 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5751 #line 5752 "src/parser_proc.c" /* glr.c:821 */
5755 #line 1403 "src/parser_proc_grammar.y" /* glr.c:821 */
5757 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5759 #line 5760 "src/parser_proc.c" /* glr.c:821 */
5763 #line 1409 "src/parser_proc_grammar.y" /* glr.c:821 */
5765 (*(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
)));
5767 #line 5768 "src/parser_proc.c" /* glr.c:821 */
5771 #line 1412 "src/parser_proc_grammar.y" /* glr.c:821 */
5773 (*(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
)));
5775 #line 5776 "src/parser_proc.c" /* glr.c:821 */
5779 #line 1418 "src/parser_proc_grammar.y" /* glr.c:821 */
5782 struct psi_token
*name
;
5784 psi_token_hash((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
, digest
);
5785 name
= psi_token_append("@", psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
), 2, "funct", digest
);
5787 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5788 psi_decl_type_init(PSI_T_FUNCTION
, name
->text
),
5789 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5791 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= name
;
5792 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5793 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5795 #line 5796 "src/parser_proc.c" /* glr.c:821 */
5799 #line 1433 "src/parser_proc_grammar.y" /* glr.c:821 */
5801 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5803 #line 5804 "src/parser_proc.c" /* glr.c:821 */
5807 #line 1436 "src/parser_proc_grammar.y" /* glr.c:821 */
5809 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5810 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)),
5811 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)))
5814 #line 5815 "src/parser_proc.c" /* glr.c:821 */
5818 #line 1465 "src/parser_proc_grammar.y" /* glr.c:821 */
5820 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5821 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5822 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5824 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5825 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5827 #line 5828 "src/parser_proc.c" /* glr.c:821 */
5831 #line 1473 "src/parser_proc_grammar.y" /* glr.c:821 */
5833 (*(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
)));
5835 #line 5836 "src/parser_proc.c" /* glr.c:821 */
5839 #line 1501 "src/parser_proc_grammar.y" /* glr.c:821 */
5841 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5842 (*(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
)));
5843 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5845 #line 5846 "src/parser_proc.c" /* glr.c:821 */
5849 #line 1506 "src/parser_proc_grammar.y" /* glr.c:821 */
5851 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5852 (*(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
)));
5853 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5855 #line 5856 "src/parser_proc.c" /* glr.c:821 */
5859 #line 1514 "src/parser_proc_grammar.y" /* glr.c:821 */
5861 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5862 (*(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
)));
5863 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5864 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5865 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5867 #line 5868 "src/parser_proc.c" /* glr.c:821 */
5871 #line 1524 "src/parser_proc_grammar.y" /* glr.c:821 */
5873 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5874 (*(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
)));
5875 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5876 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5877 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5879 #line 5880 "src/parser_proc.c" /* glr.c:821 */
5883 #line 1534 "src/parser_proc_grammar.y" /* glr.c:821 */
5885 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5887 #line 5888 "src/parser_proc.c" /* glr.c:821 */
5891 #line 1541 "src/parser_proc_grammar.y" /* glr.c:821 */
5893 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5895 #line 5896 "src/parser_proc.c" /* glr.c:821 */
5899 #line 1547 "src/parser_proc_grammar.y" /* glr.c:821 */
5901 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5902 (*(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
)));
5903 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5905 struct psi_decl_arg
*arg
;
5907 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5908 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5909 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5911 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5914 #line 5915 "src/parser_proc.c" /* glr.c:821 */
5918 #line 1561 "src/parser_proc_grammar.y" /* glr.c:821 */
5920 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5921 (*(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
)));
5922 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5924 struct psi_decl_arg
*arg
;
5926 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5927 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5928 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5930 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5933 #line 5934 "src/parser_proc.c" /* glr.c:821 */
5937 #line 1578 "src/parser_proc_grammar.y" /* glr.c:821 */
5939 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5941 #line 5942 "src/parser_proc.c" /* glr.c:821 */
5945 #line 1581 "src/parser_proc_grammar.y" /* glr.c:821 */
5947 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5949 #line 5950 "src/parser_proc.c" /* glr.c:821 */
5953 #line 1587 "src/parser_proc_grammar.y" /* glr.c:821 */
5956 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5957 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5958 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
5961 #line 5962 "src/parser_proc.c" /* glr.c:821 */
5965 #line 1594 "src/parser_proc_grammar.y" /* glr.c:821 */
5968 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5969 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5970 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
5973 #line 5974 "src/parser_proc.c" /* glr.c:821 */
5977 #line 1601 "src/parser_proc_grammar.y" /* glr.c:821 */
5980 struct psi_decl_var
*var
= psi_decl_var_init(NULL
, 0, 0);
5981 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, var
);
5982 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5983 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
5986 #line 5987 "src/parser_proc.c" /* glr.c:821 */
5990 #line 1609 "src/parser_proc_grammar.y" /* glr.c:821 */
5993 struct psi_decl_var
*var
= psi_decl_var_init(NULL
, 0, 0);
5994 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, var
);
5995 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5996 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &arg
);
5999 #line 6000 "src/parser_proc.c" /* glr.c:821 */
6003 #line 1620 "src/parser_proc_grammar.y" /* glr.c:821 */
6005 (*(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
)));
6006 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
6008 #line 6009 "src/parser_proc.c" /* glr.c:821 */
6012 #line 1627 "src/parser_proc_grammar.y" /* glr.c:821 */
6014 (*(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
)));
6016 #line 6017 "src/parser_proc.c" /* glr.c:821 */
6020 #line 1630 "src/parser_proc_grammar.y" /* glr.c:821 */
6022 (*(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
)));
6024 #line 6025 "src/parser_proc.c" /* glr.c:821 */
6028 #line 1636 "src/parser_proc_grammar.y" /* glr.c:821 */
6030 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6031 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
6032 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6034 #line 6035 "src/parser_proc.c" /* glr.c:821 */
6038 #line 1641 "src/parser_proc_grammar.y" /* glr.c:821 */
6040 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6041 (*(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
)));
6042 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6044 #line 6045 "src/parser_proc.c" /* glr.c:821 */
6048 #line 1649 "src/parser_proc_grammar.y" /* glr.c:821 */
6050 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6051 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6053 #line 6054 "src/parser_proc.c" /* glr.c:821 */
6057 #line 1653 "src/parser_proc_grammar.y" /* glr.c:821 */
6059 (*(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
)));
6060 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
6062 #line 6063 "src/parser_proc.c" /* glr.c:821 */
6066 #line 1657 "src/parser_proc_grammar.y" /* glr.c:821 */
6068 (*(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
)));
6069 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6071 #line 6072 "src/parser_proc.c" /* glr.c:821 */
6075 #line 1661 "src/parser_proc_grammar.y" /* glr.c:821 */
6077 (*(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
)));
6078 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6080 #line 6081 "src/parser_proc.c" /* glr.c:821 */
6084 #line 1665 "src/parser_proc_grammar.y" /* glr.c:821 */
6086 (*(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
)));
6087 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6089 #line 6090 "src/parser_proc.c" /* glr.c:821 */
6093 #line 1669 "src/parser_proc_grammar.y" /* glr.c:821 */
6095 (*(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
)));
6096 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6098 #line 6099 "src/parser_proc.c" /* glr.c:821 */
6102 #line 1676 "src/parser_proc_grammar.y" /* glr.c:821 */
6104 (*(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
);
6105 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6107 #line 6108 "src/parser_proc.c" /* glr.c:821 */
6111 #line 1680 "src/parser_proc_grammar.y" /* glr.c:821 */
6113 (*(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);
6114 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6116 #line 6117 "src/parser_proc.c" /* glr.c:821 */
6120 #line 1684 "src/parser_proc_grammar.y" /* glr.c:821 */
6122 (*(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);
6123 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6125 #line 6126 "src/parser_proc.c" /* glr.c:821 */
6129 #line 1688 "src/parser_proc_grammar.y" /* glr.c:821 */
6131 (*(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);
6132 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6134 #line 6135 "src/parser_proc.c" /* glr.c:821 */
6138 #line 1692 "src/parser_proc_grammar.y" /* glr.c:821 */
6140 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
6141 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6143 #line 6144 "src/parser_proc.c" /* glr.c:821 */
6147 #line 1696 "src/parser_proc_grammar.y" /* glr.c:821 */
6149 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6151 #line 6152 "src/parser_proc.c" /* glr.c:821 */
6155 #line 1702 "src/parser_proc_grammar.y" /* glr.c:821 */
6157 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6158 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6160 #line 6161 "src/parser_proc.c" /* glr.c:821 */
6164 #line 1706 "src/parser_proc_grammar.y" /* glr.c:821 */
6166 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6167 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6169 #line 6170 "src/parser_proc.c" /* glr.c:821 */
6173 #line 1713 "src/parser_proc_grammar.y" /* glr.c:821 */
6175 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6177 #line 6178 "src/parser_proc.c" /* glr.c:821 */
6181 #line 1716 "src/parser_proc_grammar.y" /* glr.c:821 */
6183 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6184 int8_t sizeof_void_p
= sizeof(void *);
6185 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
6186 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6188 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
6191 #line 6192 "src/parser_proc.c" /* glr.c:821 */
6195 #line 1728 "src/parser_proc_grammar.y" /* glr.c:821 */
6197 int8_t sizeof_void_p
= sizeof(void *);
6198 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
6200 #line 6201 "src/parser_proc.c" /* glr.c:821 */
6204 #line 1732 "src/parser_proc_grammar.y" /* glr.c:821 */
6206 int8_t sizeof_a
= sizeof('a');
6207 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
6209 #line 6210 "src/parser_proc.c" /* glr.c:821 */
6213 #line 1736 "src/parser_proc_grammar.y" /* glr.c:821 */
6215 uint64_t len
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
->len
+ 1;
6216 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_UINT64
, &len
, 0);
6218 #line 6219 "src/parser_proc.c" /* glr.c:821 */
6222 #line 1743 "src/parser_proc_grammar.y" /* glr.c:821 */
6224 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6225 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6229 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6230 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6233 #line 6234 "src/parser_proc.c" /* glr.c:821 */
6237 #line 1756 "src/parser_proc_grammar.y" /* glr.c:821 */
6239 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6240 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6244 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6245 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6248 #line 6249 "src/parser_proc.c" /* glr.c:821 */
6252 #line 1769 "src/parser_proc_grammar.y" /* glr.c:821 */
6254 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6255 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6259 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6260 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6263 #line 6264 "src/parser_proc.c" /* glr.c:821 */
6267 #line 1782 "src/parser_proc_grammar.y" /* glr.c:821 */
6269 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
6271 #line 6272 "src/parser_proc.c" /* glr.c:821 */
6275 #line 1785 "src/parser_proc_grammar.y" /* glr.c:821 */
6277 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6278 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
6280 #line 6281 "src/parser_proc.c" /* glr.c:821 */
6284 #line 1797 "src/parser_proc_grammar.y" /* glr.c:821 */
6286 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
6288 #line 6289 "src/parser_proc.c" /* glr.c:821 */
6292 #line 1800 "src/parser_proc_grammar.y" /* glr.c:821 */
6294 (*(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
->val
), NULL
));
6296 #line 6297 "src/parser_proc.c" /* glr.c:821 */
6300 #line 1803 "src/parser_proc_grammar.y" /* glr.c:821 */
6302 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
->val
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
->val
), NULL
);
6304 #line 6305 "src/parser_proc.c" /* glr.c:821 */
6308 #line 1806 "src/parser_proc_grammar.y" /* glr.c:821 */
6310 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
->val
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
->val
), psi_layout_init(0, atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
))->text
->val
), NULL
));
6312 #line 6313 "src/parser_proc.c" /* glr.c:821 */
6316 #line 1812 "src/parser_proc_grammar.y" /* glr.c:821 */
6318 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
6319 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
6321 #line 6322 "src/parser_proc.c" /* glr.c:821 */
6325 #line 1816 "src/parser_proc_grammar.y" /* glr.c:821 */
6327 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
->val
);
6328 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
->val
);
6330 #line 6331 "src/parser_proc.c" /* glr.c:821 */
6334 #line 1823 "src/parser_proc_grammar.y" /* glr.c:821 */
6336 (*(size_t*)(&(*yyvalp
))) = 0;
6338 #line 6339 "src/parser_proc.c" /* glr.c:821 */
6342 #line 1826 "src/parser_proc_grammar.y" /* glr.c:821 */
6344 (*(size_t*)(&(*yyvalp
))) = 0;
6346 #line 6347 "src/parser_proc.c" /* glr.c:821 */
6350 #line 1829 "src/parser_proc_grammar.y" /* glr.c:821 */
6352 struct psi_validate_scope scope
= {0};
6353 psi_validate_scope_ctor(&scope
);
6354 scope
.cpp
= P
->preproc
;
6355 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &scope
)) {
6356 (*(size_t*)(&(*yyvalp
))) = psi_num_exp_get_long((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, P
->preproc
);
6358 (*(size_t*)(&(*yyvalp
))) = 0;
6360 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6361 psi_validate_scope_dtor(&scope
);
6363 #line 6364 "src/parser_proc.c" /* glr.c:821 */
6367 #line 1851 "src/parser_proc_grammar.y" /* glr.c:821 */
6369 (*(size_t*)(&(*yyvalp
))) = 0;
6371 #line 6372 "src/parser_proc.c" /* glr.c:821 */
6375 #line 1854 "src/parser_proc_grammar.y" /* glr.c:821 */
6377 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6379 #line 6380 "src/parser_proc.c" /* glr.c:821 */
6383 #line 1861 "src/parser_proc_grammar.y" /* glr.c:821 */
6385 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6387 #line 6388 "src/parser_proc.c" /* glr.c:821 */
6391 #line 1867 "src/parser_proc_grammar.y" /* glr.c:821 */
6393 (*(size_t*)(&(*yyvalp
))) = 1;
6395 #line 6396 "src/parser_proc.c" /* glr.c:821 */
6399 #line 1870 "src/parser_proc_grammar.y" /* glr.c:821 */
6401 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
6403 #line 6404 "src/parser_proc.c" /* glr.c:821 */
6407 #line 1892 "src/parser_proc_grammar.y" /* glr.c:821 */
6409 (*(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
)));
6411 #line 6412 "src/parser_proc.c" /* glr.c:821 */
6415 #line 1895 "src/parser_proc_grammar.y" /* glr.c:821 */
6417 (*(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
)));
6418 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6420 #line 6421 "src/parser_proc.c" /* glr.c:821 */
6424 #line 1902 "src/parser_proc_grammar.y" /* glr.c:821 */
6426 (*(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
)));
6427 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6428 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
6430 #line 6431 "src/parser_proc.c" /* glr.c:821 */
6434 #line 1907 "src/parser_proc_grammar.y" /* glr.c:821 */
6436 (*(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
)));
6437 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6438 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
6440 #line 6441 "src/parser_proc.c" /* glr.c:821 */
6444 #line 1912 "src/parser_proc_grammar.y" /* glr.c:821 */
6446 (*(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
)));
6447 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
6448 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
6449 (*(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
);
6450 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6452 #line 6453 "src/parser_proc.c" /* glr.c:821 */
6456 #line 1922 "src/parser_proc_grammar.y" /* glr.c:821 */
6458 (*(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
)));
6460 #line 6461 "src/parser_proc.c" /* glr.c:821 */
6464 #line 1925 "src/parser_proc_grammar.y" /* glr.c:821 */
6466 (*(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
)));
6468 #line 6469 "src/parser_proc.c" /* glr.c:821 */
6472 #line 1931 "src/parser_proc_grammar.y" /* glr.c:821 */
6474 (*(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
);
6476 #line 6477 "src/parser_proc.c" /* glr.c:821 */
6480 #line 1934 "src/parser_proc_grammar.y" /* glr.c:821 */
6482 (*(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
)));
6484 #line 6485 "src/parser_proc.c" /* glr.c:821 */
6488 #line 1940 "src/parser_proc_grammar.y" /* glr.c:821 */
6490 (*(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
)));
6491 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6493 #line 6494 "src/parser_proc.c" /* glr.c:821 */
6497 #line 1947 "src/parser_proc_grammar.y" /* glr.c:821 */
6499 (*(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
);
6500 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6502 #line 6503 "src/parser_proc.c" /* glr.c:821 */
6506 #line 1954 "src/parser_proc_grammar.y" /* glr.c:821 */
6508 (*(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
);
6509 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6511 #line 6512 "src/parser_proc.c" /* glr.c:821 */
6515 #line 1981 "src/parser_proc_grammar.y" /* glr.c:821 */
6517 (*(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
)));
6519 #line 6520 "src/parser_proc.c" /* glr.c:821 */
6523 #line 1984 "src/parser_proc_grammar.y" /* glr.c:821 */
6525 (*(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
)));
6527 #line 6528 "src/parser_proc.c" /* glr.c:821 */
6531 #line 1990 "src/parser_proc_grammar.y" /* glr.c:821 */
6533 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6535 #line 6536 "src/parser_proc.c" /* glr.c:821 */
6539 #line 1993 "src/parser_proc_grammar.y" /* glr.c:821 */
6541 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6543 #line 6544 "src/parser_proc.c" /* glr.c:821 */
6547 #line 1996 "src/parser_proc_grammar.y" /* glr.c:821 */
6549 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6551 #line 6552 "src/parser_proc.c" /* glr.c:821 */
6555 #line 1999 "src/parser_proc_grammar.y" /* glr.c:821 */
6557 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6559 #line 6560 "src/parser_proc.c" /* glr.c:821 */
6563 #line 2002 "src/parser_proc_grammar.y" /* glr.c:821 */
6565 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6567 #line 6568 "src/parser_proc.c" /* glr.c:821 */
6571 #line 2008 "src/parser_proc_grammar.y" /* glr.c:821 */
6573 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6574 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6576 #line 6577 "src/parser_proc.c" /* glr.c:821 */
6580 #line 2012 "src/parser_proc_grammar.y" /* glr.c:821 */
6582 (*(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
))));
6583 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6584 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6586 #line 6587 "src/parser_proc.c" /* glr.c:821 */
6590 #line 2021 "src/parser_proc_grammar.y" /* glr.c:821 */
6592 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6593 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
6595 #line 6596 "src/parser_proc.c" /* glr.c:821 */
6599 #line 2025 "src/parser_proc_grammar.y" /* glr.c:821 */
6601 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6602 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
6604 #line 6605 "src/parser_proc.c" /* glr.c:821 */
6608 #line 2032 "src/parser_proc_grammar.y" /* glr.c:821 */
6610 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
6612 #line 6613 "src/parser_proc.c" /* glr.c:821 */
6616 #line 2035 "src/parser_proc_grammar.y" /* glr.c:821 */
6618 (*(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
)));
6620 #line 6621 "src/parser_proc.c" /* glr.c:821 */
6624 #line 2038 "src/parser_proc_grammar.y" /* glr.c:821 */
6626 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6628 #line 6629 "src/parser_proc.c" /* glr.c:821 */
6632 #line 2041 "src/parser_proc_grammar.y" /* glr.c:821 */
6634 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6635 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6637 #line 6638 "src/parser_proc.c" /* glr.c:821 */
6641 #line 2045 "src/parser_proc_grammar.y" /* glr.c:821 */
6643 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6645 #line 6646 "src/parser_proc.c" /* glr.c:821 */
6649 #line 2048 "src/parser_proc_grammar.y" /* glr.c:821 */
6651 (*(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
)));
6653 #line 6654 "src/parser_proc.c" /* glr.c:821 */
6657 #line 2054 "src/parser_proc_grammar.y" /* glr.c:821 */
6659 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6660 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6662 #line 6663 "src/parser_proc.c" /* glr.c:821 */
6666 #line 2058 "src/parser_proc_grammar.y" /* glr.c:821 */
6668 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6669 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
6670 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
6672 #line 6673 "src/parser_proc.c" /* glr.c:821 */
6676 #line 2066 "src/parser_proc_grammar.y" /* glr.c:821 */
6678 (*(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
)));
6679 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6681 #line 6682 "src/parser_proc.c" /* glr.c:821 */
6685 #line 2073 "src/parser_proc_grammar.y" /* glr.c:821 */
6687 (*(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
);
6688 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6689 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
6691 #line 6692 "src/parser_proc.c" /* glr.c:821 */
6695 #line 2078 "src/parser_proc_grammar.y" /* glr.c:821 */
6697 (*(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
)));
6698 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6699 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
6701 #line 6702 "src/parser_proc.c" /* glr.c:821 */
6705 #line 2086 "src/parser_proc_grammar.y" /* glr.c:821 */
6707 (*(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
)));
6708 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6709 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6711 #line 6712 "src/parser_proc.c" /* glr.c:821 */
6715 #line 2107 "src/parser_proc_grammar.y" /* glr.c:821 */
6717 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6719 #line 6720 "src/parser_proc.c" /* glr.c:821 */
6723 #line 2110 "src/parser_proc_grammar.y" /* glr.c:821 */
6725 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6727 #line 6728 "src/parser_proc.c" /* glr.c:821 */
6731 #line 2116 "src/parser_proc_grammar.y" /* glr.c:821 */
6733 (*(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
)));
6735 #line 6736 "src/parser_proc.c" /* glr.c:821 */
6739 #line 2119 "src/parser_proc_grammar.y" /* glr.c:821 */
6741 (*(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
)));
6743 #line 6744 "src/parser_proc.c" /* glr.c:821 */
6747 #line 2130 "src/parser_proc_grammar.y" /* glr.c:821 */
6749 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6751 #line 6752 "src/parser_proc.c" /* glr.c:821 */
6755 #line 2133 "src/parser_proc_grammar.y" /* glr.c:821 */
6757 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6759 #line 6760 "src/parser_proc.c" /* glr.c:821 */
6763 #line 2139 "src/parser_proc_grammar.y" /* glr.c:821 */
6765 (*(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
)));
6767 #line 6768 "src/parser_proc.c" /* glr.c:821 */
6771 #line 2142 "src/parser_proc_grammar.y" /* glr.c:821 */
6773 (*(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
)));
6775 #line 6776 "src/parser_proc.c" /* glr.c:821 */
6779 #line 2148 "src/parser_proc_grammar.y" /* glr.c:821 */
6781 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6782 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6784 #line 6785 "src/parser_proc.c" /* glr.c:821 */
6788 #line 2155 "src/parser_proc_grammar.y" /* glr.c:821 */
6790 (*(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
))));
6791 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
6793 #line 6794 "src/parser_proc.c" /* glr.c:821 */
6797 #line 2159 "src/parser_proc_grammar.y" /* glr.c:821 */
6799 (*(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
))));
6800 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6802 #line 6803 "src/parser_proc.c" /* glr.c:821 */
6806 #line 2166 "src/parser_proc_grammar.y" /* glr.c:821 */
6808 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6810 #line 6811 "src/parser_proc.c" /* glr.c:821 */
6814 #line 2169 "src/parser_proc_grammar.y" /* glr.c:821 */
6816 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6818 #line 6819 "src/parser_proc.c" /* glr.c:821 */
6822 #line 2172 "src/parser_proc_grammar.y" /* glr.c:821 */
6824 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6826 #line 6827 "src/parser_proc.c" /* glr.c:821 */
6830 #line 2178 "src/parser_proc_grammar.y" /* glr.c:821 */
6832 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6833 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6835 #line 6836 "src/parser_proc.c" /* glr.c:821 */
6839 #line 2185 "src/parser_proc_grammar.y" /* glr.c:821 */
6841 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6843 #line 6844 "src/parser_proc.c" /* glr.c:821 */
6847 #line 2188 "src/parser_proc_grammar.y" /* glr.c:821 */
6849 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6851 #line 6852 "src/parser_proc.c" /* glr.c:821 */
6855 #line 2191 "src/parser_proc_grammar.y" /* glr.c:821 */
6857 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6858 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6860 #line 6861 "src/parser_proc.c" /* glr.c:821 */
6864 #line 2198 "src/parser_proc_grammar.y" /* glr.c:821 */
6866 (*(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
)));
6867 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6868 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6870 #line 6871 "src/parser_proc.c" /* glr.c:821 */
6874 #line 2203 "src/parser_proc_grammar.y" /* glr.c:821 */
6876 (*(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
)));
6877 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6878 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
6880 #line 6881 "src/parser_proc.c" /* glr.c:821 */
6884 #line 2222 "src/parser_proc_grammar.y" /* glr.c:821 */
6886 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6888 #line 6889 "src/parser_proc.c" /* glr.c:821 */
6892 #line 2225 "src/parser_proc_grammar.y" /* glr.c:821 */
6894 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6896 #line 6897 "src/parser_proc.c" /* glr.c:821 */
6900 #line 2231 "src/parser_proc_grammar.y" /* glr.c:821 */
6902 (*(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
)));
6904 #line 6905 "src/parser_proc.c" /* glr.c:821 */
6908 #line 2234 "src/parser_proc_grammar.y" /* glr.c:821 */
6910 (*(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
)));
6912 #line 6913 "src/parser_proc.c" /* glr.c:821 */
6916 #line 2240 "src/parser_proc_grammar.y" /* glr.c:821 */
6918 (*(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
)));
6919 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6921 #line 6922 "src/parser_proc.c" /* glr.c:821 */
6925 #line 2252 "src/parser_proc_grammar.y" /* glr.c:821 */
6927 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6928 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6930 #line 6931 "src/parser_proc.c" /* glr.c:821 */
6934 #line 2259 "src/parser_proc_grammar.y" /* glr.c:821 */
6936 (*(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
)));
6938 #line 6939 "src/parser_proc.c" /* glr.c:821 */
6942 #line 2262 "src/parser_proc_grammar.y" /* glr.c:821 */
6944 (*(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
)));
6946 #line 6947 "src/parser_proc.c" /* glr.c:821 */
6950 #line 2268 "src/parser_proc_grammar.y" /* glr.c:821 */
6952 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6953 (*(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
)));
6954 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6956 #line 6957 "src/parser_proc.c" /* glr.c:821 */
6960 #line 2276 "src/parser_proc_grammar.y" /* glr.c:821 */
6962 (*(bool*)(&(*yyvalp
))) = false;
6964 #line 6965 "src/parser_proc.c" /* glr.c:821 */
6968 #line 2279 "src/parser_proc_grammar.y" /* glr.c:821 */
6970 (*(bool*)(&(*yyvalp
))) = true;
6972 #line 6973 "src/parser_proc.c" /* glr.c:821 */
6976 #line 6977 "src/parser_proc.c" /* glr.c:821 */
6987 # undef YYRECOVERING
6992 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
7004 /* Bison grammar-table manipulation. */
7006 /*-----------------------------------------------.
7007 | Release the memory associated to this symbol. |
7008 `-----------------------------------------------*/
7011 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7019 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
7021 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
7024 case 141: /* binary_op_token */
7025 #line 294 "src/parser_proc_grammar.y" /* glr.c:851 */
7027 #line 7028 "src/parser_proc.c" /* glr.c:851 */
7030 case 142: /* unary_op_token */
7031 #line 294 "src/parser_proc_grammar.y" /* glr.c:851 */
7033 #line 7034 "src/parser_proc.c" /* glr.c:851 */
7036 case 143: /* name_token */
7037 #line 294 "src/parser_proc_grammar.y" /* glr.c:851 */
7039 #line 7040 "src/parser_proc.c" /* glr.c:851 */
7042 case 144: /* any_noeol_token */
7043 #line 294 "src/parser_proc_grammar.y" /* glr.c:851 */
7045 #line 7046 "src/parser_proc.c" /* glr.c:851 */
7049 #line 288 "src/parser_proc_grammar.y" /* glr.c:851 */
7050 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7051 #line 7052 "src/parser_proc.c" /* glr.c:851 */
7055 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7056 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
7057 #line 7058 "src/parser_proc.c" /* glr.c:851 */
7060 case 151: /* cpp_exp */
7061 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7062 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
7063 #line 7064 "src/parser_proc.c" /* glr.c:851 */
7066 case 153: /* cpp_message_token */
7067 #line 291 "src/parser_proc_grammar.y" /* glr.c:851 */
7069 #line 7070 "src/parser_proc.c" /* glr.c:851 */
7072 case 154: /* cpp_include_token */
7073 #line 291 "src/parser_proc_grammar.y" /* glr.c:851 */
7075 #line 7076 "src/parser_proc.c" /* glr.c:851 */
7078 case 155: /* cpp_header_token */
7079 #line 291 "src/parser_proc_grammar.y" /* glr.c:851 */
7081 #line 7082 "src/parser_proc.c" /* glr.c:851 */
7084 case 156: /* cpp_no_arg_token */
7085 #line 291 "src/parser_proc_grammar.y" /* glr.c:851 */
7087 #line 7088 "src/parser_proc.c" /* glr.c:851 */
7090 case 157: /* cpp_name_arg_token */
7091 #line 291 "src/parser_proc_grammar.y" /* glr.c:851 */
7093 #line 7094 "src/parser_proc.c" /* glr.c:851 */
7096 case 158: /* cpp_exp_arg_token */
7097 #line 291 "src/parser_proc_grammar.y" /* glr.c:851 */
7099 #line 7100 "src/parser_proc.c" /* glr.c:851 */
7102 case 159: /* cpp_macro_decl */
7103 #line 305 "src/parser_proc_grammar.y" /* glr.c:851 */
7104 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
7105 #line 7106 "src/parser_proc.c" /* glr.c:851 */
7108 case 160: /* cpp_macro_sig */
7109 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7110 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7111 #line 7112 "src/parser_proc.c" /* glr.c:851 */
7114 case 161: /* cpp_macro_sig_args */
7115 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7116 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7117 #line 7118 "src/parser_proc.c" /* glr.c:851 */
7120 case 162: /* cpp_macro_decl_tokens */
7121 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7122 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7123 #line 7124 "src/parser_proc.c" /* glr.c:851 */
7126 case 163: /* cpp_macro_decl_token_list */
7127 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7128 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7129 #line 7130 "src/parser_proc.c" /* glr.c:851 */
7132 case 164: /* cpp_macro_exp */
7133 #line 309 "src/parser_proc_grammar.y" /* glr.c:851 */
7134 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7135 #line 7136 "src/parser_proc.c" /* glr.c:851 */
7138 case 165: /* cpp_macro_call_args */
7139 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7140 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7141 #line 7142 "src/parser_proc.c" /* glr.c:851 */
7144 case 166: /* cpp_macro_call_arg_list */
7145 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7146 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7147 #line 7148 "src/parser_proc.c" /* glr.c:851 */
7150 case 167: /* constant */
7151 #line 315 "src/parser_proc_grammar.y" /* glr.c:851 */
7152 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
7153 #line 7154 "src/parser_proc.c" /* glr.c:851 */
7156 case 168: /* impl_def_val */
7157 #line 317 "src/parser_proc_grammar.y" /* glr.c:851 */
7158 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
7159 #line 7160 "src/parser_proc.c" /* glr.c:851 */
7162 case 169: /* impl_def_val_token */
7163 #line 312 "src/parser_proc_grammar.y" /* glr.c:851 */
7165 #line 7166 "src/parser_proc.c" /* glr.c:851 */
7168 case 170: /* decl_typedef */
7169 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7170 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7171 #line 7172 "src/parser_proc.c" /* glr.c:851 */
7174 case 171: /* typedef */
7175 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7176 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7177 #line 7178 "src/parser_proc.c" /* glr.c:851 */
7180 case 172: /* typedef_anon */
7181 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7182 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7183 #line 7184 "src/parser_proc.c" /* glr.c:851 */
7186 case 173: /* typedef_decl */
7187 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7188 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7189 #line 7190 "src/parser_proc.c" /* glr.c:851 */
7192 case 174: /* typedef_anon_decl */
7193 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7194 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7195 #line 7196 "src/parser_proc.c" /* glr.c:851 */
7198 case 175: /* qualified_decl_type */
7199 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7200 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7201 #line 7202 "src/parser_proc.c" /* glr.c:851 */
7204 case 177: /* decl_type */
7205 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7206 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7207 #line 7208 "src/parser_proc.c" /* glr.c:851 */
7210 case 178: /* decl_type_complex */
7211 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7212 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7213 #line 7214 "src/parser_proc.c" /* glr.c:851 */
7216 case 179: /* decl_type_simple */
7217 #line 320 "src/parser_proc_grammar.y" /* glr.c:851 */
7218 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7219 #line 7220 "src/parser_proc.c" /* glr.c:851 */
7222 case 180: /* decl_real_type */
7223 #line 320 "src/parser_proc_grammar.y" /* glr.c:851 */
7224 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7225 #line 7226 "src/parser_proc.c" /* glr.c:851 */
7228 case 181: /* int_signed */
7229 #line 300 "src/parser_proc_grammar.y" /* glr.c:851 */
7231 #line 7232 "src/parser_proc.c" /* glr.c:851 */
7234 case 182: /* int_width */
7235 #line 297 "src/parser_proc_grammar.y" /* glr.c:851 */
7236 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7237 #line 7238 "src/parser_proc.c" /* glr.c:851 */
7240 case 183: /* decl_int_type */
7241 #line 320 "src/parser_proc_grammar.y" /* glr.c:851 */
7242 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7243 #line 7244 "src/parser_proc.c" /* glr.c:851 */
7246 case 184: /* int_signed_types */
7247 #line 297 "src/parser_proc_grammar.y" /* glr.c:851 */
7248 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7249 #line 7250 "src/parser_proc.c" /* glr.c:851 */
7252 case 185: /* signed_short_types */
7253 #line 300 "src/parser_proc_grammar.y" /* glr.c:851 */
7255 #line 7256 "src/parser_proc.c" /* glr.c:851 */
7258 case 186: /* signed_long_types */
7259 #line 300 "src/parser_proc_grammar.y" /* glr.c:851 */
7261 #line 7262 "src/parser_proc.c" /* glr.c:851 */
7264 case 187: /* int_width_types */
7265 #line 297 "src/parser_proc_grammar.y" /* glr.c:851 */
7266 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7267 #line 7268 "src/parser_proc.c" /* glr.c:851 */
7270 case 188: /* decl_stmt */
7271 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7272 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7273 #line 7274 "src/parser_proc.c" /* glr.c:851 */
7276 case 189: /* decl_asm */
7277 #line 323 "src/parser_proc_grammar.y" /* glr.c:851 */
7278 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7279 #line 7280 "src/parser_proc.c" /* glr.c:851 */
7282 case 190: /* quoted_strings */
7283 #line 323 "src/parser_proc_grammar.y" /* glr.c:851 */
7284 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7285 #line 7286 "src/parser_proc.c" /* glr.c:851 */
7288 case 191: /* decl_extvar_stmt */
7289 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7290 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7291 #line 7292 "src/parser_proc.c" /* glr.c:851 */
7294 case 192: /* decl_extvar_list */
7295 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7296 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7297 #line 7298 "src/parser_proc.c" /* glr.c:851 */
7300 case 193: /* decl_vars */
7301 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7302 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7303 #line 7304 "src/parser_proc.c" /* glr.c:851 */
7306 case 194: /* ignored_decl */
7307 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7308 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7309 #line 7310 "src/parser_proc.c" /* glr.c:851 */
7312 case 199: /* decl */
7313 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7314 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7315 #line 7316 "src/parser_proc.c" /* glr.c:851 */
7318 case 200: /* decl_body */
7319 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7320 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7321 #line 7322 "src/parser_proc.c" /* glr.c:851 */
7324 case 201: /* decl_func_body */
7325 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7326 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7327 #line 7328 "src/parser_proc.c" /* glr.c:851 */
7330 case 202: /* decl_functor_body */
7331 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7332 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7333 #line 7334 "src/parser_proc.c" /* glr.c:851 */
7336 case 203: /* decl_anon_functor_body */
7337 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7338 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7339 #line 7340 "src/parser_proc.c" /* glr.c:851 */
7342 case 204: /* decl_functor */
7343 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7344 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7345 #line 7346 "src/parser_proc.c" /* glr.c:851 */
7348 case 205: /* decl_anon_functor */
7349 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7350 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7351 #line 7352 "src/parser_proc.c" /* glr.c:851 */
7354 case 206: /* decl_func */
7355 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7356 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7357 #line 7358 "src/parser_proc.c" /* glr.c:851 */
7360 case 207: /* decl_args */
7361 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7362 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7363 #line 7364 "src/parser_proc.c" /* glr.c:851 */
7366 case 208: /* decl_arg_list */
7367 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7368 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7369 #line 7370 "src/parser_proc.c" /* glr.c:851 */
7372 case 209: /* decl_anon_arg */
7373 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7374 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7375 #line 7376 "src/parser_proc.c" /* glr.c:851 */
7378 case 210: /* decl_arg */
7379 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7380 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7381 #line 7382 "src/parser_proc.c" /* glr.c:851 */
7384 case 211: /* decl_var */
7385 #line 332 "src/parser_proc_grammar.y" /* glr.c:851 */
7386 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
7387 #line 7388 "src/parser_proc.c" /* glr.c:851 */
7390 case 212: /* decl_union */
7391 #line 336 "src/parser_proc_grammar.y" /* glr.c:851 */
7392 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
7393 #line 7394 "src/parser_proc.c" /* glr.c:851 */
7396 case 213: /* decl_struct */
7397 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7398 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
7399 #line 7400 "src/parser_proc.c" /* glr.c:851 */
7402 case 214: /* decl_struct_args */
7403 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7404 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7405 #line 7406 "src/parser_proc.c" /* glr.c:851 */
7408 case 215: /* struct_args_block */
7409 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7410 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7411 #line 7412 "src/parser_proc.c" /* glr.c:851 */
7414 case 216: /* struct_args */
7415 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7416 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7417 #line 7418 "src/parser_proc.c" /* glr.c:851 */
7420 case 217: /* struct_arg_var_list */
7421 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7422 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7423 #line 7424 "src/parser_proc.c" /* glr.c:851 */
7426 case 218: /* decl_vars_with_layout */
7427 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7428 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7429 #line 7430 "src/parser_proc.c" /* glr.c:851 */
7432 case 219: /* decl_enum */
7433 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7434 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
7435 #line 7436 "src/parser_proc.c" /* glr.c:851 */
7438 case 220: /* decl_enum_items */
7439 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7440 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7441 #line 7442 "src/parser_proc.c" /* glr.c:851 */
7444 case 221: /* decl_enum_item */
7445 #line 340 "src/parser_proc_grammar.y" /* glr.c:851 */
7446 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
7447 #line 7448 "src/parser_proc.c" /* glr.c:851 */
7450 case 222: /* num_exp */
7451 #line 398 "src/parser_proc_grammar.y" /* glr.c:851 */
7452 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7453 #line 7454 "src/parser_proc.c" /* glr.c:851 */
7456 case 223: /* number */
7457 #line 400 "src/parser_proc_grammar.y" /* glr.c:851 */
7458 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7459 #line 7460 "src/parser_proc.c" /* glr.c:851 */
7462 case 224: /* sizeof */
7463 #line 350 "src/parser_proc_grammar.y" /* glr.c:851 */
7464 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7465 #line 7466 "src/parser_proc.c" /* glr.c:851 */
7468 case 225: /* sizeof_body */
7469 #line 350 "src/parser_proc_grammar.y" /* glr.c:851 */
7470 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7471 #line 7472 "src/parser_proc.c" /* glr.c:851 */
7474 case 226: /* sizeof_body_notypes */
7475 #line 350 "src/parser_proc_grammar.y" /* glr.c:851 */
7476 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7477 #line 7478 "src/parser_proc.c" /* glr.c:851 */
7480 case 227: /* enum_name */
7481 #line 288 "src/parser_proc_grammar.y" /* glr.c:851 */
7482 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7483 #line 7484 "src/parser_proc.c" /* glr.c:851 */
7486 case 228: /* union_name */
7487 #line 288 "src/parser_proc_grammar.y" /* glr.c:851 */
7488 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7489 #line 7490 "src/parser_proc.c" /* glr.c:851 */
7492 case 229: /* struct_name */
7493 #line 288 "src/parser_proc_grammar.y" /* glr.c:851 */
7494 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7495 #line 7496 "src/parser_proc.c" /* glr.c:851 */
7498 case 230: /* optional_name */
7499 #line 288 "src/parser_proc_grammar.y" /* glr.c:851 */
7500 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7501 #line 7502 "src/parser_proc.c" /* glr.c:851 */
7504 case 232: /* decl_layout */
7505 #line 347 "src/parser_proc_grammar.y" /* glr.c:851 */
7506 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
7507 #line 7508 "src/parser_proc.c" /* glr.c:851 */
7510 case 233: /* align_and_size */
7511 #line 345 "src/parser_proc_grammar.y" /* glr.c:851 */
7513 #line 7514 "src/parser_proc.c" /* glr.c:851 */
7516 case 234: /* array_size */
7517 #line 403 "src/parser_proc_grammar.y" /* glr.c:851 */
7519 #line 7520 "src/parser_proc.c" /* glr.c:851 */
7522 case 236: /* indirection */
7523 #line 403 "src/parser_proc_grammar.y" /* glr.c:851 */
7525 #line 7526 "src/parser_proc.c" /* glr.c:851 */
7528 case 237: /* pointers */
7529 #line 403 "src/parser_proc_grammar.y" /* glr.c:851 */
7531 #line 7532 "src/parser_proc.c" /* glr.c:851 */
7534 case 238: /* asterisks */
7535 #line 403 "src/parser_proc_grammar.y" /* glr.c:851 */
7537 #line 7538 "src/parser_proc.c" /* glr.c:851 */
7540 case 241: /* impl */
7541 #line 353 "src/parser_proc_grammar.y" /* glr.c:851 */
7542 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
7543 #line 7544 "src/parser_proc.c" /* glr.c:851 */
7546 case 242: /* impl_func */
7547 #line 355 "src/parser_proc_grammar.y" /* glr.c:851 */
7548 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
7549 #line 7550 "src/parser_proc.c" /* glr.c:851 */
7552 case 243: /* impl_args */
7553 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7554 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7555 #line 7556 "src/parser_proc.c" /* glr.c:851 */
7558 case 244: /* impl_arg */
7559 #line 357 "src/parser_proc_grammar.y" /* glr.c:851 */
7560 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
7561 #line 7562 "src/parser_proc.c" /* glr.c:851 */
7564 case 245: /* impl_var */
7565 #line 361 "src/parser_proc_grammar.y" /* glr.c:851 */
7566 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
7567 #line 7568 "src/parser_proc.c" /* glr.c:851 */
7570 case 246: /* impl_type */
7571 #line 359 "src/parser_proc_grammar.y" /* glr.c:851 */
7572 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7573 #line 7574 "src/parser_proc.c" /* glr.c:851 */
7576 case 247: /* impl_type_restricted */
7577 #line 359 "src/parser_proc_grammar.y" /* glr.c:851 */
7578 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7579 #line 7580 "src/parser_proc.c" /* glr.c:851 */
7582 case 248: /* impl_type_token */
7583 #line 393 "src/parser_proc_grammar.y" /* glr.c:851 */
7584 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7585 #line 7586 "src/parser_proc.c" /* glr.c:851 */
7588 case 249: /* impl_type_restricted_token */
7589 #line 393 "src/parser_proc_grammar.y" /* glr.c:851 */
7590 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7591 #line 7592 "src/parser_proc.c" /* glr.c:851 */
7594 case 250: /* impl_type_extended_token */
7595 #line 393 "src/parser_proc_grammar.y" /* glr.c:851 */
7596 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7597 #line 7598 "src/parser_proc.c" /* glr.c:851 */
7600 case 251: /* impl_stmts */
7601 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7602 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7603 #line 7604 "src/parser_proc.c" /* glr.c:851 */
7606 case 252: /* impl_stmt */
7607 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7608 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
7609 #line 7610 "src/parser_proc.c" /* glr.c:851 */
7612 case 253: /* let_stmt */
7613 #line 364 "src/parser_proc_grammar.y" /* glr.c:851 */
7614 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
7615 #line 7616 "src/parser_proc.c" /* glr.c:851 */
7618 case 254: /* let_exp */
7619 #line 366 "src/parser_proc_grammar.y" /* glr.c:851 */
7620 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7621 #line 7622 "src/parser_proc.c" /* glr.c:851 */
7624 case 255: /* let_exp_byref */
7625 #line 366 "src/parser_proc_grammar.y" /* glr.c:851 */
7626 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7627 #line 7628 "src/parser_proc.c" /* glr.c:851 */
7630 case 256: /* let_exp_assign */
7631 #line 366 "src/parser_proc_grammar.y" /* glr.c:851 */
7632 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7633 #line 7634 "src/parser_proc.c" /* glr.c:851 */
7636 case 257: /* let_calloc */
7637 #line 368 "src/parser_proc_grammar.y" /* glr.c:851 */
7638 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
7639 #line 7640 "src/parser_proc.c" /* glr.c:851 */
7642 case 258: /* let_callback */
7643 #line 370 "src/parser_proc_grammar.y" /* glr.c:851 */
7644 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
7645 #line 7646 "src/parser_proc.c" /* glr.c:851 */
7648 case 259: /* let_func */
7649 #line 372 "src/parser_proc_grammar.y" /* glr.c:851 */
7650 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
7651 #line 7652 "src/parser_proc.c" /* glr.c:851 */
7654 case 260: /* let_func_token */
7655 #line 393 "src/parser_proc_grammar.y" /* glr.c:851 */
7656 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7657 #line 7658 "src/parser_proc.c" /* glr.c:851 */
7660 case 261: /* let_func_exps */
7661 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7662 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7663 #line 7664 "src/parser_proc.c" /* glr.c:851 */
7666 case 262: /* let_exps */
7667 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7668 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7669 #line 7670 "src/parser_proc.c" /* glr.c:851 */
7672 case 263: /* callback_rval */
7673 #line 393 "src/parser_proc_grammar.y" /* glr.c:851 */
7674 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7675 #line 7676 "src/parser_proc.c" /* glr.c:851 */
7678 case 264: /* callback_arg_list */
7679 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7680 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7681 #line 7682 "src/parser_proc.c" /* glr.c:851 */
7684 case 265: /* callback_args */
7685 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7686 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7687 #line 7688 "src/parser_proc.c" /* glr.c:851 */
7690 case 266: /* return_stmt */
7691 #line 382 "src/parser_proc_grammar.y" /* glr.c:851 */
7692 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
7693 #line 7694 "src/parser_proc.c" /* glr.c:851 */
7696 case 267: /* return_exp */
7697 #line 384 "src/parser_proc_grammar.y" /* glr.c:851 */
7698 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
7699 #line 7700 "src/parser_proc.c" /* glr.c:851 */
7702 case 268: /* call_decl_vars */
7703 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7704 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7705 #line 7706 "src/parser_proc.c" /* glr.c:851 */
7708 case 269: /* set_stmt */
7709 #line 374 "src/parser_proc_grammar.y" /* glr.c:851 */
7710 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
7711 #line 7712 "src/parser_proc.c" /* glr.c:851 */
7714 case 270: /* set_exp */
7715 #line 376 "src/parser_proc_grammar.y" /* glr.c:851 */
7716 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
7717 #line 7718 "src/parser_proc.c" /* glr.c:851 */
7720 case 271: /* set_func */
7721 #line 378 "src/parser_proc_grammar.y" /* glr.c:851 */
7722 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
7723 #line 7724 "src/parser_proc.c" /* glr.c:851 */
7726 case 272: /* set_func_token */
7727 #line 393 "src/parser_proc_grammar.y" /* glr.c:851 */
7728 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7729 #line 7730 "src/parser_proc.c" /* glr.c:851 */
7732 case 273: /* set_func_exps */
7733 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7734 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7735 #line 7736 "src/parser_proc.c" /* glr.c:851 */
7738 case 274: /* set_exps */
7739 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7740 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7741 #line 7742 "src/parser_proc.c" /* glr.c:851 */
7744 case 275: /* assert_stmt */
7745 #line 380 "src/parser_proc_grammar.y" /* glr.c:851 */
7746 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
7747 #line 7748 "src/parser_proc.c" /* glr.c:851 */
7750 case 276: /* assert_stmt_token */
7751 #line 393 "src/parser_proc_grammar.y" /* glr.c:851 */
7752 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7753 #line 7754 "src/parser_proc.c" /* glr.c:851 */
7756 case 277: /* free_stmt */
7757 #line 386 "src/parser_proc_grammar.y" /* glr.c:851 */
7758 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
7759 #line 7760 "src/parser_proc.c" /* glr.c:851 */
7762 case 278: /* free_exps */
7763 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7764 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7765 #line 7766 "src/parser_proc.c" /* glr.c:851 */
7768 case 279: /* free_exp */
7769 #line 388 "src/parser_proc_grammar.y" /* glr.c:851 */
7770 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
7771 #line 7772 "src/parser_proc.c" /* glr.c:851 */
7774 case 280: /* reference */
7775 #line 405 "src/parser_proc_grammar.y" /* glr.c:851 */
7777 #line 7778 "src/parser_proc.c" /* glr.c:851 */
7784 YY_IGNORE_MAYBE_UNINITIALIZED_END
7787 /** Number of symbols composing the right hand side of rule #RULE. */
7789 yyrhsLength (yyRuleNum yyrule
)
7791 return yyr2
[yyrule
];
7795 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7797 if (yys
->yyresolved
)
7798 yydestruct (yymsg
, yystos
[yys
->yylrState
],
7799 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
7805 if (yys
->yysemantics
.yyfirstVal
)
7806 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
7808 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
7809 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
7813 if (yys
->yysemantics
.yyfirstVal
)
7815 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
7818 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
7820 yyrh
= yyrh
->yypred
, yyn
-= 1)
7821 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
7826 /** Left-hand-side symbol for rule #YYRULE. */
7827 static inline yySymbol
7828 yylhsNonterm (yyRuleNum yyrule
)
7830 return yyr1
[yyrule
];
7833 #define yypact_value_is_default(Yystate) \
7834 (!!((Yystate) == (-731)))
7836 /** True iff LR state YYSTATE has only a default reduction (regardless
7838 static inline yybool
7839 yyisDefaultedState (yyStateNum yystate
)
7841 return (yybool
) yypact_value_is_default (yypact
[yystate
]);
7844 /** The default reduction for YYSTATE, assuming it has one. */
7845 static inline yyRuleNum
7846 yydefaultAction (yyStateNum yystate
)
7848 return yydefact
[yystate
];
7851 #define yytable_value_is_error(Yytable_value) \
7854 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7856 * R < 0: Reduce on rule -R.
7858 * R > 0: Shift to state R.
7859 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7860 * of conflicting reductions.
7863 yygetLRActions (yyStateNum yystate
, int yytoken
,
7864 int* yyaction
, const short** yyconflicts
)
7866 int yyindex
= yypact
[yystate
] + yytoken
;
7867 if (yyisDefaultedState (yystate
)
7868 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
7870 *yyaction
= -yydefact
[yystate
];
7871 *yyconflicts
= yyconfl
;
7873 else if (! yytable_value_is_error (yytable
[yyindex
]))
7875 *yyaction
= yytable
[yyindex
];
7876 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7881 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7885 /** Compute post-reduction state.
7886 * \param yystate the current state
7887 * \param yysym the nonterminal to push on the stack
7889 static inline yyStateNum
7890 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
7892 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
7893 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
7894 return yytable
[yyr
];
7896 return yydefgoto
[yysym
- YYNTOKENS
];
7899 static inline yybool
7900 yyisShiftAction (int yyaction
)
7902 return (yybool
) (0 < yyaction
);
7905 static inline yybool
7906 yyisErrorAction (int yyaction
)
7908 return (yybool
) (yyaction
== 0);
7913 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7914 * if YYISSTATE, and otherwise a semantic option. Callers should call
7915 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7918 static inline yyGLRStackItem
*
7919 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
7921 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
7922 yystackp
->yyspaceLeft
-= 1;
7923 yystackp
->yynextFree
+= 1;
7924 yynewItem
->yystate
.yyisState
= yyisState
;
7928 /** Add a new semantic action that will execute the action for rule
7929 * YYRULE on the semantic values in YYRHS to the list of
7930 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7931 * stack #YYK of *YYSTACKP. */
7933 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
7934 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
7936 yySemanticOption
* yynewOption
=
7937 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
7938 YYASSERT (!yynewOption
->yyisState
);
7939 yynewOption
->yystate
= yyrhs
;
7940 yynewOption
->yyrule
= yyrule
;
7941 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
7943 yynewOption
->yyrawchar
= yychar
;
7944 yynewOption
->yyval
= yylval
;
7947 yynewOption
->yyrawchar
= YYEMPTY
;
7948 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
7949 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
7951 YY_RESERVE_GLRSTACK (yystackp
);
7956 /** Initialize YYSET to a singleton set containing an empty stack. */
7958 yyinitStateSet (yyGLRStateSet
* yyset
)
7961 yyset
->yycapacity
= 16;
7962 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
7963 if (! yyset
->yystates
)
7965 yyset
->yystates
[0] = YY_NULLPTR
;
7966 yyset
->yylookaheadNeeds
=
7967 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
7968 if (! yyset
->yylookaheadNeeds
)
7970 YYFREE (yyset
->yystates
);
7976 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
7978 YYFREE (yyset
->yystates
);
7979 YYFREE (yyset
->yylookaheadNeeds
);
7982 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7983 * capacity for all stacks of YYSIZE. */
7985 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
7987 yystackp
->yyerrState
= 0;
7989 yystackp
->yyspaceLeft
= yysize
;
7991 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
7992 if (!yystackp
->yyitems
)
7994 yystackp
->yynextFree
= yystackp
->yyitems
;
7995 yystackp
->yysplitPoint
= YY_NULLPTR
;
7996 yystackp
->yylastDeleted
= YY_NULLPTR
;
7997 return yyinitStateSet (&yystackp
->yytops
);
8001 #if YYSTACKEXPANDABLE
8002 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
8003 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
8005 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
8006 stack from outside should be considered invalid after this call.
8007 We always expand when there are 1 or fewer items left AFTER an
8008 allocation, so that we can avoid having external pointers exist
8009 across an allocation. */
8011 yyexpandGLRStack (yyGLRStack
* yystackp
)
8013 yyGLRStackItem
* yynewItems
;
8014 yyGLRStackItem
* yyp0
, *yyp1
;
8017 size_t yysize
= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8018 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
8019 yyMemoryExhausted (yystackp
);
8020 yynewSize
= 2*yysize
;
8021 if (YYMAXDEPTH
< yynewSize
)
8022 yynewSize
= YYMAXDEPTH
;
8023 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
8025 yyMemoryExhausted (yystackp
);
8026 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
8028 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
8031 if (*(yybool
*) yyp0
)
8033 yyGLRState
* yys0
= &yyp0
->yystate
;
8034 yyGLRState
* yys1
= &yyp1
->yystate
;
8035 if (yys0
->yypred
!= YY_NULLPTR
)
8037 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
8038 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
8039 yys1
->yysemantics
.yyfirstVal
=
8040 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
8044 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
8045 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
8046 if (yyv0
->yystate
!= YY_NULLPTR
)
8047 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
8048 if (yyv0
->yynext
!= YY_NULLPTR
)
8049 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
8052 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8053 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
8054 yystackp
->yysplitPoint
, yystate
);
8056 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
8057 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
8058 yystackp
->yytops
.yystates
[yyn
] =
8059 YYRELOC (yystackp
->yyitems
, yynewItems
,
8060 yystackp
->yytops
.yystates
[yyn
], yystate
);
8061 YYFREE (yystackp
->yyitems
);
8062 yystackp
->yyitems
= yynewItems
;
8063 yystackp
->yynextFree
= yynewItems
+ yysize
;
8064 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
8069 yyfreeGLRStack (yyGLRStack
* yystackp
)
8071 YYFREE (yystackp
->yyitems
);
8072 yyfreeStateSet (&yystackp
->yytops
);
8075 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
8076 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
8079 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
8081 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
8082 yystackp
->yysplitPoint
= yys
;
8085 /** Invalidate stack #YYK in *YYSTACKP. */
8087 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
8089 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8090 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
8091 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
8094 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
8095 only be done once after a deletion, and only when all other stacks have
8098 yyundeleteLastStack (yyGLRStack
* yystackp
)
8100 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
8102 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
8103 yystackp
->yytops
.yysize
= 1;
8104 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
8105 yystackp
->yylastDeleted
= YY_NULLPTR
;
8109 yyremoveDeletes (yyGLRStack
* yystackp
)
8113 while (yyj
< yystackp
->yytops
.yysize
)
8115 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
8119 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
8121 yystackp
->yytops
.yysize
-= 1;
8125 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
8126 /* In the current implementation, it's unnecessary to copy
8127 yystackp->yytops.yylookaheadNeeds[yyi] since, after
8128 yyremoveDeletes returns, the parser immediately either enters
8129 deterministic operation or shifts a token. However, it doesn't
8130 hurt, and the code might evolve to need it. */
8131 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
8132 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
8135 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
8136 (unsigned long) yyi
, (unsigned long) yyj
));
8144 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
8145 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
8146 * value *YYVALP and source location *YYLOCP. */
8148 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
8152 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
8154 yynewState
->yylrState
= yylrState
;
8155 yynewState
->yyposn
= yyposn
;
8156 yynewState
->yyresolved
= yytrue
;
8157 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
8158 yynewState
->yysemantics
.yysval
= *yyvalp
;
8159 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
8161 YY_RESERVE_GLRSTACK (yystackp
);
8164 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
8165 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
8166 * semantic value of YYRHS under the action for YYRULE. */
8168 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
8169 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
8171 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
8172 YYASSERT (yynewState
->yyisState
);
8174 yynewState
->yylrState
= yylrState
;
8175 yynewState
->yyposn
= yyposn
;
8176 yynewState
->yyresolved
= yyfalse
;
8177 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
8178 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8179 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
8181 /* Invokes YY_RESERVE_GLRSTACK. */
8182 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
8186 # define YY_REDUCE_PRINT(Args)
8188 # define YY_REDUCE_PRINT(Args) \
8191 yy_reduce_print Args; \
8194 /*----------------------------------------------------------------------.
8195 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
8196 `----------------------------------------------------------------------*/
8199 yy_reduce_print (yybool yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
8200 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8202 int yynrhs
= yyrhsLength (yyrule
);
8204 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
8205 (unsigned long) yyk
, yyrule
- 1,
8206 (unsigned long) yyrline
[yyrule
]);
8208 yyfillin (yyvsp
, 1, -yynrhs
);
8209 /* The symbols being reduced. */
8210 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
8212 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
8213 yy_symbol_print (stderr
,
8214 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
8215 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
, P
, tokens
, index
);
8216 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
8217 YYFPRINTF (stderr
, " (unresolved)");
8218 YYFPRINTF (stderr
, "\n");
8223 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
8224 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
8225 * semantic values. Assumes that all ambiguities in semantic values
8226 * have been previously resolved. Set *YYVALP to the resulting value,
8227 * and *YYLOCP to the computed location (if any). Return value is as
8228 * for userAction. */
8229 static inline YYRESULTTAG
8230 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8231 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8233 int yynrhs
= yyrhsLength (yyrule
);
8235 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8237 /* Standard special case: single stack. */
8238 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
8239 YYASSERT (yyk
== 0);
8240 yystackp
->yynextFree
-= yynrhs
;
8241 yystackp
->yyspaceLeft
+= (size_t) yynrhs
;
8242 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
8243 YY_REDUCE_PRINT ((yytrue
, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
8244 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
8245 yyvalp
, P
, tokens
, index
);
8251 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8252 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
8253 = yystackp
->yytops
.yystates
[yyk
];
8254 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
8259 yyupdateSplit (yystackp
, yys
);
8260 yystackp
->yytops
.yystates
[yyk
] = yys
;
8261 YY_REDUCE_PRINT ((yyfalse
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
8262 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8263 yystackp
, yyvalp
, P
, tokens
, index
);
8267 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8268 * and push back on the resulting nonterminal symbol. Perform the
8269 * semantic action associated with YYRULE and store its value with the
8270 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8271 * unambiguous. Otherwise, store the deferred semantic action with
8272 * the new state. If the new state would have an identical input
8273 * position, LR state, and predecessor to an existing state on the stack,
8274 * it is identified with that existing state, eliminating stack #YYK from
8275 * *YYSTACKP. In this case, the semantic value is
8276 * added to the options for the existing state's semantic value.
8278 static inline YYRESULTTAG
8279 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8280 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8282 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
8284 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
8288 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
8289 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
8291 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
8292 (unsigned long) yyk
, yyrule
- 1));
8296 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
8297 yyglrShift (yystackp
, yyk
,
8298 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
8299 yylhsNonterm (yyrule
)),
8306 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
8307 yyStateNum yynewLRState
;
8309 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
8315 yyupdateSplit (yystackp
, yys
);
8316 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
8318 "Reduced stack %lu by rule #%d; action deferred. "
8319 "Now in state %d.\n",
8320 (unsigned long) yyk
, yyrule
- 1, yynewLRState
));
8321 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
8322 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
8324 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
8325 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
8326 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
8328 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
8330 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
8331 yymarkStackDeleted (yystackp
, yyk
);
8332 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
8333 (unsigned long) yyk
,
8334 (unsigned long) yyi
));
8340 yystackp
->yytops
.yystates
[yyk
] = yys
;
8341 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
8347 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
8349 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8351 YYASSERT (yyk
== 0);
8352 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
8354 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
8356 yyGLRState
** yynewStates
= YY_NULLPTR
;
8357 yybool
* yynewLookaheadNeeds
;
8359 if (yystackp
->yytops
.yycapacity
8360 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
8361 yyMemoryExhausted (yystackp
);
8362 yystackp
->yytops
.yycapacity
*= 2;
8365 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
8366 (yystackp
->yytops
.yycapacity
8367 * sizeof yynewStates
[0]));
8368 if (yynewStates
== YY_NULLPTR
)
8369 yyMemoryExhausted (yystackp
);
8370 yystackp
->yytops
.yystates
= yynewStates
;
8372 yynewLookaheadNeeds
=
8373 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
8374 (yystackp
->yytops
.yycapacity
8375 * sizeof yynewLookaheadNeeds
[0]));
8376 if (yynewLookaheadNeeds
== YY_NULLPTR
)
8377 yyMemoryExhausted (yystackp
);
8378 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
8380 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
8381 = yystackp
->yytops
.yystates
[yyk
];
8382 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
8383 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
8384 yystackp
->yytops
.yysize
+= 1;
8385 return yystackp
->yytops
.yysize
-1;
8388 /** True iff YYY0 and YYY1 represent identical options at the top level.
8389 * That is, they represent the same rule applied to RHS symbols
8390 * that produce the same terminal symbols. */
8392 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8394 if (yyy0
->yyrule
== yyy1
->yyrule
)
8396 yyGLRState
*yys0
, *yys1
;
8398 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8399 yyn
= yyrhsLength (yyy0
->yyrule
);
8401 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8402 if (yys0
->yyposn
!= yys1
->yyposn
)
8410 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8411 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8413 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8415 yyGLRState
*yys0
, *yys1
;
8417 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8418 yyn
= yyrhsLength (yyy0
->yyrule
);
8420 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8424 else if (yys0
->yyresolved
)
8426 yys1
->yyresolved
= yytrue
;
8427 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
8429 else if (yys1
->yyresolved
)
8431 yys0
->yyresolved
= yytrue
;
8432 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
8436 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
8437 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
8440 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
8442 else if (*yyz0p
== YY_NULLPTR
)
8447 else if (*yyz0p
< yyz1
)
8449 yySemanticOption
* yyz
= *yyz0p
;
8451 yyz1
= yyz1
->yynext
;
8452 (*yyz0p
)->yynext
= yyz
;
8454 yyz0p
= &(*yyz0p
)->yynext
;
8456 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
8461 /** Y0 and Y1 represent two possible actions to take in a given
8462 * parsing state; return 0 if no combination is possible,
8463 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8465 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
8467 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
8468 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
8472 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
8477 if (p0
== 0 || p1
== 0)
8486 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
8487 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
8490 /** Resolve the previous YYN states starting at and including state YYS
8491 * on *YYSTACKP. If result != yyok, some states may have been left
8492 * unresolved possibly with empty semantic option chains. Regardless
8493 * of whether result = yyok, each state has been left with consistent
8494 * data so that yydestroyGLRState can be invoked if necessary. */
8496 yyresolveStates (yyGLRState
* yys
, int yyn
,
8497 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8501 YYASSERT (yys
->yypred
);
8502 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
8503 if (! yys
->yyresolved
)
8504 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
8509 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8510 * user action, and return the semantic value and location in *YYVALP
8511 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8512 * have been destroyed (assuming the user action destroys all RHS
8513 * semantic values if invoked). */
8515 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
8516 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8518 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8519 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
8520 YYRESULTTAG yyflag
=
8521 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
8525 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
8526 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
8530 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
8532 int yychar_current
= yychar
;
8533 YYSTYPE yylval_current
= yylval
;
8534 yychar
= yyopt
->yyrawchar
;
8535 yylval
= yyopt
->yyval
;
8536 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
8537 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8538 yystackp
, yyvalp
, P
, tokens
, index
);
8539 yychar
= yychar_current
;
8540 yylval
= yylval_current
;
8547 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
8549 int yynrhs
= yyrhsLength (yyx
->yyrule
);
8552 yyGLRState
* yystates
[1 + YYMAXRHS
];
8553 yyGLRState yyleftmost_state
;
8555 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
8556 yystates
[yyi
] = yys
;
8557 if (yys
== YY_NULLPTR
)
8559 yyleftmost_state
.yyposn
= 0;
8560 yystates
[0] = &yyleftmost_state
;
8565 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
8566 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
8567 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8570 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8571 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8572 yyx
->yyrule
- 1, (unsigned long) (yys
->yyposn
+ 1),
8573 (unsigned long) yyx
->yystate
->yyposn
);
8574 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
8576 if (yystates
[yyi
]->yyresolved
)
8578 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
8579 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
8580 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
8582 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
8583 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
8584 (unsigned long) (yystates
[yyi
-1]->yyposn
+ 1),
8585 (unsigned long) yystates
[yyi
]->yyposn
);
8588 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
8594 yyreportAmbiguity (yySemanticOption
* yyx0
,
8595 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8601 YYFPRINTF (stderr
, "Ambiguity detected.\n");
8602 YYFPRINTF (stderr
, "Option 1,\n");
8603 yyreportTree (yyx0
, 2);
8604 YYFPRINTF (stderr
, "\nOption 2,\n");
8605 yyreportTree (yyx1
, 2);
8606 YYFPRINTF (stderr
, "\n");
8609 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
8613 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8614 * perform the indicated actions, and set the semantic value of YYS.
8615 * If result != yyok, the chain of semantic options in YYS has been
8616 * cleared instead or it has been left unmodified except that
8617 * redundant options may have been removed. Regardless of whether
8618 * result = yyok, YYS has been left with consistent data so that
8619 * yydestroyGLRState can be invoked if necessary. */
8621 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8623 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
8624 yySemanticOption
* yybest
= yyoptionList
;
8625 yySemanticOption
** yypp
;
8626 yybool yymerge
= yyfalse
;
8630 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
8632 yySemanticOption
* yyp
= *yypp
;
8634 if (yyidenticalOptions (yybest
, yyp
))
8636 yymergeOptionSets (yybest
, yyp
);
8637 *yypp
= yyp
->yynext
;
8641 switch (yypreference (yybest
, yyp
))
8644 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
8656 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8657 but some compilers complain if the default case is
8661 yypp
= &yyp
->yynext
;
8667 yySemanticOption
* yyp
;
8668 int yyprec
= yydprec
[yybest
->yyrule
];
8669 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8671 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
8673 if (yyprec
== yydprec
[yyp
->yyrule
])
8675 YYSTYPE yysval_other
;
8676 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
8679 yydestruct ("Cleanup: discarding incompletely merged value for",
8680 yystos
[yys
->yylrState
],
8681 &yysval
, P
, tokens
, index
);
8684 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
8689 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8693 yys
->yyresolved
= yytrue
;
8694 yys
->yysemantics
.yysval
= yysval
;
8697 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8702 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8704 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8709 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
8710 yys
!= yystackp
->yysplitPoint
;
8711 yys
= yys
->yypred
, yyn
+= 1)
8713 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
8714 , P
, tokens
, index
));
8720 yycompressStack (yyGLRStack
* yystackp
)
8722 yyGLRState
* yyp
, *yyq
, *yyr
;
8724 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
8727 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
8728 yyp
!= yystackp
->yysplitPoint
;
8729 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
8732 yystackp
->yyspaceLeft
+= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8733 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
8734 yystackp
->yyspaceLeft
-= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8735 yystackp
->yysplitPoint
= YY_NULLPTR
;
8736 yystackp
->yylastDeleted
= YY_NULLPTR
;
8738 while (yyr
!= YY_NULLPTR
)
8740 yystackp
->yynextFree
->yystate
= *yyr
;
8742 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
8743 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
8744 yystackp
->yynextFree
+= 1;
8745 yystackp
->yyspaceLeft
-= 1;
8750 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
8751 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8753 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8755 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
8756 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
8757 (unsigned long) yyk
, yystate
));
8759 YYASSERT (yystate
!= YYFINAL
);
8761 if (yyisDefaultedState (yystate
))
8764 yyRuleNum yyrule
= yydefaultAction (yystate
);
8767 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8768 (unsigned long) yyk
));
8769 yymarkStackDeleted (yystackp
, yyk
);
8772 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
8773 if (yyflag
== yyerr
)
8777 "(predicate failure or explicit user error).\n",
8778 (unsigned long) yyk
));
8779 yymarkStackDeleted (yystackp
, yyk
);
8789 const short* yyconflicts
;
8791 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
8792 if (yychar
== YYEMPTY
)
8794 YYDPRINTF ((stderr
, "Reading a token: "));
8795 yychar
= yylex (&yylval
, P
, tokens
, index
);
8798 if (yychar
<= YYEOF
)
8800 yychar
= yytoken
= YYEOF
;
8801 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8805 yytoken
= YYTRANSLATE (yychar
);
8806 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8809 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
8811 while (*yyconflicts
!= 0)
8814 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
8815 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
8816 (unsigned long) yynewStack
,
8817 (unsigned long) yyk
));
8818 yyflag
= yyglrReduce (yystackp
, yynewStack
,
8820 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
8822 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
8823 yyposn
, P
, tokens
, index
));
8824 else if (yyflag
== yyerr
)
8826 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8827 (unsigned long) yynewStack
));
8828 yymarkStackDeleted (yystackp
, yynewStack
);
8835 if (yyisShiftAction (yyaction
))
8837 else if (yyisErrorAction (yyaction
))
8839 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8840 (unsigned long) yyk
));
8841 yymarkStackDeleted (yystackp
, yyk
);
8846 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
8847 yyimmediate
[-yyaction
], P
, tokens
, index
);
8848 if (yyflag
== yyerr
)
8852 "(predicate failure or explicit user error).\n",
8853 (unsigned long) yyk
));
8854 yymarkStackDeleted (yystackp
, yyk
);
8857 else if (yyflag
!= yyok
)
8866 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8868 if (yystackp
->yyerrState
!= 0)
8870 #if ! YYERROR_VERBOSE
8871 yyerror (P
, tokens
, index
, YY_("syntax error"));
8874 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
8875 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
8876 size_t yysize
= yysize0
;
8877 yybool yysize_overflow
= yyfalse
;
8878 char* yymsg
= YY_NULLPTR
;
8879 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
8880 /* Internationalized format string. */
8881 const char *yyformat
= YY_NULLPTR
;
8882 /* Arguments of yyformat. */
8883 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
8884 /* Number of reported tokens (one for the "unexpected", one per
8888 /* There are many possibilities here to consider:
8889 - If this state is a consistent state with a default action, then
8890 the only way this function was invoked is if the default action
8891 is an error action. In that case, don't check for expected
8892 tokens because there are none.
8893 - The only way there can be no lookahead present (in yychar) is if
8894 this state is a consistent state with a default action. Thus,
8895 detecting the absence of a lookahead is sufficient to determine
8896 that there is no unexpected or expected token to report. In that
8897 case, just report a simple "syntax error".
8898 - Don't assume there isn't a lookahead just because this state is a
8899 consistent state with a default action. There might have been a
8900 previous inconsistent state, consistent state with a non-default
8901 action, or user semantic action that manipulated yychar.
8902 - Of course, the expected token list depends on states to have
8903 correct lookahead information, and it depends on the parser not
8904 to perform extra reductions after fetching a lookahead from the
8905 scanner and before detecting a syntax error. Thus, state merging
8906 (from LALR or IELR) and default reductions corrupt the expected
8907 token list. However, the list is correct for canonical LR with
8908 one exception: it will still contain any token that will not be
8909 accepted due to an error action in a later state.
8911 if (yytoken
!= YYEMPTY
)
8913 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
8914 yyarg
[yycount
++] = yytokenName (yytoken
);
8915 if (!yypact_value_is_default (yyn
))
8917 /* Start YYX at -YYN if negative to avoid negative indexes in
8918 YYCHECK. In other words, skip the first -YYN actions for this
8919 state because they are default actions. */
8920 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
8921 /* Stay within bounds of both yycheck and yytname. */
8922 int yychecklim
= YYLAST
- yyn
+ 1;
8923 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
8925 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
8926 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
8927 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
8929 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
8935 yyarg
[yycount
++] = yytokenName (yyx
);
8937 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
8939 yysize_overflow
= yytrue
;
8948 #define YYCASE_(N, S) \
8952 default: /* Avoid compiler warnings. */
8953 YYCASE_(0, YY_("syntax error"));
8954 YYCASE_(1, YY_("syntax error, unexpected %s"));
8955 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8956 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8957 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8958 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8963 size_t yysz
= yysize
+ strlen (yyformat
);
8965 yysize_overflow
= yytrue
;
8969 if (!yysize_overflow
)
8970 yymsg
= (char *) YYMALLOC (yysize
);
8976 while ((*yyp
= *yyformat
))
8978 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
8980 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
8989 yyerror (P
, tokens
, index
, yymsg
);
8994 yyerror (P
, tokens
, index
, YY_("syntax error"));
8995 yyMemoryExhausted (yystackp
);
8998 #endif /* YYERROR_VERBOSE */
9002 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
9003 yylval, and yylloc are the syntactic category, semantic value, and location
9004 of the lookahead. */
9006 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9011 if (yystackp
->yyerrState
== 3)
9012 /* We just shifted the error token and (perhaps) took some
9013 reductions. Skip tokens until we can proceed. */
9017 if (yychar
== YYEOF
)
9018 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9019 if (yychar
!= YYEMPTY
)
9021 yytoken
= YYTRANSLATE (yychar
);
9022 yydestruct ("Error: discarding",
9023 yytoken
, &yylval
, P
, tokens
, index
);
9025 YYDPRINTF ((stderr
, "Reading a token: "));
9026 yychar
= yylex (&yylval
, P
, tokens
, index
);
9027 if (yychar
<= YYEOF
)
9029 yychar
= yytoken
= YYEOF
;
9030 YYDPRINTF ((stderr
, "Now at end of input.\n"));
9034 yytoken
= YYTRANSLATE (yychar
);
9035 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
9037 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
9038 if (yypact_value_is_default (yyj
))
9041 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
9043 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
9046 else if (! yytable_value_is_error (yytable
[yyj
]))
9050 /* Reduce to one stack. */
9051 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
9052 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
9054 if (yyk
>= yystackp
->yytops
.yysize
)
9055 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9056 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
9057 yymarkStackDeleted (yystackp
, yyk
);
9058 yyremoveDeletes (yystackp
);
9059 yycompressStack (yystackp
);
9061 /* Now pop stack until we find a state that shifts the error token. */
9062 yystackp
->yyerrState
= 3;
9063 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
9065 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
9066 yyj
= yypact
[yys
->yylrState
];
9067 if (! yypact_value_is_default (yyj
))
9070 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
9071 && yyisShiftAction (yytable
[yyj
]))
9073 /* Shift the error token. */
9074 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
9075 &yylval
, &yyerrloc
);
9076 yyglrShift (yystackp
, 0, yytable
[yyj
],
9077 yys
->yyposn
, &yylval
);
9078 yys
= yystackp
->yytops
.yystates
[0];
9082 if (yys
->yypred
!= YY_NULLPTR
)
9083 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
9084 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
9085 yystackp
->yynextFree
-= 1;
9086 yystackp
->yyspaceLeft
+= 1;
9088 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
9089 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9092 #define YYCHK1(YYE) \
9102 goto yyuser_error; \
9113 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9117 yyGLRStack
* const yystackp
= &yystack
;
9120 YYDPRINTF ((stderr
, "Starting parse\n"));
9123 yylval
= yyval_default
;
9125 /* User initialization code. */
9126 #line 123 "src/parser_proc_grammar.y" /* glr.c:2265 */
9130 #line 9131 "src/parser_proc.c" /* glr.c:2265 */
9132 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
9133 goto yyexhaustedlab
;
9134 switch (YYSETJMP (yystack
.yyexception_buffer
))
9137 case 1: goto yyabortlab
;
9138 case 2: goto yyexhaustedlab
;
9139 default: goto yybuglab
;
9141 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
9146 /* For efficiency, we have two loops, the first of which is
9147 specialized to deterministic operation (single stack, no
9148 potential ambiguity). */
9154 const short* yyconflicts
;
9156 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
9157 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
9158 if (yystate
== YYFINAL
)
9160 if (yyisDefaultedState (yystate
))
9162 yyrule
= yydefaultAction (yystate
);
9165 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9168 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
9173 if (yychar
== YYEMPTY
)
9175 YYDPRINTF ((stderr
, "Reading a token: "));
9176 yychar
= yylex (&yylval
, P
, tokens
, index
);
9179 if (yychar
<= YYEOF
)
9181 yychar
= yytoken
= YYEOF
;
9182 YYDPRINTF ((stderr
, "Now at end of input.\n"));
9186 yytoken
= YYTRANSLATE (yychar
);
9187 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
9190 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
9191 if (*yyconflicts
!= 0)
9193 if (yyisShiftAction (yyaction
))
9195 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
9198 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
9199 if (0 < yystack
.yyerrState
)
9200 yystack
.yyerrState
-= 1;
9202 else if (yyisErrorAction (yyaction
))
9204 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9208 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
9214 yySymbol yytoken_to_shift
;
9217 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9218 yystackp
->yytops
.yylookaheadNeeds
[yys
] = (yybool
) (yychar
!= YYEMPTY
);
9220 /* yyprocessOneStack returns one of three things:
9222 - An error flag. If the caller is yyprocessOneStack, it
9223 immediately returns as well. When the caller is finally
9224 yyparse, it jumps to an error label via YYCHK1.
9226 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
9227 (&yystack, yys), which sets the top state of yys to NULL. Thus,
9228 yyparse's following invocation of yyremoveDeletes will remove
9231 - yyok, when ready to shift a token.
9233 Except in the first case, yyparse will invoke yyremoveDeletes and
9234 then shift the next token onto all remaining stacks. This
9235 synchronization of the shift (that is, after all preceding
9236 reductions on all stacks) helps prevent double destructor calls
9237 on yylval in the event of memory exhaustion. */
9239 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9240 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
9241 yyremoveDeletes (&yystack
);
9242 if (yystack
.yytops
.yysize
== 0)
9244 yyundeleteLastStack (&yystack
);
9245 if (yystack
.yytops
.yysize
== 0)
9246 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
9247 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9248 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9249 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9253 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9254 a copy of yylval will already be on stack 0 in the event of a
9255 failure in the following loop. Thus, yychar is set to YYEMPTY
9256 before the loop to make sure the user destructor for yylval isn't
9258 yytoken_to_shift
= YYTRANSLATE (yychar
);
9261 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9264 const short* yyconflicts
;
9265 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
9266 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
9268 /* Note that yyconflicts were handled by yyprocessOneStack. */
9269 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long) yys
));
9270 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
9271 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
9273 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
9274 (unsigned long) yys
,
9275 yystack
.yytops
.yystates
[yys
]->yylrState
));
9278 if (yystack
.yytops
.yysize
== 1)
9280 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9281 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9282 yycompressStack (&yystack
);
9288 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
9289 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
9305 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
9310 if (yychar
!= YYEMPTY
)
9311 yydestruct ("Cleanup: discarding lookahead",
9312 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
9314 /* If the stack is well-formed, pop the stack until it is empty,
9315 destroying its entries as we go. But free the stack regardless
9316 of whether it is well-formed. */
9317 if (yystack
.yyitems
)
9319 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
9322 size_t yysize
= yystack
.yytops
.yysize
;
9324 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
9327 while (yystates
[yyk
])
9329 yyGLRState
*yys
= yystates
[yyk
];
9330 if (yys
->yypred
!= YY_NULLPTR
)
9331 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
9332 yystates
[yyk
] = yys
->yypred
;
9333 yystack
.yynextFree
-= 1;
9334 yystack
.yyspaceLeft
+= 1;
9339 yyfreeGLRStack (&yystack
);
9345 /* DEBUGGING ONLY */
9348 yy_yypstack (yyGLRState
* yys
)
9352 yy_yypstack (yys
->yypred
);
9353 YYFPRINTF (stderr
, " -> ");
9355 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
9356 (unsigned long) yys
->yyposn
);
9360 yypstates (yyGLRState
* yyst
)
9362 if (yyst
== YY_NULLPTR
)
9363 YYFPRINTF (stderr
, "<null>");
9366 YYFPRINTF (stderr
, "\n");
9370 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
9372 yypstates (yystackp
->yytops
.yystates
[yyk
]);
9375 #define YYINDEX(YYX) \
9376 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9380 yypdumpstack (yyGLRStack
* yystackp
)
9382 yyGLRStackItem
* yyp
;
9384 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
9386 YYFPRINTF (stderr
, "%3lu. ",
9387 (unsigned long) (yyp
- yystackp
->yyitems
));
9388 if (*(yybool
*) yyp
)
9390 YYASSERT (yyp
->yystate
.yyisState
);
9391 YYASSERT (yyp
->yyoption
.yyisState
);
9392 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9393 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
9394 (unsigned long) yyp
->yystate
.yyposn
,
9395 (long) YYINDEX (yyp
->yystate
.yypred
));
9396 if (! yyp
->yystate
.yyresolved
)
9397 YYFPRINTF (stderr
, ", firstVal: %ld",
9398 (long) YYINDEX (yyp
->yystate
9399 .yysemantics
.yyfirstVal
));
9403 YYASSERT (!yyp
->yystate
.yyisState
);
9404 YYASSERT (!yyp
->yyoption
.yyisState
);
9405 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
9406 yyp
->yyoption
.yyrule
- 1,
9407 (long) YYINDEX (yyp
->yyoption
.yystate
),
9408 (long) YYINDEX (yyp
->yyoption
.yynext
));
9410 YYFPRINTF (stderr
, "\n");
9412 YYFPRINTF (stderr
, "Tops:");
9413 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
9414 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long) yyi
,
9415 (long) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
9416 YYFPRINTF (stderr
, "\n");
9424 /* Substitute the variable and function names. */
9425 #define yyparse psi_parser_proc_parse
9426 #define yylex psi_parser_proc_lex
9427 #define yyerror psi_parser_proc_error
9428 #define yylval psi_parser_proc_lval
9429 #define yychar psi_parser_proc_char
9430 #define yydebug psi_parser_proc_debug
9431 #define yynerrs psi_parser_proc_nerrs
9433 #line 2288 "src/parser_proc_grammar.y" /* glr.c:2578 */
9438 #define PSI_DEBUG_LEX 0
9439 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9441 struct psi_token
*token
;
9443 PSI_DEBUG_PRINT(P
, "PSI: LEX index %4zu ", *index
);
9445 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
9447 PSI_DEBUG_DUMP(P
, psi_token_dump
, token
);
9449 *((struct psi_token
**)lvalp
) = token
;
9453 PSI_DEBUG_PRINT(P
, "EOF\n");
9461 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
9463 struct psi_token
*T
= NULL
;
9472 psi_plist_get(tokens
, last
, &T
);
9474 size_t i
= (last
>= 5) ? last
- 5 : 0;
9476 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
9477 while (i
<= last
|| T
->type
!= PSI_T_EOS
) {
9478 if (!psi_plist_get(tokens
, i
++, &T
)) {
9481 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s token '%s' at col %u",
9482 i
<last
+1?"preceding":i
>last
+1?"following":"offending", T
->text
->val
, T
->col
);
9485 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);