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
);
184 static inline void psi_parser_proc_add_lib(struct psi_parser
*P
, zend_string
*lib
) {
185 char *libname
= strdup(lib
->val
);
186 P
->file
.libnames
= psi_plist_add(P
->file
.libnames
, &libname
);
191 #line 192 "src/parser_proc.c" /* glr.c:261 */
198 # if defined YYENABLE_NLS && YYENABLE_NLS
200 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
201 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
205 # define YY_(Msgid) Msgid
213 # define YYMALLOC malloc
216 # define YYREALLOC realloc
219 #define YYSIZEMAX ((size_t) -1)
224 # define yyfalse false
226 /* When we move to stdbool, get rid of the various casts to yybool. */
227 typedef unsigned char yybool
;
234 # define YYJMP_BUF jmp_buf
235 # define YYSETJMP(Env) setjmp (Env)
236 /* Pacify Clang and ICC. */
237 # define YYLONGJMP(Env, Val) \
239 longjmp (Env, Val); \
245 # if (defined __GNUC__ \
246 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
247 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
248 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
250 # define YY_ATTRIBUTE(Spec) /* empty */
254 #ifndef YY_ATTRIBUTE_PURE
255 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
258 #ifndef YY_ATTRIBUTE_UNUSED
259 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
262 #if !defined _Noreturn \
263 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
264 # if defined _MSC_VER && 1200 <= _MSC_VER
265 # define _Noreturn __declspec (noreturn)
267 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
271 /* Suppress unused-variable warnings by "using" E. */
272 #if ! defined lint || defined __GNUC__
273 # define YYUSE(E) ((void) (E))
275 # define YYUSE(E) /* empty */
278 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
279 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
280 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
281 _Pragma ("GCC diagnostic push") \
282 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
283 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
284 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
285 _Pragma ("GCC diagnostic pop")
287 # define YY_INITIAL_VALUE(Value) Value
289 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
290 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
291 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
293 #ifndef YY_INITIAL_VALUE
294 # define YY_INITIAL_VALUE(Value) /* Nothing. */
299 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
302 /* YYFINAL -- State number of the termination state. */
304 /* YYLAST -- Last index in YYTABLE. */
307 /* YYNTOKENS -- Number of terminals. */
308 #define YYNTOKENS 140
309 /* YYNNTS -- Number of nonterminals. */
311 /* YYNRULES -- Number of rules. */
313 /* YYNRULES -- Number of states. */
314 #define YYNSTATES 953
315 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
317 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
318 accessed by $0, $-1, etc., in any rule. */
321 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
323 #define YYMAXUTOK 394
325 #define YYTRANSLATE(YYX) \
326 ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
328 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
329 static const unsigned char yytranslate
[] =
331 0, 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, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
357 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
358 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
359 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
360 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
361 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
362 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
363 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
364 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
365 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
366 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
367 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
368 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
369 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
370 135, 136, 137, 138, 139
374 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
375 static const unsigned short yyrline
[] =
377 0, 416, 416, 416, 416, 416, 416, 416, 416, 416,
378 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
379 417, 417, 417, 417, 418, 418, 418, 418, 418, 418,
380 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
381 418, 418, 418, 418, 418, 418, 419, 419, 419, 419,
382 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
383 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
384 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
385 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
386 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
387 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
388 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
389 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
390 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
391 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
392 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
393 419, 419, 419, 419, 420, 420, 420, 420, 420, 420,
394 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
395 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
396 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
397 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
398 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
399 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
400 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
401 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
402 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
403 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
404 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
405 424, 425, 428, 429, 432, 433, 434, 435, 441, 444,
406 447, 450, 453, 459, 462, 465, 468, 471, 477, 480,
407 486, 489, 495, 518, 522, 526, 531, 535, 539, 543,
408 550, 551, 555, 556, 560, 561, 562, 566, 567, 571,
409 572, 576, 577, 578, 582, 583, 587, 592, 597, 602,
410 611, 614, 617, 618, 624, 629, 637, 640, 644, 648,
411 655, 659, 663, 667, 672, 683, 694, 699, 704, 708,
412 714, 725, 728, 732, 740, 744, 750, 754, 761, 765,
413 769, 776, 777, 778, 782, 796, 802, 805, 811, 814,
414 820, 821, 829, 840, 849, 861, 862, 866, 876, 885,
415 897, 898, 901, 907, 908, 912, 916, 920, 925, 930,
416 938, 939, 940, 943, 949, 952, 955, 961, 962, 966,
417 969, 972, 978, 981, 984, 992, 1004, 1007, 1010, 1013,
418 1020, 1023, 1033, 1036, 1039, 1042, 1043, 1044, 1048, 1051,
419 1054, 1065, 1072, 1082, 1085, 1091, 1094, 1101, 1137, 1140,
420 1146, 1149, 1155, 1161, 1162, 1163, 1164, 1165, 1166, 1170,
421 1174, 1175, 1179, 1180, 1184, 1185, 1192, 1193, 1197, 1204,
422 1215, 1222, 1230, 1254, 1283, 1290, 1301, 1347, 1388, 1403,
423 1406, 1409, 1415, 1418, 1424, 1439, 1442, 1471, 1479, 1507,
424 1512, 1520, 1530, 1540, 1543, 1547, 1553, 1567, 1584, 1587,
425 1593, 1600, 1607, 1615, 1626, 1633, 1636, 1642, 1647, 1655,
426 1659, 1663, 1667, 1671, 1675, 1682, 1686, 1690, 1694, 1698,
427 1702, 1708, 1712, 1719, 1722, 1734, 1738, 1742, 1749, 1762,
428 1775, 1788, 1791, 1798, 1799, 1803, 1806, 1809, 1812, 1818,
429 1822, 1829, 1832, 1835, 1850, 1851, 1852, 1853, 1857, 1860,
430 1866, 1867, 1873, 1876, 1882, 1883, 1887, 1888, 1898, 1901,
431 1908, 1913, 1918, 1928, 1931, 1937, 1940, 1946, 1953, 1960,
432 1967, 1968, 1972, 1973, 1974, 1975, 1976, 1980, 1981, 1982,
433 1983, 1987, 1990, 1996, 1999, 2002, 2005, 2008, 2014, 2018,
434 2026, 2027, 2031, 2038, 2041, 2044, 2047, 2051, 2054, 2060,
435 2064, 2072, 2079, 2084, 2092, 2100, 2101, 2102, 2103, 2104,
436 2105, 2106, 2107, 2108, 2109, 2113, 2116, 2122, 2125, 2131,
437 2132, 2136, 2139, 2145, 2148, 2154, 2161, 2165, 2172, 2175,
438 2178, 2184, 2191, 2194, 2197, 2204, 2209, 2217, 2218, 2219,
439 2220, 2221, 2222, 2223, 2224, 2228, 2231, 2237, 2240, 2246,
440 2253, 2254, 2258, 2265, 2268, 2274, 2282, 2285, 2291
444 #if YYDEBUG || YYERROR_VERBOSE || 1
445 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
446 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
447 static const char *const yytname
[] =
449 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
450 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
451 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
452 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
453 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
454 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
455 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
456 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
457 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
458 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
459 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
460 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
461 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
462 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
463 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
464 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
465 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
466 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
467 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
468 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
469 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
470 "$accept", "binary_op_token", "unary_op_token", "name_token",
471 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
472 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
473 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
474 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
475 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
476 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
477 "cpp_macro_call_arg_list", "constant", "impl_def_val",
478 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
479 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
480 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
481 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
482 "decl_int_type", "int_signed_types", "signed_short_types",
483 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
484 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
485 "ignored_decl", "ignored_decl_qualifiers", "ignored_decl_body",
486 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
487 "decl_func_body", "decl_functor_body", "decl_anon_functor_body",
488 "decl_functor", "decl_anon_functor", "decl_func", "decl_args",
489 "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
490 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
491 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
492 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
493 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
494 "struct_name", "optional_name", "optional_comma", "decl_layout",
495 "align_and_size", "array_size", "array_qualifier_token", "indirection",
496 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
497 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
498 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
499 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
500 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
501 "let_callback", "let_func", "let_func_token", "let_func_exps",
502 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
503 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
504 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
505 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
510 #define YYPACT_NINF -719
511 #define YYTABLE_NINF -637
513 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
515 static const short yypact
[] =
517 497, -719, -719, -719, -719, -719, 99, -719, -719, -719,
518 248, -719, -719, -719, 742, 275, 7978, 7978, 7978, 225,
519 59, -20, 31, -719, 107, -719, 97, 497, -719, -719,
520 -719, -719, -719, 7123, 1957, -719, -719, -719, -719, 144,
521 198, -719, -719, -719, -719, 1423, 5, -719, -719, 32,
522 108, 115, -719, -719, -719, -719, 140, -719, 148, -719,
523 -719, -719, 7978, 7978, 7978, -719, -719, -719, 88, -719,
524 98, -719, -719, -719, -719, -719, -719, -719, -719, -719,
525 -719, 864, -719, -719, -719, -719, 168, 990, 990, 20,
526 -719, 990, 6897, 7978, 7978, 1537, 177, -719, -719, -719,
527 179, 7978, 194, 194, -719, -719, -719, -719, -719, -719,
528 1356, -719, -719, -719, -719, -719, -719, -719, -719, -719,
529 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
530 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
531 -719, 125, -719, -719, 125, 211, -719, -719, -719, -719,
532 -719, -719, 220, 239, -719, 233, -719, 242, -719, 282,
533 -719, 1731, 275, 187, -719, 5, -719, -719, 50, 273,
534 -719, -719, 281, 7978, 1, -719, -719, -719, 308, -719,
535 96, -719, -719, -719, 173, -719, 279, 285, 287, 1844,
536 1844, 7978, 195, -719, -719, -719, 7462, 5, 290, -719,
537 1696, -719, -719, -719, -719, -719, -719, -719, -719, 1809,
538 1922, 2035, 2148, -719, 2261, 2374, -719, -719, -719, 2487,
539 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
540 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
541 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
542 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
543 -719, -719, 2600, 2713, 2826, 2939, 3052, -719, -719, -719,
544 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
545 -719, -719, 3165, -719, 3278, 3391, 3504, 3617, 3730, 3843,
546 -719, 3956, -719, -719, 4069, 4182, 4295, 4408, 4521, 4634,
547 4747, 4860, 4973, 5086, 5199, 5312, 5425, 5538, 5651, 5764,
548 -719, -719, -719, -719, -719, -719, -719, 5877, 990, -719,
549 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
550 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
551 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
552 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
553 990, -719, -719, -719, -719, -719, -719, -719, 207, 6897,
554 -719, -719, -719, -719, 7575, 6897, 291, 8107, -719, 133,
555 -719, 214, -719, -719, -719, -719, 289, 286, 286, 53,
556 53, 6106, 288, -719, 195, 294, 296, -719, 299, -719,
557 -719, -719, 1470, -719, 292, 273, -719, -719, -719, -719,
558 -719, 325, -719, -719, 1242, -719, 310, -719, 209, 7123,
559 -719, 306, 235, 305, -719, -719, 238, 300, 309, -719,
560 7462, 6558, 7462, 7978, 7462, -719, -719, 284, -719, -719,
561 -719, -719, -719, 6784, -719, 311, -719, 7978, 315, 316,
562 -719, 317, 8107, 322, -719, -719, -719, -719, 758, 320,
563 -719, 7228, 7978, -719, -719, 1583, -719, -719, -719, -719,
564 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
565 -719, -719, -719, -719, 6897, 6897, 321, 624, 7462, 7462,
566 -719, -719, -719, -719, 166, -719, -719, -719, -719, -719,
567 5993, 6784, 323, -719, 322, -719, 8131, -719, -719, 6106,
568 331, 545, -719, -719, -719, -719, -719, -719, 8083, 318,
569 7688, -719, -719, -719, -719, -719, -719, -719, -719, -719,
570 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
571 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
572 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
573 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
574 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
575 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
576 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
577 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
578 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
579 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
580 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
581 -719, -719, 1116, -719, 102, 42, 1844, 273, 301, 1423,
582 273, 303, 6784, 7978, 319, 332, 342, 8131, 334, 350,
583 -719, 353, 363, 348, 357, 120, -719, 359, 362, -719,
584 -719, -719, 7111, 7462, -719, -719, 7747, -719, 292, 361,
585 -719, -719, -719, 365, -719, 8107, 370, 374, 7841, -719,
586 384, 1537, 360, -719, -719, 7010, 585, 7978, 194, 194,
587 -719, -719, 36, 39, 71, 7445, -719, -719, 6784, 6784,
588 379, -719, -719, -719, -719, -719, 378, 240, -719, 31,
589 -719, -719, -719, -719, -719, 292, 243, -719, -719, -719,
590 292, -719, 265, -719, 381, -719, -719, 385, 8131, -719,
591 -719, 6219, -719, 6558, -719, 7462, -719, 31, 7462, -719,
592 7978, 7860, -719, -719, -719, -719, -719, 386, 383, -719,
593 -719, -719, -719, 6897, 6897, 387, -719, 84, 394, -719,
594 360, 286, 286, 6784, -719, 8059, -719, -719, 734, 397,
595 734, 380, 7978, 1844, -719, 7236, 273, 369, 273, 273,
596 193, 328, 627, 406, 8131, -719, -719, -719, -719, 408,
597 6671, -719, 407, 7462, 267, -719, 409, 311, 412, 990,
598 7919, 8107, 8155, 421, 413, 415, 7349, 418, 394, 7462,
599 7462, -719, 6784, -719, 734, -719, 31, 6106, 417, 419,
600 -719, -719, 420, -719, -719, 406, -719, -719, -719, 7860,
601 -719, 425, 6784, 31, -719, 6332, 426, 427, -719, 364,
602 -719, -719, -719, 429, 428, 435, 360, 434, -719, -719,
603 441, 8179, -719, 43, -719, 443, 444, 273, 445, 31,
604 7679, 442, 446, -719, 452, -719, -719, 60, -719, 455,
605 457, -719, 7349, -719, 465, 1844, 462, -719, 398, 464,
606 6784, 6219, 466, -719, 6558, -719, -719, 478, 472, 487,
607 360, -719, 480, 482, 1844, 114, 6445, 7566, 332, -719,
608 -719, -719, 483, 6671, -719, -719, 484, 488, -719, 485,
609 490, 491, 493, 496, 498, -719, -719, 6219, -719, 506,
610 -719, 734, 503, 273, 31, 504, 6558, -719, 507, -719,
611 1844, -719, 510, -719, -719, -719, 511, 6445, 273, 512,
615 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
616 Performed when YYTABLE does not specify something else to do. Zero
617 means the default is an error. */
618 static const unsigned short yydefact
[] =
620 280, 402, 399, 403, 397, 398, 400, 394, 395, 393,
621 392, 384, 285, 284, 0, 0, 0, 0, 511, 383,
622 0, 433, 636, 286, 0, 437, 0, 281, 282, 288,
623 287, 289, 293, 528, 0, 380, 386, 385, 391, 406,
624 418, 390, 290, 291, 292, 0, 423, 444, 446, 447,
625 0, 0, 458, 295, 294, 296, 0, 297, 0, 401,
626 396, 392, 0, 0, 0, 383, 438, 445, 428, 300,
627 311, 308, 310, 312, 313, 324, 321, 322, 319, 325,
628 320, 0, 323, 314, 315, 316, 0, 336, 336, 0,
629 304, 0, 0, 511, 511, 0, 0, 366, 371, 467,
630 370, 0, 519, 519, 33, 34, 35, 36, 37, 624,
631 585, 24, 42, 41, 40, 38, 39, 32, 31, 25,
632 29, 28, 26, 27, 43, 593, 592, 590, 588, 589,
633 591, 587, 586, 594, 30, 622, 620, 619, 621, 618,
634 617, 387, 44, 45, 388, 389, 508, 552, 553, 554,
635 555, 556, 0, 0, 549, 0, 434, 0, 638, 0,
636 637, 392, 0, 0, 435, 423, 1, 283, 534, 521,
637 382, 468, 0, 529, 530, 532, 381, 408, 412, 410,
638 414, 407, 404, 419, 406, 405, 0, 0, 0, 459,
639 459, 0, 0, 387, 388, 389, 0, 423, 0, 71,
640 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
641 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
642 66, 67, 68, 69, 70, 161, 162, 72, 73, 74,
643 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
644 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
645 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
646 105, 111, 109, 110, 108, 106, 107, 112, 113, 114,
647 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
648 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
649 135, 163, 136, 137, 138, 139, 140, 141, 142, 143,
650 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
651 154, 155, 159, 156, 157, 158, 160, 0, 336, 306,
652 301, 46, 55, 56, 57, 58, 60, 61, 65, 109,
653 110, 108, 106, 107, 127, 129, 130, 131, 132, 133,
654 134, 163, 138, 139, 140, 141, 142, 143, 144, 145,
655 146, 147, 148, 149, 150, 151, 152, 153, 338, 309,
656 337, 302, 317, 318, 303, 305, 346, 347, 0, 0,
657 22, 23, 20, 21, 0, 0, 349, 307, 348, 387,
658 510, 388, 509, 367, 364, 372, 0, 0, 0, 0,
659 0, 0, 0, 298, 0, 0, 0, 436, 0, 537,
660 536, 535, 524, 470, 528, 521, 531, 533, 413, 409,
661 415, 416, 411, 420, 0, 432, 0, 421, 393, 528,
662 464, 0, 0, 461, 462, 465, 0, 487, 513, 485,
663 0, 636, 0, 0, 0, 630, 631, 0, 561, 564,
664 563, 565, 566, 0, 567, 429, 430, 0, 0, 0,
665 425, 0, 328, 329, 326, 339, 507, 506, 0, 0,
666 502, 0, 0, 344, 341, 351, 2, 3, 4, 5,
667 6, 7, 8, 9, 10, 11, 13, 12, 14, 15,
668 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
669 473, 472, 474, 471, 498, 362, 363, 496, 495, 497,
670 0, 0, 0, 358, 360, 499, 359, 489, 500, 0,
671 0, 0, 365, 422, 498, 526, 527, 525, 0, 0,
672 0, 529, 469, 417, 189, 164, 165, 166, 167, 168,
673 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
674 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
675 277, 278, 190, 191, 192, 193, 194, 195, 196, 197,
676 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
677 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
678 218, 219, 220, 221, 227, 225, 226, 224, 222, 223,
679 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
680 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
681 248, 249, 250, 251, 279, 252, 253, 254, 255, 256,
682 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
683 267, 268, 269, 270, 271, 275, 272, 273, 274, 276,
684 442, 443, 0, 440, 0, 521, 459, 521, 0, 0,
685 521, 0, 0, 514, 0, 0, 0, 613, 0, 0,
686 612, 45, 0, 0, 0, 0, 633, 0, 0, 607,
687 538, 562, 0, 0, 427, 299, 330, 426, 528, 0,
688 503, 505, 340, 0, 353, 354, 0, 352, 0, 342,
689 0, 0, 515, 375, 368, 376, 0, 377, 519, 519,
690 374, 373, 624, 24, 0, 0, 493, 357, 0, 0,
691 0, 539, 558, 559, 560, 557, 0, 0, 543, 636,
692 548, 550, 551, 523, 522, 528, 0, 439, 441, 424,
693 528, 466, 0, 450, 0, 463, 448, 0, 488, 486,
694 484, 0, 568, 636, 611, 0, 547, 636, 0, 632,
695 0, 608, 605, 629, 431, 331, 334, 0, 332, 504,
696 501, 345, 350, 0, 0, 0, 369, 0, 478, 475,
697 515, 0, 0, 0, 491, 0, 492, 356, 0, 0,
698 0, 545, 0, 459, 456, 0, 521, 0, 521, 521,
699 498, 0, 31, 30, 574, 579, 575, 577, 578, 44,
700 0, 614, 625, 0, 0, 634, 624, 610, 0, 336,
701 0, 355, 343, 0, 516, 0, 515, 0, 478, 379,
702 378, 490, 0, 540, 0, 544, 636, 0, 0, 0,
703 457, 454, 0, 451, 449, 0, 576, 599, 585, 608,
704 600, 0, 0, 636, 580, 636, 0, 0, 635, 0,
705 327, 333, 335, 0, 0, 0, 515, 479, 482, 476,
706 0, 494, 541, 0, 546, 0, 0, 521, 0, 636,
707 0, 595, 0, 627, 626, 615, 569, 0, 520, 0,
708 0, 480, 515, 477, 0, 459, 0, 455, 0, 0,
709 0, 0, 0, 616, 636, 623, 606, 0, 0, 0,
710 515, 483, 0, 0, 459, 0, 601, 0, 499, 597,
711 572, 570, 596, 0, 584, 628, 0, 0, 481, 0,
712 0, 0, 0, 0, 602, 603, 581, 0, 571, 0,
713 517, 0, 0, 521, 636, 0, 636, 598, 0, 542,
714 459, 452, 0, 582, 604, 518, 0, 601, 521, 0,
718 /* YYPGOTO[NTERM-NUM]. */
719 static const short yypgoto
[] =
721 -719, -319, -73, -11, -48, -719, -719, -719, 509, -719,
722 -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
723 -719, -719, -86, -719, -282, -719, -719, -719, -483, -719,
724 -719, 377, -153, 26, -144, -180, -19, -14, -719, -719,
725 -719, 514, -719, -719, 366, -719, -719, -719, -719, -70,
726 -270, -719, -719, -181, -719, -719, 367, -719, -90, 539,
727 46, -3, 49, -719, -719, -719, -719, -182, -719, -84,
728 3, -33, -719, -719, 176, -365, -719, -250, -719, 11,
729 -719, -82, -357, -719, -50, -719, 111, -719, -455, -451,
730 215, -719, -715, -87, -384, -719, -375, -29, -719, 399,
731 -719, -719, 551, -719, -206, -688, -718, -719, -719, 556,
732 -719, 182, -376, -719, -350, -701, 149, -204, -719, -719,
733 -704, -719, -719, -308, -349, -719, -719, -719, -240, -719,
734 -414, -410, -406, -719, -719, -719, -719, -719, -719, -150,
738 /* YYDEFGOTO[NTERM-NUM]. */
739 static const short yydefgoto
[] =
741 -1, 709, 501, 169, 358, 640, 26, 27, 28, 29,
742 30, 86, 87, 88, 89, 364, 90, 91, 92, 319,
743 757, 758, 359, 360, 377, 686, 687, 31, 502, 503,
744 32, 96, 692, 693, 694, 33, 34, 35, 36, 37,
745 38, 39, 40, 41, 182, 409, 412, 185, 42, 188,
746 504, 43, 197, 807, 44, 45, 641, 642, 643, 46,
747 47, 48, 99, 420, 50, 421, 51, 422, 423, 424,
748 425, 505, 53, 54, 491, 492, 696, 817, 857, 101,
749 428, 429, 657, 507, 508, 679, 460, 56, 102, 103,
750 146, 654, 768, 387, 403, 519, 172, 447, 174, 175,
751 401, 57, 58, 717, 718, 658, 719, 153, 720, 721,
752 722, 437, 438, 439, 909, 910, 911, 796, 797, 798,
753 142, 892, 912, 841, 923, 924, 440, 668, 808, 441,
754 925, 660, 143, 846, 874, 442, 443, 444, 665, 666,
758 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
759 positive, shift that token. If negative, reduce the rule whose
760 number is the opposite. If YYTABLE_NINF, syntax error. */
761 static const short yytable
[] =
763 171, 159, 361, 52, 173, 141, 144, 145, 426, 419,
764 419, 55, 98, 68, 170, 445, 388, 659, 100, 375,
765 176, 522, 488, 489, 669, 661, 710, 52, 661, 520,
766 52, 781, 698, 318, 506, 452, 699, 799, 55, 800,
767 795, 97, 378, 365, 645, 518, 362, 453, 52, 49,
768 168, 193, 194, 195, 389, 818, 67, 390, 485, 49,
769 823, 671, 826, -447, -467, -393, -467, 746, -392, -393,
770 317, 22, -24, 49, 730, 158, 49, 109, 895, 399,
771 402, 376, 379, 381, 490, 155, 672, 461, 840, 487,
772 385, 186, 98, 464, 49, 398, 799, 166, 100, 844,
773 11, 858, 410, 156, 773, 411, 862, 884, 59, 814,
774 60, 1, 2, 3, 4, 5, 6, 7, 8, 815,
775 -458, 383, 196, -393, 9, 406, -392, 448, 677, 161,
776 187, 837, 838, 485, 671, 729, 11, 400, 781, 363,
777 189, 881, 485, 705, 706, 485, 644, 190, 177, 178,
778 179, 749, 506, 180, 750, 871, -519, -447, 65, 98,
779 386, -519, 405, 446, 52, 100, 181, 901, -387, -512,
780 135, 136, 137, 138, 139, 140, 191, 177, 178, 179,
781 427, 889, 180, 685, 192, 918, 198, 799, 97, 913,
782 162, 62, 63, 64, 65, 181, 163, -361, 320, -361,
783 -361, 840, 688, 689, 183, 4, 5, 67, 384, 799,
784 49, -458, 928, 939, 125, 126, 127, 128, 129, 130,
785 131, 132, 133, 799, -498, 913, -498, -498, 147, 386,
786 164, 148, 454, 456, 457, 149, 698, 150, 151, 458,
787 699, 698, -393, -393, 375, 699, 942, -512, 152, -388,
788 -512, 459, 1, 2, 3, 4, 5, 6, 7, 8,
789 391, 731, 392, 733, 393, 9, 736, 378, 647, 648,
790 61, 650, 651, 779, 780, 783, 784, 11, 394, 1,
791 2, 3, 4, 5, 6, 7, 8, 430, 431, 432,
792 433, 434, 9, 435, 436, 738, 375, 61, 786, 787,
793 848, 673, 375, 759, 11, 395, 376, 695, 380, 382,
794 397, 402, 455, 404, 408, 414, 449, 416, 417, 378,
795 704, 670, 487, 465, 486, 378, 511, 512, 509, 801,
796 513, 523, 62, 63, 64, 65, 450, 661, 646, 649,
797 652, 168, 681, 653, 864, 673, 674, 675, 677, 676,
798 782, 775, 776, 690, 707, 785, 740, 724, 376, 93,
799 94, 18, 65, 463, 376, 734, 485, 737, 711, 485,
800 485, 66, 741, 742, 743, 521, 430, 431, 432, 433,
801 434, 744, 435, 436, 794, 745, 171, 746, 747, 748,
802 173, 751, 375, 752, 760, 767, 95, 655, 761, 663,
803 170, 667, 831, 762, 833, 834, 819, 820, 763, 765,
804 777, 375, 375, 778, 788, 378, 821, 810, 789, 809,
805 827, 813, 664, 430, 431, 432, 433, 434, 816, 435,
806 436, 873, 824, 832, 378, 378, 405, 835, 842, 661,
807 843, 845, -609, 794, 678, 849, 853, 855, 854, 859,
808 865, 683, 866, 867, 376, 700, 701, 869, 876, 875,
809 880, 877, 878, 879, 732, 861, 419, 896, 882, 419,
810 506, 897, 883, 376, 376, 885, 891, 886, 888, 893,
811 915, 811, 812, 887, 98, 870, 894, 898, 661, 902,
812 100, 899, 485, 485, 904, 905, 906, 916, 697, 914,
813 661, 1, 2, 3, 4, 5, 6, 7, 8, 726,
814 745, 695, 917, 919, 9, 920, 695, 927, 929, 10,
815 931, 930, 944, 932, 933, 934, 11, 12, 13, 935,
816 661, 938, 936, 907, 794, 940, 167, 943, 14, 396,
817 945, 661, 947, 770, 948, 951, 952, 766, 147, 941,
818 413, 148, 728, 415, 184, 149, 794, 150, 151, 712,
819 713, 714, 715, 165, 950, 735, 493, 804, 860, 680,
820 794, 739, 157, 407, 825, 154, 510, 937, 716, 656,
821 15, 16, 17, 18, 19, 20, 21, 836, 22, 1,
822 2, 3, 4, 5, 6, 7, 8, 922, 949, 868,
823 805, 829, 9, 419, 0, 0, 0, 61, 0, 0,
824 0, 771, 772, 23, 11, 0, 0, 0, 24, 0,
825 25, 0, 769, 0, 0, 0, 0, 0, 1, 2,
826 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
827 754, 9, 427, 0, 837, 838, 61, 0, 0, 521,
828 0, 0, 0, 11, 0, 0, 0, 0, 0, 839,
829 0, 0, 171, 0, 0, 756, 173, 0, 0, 93,
830 94, 18, 65, 0, 0, 0, 170, 0, 0, 0,
831 0, 0, 0, 0, 0, 170, 385, 0, 98, 0,
832 375, 375, 0, 98, 100, 0, 521, 0, 0, 100,
833 0, 521, 697, 903, 0, 419, 691, 697, 93, 94,
834 18, 65, 802, 378, 378, 446, 0, 0, 446, 0,
835 0, 0, 921, 850, 419, 0, 803, 125, 126, 127,
836 128, 129, 130, 131, 132, 133, 0, 147, 0, 664,
837 148, 0, 0, 0, 149, 691, 150, 151, 712, 713,
838 714, 715, 376, 376, 0, 0, 0, 0, 946, 0,
839 419, 0, 1, 2, 3, 4, 5, 6, 7, 8,
840 847, 828, 69, 0, 726, 9, 0, 0, 0, 0,
841 61, 0, 0, 856, 456, 457, 700, 701, 0, 0,
842 0, 0, 0, 0, 0, 0, 0, 0, 0, 852,
843 0, 0, 459, 0, 0, 863, 446, 0, 70, 71,
844 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
845 0, 82, 83, 84, 85, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
847 0, 0, 62, 63, 64, 0, 0, 0, 0, 900,
848 0, 0, 0, 0, 0, 0, 0, 0, 908, 0,
849 0, 0, 0, 0, 199, 0, 0, 200, 201, 202,
850 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
851 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
852 223, 224, 225, 226, 908, 227, 228, 229, 230, 231,
853 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
854 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
855 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
856 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
857 272, 273, 274, 275, 0, 276, 0, 277, 278, 279,
858 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
859 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
860 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
861 310, 0, 0, 311, 0, 312, 313, 314, 315, 316,
862 199, 0, 0, 321, 201, 202, 203, 204, 205, 206,
863 207, 208, 322, 323, 324, 325, 213, 326, 327, 216,
864 217, 218, 328, 220, 221, 222, 223, 224, 225, 226,
865 0, 227, 228, 229, 230, 231, 232, 233, 234, 235,
866 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
867 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
868 256, 257, 258, 259, 260, 261, 329, 330, 331, 332,
869 333, 267, 268, 269, 270, 271, 272, 273, 274, 275,
870 0, 276, 0, 277, 278, 279, 280, 281, 334, 283,
871 335, 336, 337, 338, 339, 340, 290, 341, 292, 293,
872 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
873 352, 353, 354, 355, 356, 357, 310, 0, 0, 311,
874 0, 312, 313, 314, 315, 316, 524, 0, 0, 525,
875 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
876 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
877 546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
878 555, 556, 414, 727, 557, 558, 559, 560, 561, 562,
879 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
880 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
881 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
882 593, 594, 595, 596, 597, 598, 0, 599, 0, 600,
883 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
884 611, 612, 613, 614, 615, 616, 617, 618, 619, 620,
885 621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
886 631, 632, 633, 0, 0, 634, 0, 635, 636, 637,
887 638, 639, 524, 0, 0, 525, 526, 527, 528, 529,
888 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
889 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
890 550, 551, 0, 552, 553, 554, 555, 556, 414, 0,
891 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
892 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
893 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
894 587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
895 597, 598, 0, 599, 0, 600, 601, 602, 603, 604,
896 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
897 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
898 625, 626, 627, 628, 629, 630, 631, 632, 633, -585,
899 0, 634, 0, 635, 636, 637, 638, 639, -585, -585,
900 -585, -585, 0, -585, -585, 0, 0, 0, -585, 0,
901 0, 0, 0, 0, 0, -585, -585, -585, -585, -585,
902 -585, -585, -585, -585, -585, -585, -585, 0, -585, -585,
903 -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
904 -585, -585, -585, -585, -585, -585, 0, 0, 0, 0,
905 0, -585, -585, -585, -585, -585, -585, 1, 2, 3,
906 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
907 9, 0, 0, -585, -585, 61, -585, -585, -585, -585,
908 -585, -585, 11, -585, 0, 0, -585, -585, -585, -585,
909 -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
910 -585, -585, 0, 104, 0, 0, 0, 0, 0, 0,
911 0, -585, 105, 106, 107, 108, 0, 109, 110, 514,
912 0, 0, 111, 497, 0, 498, 0, 499, 368, 515,
913 0, 0, 500, 0, 0, 0, 0, 62, 63, 64,
914 65, 0, 0, 0, 0, 0, 0, 370, 371, 168,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 372, 373, 0, 0, 0, 0, 112, 113, 114, 115,
917 116, 1, 2, 3, 4, 5, 6, 7, 8, 0,
918 0, 0, 0, 0, 9, 0, 0, 516, 117, 61,
919 118, 119, 120, 121, 122, 123, 11, 124, 0, 0,
920 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
921 135, 136, 137, 138, 139, 140, 104, 0, 0, 0,
922 0, 0, 0, 0, 517, 105, 106, 107, 108, 0,
923 109, 110, 0, 0, 0, 111, 0, 0, 366, 0,
924 367, 368, 0, 0, 0, 369, 0, 0, 0, 0,
925 0, 93, 94, 18, 65, 0, 0, 0, 0, 0,
926 370, 371, 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 372, 373, 0, 0, 0, 0, 112,
928 113, 114, 115, 116, 0, 0, 0, 0, 0, 0,
929 0, 374, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 117, 0, 118, 119, 120, 121, 122, 123, 0,
931 124, 0, 0, 125, 126, 127, 128, 129, 130, 131,
932 132, 133, 134, 135, 136, 137, 138, 139, 140, -33,
933 0, 0, 684, 0, 0, 0, 0, 0, -33, -33,
934 -33, -33, 0, -33, -33, 0, 0, 0, -33, 0,
935 0, -33, -33, -33, -33, 0, 0, 0, -33, 0,
936 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
937 6, 7, 8, -33, -33, 0, 0, 0, 9, 0,
938 0, 0, 0, 61, 0, 0, -33, -33, 0, 0,
939 11, 0, -33, -33, -33, -33, -33, 0, 0, 0,
940 0, 0, 0, 0, -33, 0, 0, 0, 0, 0,
941 0, 0, 0, 0, -33, 0, -33, -33, -33, -33,
942 -33, -33, 0, -33, 0, 0, -33, -33, -33, -33,
943 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
944 -33, -33, -34, 0, -33, 62, 63, 64, 65, 0,
945 0, -34, -34, -34, -34, 0, -34, -34, 0, 0,
946 0, -34, 0, 0, -34, -34, -34, -34, 0, 0,
947 0, -34, 0, 0, 0, 0, 0, 0, 1, 2,
948 3, 4, 5, 6, 7, 8, -34, -34, 0, 0,
949 0, 418, 0, 0, 0, 0, 61, 0, 0, -34,
950 -34, 0, 0, 11, 0, -34, -34, -34, -34, -34,
951 0, 0, 0, 0, 0, 0, 0, -34, 0, 0,
952 0, 0, 0, 0, 0, 0, 0, -34, 0, -34,
953 -34, -34, -34, -34, -34, 0, -34, 0, 0, -34,
954 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
955 -34, -34, -34, -34, -34, -35, 0, -34, 62, 63,
956 64, 65, 0, 0, -35, -35, -35, -35, 0, -35,
957 -35, 0, 0, 0, -35, 0, 0, -35, -35, -35,
958 -35, 0, 0, 0, -35, 0, 0, 0, 0, 0,
959 0, 1, 2, 3, 4, 5, 6, 7, 8, -35,
960 -35, 0, 0, 0, 9, 0, 0, 0, 0, 61,
961 0, 0, -35, -35, 0, 0, 0, 0, -35, -35,
962 -35, -35, -35, 0, 0, 0, 0, 0, 0, 0,
963 -35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
964 -35, 0, -35, -35, -35, -35, -35, -35, 0, -35,
965 0, 0, -35, -35, -35, -35, -35, -35, -35, -35,
966 -35, -35, -35, -35, -35, -35, -35, -35, -36, 0,
967 -35, 62, 63, 64, 0, 0, 0, -36, -36, -36,
968 -36, 0, -36, -36, 0, 0, 0, -36, 0, 0,
969 -36, -36, -36, -36, 0, 0, 0, -36, 0, 0,
970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
971 0, 0, -36, -36, 0, 0, 0, 0, 0, 0,
972 0, 0, 0, 0, 0, -36, -36, 0, 0, 0,
973 0, -36, -36, -36, -36, -36, 0, 0, 0, 0,
974 0, 0, 0, -36, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, -36, 0, -36, -36, -36, -36, -36,
976 -36, 0, -36, 0, 0, -36, -36, -36, -36, -36,
977 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
978 -36, -37, 0, -36, 0, 0, 0, 0, 0, 0,
979 -37, -37, -37, -37, 0, -37, -37, 0, 0, 0,
980 -37, 0, 0, -37, -37, -37, -37, 0, 0, 0,
981 -37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, -37, -37, 0, 0, 0,
983 0, 0, 0, 0, 0, 0, 0, 0, -37, -37,
984 0, 0, 0, 0, -37, -37, -37, -37, -37, 0,
985 0, 0, 0, 0, 0, 0, -37, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, -37, 0, -37, -37,
987 -37, -37, -37, -37, 0, -37, 0, 0, -37, -37,
988 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
989 -37, -37, -37, -37, -60, 0, -37, 0, 0, 0,
990 0, 0, 0, -60, -60, -60, -60, 0, -60, -60,
991 0, 0, 0, -60, 0, 0, -60, -60, -60, -60,
992 0, 0, 0, -60, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 0, 0, 0, 0, -60, -60,
994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
995 0, -60, -60, 0, 0, 0, 0, -60, -60, -60,
996 -60, -60, 0, 0, 0, 0, 0, 0, 0, -60,
997 0, 0, 0, 0, 0, 0, 0, 0, 0, -60,
998 0, -60, -60, -60, -60, -60, -60, 0, -60, 0,
999 0, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1000 -60, -60, -60, -60, -60, -60, -60, -61, 0, -624,
1001 0, 0, 0, 0, 0, 0, -61, -61, -61, -61,
1002 0, -61, -61, 0, 0, 0, -61, 0, 0, -61,
1003 -61, -61, -61, 0, 0, 0, -61, 0, 0, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1005 0, -61, -61, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, -61, -61, 0, 0, 0, 0,
1007 -61, -61, -61, -61, -61, 0, 0, 0, 0, 0,
1008 0, 0, -61, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, -61, 0, -61, -61, -61, -61, -61, -61,
1010 0, -61, 0, 0, -61, -61, -61, -61, -61, -61,
1011 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
1012 -24, 0, -585, 0, 0, 0, 0, 0, 0, -24,
1013 -24, -24, -24, 0, -24, -24, 0, 0, 0, -24,
1014 0, 0, -24, -24, -24, -24, 0, 0, 0, -24,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, -24, -24, 0, 0, 0, 0,
1017 0, 0, 0, 0, 0, 0, 0, -24, -24, 0,
1018 0, 0, 0, -24, -24, -24, -24, -24, 0, 0,
1019 0, 0, 0, 0, 0, -24, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, -24, 0, -24, -24, -24,
1021 -24, -24, -24, 0, -24, 0, 0, -24, -24, -24,
1022 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
1023 -24, -24, -24, -42, 0, -24, 0, 0, 0, 0,
1024 0, 0, -42, -42, -42, -42, 0, -42, -42, 0,
1025 0, 0, -42, 0, 0, -42, -42, -42, -42, 0,
1026 0, 0, -42, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, -42, -42, 0,
1028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1029 -42, -42, 0, 0, 0, 0, -42, -42, -42, -42,
1030 -42, 0, 0, 0, 0, 0, 0, 0, -42, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0, -42, 0,
1032 -42, -42, -42, -42, -42, -42, 0, -42, 0, 0,
1033 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1034 -42, -42, -42, -42, -42, -42, -41, 0, -42, 0,
1035 0, 0, 0, 0, 0, -41, -41, -41, -41, 0,
1036 -41, -41, 0, 0, 0, -41, 0, 0, -41, -41,
1037 -41, -41, 0, 0, 0, -41, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1039 -41, -41, 0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 0, -41, -41, 0, 0, 0, 0, -41,
1041 -41, -41, -41, -41, 0, 0, 0, 0, 0, 0,
1042 0, -41, 0, 0, 0, 0, 0, 0, 0, 0,
1043 0, -41, 0, -41, -41, -41, -41, -41, -41, 0,
1044 -41, 0, 0, -41, -41, -41, -41, -41, -41, -41,
1045 -41, -41, -41, -41, -41, -41, -41, -41, -41, -40,
1046 0, -41, 0, 0, 0, 0, 0, 0, -40, -40,
1047 -40, -40, 0, -40, -40, 0, 0, 0, -40, 0,
1048 0, -40, -40, -40, -40, 0, 0, 0, -40, 0,
1049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, -40, -40, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, -40, -40, 0, 0,
1052 0, 0, -40, -40, -40, -40, -40, 0, 0, 0,
1053 0, 0, 0, 0, -40, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, -40, 0, -40, -40, -40, -40,
1055 -40, -40, 0, -40, 0, 0, -40, -40, -40, -40,
1056 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1057 -40, -40, -38, 0, -40, 0, 0, 0, 0, 0,
1058 0, -38, -38, -38, -38, 0, -38, -38, 0, 0,
1059 0, -38, 0, 0, -38, -38, -38, -38, 0, 0,
1060 0, -38, 0, 0, 0, 0, 0, 0, 0, 0,
1061 0, 0, 0, 0, 0, 0, -38, -38, 0, 0,
1062 0, 0, 0, 0, 0, 0, 0, 0, 0, -38,
1063 -38, 0, 0, 0, 0, -38, -38, -38, -38, -38,
1064 0, 0, 0, 0, 0, 0, 0, -38, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, -38, 0, -38,
1066 -38, -38, -38, -38, -38, 0, -38, 0, 0, -38,
1067 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1068 -38, -38, -38, -38, -38, -39, 0, -38, 0, 0,
1069 0, 0, 0, 0, -39, -39, -39, -39, 0, -39,
1070 -39, 0, 0, 0, -39, 0, 0, -39, -39, -39,
1071 -39, 0, 0, 0, -39, 0, 0, 0, 0, 0,
1072 0, 0, 0, 0, 0, 0, 0, 0, 0, -39,
1073 -39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1074 0, 0, -39, -39, 0, 0, 0, 0, -39, -39,
1075 -39, -39, -39, 0, 0, 0, 0, 0, 0, 0,
1076 -39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 -39, 0, -39, -39, -39, -39, -39, -39, 0, -39,
1078 0, 0, -39, -39, -39, -39, -39, -39, -39, -39,
1079 -39, -39, -39, -39, -39, -39, -39, -39, -32, 0,
1080 -39, 0, 0, 0, 0, 0, 0, -32, -32, -32,
1081 -32, 0, -32, -32, 0, 0, 0, -32, 0, 0,
1082 -32, -32, -32, -32, 0, 0, 0, -32, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1084 0, 0, -32, -32, 0, 0, 0, 0, 0, 0,
1085 0, 0, 0, 0, 0, -32, -32, 0, 0, 0,
1086 0, -32, -32, -32, -32, -32, 0, 0, 0, 0,
1087 0, 0, 0, -32, 0, 0, 0, 0, 0, 0,
1088 0, 0, 0, -32, 0, -32, -32, -32, -32, -32,
1089 -32, 0, -32, 0, 0, -32, -32, -32, -32, -32,
1090 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1091 -32, -31, 0, -32, 0, 0, 0, 0, 0, 0,
1092 -31, -31, -31, -31, 0, -31, -31, 0, 0, 0,
1093 -31, 0, 0, -31, -31, -31, -31, 0, 0, 0,
1094 -31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1095 0, 0, 0, 0, 0, -31, -31, 0, 0, 0,
1096 0, 0, 0, 0, 0, 0, 0, 0, -31, -31,
1097 0, 0, 0, 0, -31, -31, -31, -31, -31, 0,
1098 0, 0, 0, 0, 0, 0, -31, 0, 0, 0,
1099 0, 0, 0, 0, 0, 0, -31, 0, -31, -31,
1100 -31, -31, -31, -31, 0, -31, 0, 0, -31, -31,
1101 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1102 -31, -31, -31, -31, -25, 0, -31, 0, 0, 0,
1103 0, 0, 0, -25, -25, -25, -25, 0, -25, -25,
1104 0, 0, 0, -25, 0, 0, -25, -25, -25, -25,
1105 0, 0, 0, -25, 0, 0, 0, 0, 0, 0,
1106 0, 0, 0, 0, 0, 0, 0, 0, -25, -25,
1107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1108 0, -25, -25, 0, 0, 0, 0, -25, -25, -25,
1109 -25, -25, 0, 0, 0, 0, 0, 0, 0, -25,
1110 0, 0, 0, 0, 0, 0, 0, 0, 0, -25,
1111 0, -25, -25, -25, -25, -25, -25, 0, -25, 0,
1112 0, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1113 -25, -25, -25, -25, -25, -25, -25, -29, 0, -25,
1114 0, 0, 0, 0, 0, 0, -29, -29, -29, -29,
1115 0, -29, -29, 0, 0, 0, -29, 0, 0, -29,
1116 -29, -29, -29, 0, 0, 0, -29, 0, 0, 0,
1117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1118 0, -29, -29, 0, 0, 0, 0, 0, 0, 0,
1119 0, 0, 0, 0, -29, -29, 0, 0, 0, 0,
1120 -29, -29, -29, -29, -29, 0, 0, 0, 0, 0,
1121 0, 0, -29, 0, 0, 0, 0, 0, 0, 0,
1122 0, 0, -29, 0, -29, -29, -29, -29, -29, -29,
1123 0, -29, 0, 0, -29, -29, -29, -29, -29, -29,
1124 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1125 -28, 0, -29, 0, 0, 0, 0, 0, 0, -28,
1126 -28, -28, -28, 0, -28, -28, 0, 0, 0, -28,
1127 0, 0, -28, -28, -28, -28, 0, 0, 0, -28,
1128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1129 0, 0, 0, 0, -28, -28, 0, 0, 0, 0,
1130 0, 0, 0, 0, 0, 0, 0, -28, -28, 0,
1131 0, 0, 0, -28, -28, -28, -28, -28, 0, 0,
1132 0, 0, 0, 0, 0, -28, 0, 0, 0, 0,
1133 0, 0, 0, 0, 0, -28, 0, -28, -28, -28,
1134 -28, -28, -28, 0, -28, 0, 0, -28, -28, -28,
1135 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
1136 -28, -28, -28, -26, 0, -28, 0, 0, 0, 0,
1137 0, 0, -26, -26, -26, -26, 0, -26, -26, 0,
1138 0, 0, -26, 0, 0, -26, -26, -26, -26, 0,
1139 0, 0, -26, 0, 0, 0, 0, 0, 0, 0,
1140 0, 0, 0, 0, 0, 0, 0, -26, -26, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1142 -26, -26, 0, 0, 0, 0, -26, -26, -26, -26,
1143 -26, 0, 0, 0, 0, 0, 0, 0, -26, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0, -26, 0,
1145 -26, -26, -26, -26, -26, -26, 0, -26, 0, 0,
1146 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1147 -26, -26, -26, -26, -26, -26, -27, 0, -26, 0,
1148 0, 0, 0, 0, 0, -27, -27, -27, -27, 0,
1149 -27, -27, 0, 0, 0, -27, 0, 0, -27, -27,
1150 -27, -27, 0, 0, 0, -27, 0, 0, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1152 -27, -27, 0, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, -27, -27, 0, 0, 0, 0, -27,
1154 -27, -27, -27, -27, 0, 0, 0, 0, 0, 0,
1155 0, -27, 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, -27, 0, -27, -27, -27, -27, -27, -27, 0,
1157 -27, 0, 0, -27, -27, -27, -27, -27, -27, -27,
1158 -27, -27, -27, -27, -27, -27, -27, -27, -27, -43,
1159 0, -27, 0, 0, 0, 0, 0, 0, -43, -43,
1160 -43, -43, 0, -43, -43, 0, 0, 0, -43, 0,
1161 0, -43, -43, -43, -43, 0, 0, 0, -43, 0,
1162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1163 0, 0, 0, -43, -43, 0, 0, 0, 0, 0,
1164 0, 0, 0, 0, 0, 0, -43, -43, 0, 0,
1165 0, 0, -43, -43, -43, -43, -43, 0, 0, 0,
1166 0, 0, 0, 0, -43, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, -43, 0, -43, -43, -43, -43,
1168 -43, -43, 0, -43, 0, 0, -43, -43, -43, -43,
1169 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1170 -43, -43, -138, 0, -43, 0, 0, 0, 0, 0,
1171 0, -138, -138, -138, -138, 0, -138, -138, 0, 0,
1172 0, -138, 0, 0, -138, -138, -138, -138, 0, 0,
1173 0, -138, 0, 0, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, 0, 0, 0, -138, -138, 0, 0,
1175 0, 0, 0, 0, 0, 0, 0, 0, 0, -138,
1176 -138, 0, 0, 0, 0, -138, -138, -138, -138, -138,
1177 0, 0, 0, 0, 0, 0, 0, -138, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, -138, 0, -138,
1179 -138, -138, -138, -138, -138, 0, -138, 0, 0, -138,
1180 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1181 -138, -138, -138, -138, -138, -139, 0, -593, 0, 0,
1182 0, 0, 0, 0, -139, -139, -139, -139, 0, -139,
1183 -139, 0, 0, 0, -139, 0, 0, -139, -139, -139,
1184 -139, 0, 0, 0, -139, 0, 0, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, 0, 0, 0, -139,
1186 -139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, -139, -139, 0, 0, 0, 0, -139, -139,
1188 -139, -139, -139, 0, 0, 0, 0, 0, 0, 0,
1189 -139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 -139, 0, -139, -139, -139, -139, -139, -139, 0, -139,
1191 0, 0, -139, -139, -139, -139, -139, -139, -139, -139,
1192 -139, -139, -139, -139, -139, -139, -139, -139, -140, 0,
1193 -592, 0, 0, 0, 0, 0, 0, -140, -140, -140,
1194 -140, 0, -140, -140, 0, 0, 0, -140, 0, 0,
1195 -140, -140, -140, -140, 0, 0, 0, -140, 0, 0,
1196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1197 0, 0, -140, -140, 0, 0, 0, 0, 0, 0,
1198 0, 0, 0, 0, 0, -140, -140, 0, 0, 0,
1199 0, -140, -140, -140, -140, -140, 0, 0, 0, 0,
1200 0, 0, 0, -140, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, -140, 0, -140, -140, -140, -140, -140,
1202 -140, 0, -140, 0, 0, -140, -140, -140, -140, -140,
1203 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1204 -140, -141, 0, -590, 0, 0, 0, 0, 0, 0,
1205 -141, -141, -141, -141, 0, -141, -141, 0, 0, 0,
1206 -141, 0, 0, -141, -141, -141, -141, 0, 0, 0,
1207 -141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, -141, -141, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 0, 0, -141, -141,
1210 0, 0, 0, 0, -141, -141, -141, -141, -141, 0,
1211 0, 0, 0, 0, 0, 0, -141, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, -141, 0, -141, -141,
1213 -141, -141, -141, -141, 0, -141, 0, 0, -141, -141,
1214 -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1215 -141, -141, -141, -141, -142, 0, -588, 0, 0, 0,
1216 0, 0, 0, -142, -142, -142, -142, 0, -142, -142,
1217 0, 0, 0, -142, 0, 0, -142, -142, -142, -142,
1218 0, 0, 0, -142, 0, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, 0, 0, 0, -142, -142,
1220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1221 0, -142, -142, 0, 0, 0, 0, -142, -142, -142,
1222 -142, -142, 0, 0, 0, 0, 0, 0, 0, -142,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, -142,
1224 0, -142, -142, -142, -142, -142, -142, 0, -142, 0,
1225 0, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1226 -142, -142, -142, -142, -142, -142, -142, -143, 0, -589,
1227 0, 0, 0, 0, 0, 0, -143, -143, -143, -143,
1228 0, -143, -143, 0, 0, 0, -143, 0, 0, -143,
1229 -143, -143, -143, 0, 0, 0, -143, 0, 0, 0,
1230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1231 0, -143, -143, 0, 0, 0, 0, 0, 0, 0,
1232 0, 0, 0, 0, -143, -143, 0, 0, 0, 0,
1233 -143, -143, -143, -143, -143, 0, 0, 0, 0, 0,
1234 0, 0, -143, 0, 0, 0, 0, 0, 0, 0,
1235 0, 0, -143, 0, -143, -143, -143, -143, -143, -143,
1236 0, -143, 0, 0, -143, -143, -143, -143, -143, -143,
1237 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1238 -144, 0, -591, 0, 0, 0, 0, 0, 0, -144,
1239 -144, -144, -144, 0, -144, -144, 0, 0, 0, -144,
1240 0, 0, -144, -144, -144, -144, 0, 0, 0, -144,
1241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 0, 0, 0, -144, -144, 0, 0, 0, 0,
1243 0, 0, 0, 0, 0, 0, 0, -144, -144, 0,
1244 0, 0, 0, -144, -144, -144, -144, -144, 0, 0,
1245 0, 0, 0, 0, 0, -144, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, -144, 0, -144, -144, -144,
1247 -144, -144, -144, 0, -144, 0, 0, -144, -144, -144,
1248 -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
1249 -144, -144, -144, -145, 0, -587, 0, 0, 0, 0,
1250 0, 0, -145, -145, -145, -145, 0, -145, -145, 0,
1251 0, 0, -145, 0, 0, -145, -145, -145, -145, 0,
1252 0, 0, -145, 0, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, -145, -145, 0,
1254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1255 -145, -145, 0, 0, 0, 0, -145, -145, -145, -145,
1256 -145, 0, 0, 0, 0, 0, 0, 0, -145, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0, -145, 0,
1258 -145, -145, -145, -145, -145, -145, 0, -145, 0, 0,
1259 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1260 -145, -145, -145, -145, -145, -145, -146, 0, -586, 0,
1261 0, 0, 0, 0, 0, -146, -146, -146, -146, 0,
1262 -146, -146, 0, 0, 0, -146, 0, 0, -146, -146,
1263 -146, -146, 0, 0, 0, -146, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1265 -146, -146, 0, 0, 0, 0, 0, 0, 0, 0,
1266 0, 0, 0, -146, -146, 0, 0, 0, 0, -146,
1267 -146, -146, -146, -146, 0, 0, 0, 0, 0, 0,
1268 0, -146, 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, -146, 0, -146, -146, -146, -146, -146, -146, 0,
1270 -146, 0, 0, -146, -146, -146, -146, -146, -146, -146,
1271 -146, -146, -146, -146, -146, -146, -146, -146, -146, -30,
1272 0, -594, 0, 0, 0, 0, 0, 0, -30, -30,
1273 -30, -30, 0, -30, -30, 0, 0, 0, -30, 0,
1274 0, -30, -30, -30, -30, 0, 0, 0, -30, 0,
1275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1276 0, 0, 0, -30, -30, 0, 0, 0, 0, 0,
1277 0, 0, 0, 0, 0, 0, -30, -30, 0, 0,
1278 0, 0, -30, -30, -30, -30, -30, 0, 0, 0,
1279 0, 0, 0, 0, -30, 0, 0, 0, 0, 0,
1280 0, 0, 0, 0, -30, 0, -30, -30, -30, -30,
1281 -30, -30, 0, -30, 0, 0, -30, -30, -30, -30,
1282 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1283 -30, -30, -148, 0, -30, 0, 0, 0, 0, 0,
1284 0, -148, -148, -148, -148, 0, -148, -148, 0, 0,
1285 0, -148, 0, 0, -148, -148, -148, -148, 0, 0,
1286 0, -148, 0, 0, 0, 0, 0, 0, 0, 0,
1287 0, 0, 0, 0, 0, 0, -148, -148, 0, 0,
1288 0, 0, 0, 0, 0, 0, 0, 0, 0, -148,
1289 -148, 0, 0, 0, 0, -148, -148, -148, -148, -148,
1290 0, 0, 0, 0, 0, 0, 0, -148, 0, 0,
1291 0, 0, 0, 0, 0, 0, 0, -148, 0, -148,
1292 -148, -148, -148, -148, -148, 0, -148, 0, 0, -148,
1293 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1294 -148, -148, -148, -148, -148, -149, 0, -622, 0, 0,
1295 0, 0, 0, 0, -149, -149, -149, -149, 0, -149,
1296 -149, 0, 0, 0, -149, 0, 0, -149, -149, -149,
1297 -149, 0, 0, 0, -149, 0, 0, 0, 0, 0,
1298 0, 0, 0, 0, 0, 0, 0, 0, 0, -149,
1299 -149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1300 0, 0, -149, -149, 0, 0, 0, 0, -149, -149,
1301 -149, -149, -149, 0, 0, 0, 0, 0, 0, 0,
1302 -149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303 -149, 0, -149, -149, -149, -149, -149, -149, 0, -149,
1304 0, 0, -149, -149, -149, -149, -149, -149, -149, -149,
1305 -149, -149, -149, -149, -149, -149, -149, -149, -150, 0,
1306 -620, 0, 0, 0, 0, 0, 0, -150, -150, -150,
1307 -150, 0, -150, -150, 0, 0, 0, -150, 0, 0,
1308 -150, -150, -150, -150, 0, 0, 0, -150, 0, 0,
1309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310 0, 0, -150, -150, 0, 0, 0, 0, 0, 0,
1311 0, 0, 0, 0, 0, -150, -150, 0, 0, 0,
1312 0, -150, -150, -150, -150, -150, 0, 0, 0, 0,
1313 0, 0, 0, -150, 0, 0, 0, 0, 0, 0,
1314 0, 0, 0, -150, 0, -150, -150, -150, -150, -150,
1315 -150, 0, -150, 0, 0, -150, -150, -150, -150, -150,
1316 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1317 -150, -151, 0, -619, 0, 0, 0, 0, 0, 0,
1318 -151, -151, -151, -151, 0, -151, -151, 0, 0, 0,
1319 -151, 0, 0, -151, -151, -151, -151, 0, 0, 0,
1320 -151, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1321 0, 0, 0, 0, 0, -151, -151, 0, 0, 0,
1322 0, 0, 0, 0, 0, 0, 0, 0, -151, -151,
1323 0, 0, 0, 0, -151, -151, -151, -151, -151, 0,
1324 0, 0, 0, 0, 0, 0, -151, 0, 0, 0,
1325 0, 0, 0, 0, 0, 0, -151, 0, -151, -151,
1326 -151, -151, -151, -151, 0, -151, 0, 0, -151, -151,
1327 -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
1328 -151, -151, -151, -151, -152, 0, -621, 0, 0, 0,
1329 0, 0, 0, -152, -152, -152, -152, 0, -152, -152,
1330 0, 0, 0, -152, 0, 0, -152, -152, -152, -152,
1331 0, 0, 0, -152, 0, 0, 0, 0, 0, 0,
1332 0, 0, 0, 0, 0, 0, 0, 0, -152, -152,
1333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1334 0, -152, -152, 0, 0, 0, 0, -152, -152, -152,
1335 -152, -152, 0, 0, 0, 0, 0, 0, 0, -152,
1336 0, 0, 0, 0, 0, 0, 0, 0, 0, -152,
1337 0, -152, -152, -152, -152, -152, -152, 0, -152, 0,
1338 0, -152, -152, -152, -152, -152, -152, -152, -152, -152,
1339 -152, -152, -152, -152, -152, -152, -152, -153, 0, -618,
1340 0, 0, 0, 0, 0, 0, -153, -153, -153, -153,
1341 0, -153, -153, 0, 0, 0, -153, 0, 0, -153,
1342 -153, -153, -153, 0, 0, 0, -153, 0, 0, 0,
1343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1344 0, -153, -153, 0, 0, 0, 0, 0, 0, 0,
1345 0, 0, 0, 0, -153, -153, 0, 0, 0, 0,
1346 -153, -153, -153, -153, -153, 0, 0, 0, 0, 0,
1347 0, 0, -153, 0, 0, 0, 0, 0, 0, 0,
1348 0, 0, -153, 0, -153, -153, -153, -153, -153, -153,
1349 0, -153, 0, 0, -153, -153, -153, -153, -153, -153,
1350 -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
1351 104, 0, -617, 0, 0, 0, 0, 0, 0, 105,
1352 106, 107, 108, 0, 109, 110, 0, 0, 0, 111,
1353 0, 0, 366, 450, 367, 368, 0, 0, 0, 369,
1354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 0, 0, 370, 371, 0, 0, 0, 0,
1356 0, 0, 0, 0, 0, 0, 0, 372, 373, 0,
1357 0, 0, 0, 112, 113, 114, 115, 116, 0, 0,
1358 0, 0, 0, 0, 0, 374, 0, 0, 0, 0,
1359 0, 0, 0, 0, 0, 117, 0, 118, 119, 120,
1360 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
1361 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1362 138, 139, 140, 0, 0, 451, 104, 1, 2, 3,
1363 4, 5, 6, 7, 8, 105, 106, 107, 108, 0,
1364 702, 110, 514, 0, 0, 703, 497, 0, 498, 0,
1365 499, 368, 11, 0, 0, 500, 0, 0, 0, 0,
1366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1367 370, 371, 168, 0, 0, 0, 0, 0, 0, 0,
1368 0, 0, 0, 372, 373, 0, 0, 0, 0, 112,
1369 113, 114, 115, 116, 0, 0, 0, 0, 0, 0,
1370 0, 0, 0, 0, 0, 0, 0, 62, 63, 64,
1371 65, 117, 0, 118, 119, 120, 121, 122, 123, 0,
1372 124, 0, 0, 125, 126, 127, 128, 129, 130, 131,
1373 132, 133, 134, 135, 136, 137, 138, 139, 140, 104,
1374 0, 0, 0, 0, 0, 0, 0, 0, 105, 106,
1375 107, 108, 0, 109, 110, 494, 495, 496, 111, 497,
1376 0, 498, 450, 499, 368, 0, 0, 0, 500, 0,
1377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1378 0, 0, 0, 370, 371, 168, 0, 0, 0, 0,
1379 0, 0, 0, 0, 0, 0, 372, 373, 0, 0,
1380 0, 0, 112, 113, 114, 115, 116, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1382 0, 0, 0, 0, 117, 0, 118, 119, 120, 121,
1383 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1384 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1385 139, 140, 104, 0, 0, 0, 0, 0, 0, 0,
1386 0, 105, 106, 107, 108, 0, 109, 110, 790, 0,
1387 0, 111, 497, 0, 498, 0, 499, 368, 0, 0,
1388 0, 500, 0, 0, 0, 0, 0, 0, 0, 0,
1389 0, 0, 0, 158, 0, 0, 370, 371, 168, 0,
1390 0, 0, 0, 0, 0, 0, 0, 0, 0, 372,
1391 373, 0, 0, 0, 0, 112, 113, 114, 115, 116,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 0, 0, 0, 117, 791, 792,
1394 119, 120, 121, 122, 123, 0, 124, 0, 0, 125,
1395 126, 127, 128, 129, 130, 131, 132, 133, 793, 135,
1396 136, 137, 138, 139, 140, 104, 0, 0, 0, 0,
1397 0, 0, 0, 0, 105, 106, 107, 108, 0, 109,
1398 110, 514, 0, 0, 111, 497, 0, 498, 0, 499,
1399 368, 0, 0, 0, 500, 0, 0, 0, 0, 0,
1400 0, 0, 0, 0, 0, 0, 158, 0, 0, 370,
1401 371, 168, 0, 0, 0, 0, 0, 0, 0, 0,
1402 0, 0, 372, 373, 0, 0, 872, 0, 112, 113,
1403 114, 115, 116, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405 117, 0, 118, 119, 120, 121, 122, 123, 0, 124,
1406 0, 0, 125, 126, 127, 128, 129, 130, 131, 132,
1407 133, 134, 135, 136, 137, 138, 139, 140, 104, 0,
1408 0, 0, 0, 0, 0, 0, 0, 105, 106, 107,
1409 108, 0, 109, 110, 514, 0, 0, 111, 497, -636,
1410 498, 0, 499, 368, 0, 0, 0, 500, 0, 0,
1411 0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
1412 0, 0, 370, 371, 168, 0, 0, 0, 0, 0,
1413 0, 0, 0, 0, 0, 372, 373, 0, 0, 0,
1414 0, 112, 113, 114, 115, 116, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1416 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1417 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1418 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1419 140, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1420 105, 106, 107, 108, 0, 109, 110, 514, 0, 0,
1421 111, 497, 0, 498, 0, 499, 368, 0, 0, 0,
1422 500, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 158, 0, 0, 370, 371, 168, 0, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0, 372, 373,
1425 0, 0, 0, 0, 112, 113, 114, 115, 116, 0,
1426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 0, 0, 0, 0, 0, 117, 0, 118, 119,
1428 120, 121, 122, 123, 0, 124, 0, 0, 125, 126,
1429 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1430 137, 138, 139, 140, 104, 0, 0, 0, 0, 0,
1431 0, 0, 0, 105, 106, 107, 108, 0, 109, 110,
1432 790, 0, 0, 111, 497, 0, 498, 0, 499, 368,
1433 0, 0, 0, 500, 0, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 0, 0, 370, 371,
1435 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436 0, 372, 373, 0, 0, 0, 0, 112, 113, 114,
1437 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0, 0, 117,
1439 791, 792, 119, 120, 121, 122, 123, 0, 124, 0,
1440 0, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1441 793, 135, 136, 137, 138, 139, 140, 104, 0, 0,
1442 0, 0, 0, 0, 0, 0, 105, 106, 107, 108,
1443 0, 109, 110, 514, 0, 0, 111, 497, 0, 498,
1444 0, 499, 368, 0, 0, 0, 500, 0, 0, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 370, 371, 168, 0, 0, 0, 0, 0, 0,
1447 0, 0, 0, 0, 372, 373, 0, 0, 0, 0,
1448 112, 113, 114, 115, 116, 0, 0, 0, 0, 0,
1449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450 0, 0, 117, 0, 118, 119, 120, 121, 122, 123,
1451 0, 124, 0, 0, 125, 126, 127, 128, 129, 130,
1452 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1453 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1454 106, 107, 108, 0, 109, 110, 0, 0, 0, 111,
1455 0, 0, 366, 0, 367, 368, 0, 0, 0, 369,
1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457 0, 0, 0, 0, 370, 371, 0, 0, 0, 0,
1458 0, 0, 0, 0, 0, 0, 0, 372, 373, 0,
1459 0, 0, 0, 112, 113, 114, 115, 116, 0, 0,
1460 0, 0, 0, 0, 0, 374, 0, 0, 0, 0,
1461 0, 0, 0, 0, 0, 117, 0, 118, 119, 120,
1462 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
1463 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1464 138, 139, 140, 104, 0, 0, 0, 0, 0, 0,
1465 0, 0, 105, 106, 107, 108, 0, 109, 110, 0,
1466 0, 0, 111, 0, 0, 0, 0, 0, 0, 11,
1467 0, 0, -528, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 112, 113, 114, 115,
1471 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1472 0, 0, 0, 0, 0, 0, 0, 65, 117, 0,
1473 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
1474 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1475 135, 136, 137, 138, 139, 140, 104, 0, 0, 0,
1476 0, 0, 0, 0, 0, 105, 106, 107, 108, 0,
1477 109, 110, 753, 0, 0, 111, 0, 0, 0, 0,
1478 0, 0, 11, 466, 467, 468, 469, 470, 471, 472,
1479 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
1480 483, 0, 168, 0, 0, 0, 708, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 112,
1482 113, 114, 115, 116, 0, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 65, 117, 0, 118, 119, 120, 121, 122, 123, 0,
1485 124, 0, 0, 125, 126, 127, 128, 129, 130, 131,
1486 132, 133, 134, 135, 136, 137, 138, 139, 140, 104,
1487 0, 0, 0, 0, 0, 0, 0, 0, 105, 106,
1488 107, 108, 0, 109, 110, 0, 0, 0, 111, 0,
1489 0, 682, 0, 0, 0, 0, 0, 0, 725, 830,
1490 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
1491 476, 477, 478, 479, 480, 481, 482, 483, 0, 0,
1492 0, 0, 0, 484, 0, 0, 0, 0, 0, 0,
1493 0, 0, 112, 113, 114, 115, 116, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 0, 0, 0, 117, 0, 118, 119, 120, 121,
1496 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1497 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1498 139, 140, 104, 0, 0, 0, 0, 0, 0, 0,
1499 0, 105, 106, 107, 108, 0, 109, 110, 0, 0,
1500 0, 111, 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 767, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 168, 0,
1503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 112, 113, 114, 115, 116,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 117, 0, 118,
1507 119, 120, 121, 122, 123, 0, 124, 0, 0, 125,
1508 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1509 136, 137, 138, 139, 140, 104, 0, 0, 0, 0,
1510 0, 0, 0, 0, 105, 106, 107, 108, 774, 109,
1511 110, 0, 0, 0, 111, 0, 0, 466, 467, 468,
1512 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
1513 479, 480, 481, 482, 483, 0, 0, 0, 0, 0,
1514 708, 168, 0, 0, 0, 0, 0, 0, 0, 0,
1515 0, 0, 0, 0, 0, 0, 0, 0, 112, 113,
1516 114, 115, 116, 0, 0, 0, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518 117, 0, 118, 119, 120, 121, 122, 123, 0, 124,
1519 0, 0, 125, 126, 127, 128, 129, 130, 131, 132,
1520 133, 134, 135, 136, 137, 138, 139, 140, 104, 0,
1521 0, 0, 0, 0, 0, 0, 0, 105, 106, 107,
1522 108, 0, 109, 110, 0, 0, 0, 111, 0, 926,
1523 0, 0, 0, 0, 0, 0, 0, 462, 466, 467,
1524 468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
1525 478, 479, 480, 481, 482, 483, 0, 0, 0, 0,
1526 0, 708, 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, 112, 113, 114, 115, 116, 0, 0, 0, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1530 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1531 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1532 140, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1533 105, 106, 107, 108, 0, 109, 110, 0, 0, 0,
1534 111, 0, 0, 890, 0, 0, 0, 0, 0, 0,
1535 725, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1536 475, 476, 477, 478, 479, 480, 481, 482, 483, 0,
1537 0, 0, 0, 0, 708, 0, 0, 0, 0, 0,
1538 104, 0, 0, 0, 112, 113, 114, 115, 116, 105,
1539 106, 107, 108, 0, 109, 110, 0, 0, 0, 111,
1540 0, 0, 0, 0, 0, 0, 117, 0, 118, 119,
1541 120, 121, 122, 123, 0, 124, 0, 0, 125, 126,
1542 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1543 137, 138, 139, 140, 0, 0, 0, 0, 0, 0,
1544 0, 755, 0, 112, 113, 114, 115, 116, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 117, 0, 118, 119, 120,
1547 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
1548 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1549 138, 139, 140, 104, 0, 0, 0, 0, 0, 0,
1550 0, 0, 105, 106, 107, 108, 764, 806, 110, 0,
1551 0, 0, 111, 466, 467, 468, 469, 470, 471, 472,
1552 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
1553 483, 0, 0, 0, 0, 0, 484, 0, 0, 168,
1554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 104, 0, 0, 0, 112, 113, 114, 115,
1556 116, 105, 106, 107, 108, 0, 109, 110, 0, 0,
1557 0, 111, 0, 0, 0, 0, 0, 0, 117, 0,
1558 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
1559 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1560 135, 136, 137, 138, 139, 140, 0, 0, 0, 0,
1561 0, 104, 0, 851, 0, 112, 113, 114, 115, 116,
1562 105, 106, 107, 108, 0, 109, 110, 0, 0, 0,
1563 111, 0, 0, 0, 0, 0, 0, 117, 0, 118,
1564 119, 120, 121, 122, 123, 0, 124, 0, 0, 125,
1565 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1566 136, 137, 138, 139, 140, 0, 0, 0, 0, 0,
1567 0, 0, 0, 0, 112, 113, 114, 115, 116, 0,
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 117, 0, 118, 119,
1570 120, 121, 122, 123, 0, 124, 0, 0, 125, 126,
1571 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1572 137, 138, 139, 140, 822, 0, 0, 0, 0, 0,
1573 0, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1574 475, 476, 477, 478, 479, 480, 481, 482, 483, 0,
1575 0, 0, 723, 0, 708, 466, 467, 468, 469, 470,
1576 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
1577 481, 482, 483, 0, 0, 0, 0, 0, 708, 466,
1578 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
1579 477, 478, 479, 480, 481, 482, 483, 0, 0, 0,
1580 0, 0, 484, 466, 467, 468, 469, 470, 471, 472,
1581 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
1582 483, 0, 0, 0, 0, 0, 708, 466, 467, 468,
1583 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
1584 479, 480, 481, 482, 483, 0, 0, 0, 0, 0,
1585 484, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1586 475, 476, 477, 478, 479, 480, 481, 482, 483, 0,
1590 static const short yycheck
[] =
1592 33, 22, 88, 0, 33, 16, 17, 18, 190, 189,
1593 190, 0, 15, 10, 33, 196, 103, 431, 15, 92,
1594 34, 405, 387, 388, 434, 431, 509, 24, 434, 404,
1595 27, 719, 487, 81, 391, 317, 487, 741, 27, 741,
1596 741, 15, 92, 91, 419, 402, 26, 317, 45, 0,
1597 49, 62, 63, 64, 141, 770, 10, 144, 377, 10,
1598 778, 437, 780, 31, 32, 29, 34, 24, 29, 33,
1599 81, 91, 33, 24, 32, 44, 27, 17, 18, 29,
1600 38, 92, 93, 94, 31, 26, 443, 369, 792, 36,
1601 101, 45, 95, 375, 45, 165, 800, 0, 95, 800,
1602 29, 816, 6, 123, 33, 9, 824, 64, 9, 25,
1603 11, 4, 5, 6, 7, 8, 9, 10, 11, 35,
1604 32, 95, 34, 87, 17, 124, 87, 197, 26, 22,
1605 125, 17, 18, 452, 510, 33, 29, 87, 826, 119,
1606 32, 856, 461, 500, 501, 464, 416, 32, 4, 5,
1607 6, 31, 509, 9, 34, 843, 31, 125, 87, 162,
1608 35, 36, 173, 196, 161, 162, 22, 882, 35, 36,
1609 110, 111, 112, 113, 114, 115, 36, 4, 5, 6,
1610 191, 869, 9, 465, 36, 900, 88, 891, 162, 891,
1611 83, 84, 85, 86, 87, 22, 89, 31, 30, 33,
1612 34, 905, 484, 485, 6, 7, 8, 161, 31, 913,
1613 161, 32, 913, 931, 100, 101, 102, 103, 104, 105,
1614 106, 107, 108, 927, 31, 927, 33, 34, 3, 35,
1615 123, 6, 318, 26, 27, 10, 691, 12, 13, 32,
1616 691, 696, 33, 34, 317, 696, 934, 36, 23, 35,
1617 36, 44, 4, 5, 6, 7, 8, 9, 10, 11,
1618 40, 645, 23, 647, 31, 17, 650, 317, 33, 34,
1619 22, 33, 34, 33, 34, 32, 33, 29, 36, 4,
1620 5, 6, 7, 8, 9, 10, 11, 92, 93, 94,
1621 95, 96, 17, 98, 99, 652, 369, 22, 33, 34,
1622 33, 34, 375, 678, 29, 23, 317, 487, 93, 94,
1623 123, 38, 360, 32, 6, 36, 26, 32, 31, 369,
1624 500, 37, 36, 32, 35, 375, 32, 31, 40, 743,
1625 31, 6, 84, 85, 86, 87, 26, 743, 32, 34,
1626 40, 49, 22, 34, 827, 34, 31, 31, 26, 32,
1627 725, 708, 709, 32, 31, 730, 37, 39, 369, 84,
1628 85, 86, 87, 374, 375, 64, 685, 64, 37, 688,
1629 689, 123, 40, 31, 40, 404, 92, 93, 94, 95,
1630 96, 31, 98, 99, 741, 32, 419, 24, 40, 32,
1631 419, 32, 465, 31, 33, 35, 121, 430, 33, 432,
1632 419, 434, 786, 33, 788, 789, 771, 772, 34, 25,
1633 31, 484, 485, 35, 33, 465, 773, 34, 33, 33,
1634 40, 34, 433, 92, 93, 94, 95, 96, 34, 98,
1635 99, 845, 35, 64, 484, 485, 447, 109, 32, 845,
1636 32, 34, 33, 800, 458, 33, 25, 32, 35, 31,
1637 33, 462, 33, 33, 465, 488, 489, 32, 31, 33,
1638 25, 97, 33, 35, 646, 822, 646, 877, 34, 649,
1639 827, 877, 31, 484, 485, 32, 34, 33, 33, 33,
1640 894, 763, 764, 867, 487, 842, 34, 32, 894, 24,
1641 487, 34, 811, 812, 32, 97, 32, 25, 487, 33,
1642 906, 4, 5, 6, 7, 8, 9, 10, 11, 520,
1643 32, 691, 25, 33, 17, 33, 696, 34, 34, 22,
1644 35, 33, 936, 33, 33, 32, 29, 30, 31, 33,
1645 936, 25, 34, 890, 891, 32, 27, 33, 41, 162,
1646 33, 947, 32, 696, 33, 33, 33, 691, 3, 933,
1647 184, 6, 642, 186, 40, 10, 913, 12, 13, 14,
1648 15, 16, 17, 24, 948, 649, 390, 748, 818, 458,
1649 927, 653, 21, 174, 780, 19, 394, 927, 33, 430,
1650 83, 84, 85, 86, 87, 88, 89, 791, 91, 4,
1651 5, 6, 7, 8, 9, 10, 11, 905, 947, 839,
1652 750, 783, 17, 783, -1, -1, -1, 22, -1, -1,
1653 -1, 698, 699, 116, 29, -1, -1, -1, 121, -1,
1654 123, -1, 37, -1, -1, -1, -1, -1, 4, 5,
1655 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1656 673, 17, 653, -1, 17, 18, 22, -1, -1, 678,
1657 -1, -1, -1, 29, -1, -1, -1, -1, -1, 32,
1658 -1, -1, 695, -1, -1, 676, 695, -1, -1, 84,
1659 85, 86, 87, -1, -1, -1, 695, -1, -1, -1,
1660 -1, -1, -1, -1, -1, 704, 697, -1, 691, -1,
1661 763, 764, -1, 696, 691, -1, 725, -1, -1, 696,
1662 -1, 730, 691, 885, -1, 885, 121, 696, 84, 85,
1663 86, 87, 745, 763, 764, 748, -1, -1, 751, -1,
1664 -1, -1, 904, 809, 904, -1, 747, 100, 101, 102,
1665 103, 104, 105, 106, 107, 108, -1, 3, -1, 750,
1666 6, -1, -1, -1, 10, 121, 12, 13, 14, 15,
1667 16, 17, 763, 764, -1, -1, -1, -1, 940, -1,
1668 940, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1669 803, 782, 30, -1, 785, 17, -1, -1, -1, -1,
1670 22, -1, -1, 816, 26, 27, 819, 820, -1, -1,
1671 -1, -1, -1, -1, -1, -1, -1, -1, -1, 810,
1672 -1, -1, 44, -1, -1, 826, 839, -1, 66, 67,
1673 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1674 -1, 79, 80, 81, 82, -1, -1, -1, -1, -1,
1675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1676 -1, -1, 84, 85, 86, -1, -1, -1, -1, 882,
1677 -1, -1, -1, -1, -1, -1, -1, -1, 891, -1,
1678 -1, -1, -1, -1, 0, -1, -1, 3, 4, 5,
1679 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1680 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1681 26, 27, 28, 29, 927, 31, 32, 33, 34, 35,
1682 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1683 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1684 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1685 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1686 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1687 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1688 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1689 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1690 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
1691 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1692 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1693 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1694 -1, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1695 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1696 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1697 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1698 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1699 -1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
1700 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1701 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1702 110, 111, 112, 113, 114, 115, 116, -1, -1, 119,
1703 -1, 121, 122, 123, 124, 125, 0, -1, -1, 3,
1704 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1705 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1706 24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
1707 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1708 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1709 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1710 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1711 74, 75, 76, 77, 78, 79, -1, 81, -1, 83,
1712 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1713 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1714 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1715 114, 115, 116, -1, -1, 119, -1, 121, 122, 123,
1716 124, 125, 0, -1, -1, 3, 4, 5, 6, 7,
1717 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1718 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1719 28, 29, -1, 31, 32, 33, 34, 35, 36, -1,
1720 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1721 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1722 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1723 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1724 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1725 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1726 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1727 108, 109, 110, 111, 112, 113, 114, 115, 116, 3,
1728 -1, 119, -1, 121, 122, 123, 124, 125, 12, 13,
1729 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1730 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
1731 34, 35, 36, 37, 38, 39, 40, -1, 42, 43,
1732 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1733 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1734 -1, 65, 66, 67, 68, 69, 70, 4, 5, 6,
1735 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1736 17, -1, -1, 87, 88, 22, 90, 91, 92, 93,
1737 94, 95, 29, 97, -1, -1, 100, 101, 102, 103,
1738 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1739 114, 115, -1, 3, -1, -1, -1, -1, -1, -1,
1740 -1, 125, 12, 13, 14, 15, -1, 17, 18, 19,
1741 -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
1742 -1, -1, 32, -1, -1, -1, -1, 84, 85, 86,
1743 87, -1, -1, -1, -1, -1, -1, 47, 48, 49,
1744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1745 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1746 70, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1747 -1, -1, -1, -1, 17, -1, -1, 87, 88, 22,
1748 90, 91, 92, 93, 94, 95, 29, 97, -1, -1,
1749 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1750 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1751 -1, -1, -1, -1, 124, 12, 13, 14, 15, -1,
1752 17, 18, -1, -1, -1, 22, -1, -1, 25, -1,
1753 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1754 -1, 84, 85, 86, 87, -1, -1, -1, -1, -1,
1755 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1756 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1757 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1758 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1759 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1760 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1761 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1762 -1, -1, 119, -1, -1, -1, -1, -1, 12, 13,
1763 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1764 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1765 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1766 9, 10, 11, 47, 48, -1, -1, -1, 17, -1,
1767 -1, -1, -1, 22, -1, -1, 60, 61, -1, -1,
1768 29, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1769 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1770 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1771 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1772 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1773 114, 115, 3, -1, 118, 84, 85, 86, 87, -1,
1774 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
1775 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1776 -1, 32, -1, -1, -1, -1, -1, -1, 4, 5,
1777 6, 7, 8, 9, 10, 11, 47, 48, -1, -1,
1778 -1, 17, -1, -1, -1, -1, 22, -1, -1, 60,
1779 61, -1, -1, 29, -1, 66, 67, 68, 69, 70,
1780 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1781 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1782 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1783 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1784 111, 112, 113, 114, 115, 3, -1, 118, 84, 85,
1785 86, 87, -1, -1, 12, 13, 14, 15, -1, 17,
1786 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1787 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1788 -1, 4, 5, 6, 7, 8, 9, 10, 11, 47,
1789 48, -1, -1, -1, 17, -1, -1, -1, -1, 22,
1790 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1791 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1792 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1793 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1794 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1795 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1796 118, 84, 85, 86, -1, -1, -1, 12, 13, 14,
1797 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1798 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1799 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1800 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1802 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1803 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1804 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1805 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1806 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1807 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1808 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
1809 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1810 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1811 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1812 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1813 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1814 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1815 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1816 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1817 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1818 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1819 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
1820 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1821 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1822 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1823 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1824 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1825 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1826 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1827 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1828 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1829 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1830 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
1831 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1832 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1834 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1835 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1836 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1837 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1838 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1839 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1840 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1841 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1842 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
1843 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1845 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1846 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1847 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1848 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1849 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1850 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1851 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1852 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1853 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
1854 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1855 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1856 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1858 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1859 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1860 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1861 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1862 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1863 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1864 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1865 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1866 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1867 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1868 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1869 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1870 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1871 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1872 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1873 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1874 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1875 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
1876 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1877 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1879 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1880 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1881 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1882 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1883 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1884 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1885 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1886 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1887 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
1888 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1889 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1890 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1891 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1892 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1893 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1894 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1895 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1896 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1897 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1898 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
1899 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1900 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1901 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1902 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1903 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1904 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1905 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1906 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1907 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1908 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1909 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
1910 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1911 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1913 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1914 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1915 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1916 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1918 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1919 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1920 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1921 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
1922 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1923 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1924 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1925 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1926 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1927 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1928 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1929 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1930 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1931 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1932 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
1933 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1934 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1937 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1938 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1939 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1940 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1941 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1942 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1943 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
1944 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1945 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1947 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1948 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1949 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1950 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1951 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1952 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1953 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1954 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1955 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
1956 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1959 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1960 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1961 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1962 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1963 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1964 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1965 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1966 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
1967 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1968 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1969 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1971 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1972 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1973 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1974 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1975 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1976 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1977 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1978 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1979 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1981 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1982 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1983 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1984 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1985 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1986 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1987 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1988 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
1989 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1990 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1992 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1993 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1994 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1995 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1996 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1997 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1998 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1999 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2000 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
2001 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2002 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2003 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2004 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2005 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2006 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2007 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2008 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2009 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2010 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2011 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2012 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2013 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2014 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2015 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2016 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2017 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2018 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2019 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2020 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2021 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2022 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2023 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2024 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2026 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2027 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2028 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2029 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2030 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2031 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2032 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2033 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2034 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2035 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2036 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2037 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2038 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2039 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2040 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2041 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2042 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2043 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2044 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2045 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2046 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2047 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2048 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2050 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2051 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2052 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2053 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2054 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2055 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2056 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2057 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2058 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2060 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2061 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2062 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2063 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2064 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2065 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2066 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2067 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
2068 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2069 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2073 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2074 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2075 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2076 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2077 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2078 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2079 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
2080 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2081 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2082 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2084 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2085 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2086 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2087 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2088 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2089 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2090 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2091 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2092 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2094 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2095 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2096 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2097 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2098 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2099 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2100 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2101 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
2102 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2103 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
2104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2105 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
2106 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2107 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2108 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
2109 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2110 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2111 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2112 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2113 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
2114 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2115 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2116 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2117 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2118 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2119 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2121 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2122 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2123 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2124 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2125 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2126 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2127 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2128 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2129 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2130 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2131 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2132 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2133 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2134 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2135 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2136 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2137 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2139 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2140 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2141 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2142 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2144 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2145 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2146 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2147 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2148 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2149 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2150 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2151 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2152 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2153 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2155 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2156 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2157 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2158 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2159 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2160 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2161 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2163 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2164 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2166 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2167 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2168 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2169 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2170 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2171 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2173 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2174 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2175 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2176 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2178 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2179 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2180 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
2181 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2182 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2183 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2184 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2185 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2186 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2187 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2189 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2190 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2191 113, 114, 115, -1, -1, 118, 3, 4, 5, 6,
2192 7, 8, 9, 10, 11, 12, 13, 14, 15, -1,
2193 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
2194 27, 28, 29, -1, -1, 32, -1, -1, -1, -1,
2195 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2196 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2197 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2198 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2199 -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
2200 87, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2201 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2202 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2203 -1, -1, -1, -1, -1, -1, -1, -1, 12, 13,
2204 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
2205 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
2206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2207 -1, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2208 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2209 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2211 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2212 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2213 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2214 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2215 -1, 12, 13, 14, 15, -1, 17, 18, 19, -1,
2216 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
2217 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2218 -1, -1, -1, 44, -1, -1, 47, 48, 49, -1,
2219 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2220 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2222 -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
2223 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2224 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2225 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2226 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2227 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
2228 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2229 -1, -1, -1, -1, -1, -1, 44, -1, -1, 47,
2230 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2231 -1, -1, 60, 61, -1, -1, 64, -1, 66, 67,
2232 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2234 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2235 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2236 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2237 -1, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2238 15, -1, 17, 18, 19, -1, -1, 22, 23, 24,
2239 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2240 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2241 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2242 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2243 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2245 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2246 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2247 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2248 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2249 12, 13, 14, 15, -1, 17, 18, 19, -1, -1,
2250 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2251 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2252 -1, -1, 44, -1, -1, 47, 48, 49, -1, -1,
2253 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2254 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2256 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2257 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2258 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2259 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2260 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2261 19, -1, -1, 22, 23, -1, 25, -1, 27, 28,
2262 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2263 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2264 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2265 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2266 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2267 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2268 89, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2269 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2270 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2271 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2272 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
2273 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2275 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2277 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2279 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2280 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2281 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2282 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2283 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2284 -1, -1, 25, -1, 27, 28, -1, -1, -1, 32,
2285 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2286 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2287 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2288 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2289 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2290 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2291 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2292 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2293 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2294 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
2295 -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
2296 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2297 -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
2298 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2299 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
2300 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2301 -1, -1, -1, -1, -1, -1, -1, 87, 88, -1,
2302 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2303 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2304 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2305 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2306 17, 18, 31, -1, -1, 22, -1, -1, -1, -1,
2307 -1, -1, 29, 42, 43, 44, 45, 46, 47, 48,
2308 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2309 59, -1, 49, -1, -1, -1, 65, -1, -1, -1,
2310 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
2311 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2313 87, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2314 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2315 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2316 -1, -1, -1, -1, -1, -1, -1, -1, 12, 13,
2317 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2318 -1, 33, -1, -1, -1, -1, -1, -1, 32, 33,
2319 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2320 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2321 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
2322 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2325 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2326 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2327 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2328 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
2329 -1, 22, -1, -1, -1, -1, -1, -1, -1, -1,
2330 -1, -1, -1, -1, 35, -1, -1, -1, -1, -1,
2331 -1, -1, -1, -1, -1, -1, -1, -1, 49, -1,
2332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2333 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2335 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2336 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2337 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2338 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2339 -1, -1, -1, -1, 12, 13, 14, 15, 33, 17,
2340 18, -1, -1, -1, 22, -1, -1, 42, 43, 44,
2341 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2342 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
2343 65, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2344 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2345 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2346 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2347 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2348 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2349 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2350 -1, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2351 15, -1, 17, 18, -1, -1, -1, 22, -1, 33,
2352 -1, -1, -1, -1, -1, -1, -1, 32, 42, 43,
2353 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2354 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2355 -1, 65, -1, -1, -1, -1, -1, -1, -1, -1,
2356 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2357 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2358 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2359 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2360 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2361 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2362 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2363 22, -1, -1, 34, -1, -1, -1, -1, -1, -1,
2364 32, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2365 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
2366 -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
2367 3, -1, -1, -1, 66, 67, 68, 69, 70, 12,
2368 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2369 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2370 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2371 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2372 112, 113, 114, 115, -1, -1, -1, -1, -1, -1,
2373 -1, 64, -1, 66, 67, 68, 69, 70, -1, -1,
2374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2375 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2376 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2377 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2378 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2379 -1, -1, 12, 13, 14, 15, 35, 17, 18, -1,
2380 -1, -1, 22, 42, 43, 44, 45, 46, 47, 48,
2381 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2382 59, -1, -1, -1, -1, -1, 65, -1, -1, 49,
2383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2384 -1, -1, 3, -1, -1, -1, 66, 67, 68, 69,
2385 70, 12, 13, 14, 15, -1, 17, 18, -1, -1,
2386 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
2387 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2388 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2389 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2390 -1, 3, -1, 64, -1, 66, 67, 68, 69, 70,
2391 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2392 22, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2393 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2394 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2395 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2396 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2397 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2398 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2399 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2400 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2401 112, 113, 114, 115, 35, -1, -1, -1, -1, -1,
2402 -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2403 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
2404 -1, -1, 39, -1, 65, 42, 43, 44, 45, 46,
2405 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2406 57, 58, 59, -1, -1, -1, -1, -1, 65, 42,
2407 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2408 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
2409 -1, -1, 65, 42, 43, 44, 45, 46, 47, 48,
2410 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2411 59, -1, -1, -1, -1, -1, 65, 42, 43, 44,
2412 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2413 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
2414 65, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2415 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
2419 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2420 symbol of state STATE-NUM. */
2421 static const unsigned short yystos
[] =
2423 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2424 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2425 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2426 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2427 182, 183, 188, 191, 194, 195, 199, 200, 201, 202,
2428 204, 206, 210, 212, 213, 219, 227, 241, 242, 9,
2429 11, 22, 84, 85, 86, 87, 123, 200, 210, 30,
2430 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2431 76, 77, 79, 80, 81, 82, 151, 152, 153, 154,
2432 156, 157, 158, 84, 85, 121, 171, 173, 201, 202,
2433 210, 219, 228, 229, 3, 12, 13, 14, 15, 17,
2434 18, 22, 66, 67, 68, 69, 70, 88, 90, 91,
2435 92, 93, 94, 95, 97, 100, 101, 102, 103, 104,
2436 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2437 115, 143, 260, 272, 143, 143, 230, 3, 6, 10,
2438 12, 13, 23, 247, 249, 26, 123, 242, 44, 280,
2439 281, 22, 83, 89, 123, 199, 0, 148, 49, 143,
2440 176, 211, 236, 237, 238, 239, 177, 4, 5, 6,
2441 9, 22, 184, 6, 181, 187, 200, 125, 189, 32,
2442 32, 36, 36, 143, 143, 143, 34, 192, 88, 0,
2443 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2444 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2445 23, 24, 25, 26, 27, 28, 29, 31, 32, 33,
2446 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2447 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2448 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2449 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2450 74, 75, 76, 77, 78, 79, 81, 83, 84, 85,
2451 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2452 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2453 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2454 116, 119, 121, 122, 123, 124, 125, 143, 144, 159,
2455 30, 3, 12, 13, 14, 15, 17, 18, 22, 66,
2456 67, 68, 69, 70, 88, 90, 91, 92, 93, 94,
2457 95, 97, 100, 101, 102, 103, 104, 105, 106, 107,
2458 108, 109, 110, 111, 112, 113, 114, 115, 144, 162,
2459 163, 162, 26, 119, 155, 144, 25, 27, 28, 32,
2460 47, 48, 60, 61, 78, 142, 143, 164, 224, 143,
2461 230, 143, 230, 173, 31, 143, 35, 233, 233, 233,
2462 233, 40, 23, 31, 36, 23, 171, 123, 189, 29,
2463 87, 240, 38, 234, 32, 143, 124, 239, 6, 185,
2464 6, 9, 186, 184, 36, 196, 32, 31, 17, 175,
2465 203, 205, 207, 208, 209, 210, 207, 143, 220, 221,
2466 92, 93, 94, 95, 96, 98, 99, 251, 252, 253,
2467 266, 269, 275, 276, 277, 193, 211, 237, 189, 26,
2468 26, 118, 164, 190, 162, 144, 26, 27, 32, 44,
2469 226, 164, 32, 143, 164, 32, 42, 43, 44, 45,
2470 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2471 56, 57, 58, 59, 65, 141, 35, 36, 215, 215,
2472 31, 214, 215, 214, 19, 20, 21, 23, 25, 27,
2473 32, 142, 168, 169, 190, 211, 222, 223, 224, 40,
2474 251, 32, 31, 31, 19, 29, 87, 124, 222, 235,
2475 236, 237, 234, 6, 0, 3, 4, 5, 6, 7,
2476 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2477 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
2478 28, 29, 31, 32, 33, 34, 35, 38, 39, 40,
2479 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2480 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2481 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2482 71, 72, 73, 74, 75, 76, 77, 78, 79, 81,
2483 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2484 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2485 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2486 113, 114, 115, 116, 119, 121, 122, 123, 124, 125,
2487 145, 196, 197, 198, 190, 236, 32, 33, 34, 34,
2488 33, 34, 40, 34, 231, 211, 256, 222, 245, 270,
2489 271, 272, 280, 211, 143, 278, 279, 211, 267, 271,
2490 37, 252, 222, 34, 31, 31, 32, 26, 177, 225,
2491 226, 22, 33, 143, 119, 164, 165, 166, 164, 164,
2492 32, 121, 172, 173, 174, 175, 216, 219, 228, 229,
2493 211, 211, 17, 22, 175, 222, 222, 31, 65, 141,
2494 168, 37, 14, 15, 16, 17, 33, 243, 244, 246,
2495 248, 249, 250, 39, 39, 32, 143, 37, 198, 33,
2496 32, 234, 207, 234, 64, 209, 234, 64, 222, 221,
2497 37, 40, 31, 40, 31, 32, 24, 40, 32, 31,
2498 34, 32, 31, 31, 211, 64, 143, 160, 161, 236,
2499 33, 33, 33, 34, 35, 25, 174, 35, 232, 37,
2500 172, 233, 233, 33, 33, 222, 222, 31, 35, 33,
2501 34, 245, 236, 32, 33, 236, 33, 34, 33, 33,
2502 19, 89, 90, 109, 222, 255, 257, 258, 259, 260,
2503 281, 270, 211, 280, 193, 279, 17, 193, 268, 33,
2504 34, 164, 164, 34, 25, 35, 34, 217, 232, 215,
2505 215, 222, 35, 246, 35, 244, 246, 40, 143, 207,
2506 33, 234, 64, 234, 234, 109, 257, 17, 18, 32,
2507 260, 263, 32, 32, 255, 34, 273, 211, 33, 33,
2508 162, 64, 143, 25, 35, 32, 211, 218, 232, 31,
2509 217, 222, 246, 280, 168, 33, 33, 33, 268, 32,
2510 222, 245, 64, 270, 274, 33, 31, 97, 33, 35,
2511 25, 232, 34, 31, 64, 32, 33, 234, 33, 245,
2512 34, 34, 261, 33, 34, 18, 271, 272, 32, 34,
2513 211, 232, 24, 207, 32, 97, 32, 222, 211, 254,
2514 255, 256, 262, 281, 33, 270, 25, 25, 232, 33,
2515 33, 207, 263, 264, 265, 270, 33, 34, 255, 34,
2516 33, 35, 33, 33, 32, 33, 34, 254, 25, 246,
2517 32, 234, 245, 33, 270, 33, 207, 32, 33, 264,
2521 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2522 static const unsigned short yyr1
[] =
2524 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2525 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2526 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2527 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2528 143, 143, 143, 143, 143, 143, 144, 144, 144, 144,
2529 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2530 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2531 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2532 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2533 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2534 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2535 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2536 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2537 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2538 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2539 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2540 144, 144, 144, 144, 145, 145, 145, 145, 145, 145,
2541 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2542 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2543 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2544 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2545 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2546 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2547 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2548 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2549 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2550 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2551 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2552 146, 146, 147, 147, 148, 148, 148, 148, 148, 148,
2553 148, 148, 148, 148, 148, 148, 148, 148, 149, 149,
2554 150, 150, 151, 151, 151, 151, 151, 151, 151, 151,
2555 152, 152, 153, 153, 154, 154, 154, 155, 155, 156,
2556 156, 157, 157, 157, 158, 158, 159, 159, 159, 159,
2557 160, 160, 160, 160, 161, 161, 162, 162, 163, 163,
2558 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2559 164, 165, 165, 166, 166, 166, 167, 167, 168, 168,
2560 168, 169, 169, 169, 170, 170, 171, 171, 172, 172,
2561 173, 173, 173, 173, 173, 174, 174, 174, 174, 174,
2562 175, 175, 175, 176, 176, 177, 177, 178, 178, 178,
2563 179, 179, 179, 179, 180, 180, 180, 181, 181, 182,
2564 182, 182, 183, 183, 183, 183, 184, 184, 184, 184,
2565 184, 184, 185, 185, 186, 186, 186, 186, 187, 187,
2566 187, 188, 188, 189, 189, 190, 190, 191, 192, 192,
2567 193, 193, 194, 195, 195, 195, 195, 195, 195, 196,
2568 197, 197, 198, 198, 199, 199, 200, 200, 201, 201,
2569 202, 202, 202, 202, 203, 203, 204, 205, 206, 207,
2570 207, 207, 208, 208, 209, 209, 209, 210, 210, 211,
2571 211, 212, 213, 214, 214, 215, 216, 216, 217, 217,
2572 218, 218, 218, 218, 219, 220, 220, 221, 221, 222,
2573 222, 222, 222, 222, 222, 223, 223, 223, 223, 223,
2574 223, 224, 224, 225, 225, 226, 226, 226, 227, 228,
2575 229, 230, 230, 231, 231, 232, 232, 232, 232, 233,
2576 233, 234, 234, 234, 235, 235, 235, 235, 236, 236,
2577 237, 237, 238, 238, 239, 239, 240, 240, 241, 241,
2578 242, 242, 242, 243, 243, 244, 244, 245, 246, 247,
2579 248, 248, 249, 249, 249, 249, 249, 250, 250, 250,
2580 250, 251, 251, 252, 252, 252, 252, 252, 253, 253,
2581 254, 254, 254, 255, 255, 255, 255, 255, 255, 256,
2582 256, 257, 258, 258, 259, 260, 260, 260, 260, 260,
2583 260, 260, 260, 260, 260, 261, 261, 262, 262, 263,
2584 263, 264, 264, 265, 265, 266, 267, 267, 268, 268,
2585 268, 269, 270, 270, 270, 271, 271, 272, 272, 272,
2586 272, 272, 272, 272, 272, 273, 273, 274, 274, 275,
2587 276, 276, 277, 278, 278, 279, 280, 280, 281
2590 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2591 static const unsigned char yyr2
[] =
2593 0, 2, 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 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2609 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2610 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2611 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2612 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2613 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2614 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2615 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2616 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2617 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2618 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2619 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2620 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2621 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
2622 1, 1, 1, 1, 1, 1, 1, 1, 3, 5,
2623 2, 3, 2, 2, 1, 2, 2, 2, 1, 2,
2624 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2625 1, 1, 1, 1, 1, 1, 2, 6, 2, 2,
2626 0, 1, 1, 3, 1, 3, 0, 1, 1, 2,
2627 3, 2, 3, 5, 2, 4, 1, 1, 1, 1,
2628 4, 0, 1, 1, 1, 3, 6, 5, 1, 1,
2629 1, 1, 1, 1, 3, 4, 1, 2, 1, 2,
2630 1, 1, 2, 4, 4, 1, 1, 1, 3, 3,
2631 1, 2, 2, 1, 1, 1, 1, 2, 2, 2,
2632 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
2633 1, 2, 1, 1, 2, 2, 0, 1, 1, 2,
2634 1, 2, 0, 1, 0, 1, 1, 2, 0, 1,
2635 2, 3, 4, 0, 4, 1, 2, 5, 0, 2,
2636 1, 3, 3, 1, 2, 2, 3, 1, 2, 3,
2637 1, 2, 1, 1, 1, 2, 1, 1, 5, 7,
2638 5, 7, 13, 16, 5, 7, 6, 5, 1, 0,
2639 1, 1, 1, 3, 1, 1, 3, 1, 2, 3,
2640 2, 4, 4, 1, 1, 3, 4, 5, 0, 2,
2641 2, 4, 1, 3, 5, 1, 3, 1, 3, 1,
2642 4, 3, 3, 2, 5, 1, 1, 1, 1, 1,
2643 1, 4, 2, 1, 2, 2, 1, 1, 2, 2,
2644 2, 0, 1, 0, 1, 0, 2, 7, 9, 0,
2645 7, 0, 3, 3, 0, 1, 1, 1, 0, 1,
2646 1, 2, 1, 2, 1, 2, 1, 1, 4, 5,
2647 7, 8, 13, 1, 3, 2, 4, 2, 1, 1,
2648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2649 1, 1, 2, 1, 1, 1, 1, 1, 3, 6,
2650 1, 2, 1, 1, 1, 1, 2, 1, 1, 3,
2651 4, 6, 8, 12, 5, 1, 1, 1, 1, 1,
2652 1, 1, 1, 1, 1, 0, 2, 1, 3, 1,
2653 1, 0, 1, 1, 3, 3, 6, 1, 0, 1,
2654 1, 3, 1, 1, 3, 5, 6, 1, 1, 1,
2655 1, 1, 1, 1, 1, 0, 2, 1, 3, 3,
2656 1, 1, 3, 1, 3, 4, 0, 1, 1
2660 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2661 static const unsigned char yydprec
[] =
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 0, 0, 0, 0, 0, 0, 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, 1, 2, 2, 2,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 2, 1,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 2, 1, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 2, 1, 0, 0, 0, 2, 1, 0, 0, 0,
2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 0, 0, 0, 2, 1, 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
2729 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2730 static const unsigned char yymerger
[] =
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, 0, 0,
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2795 0, 0, 0, 0, 0, 0, 0, 0, 0
2798 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2799 in the case of predicates. */
2800 static const yybool yyimmediate
[] =
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, 0, 0,
2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0
2868 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2869 list of conflicting reductions corresponding to action entry for
2870 state STATE-NUM in yytable. 0 means no conflicts. The list in
2871 yyconfl is terminated by a rule number of 0. */
2872 static const unsigned short yyconflp
[] =
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 15, 0, 0, 0, 0, 0, 3716,
2881 0, 0, 3718, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
2890 0, 0, 0, 0, 0, 0, 13, 0, 3698, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
2893 0, 0, 0, 0, 0, 169, 0, 3708, 0, 3710,
2894 3712, 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, 3720, 0, 3722, 3724, 0, 0,
2897 0, 9, 0, 0, 0, 11, 0, 0, 0, 0,
2898 0, 0, 3702, 3704, 0, 0, 0, 0, 0, 3700,
2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2900 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
2901 3, 0, 0, 0, 0, 0, 0, 5, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2907 0, 0, 0, 0, 0, 7, 0, 0, 0, 3706,
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, 3714, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 3726, 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, 0,
2921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2922 0, 0, 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, 0,
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, 0, 0, 0, 0,
2997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3009 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
3010 0, 0, 0, 0, 0, 0, 0, 0, 23, 25,
3011 27, 29, 0, 31, 33, 0, 0, 0, 35, 0,
3012 0, 0, 0, 0, 0, 37, 39, 41, 43, 45,
3013 47, 49, 51, 53, 55, 57, 59, 0, 61, 63,
3014 65, 67, 69, 71, 73, 75, 77, 79, 81, 83,
3015 85, 87, 89, 91, 93, 95, 0, 0, 0, 0,
3016 0, 97, 99, 101, 103, 105, 107, 0, 0, 0,
3017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3018 0, 0, 0, 109, 111, 0, 113, 115, 117, 119,
3019 121, 123, 0, 125, 0, 0, 127, 129, 131, 133,
3020 135, 137, 139, 141, 143, 145, 147, 149, 151, 153,
3021 155, 157, 0, 0, 0, 0, 0, 0, 0, 0,
3022 0, 159, 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, 0, 0, 0, 0,
3031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3043 0, 0, 0, 0, 0, 0, 0, 0, 0, 171,
3044 0, 0, 0, 0, 0, 0, 0, 0, 173, 175,
3045 177, 179, 0, 181, 183, 0, 0, 0, 185, 0,
3046 0, 187, 189, 191, 193, 0, 0, 0, 195, 0,
3047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3048 0, 0, 0, 197, 199, 0, 0, 0, 161, 0,
3049 0, 0, 0, 163, 0, 0, 201, 203, 0, 0,
3050 165, 0, 205, 207, 209, 211, 213, 0, 0, 0,
3051 0, 0, 0, 0, 215, 0, 0, 0, 0, 0,
3052 0, 0, 0, 0, 217, 0, 219, 221, 223, 225,
3053 227, 229, 0, 231, 0, 0, 233, 235, 237, 239,
3054 241, 243, 245, 247, 249, 251, 253, 255, 257, 259,
3055 261, 263, 265, 0, 0, 0, 0, 0, 167, 0,
3056 0, 267, 269, 271, 273, 0, 275, 277, 0, 0,
3057 0, 279, 0, 0, 281, 283, 285, 287, 0, 0,
3058 0, 289, 0, 0, 0, 0, 0, 0, 0, 0,
3059 0, 0, 0, 0, 0, 0, 291, 293, 0, 0,
3060 0, 0, 0, 0, 0, 0, 0, 0, 0, 295,
3061 297, 0, 0, 0, 0, 299, 301, 303, 305, 307,
3062 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
3063 0, 0, 0, 0, 0, 0, 0, 311, 0, 313,
3064 315, 317, 319, 321, 323, 0, 325, 0, 0, 327,
3065 329, 331, 333, 335, 337, 339, 341, 343, 345, 347,
3066 349, 351, 353, 355, 357, 359, 0, 0, 0, 0,
3067 0, 0, 0, 0, 361, 363, 365, 367, 0, 369,
3068 371, 0, 0, 0, 373, 0, 0, 375, 377, 379,
3069 381, 0, 0, 0, 383, 0, 0, 0, 0, 0,
3070 0, 0, 0, 0, 0, 0, 0, 0, 0, 385,
3071 387, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3072 0, 0, 389, 391, 0, 0, 0, 0, 393, 395,
3073 397, 399, 401, 0, 0, 0, 0, 0, 0, 0,
3074 403, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3075 405, 0, 407, 409, 411, 413, 415, 417, 0, 419,
3076 0, 0, 421, 423, 425, 427, 429, 431, 433, 435,
3077 437, 439, 441, 443, 445, 447, 449, 451, 453, 0,
3078 0, 0, 0, 0, 0, 0, 0, 455, 457, 459,
3079 461, 0, 463, 465, 0, 0, 0, 467, 0, 0,
3080 469, 471, 473, 475, 0, 0, 0, 477, 0, 0,
3081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3082 0, 0, 479, 481, 0, 0, 0, 0, 0, 0,
3083 0, 0, 0, 0, 0, 483, 485, 0, 0, 0,
3084 0, 487, 489, 491, 493, 495, 0, 0, 0, 0,
3085 0, 0, 0, 497, 0, 0, 0, 0, 0, 0,
3086 0, 0, 0, 499, 0, 501, 503, 505, 507, 509,
3087 511, 0, 513, 0, 0, 515, 517, 519, 521, 523,
3088 525, 527, 529, 531, 533, 535, 537, 539, 541, 543,
3089 545, 547, 0, 0, 0, 0, 0, 0, 0, 0,
3090 549, 551, 553, 555, 0, 557, 559, 0, 0, 0,
3091 561, 0, 0, 563, 565, 567, 569, 0, 0, 0,
3092 571, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3093 0, 0, 0, 0, 0, 573, 575, 0, 0, 0,
3094 0, 0, 0, 0, 0, 0, 0, 0, 577, 579,
3095 0, 0, 0, 0, 581, 583, 585, 587, 589, 0,
3096 0, 0, 0, 0, 0, 0, 591, 0, 0, 0,
3097 0, 0, 0, 0, 0, 0, 593, 0, 595, 597,
3098 599, 601, 603, 605, 0, 607, 0, 0, 609, 611,
3099 613, 615, 617, 619, 621, 623, 625, 627, 629, 631,
3100 633, 635, 637, 639, 641, 0, 0, 0, 0, 0,
3101 0, 0, 0, 643, 645, 647, 649, 0, 651, 653,
3102 0, 0, 0, 655, 0, 0, 657, 659, 661, 663,
3103 0, 0, 0, 665, 0, 0, 0, 0, 0, 0,
3104 0, 0, 0, 0, 0, 0, 0, 0, 667, 669,
3105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3106 0, 671, 673, 0, 0, 0, 0, 675, 677, 679,
3107 681, 683, 0, 0, 0, 0, 0, 0, 0, 685,
3108 0, 0, 0, 0, 0, 0, 0, 0, 0, 687,
3109 0, 689, 691, 693, 695, 697, 699, 0, 701, 0,
3110 0, 703, 705, 707, 709, 711, 713, 715, 717, 719,
3111 721, 723, 725, 727, 729, 731, 733, 735, 0, 0,
3112 0, 0, 0, 0, 0, 0, 738, 741, 744, 747,
3113 0, 750, 753, 0, 0, 0, 756, 0, 0, 759,
3114 762, 765, 768, 0, 0, 0, 771, 0, 0, 0,
3115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3116 0, 774, 777, 0, 0, 0, 0, 0, 0, 0,
3117 0, 0, 0, 0, 780, 783, 0, 0, 0, 0,
3118 786, 789, 792, 795, 798, 0, 0, 0, 0, 0,
3119 0, 0, 801, 0, 0, 0, 0, 0, 0, 0,
3120 0, 0, 804, 0, 807, 810, 813, 816, 819, 822,
3121 0, 825, 0, 0, 828, 831, 834, 837, 840, 843,
3122 846, 849, 852, 855, 858, 861, 864, 867, 870, 873,
3123 878, 0, 876, 0, 0, 0, 0, 0, 0, 880,
3124 882, 884, 886, 0, 888, 890, 0, 0, 0, 892,
3125 0, 0, 894, 896, 898, 900, 0, 0, 0, 902,
3126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3127 0, 0, 0, 0, 904, 906, 0, 0, 0, 0,
3128 0, 0, 0, 0, 0, 0, 0, 908, 910, 0,
3129 0, 0, 0, 912, 914, 916, 918, 920, 0, 0,
3130 0, 0, 0, 0, 0, 922, 0, 0, 0, 0,
3131 0, 0, 0, 0, 0, 924, 0, 926, 928, 930,
3132 932, 934, 936, 0, 938, 0, 0, 940, 942, 944,
3133 946, 948, 950, 952, 954, 956, 958, 960, 962, 964,
3134 966, 968, 970, 972, 0, 0, 0, 0, 0, 0,
3135 0, 0, 974, 976, 978, 980, 0, 982, 984, 0,
3136 0, 0, 986, 0, 0, 988, 990, 992, 994, 0,
3137 0, 0, 996, 0, 0, 0, 0, 0, 0, 0,
3138 0, 0, 0, 0, 0, 0, 0, 998, 1000, 0,
3139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3140 1002, 1004, 0, 0, 0, 0, 1006, 1008, 1010, 1012,
3141 1014, 0, 0, 0, 0, 0, 0, 0, 1016, 0,
3142 0, 0, 0, 0, 0, 0, 0, 0, 1018, 0,
3143 1020, 1022, 1024, 1026, 1028, 1030, 0, 1032, 0, 0,
3144 1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052,
3145 1054, 1056, 1058, 1060, 1062, 1064, 1066, 0, 0, 0,
3146 0, 0, 0, 0, 0, 1068, 1070, 1072, 1074, 0,
3147 1076, 1078, 0, 0, 0, 1080, 0, 0, 1082, 1084,
3148 1086, 1088, 0, 0, 0, 1090, 0, 0, 0, 0,
3149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3150 1092, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
3151 0, 0, 0, 1096, 1098, 0, 0, 0, 0, 1100,
3152 1102, 1104, 1106, 1108, 0, 0, 0, 0, 0, 0,
3153 0, 1110, 0, 0, 0, 0, 0, 0, 0, 0,
3154 0, 1112, 0, 1114, 1116, 1118, 1120, 1122, 1124, 0,
3155 1126, 0, 0, 1128, 1130, 1132, 1134, 1136, 1138, 1140,
3156 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160,
3157 0, 0, 0, 0, 0, 0, 0, 0, 1162, 1164,
3158 1166, 1168, 0, 1170, 1172, 0, 0, 0, 1174, 0,
3159 0, 1176, 1178, 1180, 1182, 0, 0, 0, 1184, 0,
3160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3161 0, 0, 0, 1186, 1188, 0, 0, 0, 0, 0,
3162 0, 0, 0, 0, 0, 0, 1190, 1192, 0, 0,
3163 0, 0, 1194, 1196, 1198, 1200, 1202, 0, 0, 0,
3164 0, 0, 0, 0, 1204, 0, 0, 0, 0, 0,
3165 0, 0, 0, 0, 1206, 0, 1208, 1210, 1212, 1214,
3166 1216, 1218, 0, 1220, 0, 0, 1222, 1224, 1226, 1228,
3167 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248,
3168 1250, 1252, 1254, 0, 0, 0, 0, 0, 0, 0,
3169 0, 1256, 1258, 1260, 1262, 0, 1264, 1266, 0, 0,
3170 0, 1268, 0, 0, 1270, 1272, 1274, 1276, 0, 0,
3171 0, 1278, 0, 0, 0, 0, 0, 0, 0, 0,
3172 0, 0, 0, 0, 0, 0, 1280, 1282, 0, 0,
3173 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284,
3174 1286, 0, 0, 0, 0, 1288, 1290, 1292, 1294, 1296,
3175 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0,
3176 0, 0, 0, 0, 0, 0, 0, 1300, 0, 1302,
3177 1304, 1306, 1308, 1310, 1312, 0, 1314, 0, 0, 1316,
3178 1318, 1320, 1322, 1324, 1326, 1328, 1330, 1332, 1334, 1336,
3179 1338, 1340, 1342, 1344, 1346, 1348, 0, 0, 0, 0,
3180 0, 0, 0, 0, 1350, 1352, 1354, 1356, 0, 1358,
3181 1360, 0, 0, 0, 1362, 0, 0, 1364, 1366, 1368,
3182 1370, 0, 0, 0, 1372, 0, 0, 0, 0, 0,
3183 0, 0, 0, 0, 0, 0, 0, 0, 0, 1374,
3184 1376, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3185 0, 0, 1378, 1380, 0, 0, 0, 0, 1382, 1384,
3186 1386, 1388, 1390, 0, 0, 0, 0, 0, 0, 0,
3187 1392, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3188 1394, 0, 1396, 1398, 1400, 1402, 1404, 1406, 0, 1408,
3189 0, 0, 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1424,
3190 1426, 1428, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 0,
3191 0, 0, 0, 0, 0, 0, 0, 1444, 1446, 1448,
3192 1450, 0, 1452, 1454, 0, 0, 0, 1456, 0, 0,
3193 1458, 1460, 1462, 1464, 0, 0, 0, 1466, 0, 0,
3194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3195 0, 0, 1468, 1470, 0, 0, 0, 0, 0, 0,
3196 0, 0, 0, 0, 0, 1472, 1474, 0, 0, 0,
3197 0, 1476, 1478, 1480, 1482, 1484, 0, 0, 0, 0,
3198 0, 0, 0, 1486, 0, 0, 0, 0, 0, 0,
3199 0, 0, 0, 1488, 0, 1490, 1492, 1494, 1496, 1498,
3200 1500, 0, 1502, 0, 0, 1504, 1506, 1508, 1510, 1512,
3201 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532,
3202 1534, 1536, 0, 0, 0, 0, 0, 0, 0, 0,
3203 1538, 1540, 1542, 1544, 0, 1546, 1548, 0, 0, 0,
3204 1550, 0, 0, 1552, 1554, 1556, 1558, 0, 0, 0,
3205 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3206 0, 0, 0, 0, 0, 1562, 1564, 0, 0, 0,
3207 0, 0, 0, 0, 0, 0, 0, 0, 1566, 1568,
3208 0, 0, 0, 0, 1570, 1572, 1574, 1576, 1578, 0,
3209 0, 0, 0, 0, 0, 0, 1580, 0, 0, 0,
3210 0, 0, 0, 0, 0, 0, 1582, 0, 1584, 1586,
3211 1588, 1590, 1592, 1594, 0, 1596, 0, 0, 1598, 1600,
3212 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620,
3213 1622, 1624, 1626, 1628, 1630, 0, 0, 0, 0, 0,
3214 0, 0, 0, 1632, 1634, 1636, 1638, 0, 1640, 1642,
3215 0, 0, 0, 1644, 0, 0, 1646, 1648, 1650, 1652,
3216 0, 0, 0, 1654, 0, 0, 0, 0, 0, 0,
3217 0, 0, 0, 0, 0, 0, 0, 0, 1656, 1658,
3218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3219 0, 1660, 1662, 0, 0, 0, 0, 1664, 1666, 1668,
3220 1670, 1672, 0, 0, 0, 0, 0, 0, 0, 1674,
3221 0, 0, 0, 0, 0, 0, 0, 0, 0, 1676,
3222 0, 1678, 1680, 1682, 1684, 1686, 1688, 0, 1690, 0,
3223 0, 1692, 1694, 1696, 1698, 1700, 1702, 1704, 1706, 1708,
3224 1710, 1712, 1714, 1716, 1718, 1720, 1722, 1724, 0, 0,
3225 0, 0, 0, 0, 0, 0, 1726, 1728, 1730, 1732,
3226 0, 1734, 1736, 0, 0, 0, 1738, 0, 0, 1740,
3227 1742, 1744, 1746, 0, 0, 0, 1748, 0, 0, 0,
3228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3229 0, 1750, 1752, 0, 0, 0, 0, 0, 0, 0,
3230 0, 0, 0, 0, 1754, 1756, 0, 0, 0, 0,
3231 1758, 1760, 1762, 1764, 1766, 0, 0, 0, 0, 0,
3232 0, 0, 1768, 0, 0, 0, 0, 0, 0, 0,
3233 0, 0, 1770, 0, 1772, 1774, 1776, 1778, 1780, 1782,
3234 0, 1784, 0, 0, 1786, 1788, 1790, 1792, 1794, 1796,
3235 1798, 1800, 1802, 1804, 1806, 1808, 1810, 1812, 1814, 1816,
3236 1818, 0, 0, 0, 0, 0, 0, 0, 0, 1820,
3237 1822, 1824, 1826, 0, 1828, 1830, 0, 0, 0, 1832,
3238 0, 0, 1834, 1836, 1838, 1840, 0, 0, 0, 1842,
3239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3240 0, 0, 0, 0, 1844, 1846, 0, 0, 0, 0,
3241 0, 0, 0, 0, 0, 0, 0, 1848, 1850, 0,
3242 0, 0, 0, 1852, 1854, 1856, 1858, 1860, 0, 0,
3243 0, 0, 0, 0, 0, 1862, 0, 0, 0, 0,
3244 0, 0, 0, 0, 0, 1864, 0, 1866, 1868, 1870,
3245 1872, 1874, 1876, 0, 1878, 0, 0, 1880, 1882, 1884,
3246 1886, 1888, 1890, 1892, 1894, 1896, 1898, 1900, 1902, 1904,
3247 1906, 1908, 1910, 1912, 0, 0, 0, 0, 0, 0,
3248 0, 0, 1914, 1916, 1918, 1920, 0, 1922, 1924, 0,
3249 0, 0, 1926, 0, 0, 1928, 1930, 1932, 1934, 0,
3250 0, 0, 1936, 0, 0, 0, 0, 0, 0, 0,
3251 0, 0, 0, 0, 0, 0, 0, 1938, 1940, 0,
3252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3253 1942, 1944, 0, 0, 0, 0, 1946, 1948, 1950, 1952,
3254 1954, 0, 0, 0, 0, 0, 0, 0, 1956, 0,
3255 0, 0, 0, 0, 0, 0, 0, 0, 1958, 0,
3256 1960, 1962, 1964, 1966, 1968, 1970, 0, 1972, 0, 0,
3257 1974, 1976, 1978, 1980, 1982, 1984, 1986, 1988, 1990, 1992,
3258 1994, 1996, 1998, 2000, 2002, 2004, 2006, 0, 0, 0,
3259 0, 0, 0, 0, 0, 2008, 2010, 2012, 2014, 0,
3260 2016, 2018, 0, 0, 0, 2020, 0, 0, 2022, 2024,
3261 2026, 2028, 0, 0, 0, 2030, 0, 0, 0, 0,
3262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3263 2032, 2034, 0, 0, 0, 0, 0, 0, 0, 0,
3264 0, 0, 0, 2036, 2038, 0, 0, 0, 0, 2040,
3265 2042, 2044, 2046, 2048, 0, 0, 0, 0, 0, 0,
3266 0, 2050, 0, 0, 0, 0, 0, 0, 0, 0,
3267 0, 2052, 0, 2054, 2056, 2058, 2060, 2062, 2064, 0,
3268 2066, 0, 0, 2068, 2070, 2072, 2074, 2076, 2078, 2080,
3269 2082, 2084, 2086, 2088, 2090, 2092, 2094, 2096, 2098, 2100,
3270 0, 0, 0, 0, 0, 0, 0, 0, 2102, 2104,
3271 2106, 2108, 0, 2110, 2112, 0, 0, 0, 2114, 0,
3272 0, 2116, 2118, 2120, 2122, 0, 0, 0, 2124, 0,
3273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3274 0, 0, 0, 2126, 2128, 0, 0, 0, 0, 0,
3275 0, 0, 0, 0, 0, 0, 2130, 2132, 0, 0,
3276 0, 0, 2134, 2136, 2138, 2140, 2142, 0, 0, 0,
3277 0, 0, 0, 0, 2144, 0, 0, 0, 0, 0,
3278 0, 0, 0, 0, 2146, 0, 2148, 2150, 2152, 2154,
3279 2156, 2158, 0, 2160, 0, 0, 2162, 2164, 2166, 2168,
3280 2170, 2172, 2174, 2176, 2178, 2180, 2182, 2184, 2186, 2188,
3281 2190, 2192, 2194, 0, 0, 0, 0, 0, 0, 0,
3282 0, 2196, 2198, 2200, 2202, 0, 2204, 2206, 0, 0,
3283 0, 2208, 0, 0, 2210, 2212, 2214, 2216, 0, 0,
3284 0, 2218, 0, 0, 0, 0, 0, 0, 0, 0,
3285 0, 0, 0, 0, 0, 0, 2220, 2222, 0, 0,
3286 0, 0, 0, 0, 0, 0, 0, 0, 0, 2224,
3287 2226, 0, 0, 0, 0, 2228, 2230, 2232, 2234, 2236,
3288 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0,
3289 0, 0, 0, 0, 0, 0, 0, 2240, 0, 2242,
3290 2244, 2246, 2248, 2250, 2252, 0, 2254, 0, 0, 2256,
3291 2258, 2260, 2262, 2264, 2266, 2268, 2270, 2272, 2274, 2276,
3292 2278, 2280, 2282, 2284, 2286, 2288, 0, 0, 0, 0,
3293 0, 0, 0, 0, 2290, 2292, 2294, 2296, 0, 2298,
3294 2300, 0, 0, 0, 2302, 0, 0, 2304, 2306, 2308,
3295 2310, 0, 0, 0, 2312, 0, 0, 0, 0, 0,
3296 0, 0, 0, 0, 0, 0, 0, 0, 0, 2314,
3297 2316, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3298 0, 0, 2318, 2320, 0, 0, 0, 0, 2322, 2324,
3299 2326, 2328, 2330, 0, 0, 0, 0, 0, 0, 0,
3300 2332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301 2334, 0, 2336, 2338, 2340, 2342, 2344, 2346, 0, 2348,
3302 0, 0, 2350, 2352, 2354, 2356, 2358, 2360, 2362, 2364,
3303 2366, 2368, 2370, 2372, 2374, 2376, 2378, 2380, 2382, 0,
3304 0, 0, 0, 0, 0, 0, 0, 2384, 2386, 2388,
3305 2390, 0, 2392, 2394, 0, 0, 0, 2396, 0, 0,
3306 2398, 2400, 2402, 2404, 0, 0, 0, 2406, 0, 0,
3307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308 0, 0, 2408, 2410, 0, 0, 0, 0, 0, 0,
3309 0, 0, 0, 0, 0, 2412, 2414, 0, 0, 0,
3310 0, 2416, 2418, 2420, 2422, 2424, 0, 0, 0, 0,
3311 0, 0, 0, 2426, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 2428, 0, 2430, 2432, 2434, 2436, 2438,
3313 2440, 0, 2442, 0, 0, 2444, 2446, 2448, 2450, 2452,
3314 2454, 2456, 2458, 2460, 2462, 2464, 2466, 2468, 2470, 2472,
3315 2474, 2476, 0, 0, 0, 0, 0, 0, 0, 0,
3316 2478, 2480, 2482, 2484, 0, 2486, 2488, 0, 0, 0,
3317 2490, 0, 0, 2492, 2494, 2496, 2498, 0, 0, 0,
3318 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3319 0, 0, 0, 0, 0, 2502, 2504, 0, 0, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 2506, 2508,
3321 0, 0, 0, 0, 2510, 2512, 2514, 2516, 2518, 0,
3322 0, 0, 0, 0, 0, 0, 2520, 0, 0, 0,
3323 0, 0, 0, 0, 0, 0, 2522, 0, 2524, 2526,
3324 2528, 2530, 2532, 2534, 0, 2536, 0, 0, 2538, 2540,
3325 2542, 2544, 2546, 2548, 2550, 2552, 2554, 2556, 2558, 2560,
3326 2562, 2564, 2566, 2568, 2570, 0, 0, 0, 0, 0,
3327 0, 0, 0, 2572, 2574, 2576, 2578, 0, 2580, 2582,
3328 0, 0, 0, 2584, 0, 0, 2586, 2588, 2590, 2592,
3329 0, 0, 0, 2594, 0, 0, 0, 0, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 0, 2596, 2598,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 2600, 2602, 0, 0, 0, 0, 2604, 2606, 2608,
3333 2610, 2612, 0, 0, 0, 0, 0, 0, 0, 2614,
3334 0, 0, 0, 0, 0, 0, 0, 0, 0, 2616,
3335 0, 2618, 2620, 2622, 2624, 2626, 2628, 0, 2630, 0,
3336 0, 2632, 2634, 2636, 2638, 2640, 2642, 2644, 2646, 2648,
3337 2650, 2652, 2654, 2656, 2658, 2660, 2662, 2664, 0, 0,
3338 0, 0, 0, 0, 0, 0, 2666, 2668, 2670, 2672,
3339 0, 2674, 2676, 0, 0, 0, 2678, 0, 0, 2680,
3340 2682, 2684, 2686, 0, 0, 0, 2688, 0, 0, 0,
3341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3342 0, 2690, 2692, 0, 0, 0, 0, 0, 0, 0,
3343 0, 0, 0, 0, 2694, 2696, 0, 0, 0, 0,
3344 2698, 2700, 2702, 2704, 2706, 0, 0, 0, 0, 0,
3345 0, 0, 2708, 0, 0, 0, 0, 0, 0, 0,
3346 0, 0, 2710, 0, 2712, 2714, 2716, 2718, 2720, 2722,
3347 0, 2724, 0, 0, 2726, 2728, 2730, 2732, 2734, 2736,
3348 2738, 2740, 2742, 2744, 2746, 2748, 2750, 2752, 2754, 2756,
3349 2758, 0, 0, 0, 0, 0, 0, 0, 0, 2760,
3350 2762, 2764, 2766, 0, 2768, 2770, 0, 0, 0, 2772,
3351 0, 0, 2774, 2776, 2778, 2780, 0, 0, 0, 2782,
3352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3353 0, 0, 0, 0, 2784, 2786, 0, 0, 0, 0,
3354 0, 0, 0, 0, 0, 0, 0, 2788, 2790, 0,
3355 0, 0, 0, 2792, 2794, 2796, 2798, 2800, 0, 0,
3356 0, 0, 0, 0, 0, 2802, 0, 0, 0, 0,
3357 0, 0, 0, 0, 0, 2804, 0, 2806, 2808, 2810,
3358 2812, 2814, 2816, 0, 2818, 0, 0, 2820, 2822, 2824,
3359 2826, 2828, 2830, 2832, 2834, 2836, 2838, 2840, 2842, 2844,
3360 2846, 2848, 2850, 2852, 0, 0, 0, 0, 0, 0,
3361 0, 0, 2854, 2856, 2858, 2860, 0, 2862, 2864, 0,
3362 0, 0, 2866, 0, 0, 2868, 2870, 2872, 2874, 0,
3363 0, 0, 2876, 0, 0, 0, 0, 0, 0, 0,
3364 0, 0, 0, 0, 0, 0, 0, 2878, 2880, 0,
3365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3366 2882, 2884, 0, 0, 0, 0, 2886, 2888, 2890, 2892,
3367 2894, 0, 0, 0, 0, 0, 0, 0, 2896, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 2898, 0,
3369 2900, 2902, 2904, 2906, 2908, 2910, 0, 2912, 0, 0,
3370 2914, 2916, 2918, 2920, 2922, 2924, 2926, 2928, 2930, 2932,
3371 2934, 2936, 2938, 2940, 2942, 2944, 2946, 0, 0, 0,
3372 0, 0, 0, 0, 0, 2948, 2950, 2952, 2954, 0,
3373 2956, 2958, 0, 0, 0, 2960, 0, 0, 2962, 2964,
3374 2966, 2968, 0, 0, 0, 2970, 0, 0, 0, 0,
3375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3376 2972, 2974, 0, 0, 0, 0, 0, 0, 0, 0,
3377 0, 0, 0, 2976, 2978, 0, 0, 0, 0, 2980,
3378 2982, 2984, 2986, 2988, 0, 0, 0, 0, 0, 0,
3379 0, 2990, 0, 0, 0, 0, 0, 0, 0, 0,
3380 0, 2992, 0, 2994, 2996, 2998, 3000, 3002, 3004, 0,
3381 3006, 0, 0, 3008, 3010, 3012, 3014, 3016, 3018, 3020,
3382 3022, 3024, 3026, 3028, 3030, 3032, 3034, 3036, 3038, 3040,
3383 0, 0, 0, 0, 0, 0, 0, 0, 3042, 3044,
3384 3046, 3048, 0, 3050, 3052, 0, 0, 0, 3054, 0,
3385 0, 3056, 3058, 3060, 3062, 0, 0, 0, 3064, 0,
3386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3387 0, 0, 0, 3066, 3068, 0, 0, 0, 0, 0,
3388 0, 0, 0, 0, 0, 0, 3070, 3072, 0, 0,
3389 0, 0, 3074, 3076, 3078, 3080, 3082, 0, 0, 0,
3390 0, 0, 0, 0, 3084, 0, 0, 0, 0, 0,
3391 0, 0, 0, 0, 3086, 0, 3088, 3090, 3092, 3094,
3392 3096, 3098, 0, 3100, 0, 0, 3102, 3104, 3106, 3108,
3393 3110, 3112, 3114, 3116, 3118, 3120, 3122, 3124, 3126, 3128,
3394 3130, 3132, 3134, 0, 0, 0, 0, 0, 0, 0,
3395 0, 3136, 3138, 3140, 3142, 0, 3144, 3146, 0, 0,
3396 0, 3148, 0, 0, 3150, 3152, 3154, 3156, 0, 0,
3397 0, 3158, 0, 0, 0, 0, 0, 0, 0, 0,
3398 0, 0, 0, 0, 0, 0, 3160, 3162, 0, 0,
3399 0, 0, 0, 0, 0, 0, 0, 0, 0, 3164,
3400 3166, 0, 0, 0, 0, 3168, 3170, 3172, 3174, 3176,
3401 0, 0, 0, 0, 0, 0, 0, 3178, 0, 0,
3402 0, 0, 0, 0, 0, 0, 0, 3180, 0, 3182,
3403 3184, 3186, 3188, 3190, 3192, 0, 3194, 0, 0, 3196,
3404 3198, 3200, 3202, 3204, 3206, 3208, 3210, 3212, 3214, 3216,
3405 3218, 3220, 3222, 3224, 3226, 3228, 0, 0, 0, 0,
3406 0, 0, 0, 0, 3230, 3232, 3234, 3236, 0, 3238,
3407 3240, 0, 0, 0, 3242, 0, 0, 3244, 3246, 3248,
3408 3250, 0, 0, 0, 3252, 0, 0, 0, 0, 0,
3409 0, 0, 0, 0, 0, 0, 0, 0, 0, 3254,
3410 3256, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3411 0, 0, 3258, 3260, 0, 0, 0, 0, 3262, 3264,
3412 3266, 3268, 3270, 0, 0, 0, 0, 0, 0, 0,
3413 3272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3414 3274, 0, 3276, 3278, 3280, 3282, 3284, 3286, 0, 3288,
3415 0, 0, 3290, 3292, 3294, 3296, 3298, 3300, 3302, 3304,
3416 3306, 3308, 3310, 3312, 3314, 3316, 3318, 3320, 3322, 0,
3417 0, 0, 0, 0, 0, 0, 0, 3324, 3326, 3328,
3418 3330, 0, 3332, 3334, 0, 0, 0, 3336, 0, 0,
3419 3338, 3340, 3342, 3344, 0, 0, 0, 3346, 0, 0,
3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3421 0, 0, 3348, 3350, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 3352, 3354, 0, 0, 0,
3423 0, 3356, 3358, 3360, 3362, 3364, 0, 0, 0, 0,
3424 0, 0, 0, 3366, 0, 0, 0, 0, 0, 0,
3425 0, 0, 0, 3368, 0, 3370, 3372, 3374, 3376, 3378,
3426 3380, 0, 3382, 0, 0, 3384, 3386, 3388, 3390, 3392,
3427 3394, 3396, 3398, 3400, 3402, 3404, 3406, 3408, 3410, 3412,
3428 3414, 3416, 0, 0, 0, 0, 0, 0, 0, 0,
3429 3418, 3420, 3422, 3424, 0, 3426, 3428, 0, 0, 0,
3430 3430, 0, 0, 3432, 3434, 3436, 3438, 0, 0, 0,
3431 3440, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 3442, 3444, 0, 0, 0,
3433 0, 0, 0, 0, 0, 0, 0, 0, 3446, 3448,
3434 0, 0, 0, 0, 3450, 3452, 3454, 3456, 3458, 0,
3435 0, 0, 0, 0, 0, 0, 3460, 0, 0, 0,
3436 0, 0, 0, 0, 0, 0, 3462, 0, 3464, 3466,
3437 3468, 3470, 3472, 3474, 0, 3476, 0, 0, 3478, 3480,
3438 3482, 3484, 3486, 3488, 3490, 3492, 3494, 3496, 3498, 3500,
3439 3502, 3504, 3506, 3508, 3510, 0, 0, 0, 0, 0,
3440 0, 0, 0, 3512, 3514, 3516, 3518, 0, 3520, 3522,
3441 0, 0, 0, 3524, 0, 0, 3526, 3528, 3530, 3532,
3442 0, 0, 0, 3534, 0, 0, 0, 0, 0, 0,
3443 0, 0, 0, 0, 0, 0, 0, 0, 3536, 3538,
3444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3445 0, 3540, 3542, 0, 0, 0, 0, 3544, 3546, 3548,
3446 3550, 3552, 0, 0, 0, 0, 0, 0, 0, 3554,
3447 0, 0, 0, 0, 0, 0, 0, 0, 0, 3556,
3448 0, 3558, 3560, 3562, 3564, 3566, 3568, 0, 3570, 0,
3449 0, 3572, 3574, 3576, 3578, 3580, 3582, 3584, 3586, 3588,
3450 3590, 3592, 3594, 3596, 3598, 3600, 3602, 3604, 0, 0,
3451 0, 0, 0, 0, 0, 0, 3606, 3608, 3610, 3612,
3452 0, 3614, 3616, 0, 0, 0, 3618, 0, 0, 3620,
3453 3622, 3624, 3626, 0, 0, 0, 3628, 0, 0, 0,
3454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3455 0, 3630, 3632, 0, 0, 0, 0, 0, 0, 0,
3456 0, 0, 0, 0, 3634, 3636, 0, 0, 0, 0,
3457 3638, 3640, 3642, 3644, 3646, 0, 0, 0, 0, 0,
3458 0, 0, 3648, 0, 0, 0, 0, 0, 0, 0,
3459 0, 0, 3650, 0, 3652, 3654, 3656, 3658, 3660, 3662,
3460 0, 3664, 0, 0, 3666, 3668, 3670, 3672, 3674, 3676,
3461 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3692, 3694, 3696,
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, 0,
3680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3696 3728, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3701 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3702 0, pointed into by YYCONFLP. */
3703 static const short yyconfl
[] =
3705 0, 392, 0, 392, 0, 392, 0, 392, 0, 383,
3706 0, 383, 0, 406, 0, 467, 0, 467, 0, 311,
3707 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3708 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3709 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3710 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3711 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3712 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3713 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3714 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3715 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3716 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3717 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3718 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3719 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3720 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3721 0, 392, 0, 392, 0, 392, 0, 392, 0, 406,
3722 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3723 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3724 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3725 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3726 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3727 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3728 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3729 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3730 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3731 0, 46, 0, 46, 0, 55, 0, 55, 0, 55,
3732 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3733 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3734 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3735 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3736 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3737 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3738 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3739 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3740 0, 55, 0, 55, 0, 55, 0, 55, 0, 56,
3741 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3742 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3743 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3744 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3745 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3746 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3747 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3748 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3749 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3750 0, 56, 0, 57, 0, 57, 0, 57, 0, 57,
3751 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3752 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3753 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3754 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3755 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3756 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3757 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3758 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3759 0, 57, 0, 57, 0, 57, 0, 58, 0, 58,
3760 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3761 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3762 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3763 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3764 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3765 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3766 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3767 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3768 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3769 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3770 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3771 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3772 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3773 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3774 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3775 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3776 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3777 0, 624, 0, 624, 0, 624, 0, 624, 0, 624,
3778 0, 624, 0, 624, 0, 585, 623, 0, 585, 623,
3779 0, 585, 623, 0, 585, 623, 0, 585, 623, 0,
3780 585, 623, 0, 585, 623, 0, 585, 623, 0, 585,
3781 623, 0, 585, 623, 0, 585, 623, 0, 585, 623,
3782 0, 585, 623, 0, 585, 623, 0, 585, 623, 0,
3783 585, 623, 0, 585, 623, 0, 585, 623, 0, 585,
3784 623, 0, 585, 623, 0, 585, 623, 0, 585, 623,
3785 0, 585, 623, 0, 585, 623, 0, 585, 623, 0,
3786 585, 623, 0, 585, 623, 0, 585, 623, 0, 585,
3787 623, 0, 585, 623, 0, 585, 623, 0, 585, 623,
3788 0, 585, 623, 0, 585, 623, 0, 585, 623, 0,
3789 585, 623, 0, 585, 623, 0, 585, 623, 0, 585,
3790 623, 0, 585, 623, 0, 585, 623, 0, 585, 623,
3791 0, 585, 623, 0, 585, 623, 0, 585, 623, 0,
3792 585, 623, 0, 585, 623, 0, 623, 0, 65, 0,
3793 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3794 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3795 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3796 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3797 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3798 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3799 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3800 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3801 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3802 65, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3803 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3804 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3805 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3806 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3807 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3808 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3809 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3810 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3811 109, 0, 109, 0, 109, 0, 110, 0, 110, 0,
3812 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3813 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3814 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3815 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3816 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3817 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3818 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3819 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3820 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3821 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3822 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3823 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3824 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3825 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3826 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3827 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3828 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3829 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3830 108, 0, 108, 0, 106, 0, 106, 0, 106, 0,
3831 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3832 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3833 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3834 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3835 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3836 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3837 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3838 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3839 106, 0, 106, 0, 106, 0, 106, 0, 107, 0,
3840 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3841 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3842 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3843 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3844 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3845 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3846 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3847 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3848 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3849 107, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3850 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3851 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3852 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3853 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3854 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3855 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3856 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3857 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3858 127, 0, 127, 0, 127, 0, 129, 0, 129, 0,
3859 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3860 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3861 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3862 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3863 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3864 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3865 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3866 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3867 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3868 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3869 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3870 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3871 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3872 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3873 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3874 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3875 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3876 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3877 130, 0, 130, 0, 131, 0, 131, 0, 131, 0,
3878 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3879 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3880 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3881 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3882 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3883 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3884 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3885 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3886 131, 0, 131, 0, 131, 0, 131, 0, 132, 0,
3887 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3888 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3889 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3890 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3891 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3892 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3893 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3894 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3895 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3896 132, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3897 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3898 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3899 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3900 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3901 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3902 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3903 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3904 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3905 133, 0, 133, 0, 133, 0, 134, 0, 134, 0,
3906 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3907 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3908 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3909 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3910 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3911 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3912 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3913 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3914 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3915 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3916 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3917 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3918 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3919 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3920 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3921 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3922 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3923 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3924 163, 0, 163, 0, 593, 0, 593, 0, 593, 0,
3925 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3926 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3927 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3928 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3929 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3930 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3931 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3932 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3933 593, 0, 593, 0, 593, 0, 593, 0, 592, 0,
3934 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3935 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3936 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3937 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3938 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3939 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3940 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3941 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3942 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3943 592, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3944 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3945 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3946 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3947 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3948 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3949 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3950 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3951 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3952 590, 0, 590, 0, 590, 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, 588, 0, 588, 0, 588, 0, 588, 0,
3956 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3957 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3958 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3959 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3960 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3961 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3962 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3963 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3964 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3965 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3966 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3967 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3968 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3969 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3970 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3971 589, 0, 589, 0, 591, 0, 591, 0, 591, 0,
3972 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3973 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3974 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3975 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3976 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3977 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3978 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3979 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3980 591, 0, 591, 0, 591, 0, 591, 0, 587, 0,
3981 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3982 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3983 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3984 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3985 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3986 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3987 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3988 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3989 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3990 587, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3991 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3992 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3993 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3994 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3995 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3996 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3997 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3998 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3999 586, 0, 586, 0, 586, 0, 594, 0, 594, 0,
4000 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4001 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4002 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4003 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4004 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4005 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4006 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4007 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4008 594, 0, 594, 0, 594, 0, 594, 0, 594, 0,
4009 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4010 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4011 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4012 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4013 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4014 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4015 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4016 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4017 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
4018 147, 0, 147, 0, 622, 0, 622, 0, 622, 0,
4019 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4020 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4021 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4022 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4023 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4024 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4025 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4026 622, 0, 622, 0, 622, 0, 622, 0, 622, 0,
4027 622, 0, 622, 0, 622, 0, 622, 0, 620, 0,
4028 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4029 620, 0, 620, 0, 620, 0, 620, 0, 620, 0,
4030 620, 0, 620, 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, 619, 0, 619, 0, 619, 0, 619, 0,
4038 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4039 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4040 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4041 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4042 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4043 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4044 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4045 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4046 619, 0, 619, 0, 619, 0, 621, 0, 621, 0,
4047 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4048 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4049 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4050 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4051 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4052 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4053 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4054 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4055 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4056 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4057 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4058 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4059 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4060 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4061 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4062 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4063 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4064 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4065 618, 0, 618, 0, 617, 0, 617, 0, 617, 0,
4066 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4067 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4068 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4069 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4070 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4071 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4072 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4073 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4074 617, 0, 617, 0, 617, 0, 617, 0, 512, 0,
4075 512, 0, 460, 0, 460, 0, 461, 0, 498, 0,
4076 498, 0, 498, 0, 45, 0, 624, 0, 392, 0,
4077 573, 0, 573, 0, 573, 0, 624, 0, 343, 0,
4081 /* Error token number */
4088 #define yynerrs (yystackp->yyerrcnt)
4090 #define yychar (yystackp->yyrawchar)
4092 #define yylval (yystackp->yyval)
4094 #define yylloc (yystackp->yyloc)
4095 #define psi_parser_proc_nerrs yynerrs
4096 #define psi_parser_proc_char yychar
4097 #define psi_parser_proc_lval yylval
4098 #define psi_parser_proc_lloc yylloc
4100 static const int YYEOF
= 0;
4101 static const int YYEMPTY
= -2;
4103 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
4105 #define YYCHK(YYE) \
4107 YYRESULTTAG yychk_flag = YYE; \
4108 if (yychk_flag != yyok) \
4109 return yychk_flag; \
4115 # define YYFPRINTF fprintf
4118 /* This macro is provided for backward compatibility. */
4119 #ifndef YY_LOCATION_PRINT
4120 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4124 # define YYDPRINTF(Args) \
4131 /*-----------------------------------.
4132 | Print this symbol's value on YYO. |
4133 `-----------------------------------*/
4136 yy_symbol_value_print (FILE *yyo
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4138 FILE *yyoutput
= yyo
;
4149 /*---------------------------.
4150 | Print this symbol on YYO. |
4151 `---------------------------*/
4154 yy_symbol_print (FILE *yyo
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4156 YYFPRINTF (yyo
, "%s %s (",
4157 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
4159 yy_symbol_value_print (yyo
, yytype
, yyvaluep
, P
, tokens
, index
);
4160 YYFPRINTF (yyo
, ")");
4163 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4167 YYFPRINTF (stderr, "%s ", Title); \
4168 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
4169 YYFPRINTF (stderr, "\n"); \
4173 /* Nonzero means print parse trace. It is left uninitialized so that
4174 multiple parsers can coexist. */
4178 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
4179 YY_ATTRIBUTE_UNUSED
;
4180 static void yypdumpstack (struct yyGLRStack
* yystackp
)
4181 YY_ATTRIBUTE_UNUSED
;
4183 #else /* !YYDEBUG */
4185 # define YYDPRINTF(Args)
4186 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4188 #endif /* !YYDEBUG */
4190 /* YYINITDEPTH -- initial size of the parser's stacks. */
4192 # define YYINITDEPTH 200
4195 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4196 if the built-in stack extension method is used).
4198 Do not make this value too large; the results are undefined if
4199 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
4200 evaluated with infinite-precision integer arithmetic. */
4203 # define YYMAXDEPTH 10000
4206 /* Minimum number of free items on the stack allowed after an
4207 allocation. This is to allow allocation and initialization
4208 to be completed by functions that call yyexpandGLRStack before the
4209 stack is expanded, thus insuring that all necessary pointers get
4210 properly redirected to new data. */
4211 #define YYHEADROOM 2
4213 #ifndef YYSTACKEXPANDABLE
4214 # define YYSTACKEXPANDABLE 1
4217 #if YYSTACKEXPANDABLE
4218 # define YY_RESERVE_GLRSTACK(Yystack) \
4220 if (Yystack->yyspaceLeft < YYHEADROOM) \
4221 yyexpandGLRStack (Yystack); \
4224 # define YY_RESERVE_GLRSTACK(Yystack) \
4226 if (Yystack->yyspaceLeft < YYHEADROOM) \
4227 yyMemoryExhausted (Yystack); \
4235 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4236 # define yystpcpy stpcpy
4238 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4241 yystpcpy (char *yydest
, const char *yysrc
)
4244 const char *yys
= yysrc
;
4246 while ((*yyd
++ = *yys
++) != '\0')
4255 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4256 quotes and backslashes, so that it's suitable for yyerror. The
4257 heuristic is that double-quoting is unnecessary unless the string
4258 contains an apostrophe, a comma, or backslash (other than
4259 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4260 null, do not copy; instead, return the length of what the result
4263 yytnamerr (char *yyres
, const char *yystr
)
4268 char const *yyp
= yystr
;
4275 goto do_not_strip_quotes
;
4279 goto do_not_strip_quotes
;
4292 do_not_strip_quotes
: ;
4296 return strlen (yystr
);
4298 return (size_t) (yystpcpy (yyres
, yystr
) - yyres
);
4302 #endif /* !YYERROR_VERBOSE */
4304 /** State numbers, as in LALR(1) machine */
4305 typedef int yyStateNum
;
4307 /** Rule numbers, as in LALR(1) machine */
4308 typedef int yyRuleNum
;
4310 /** Grammar symbol */
4311 typedef int yySymbol
;
4313 /** Item references, as in LALR(1) machine */
4314 typedef short yyItemNum
;
4316 typedef struct yyGLRState yyGLRState
;
4317 typedef struct yyGLRStateSet yyGLRStateSet
;
4318 typedef struct yySemanticOption yySemanticOption
;
4319 typedef union yyGLRStackItem yyGLRStackItem
;
4320 typedef struct yyGLRStack yyGLRStack
;
4323 /** Type tag: always true. */
4325 /** Type tag for yysemantics. If true, yysval applies, otherwise
4326 * yyfirstVal applies. */
4328 /** Number of corresponding LALR(1) machine state. */
4329 yyStateNum yylrState
;
4330 /** Preceding state in this stack */
4332 /** Source position of the last token produced by my symbol */
4335 /** First in a chain of alternative reductions producing the
4336 * non-terminal corresponding to this state, threaded through
4338 yySemanticOption
* yyfirstVal
;
4339 /** Semantic value for this state. */
4344 struct yyGLRStateSet
{
4345 yyGLRState
** yystates
;
4346 /** During nondeterministic operation, yylookaheadNeeds tracks which
4347 * stacks have actually needed the current lookahead. During deterministic
4348 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4349 * duplicate yychar != YYEMPTY. */
4350 yybool
* yylookaheadNeeds
;
4351 size_t yysize
, yycapacity
;
4354 struct yySemanticOption
{
4355 /** Type tag: always false. */
4357 /** Rule number for this reduction */
4359 /** The last RHS state in the list of states to be reduced. */
4360 yyGLRState
* yystate
;
4361 /** The lookahead for this reduction. */
4364 /** Next sibling in chain of options. To facilitate merging,
4365 * options are chained in decreasing order by address. */
4366 yySemanticOption
* yynext
;
4369 /** Type of the items in the GLR stack. The yyisState field
4370 * indicates which item of the union is valid. */
4371 union yyGLRStackItem
{
4373 yySemanticOption yyoption
;
4384 YYJMP_BUF yyexception_buffer
;
4385 yyGLRStackItem
* yyitems
;
4386 yyGLRStackItem
* yynextFree
;
4388 yyGLRState
* yysplitPoint
;
4389 yyGLRState
* yylastDeleted
;
4390 yyGLRStateSet yytops
;
4393 #if YYSTACKEXPANDABLE
4394 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
4397 static _Noreturn
void
4398 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
4400 if (yymsg
!= YY_NULLPTR
)
4401 yyerror (P
, tokens
, index
, yymsg
);
4402 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
4405 static _Noreturn
void
4406 yyMemoryExhausted (yyGLRStack
* yystackp
)
4408 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
4411 #if YYDEBUG || YYERROR_VERBOSE
4412 /** A printable representation of TOKEN. */
4413 static inline const char*
4414 yytokenName (yySymbol yytoken
)
4416 if (yytoken
== YYEMPTY
)
4419 return yytname
[yytoken
];
4423 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4424 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4425 * containing the pointer to the next state in the chain. */
4426 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
4428 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
4431 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
4432 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
4435 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
4437 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
4439 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
4441 /* The effect of using yysval or yyloc (in an immediate rule) is
4443 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
4444 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
4448 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4449 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4450 * For convenience, always return YYLOW1. */
4451 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
4452 YY_ATTRIBUTE_UNUSED
;
4454 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
4456 if (!yynormal
&& yylow1
< *yylow
)
4458 yyfillin (yyvsp
, *yylow
, yylow1
);
4464 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4465 * and top stack item YYVSP. YYLVALP points to place to put semantic
4466 * value ($$), and yylocp points to place for location information
4467 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4468 * yyerr for YYERROR, yyabort for YYABORT. */
4470 yyuserAction (yyRuleNum yyn
, int yyrhslen
, yyGLRStackItem
* yyvsp
,
4471 yyGLRStack
* yystackp
,
4472 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4474 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yybool
) (yystackp
->yysplitPoint
== YY_NULLPTR
);
4482 # define yyerrok (yystackp->yyerrState = 0)
4484 # define YYACCEPT return yyaccept
4486 # define YYABORT return yyabort
4488 # define YYERROR return yyerrok, yyerr
4489 # undef YYRECOVERING
4490 # define YYRECOVERING() (yystackp->yyerrState != 0)
4492 # define yyclearin (yychar = YYEMPTY)
4494 # define YYFILL(N) yyfill (yyvsp, &yylow, (N), yynormal)
4496 # define YYBACKUP(Token, Value) \
4497 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4502 *yyvalp
= yyval_default
;
4504 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
4508 #line 435 "src/parser_proc_grammar.y" /* glr.c:821 */
4510 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4511 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
4512 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4515 #line 4516 "src/parser_proc.c" /* glr.c:821 */
4519 #line 441 "src/parser_proc_grammar.y" /* glr.c:821 */
4521 psi_parser_proc_add_lib(P
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4523 #line 4524 "src/parser_proc.c" /* glr.c:821 */
4527 #line 444 "src/parser_proc_grammar.y" /* glr.c:821 */
4529 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4531 #line 4532 "src/parser_proc.c" /* glr.c:821 */
4535 #line 447 "src/parser_proc_grammar.y" /* glr.c:821 */
4537 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4539 #line 4540 "src/parser_proc.c" /* glr.c:821 */
4543 #line 450 "src/parser_proc_grammar.y" /* glr.c:821 */
4545 psi_parser_proc_add_decl_extvars(P
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4547 #line 4548 "src/parser_proc.c" /* glr.c:821 */
4551 #line 453 "src/parser_proc_grammar.y" /* glr.c:821 */
4553 if (P
->flags
& PSI_DEBUG
) {
4554 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
);
4556 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4558 #line 4559 "src/parser_proc.c" /* glr.c:821 */
4562 #line 459 "src/parser_proc_grammar.y" /* glr.c:821 */
4564 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4566 #line 4567 "src/parser_proc.c" /* glr.c:821 */
4570 #line 462 "src/parser_proc_grammar.y" /* glr.c:821 */
4572 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4574 #line 4575 "src/parser_proc.c" /* glr.c:821 */
4578 #line 465 "src/parser_proc_grammar.y" /* glr.c:821 */
4580 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4582 #line 4583 "src/parser_proc.c" /* glr.c:821 */
4586 #line 468 "src/parser_proc_grammar.y" /* glr.c:821 */
4588 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4590 #line 4591 "src/parser_proc.c" /* glr.c:821 */
4594 #line 471 "src/parser_proc_grammar.y" /* glr.c:821 */
4596 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4598 #line 4599 "src/parser_proc.c" /* glr.c:821 */
4602 #line 477 "src/parser_proc_grammar.y" /* glr.c:821 */
4604 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4606 #line 4607 "src/parser_proc.c" /* glr.c:821 */
4610 #line 480 "src/parser_proc_grammar.y" /* glr.c:821 */
4612 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4614 #line 4615 "src/parser_proc.c" /* glr.c:821 */
4618 #line 486 "src/parser_proc_grammar.y" /* glr.c:821 */
4620 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4622 #line 4623 "src/parser_proc.c" /* glr.c:821 */
4626 #line 489 "src/parser_proc_grammar.y" /* glr.c:821 */
4628 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4630 #line 4631 "src/parser_proc.c" /* glr.c:821 */
4634 #line 495 "src/parser_proc_grammar.y" /* glr.c:821 */
4636 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4637 struct psi_token
*msg
= NULL
;
4639 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
4641 struct psi_token
*next
;
4643 msg
= psi_token_copy(msg
);
4644 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
4645 struct psi_token
*old
= msg
;
4646 msg
= psi_token_cat(" ", 2, msg
, next
);
4647 psi_token_free(&old
);
4650 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4652 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
4654 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4656 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4658 #line 4659 "src/parser_proc.c" /* glr.c:821 */
4662 #line 518 "src/parser_proc_grammar.y" /* glr.c:821 */
4664 (*(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
))));
4665 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4667 #line 4668 "src/parser_proc.c" /* glr.c:821 */
4671 #line 522 "src/parser_proc_grammar.y" /* glr.c:821 */
4673 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4674 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4676 #line 4677 "src/parser_proc.c" /* glr.c:821 */
4680 #line 526 "src/parser_proc_grammar.y" /* glr.c:821 */
4682 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4683 (*(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
))));
4684 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4686 #line 4687 "src/parser_proc.c" /* glr.c:821 */
4690 #line 531 "src/parser_proc_grammar.y" /* glr.c:821 */
4692 (*(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
)));
4693 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4695 #line 4696 "src/parser_proc.c" /* glr.c:821 */
4699 #line 535 "src/parser_proc_grammar.y" /* glr.c:821 */
4701 (*(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
)));
4702 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4704 #line 4705 "src/parser_proc.c" /* glr.c:821 */
4708 #line 539 "src/parser_proc_grammar.y" /* glr.c:821 */
4710 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4711 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4713 #line 4714 "src/parser_proc.c" /* glr.c:821 */
4717 #line 543 "src/parser_proc_grammar.y" /* glr.c:821 */
4719 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4720 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4722 #line 4723 "src/parser_proc.c" /* glr.c:821 */
4726 #line 587 "src/parser_proc_grammar.y" /* glr.c:821 */
4728 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4729 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
4730 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4732 #line 4733 "src/parser_proc.c" /* glr.c:821 */
4736 #line 592 "src/parser_proc_grammar.y" /* glr.c:821 */
4738 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4739 (*(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
);
4740 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4742 #line 4743 "src/parser_proc.c" /* glr.c:821 */
4746 #line 597 "src/parser_proc_grammar.y" /* glr.c:821 */
4748 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4749 (*(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
)));
4750 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4752 #line 4753 "src/parser_proc.c" /* glr.c:821 */
4756 #line 602 "src/parser_proc_grammar.y" /* glr.c:821 */
4758 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_token_free
);
4759 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4760 (*(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
);
4761 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4763 #line 4764 "src/parser_proc.c" /* glr.c:821 */
4767 #line 611 "src/parser_proc_grammar.y" /* glr.c:821 */
4769 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
4771 #line 4772 "src/parser_proc.c" /* glr.c:821 */
4775 #line 614 "src/parser_proc_grammar.y" /* glr.c:821 */
4777 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
4779 #line 4780 "src/parser_proc.c" /* glr.c:821 */
4783 #line 618 "src/parser_proc_grammar.y" /* glr.c:821 */
4785 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4787 #line 4788 "src/parser_proc.c" /* glr.c:821 */
4791 #line 624 "src/parser_proc_grammar.y" /* glr.c:821 */
4793 (*(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
)));
4794 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4795 (*(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
)));
4797 #line 4798 "src/parser_proc.c" /* glr.c:821 */
4801 #line 629 "src/parser_proc_grammar.y" /* glr.c:821 */
4803 (*(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
)));
4804 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4805 (*(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
)));
4807 #line 4808 "src/parser_proc.c" /* glr.c:821 */
4811 #line 637 "src/parser_proc_grammar.y" /* glr.c:821 */
4813 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4815 #line 4816 "src/parser_proc.c" /* glr.c:821 */
4819 #line 644 "src/parser_proc_grammar.y" /* glr.c:821 */
4821 (*(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
)));
4822 (*(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
)));
4824 #line 4825 "src/parser_proc.c" /* glr.c:821 */
4828 #line 648 "src/parser_proc_grammar.y" /* glr.c:821 */
4830 (*(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
)));
4831 (*(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
)));
4833 #line 4834 "src/parser_proc.c" /* glr.c:821 */
4837 #line 655 "src/parser_proc_grammar.y" /* glr.c:821 */
4839 (*(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
)));
4840 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4842 #line 4843 "src/parser_proc.c" /* glr.c:821 */
4846 #line 659 "src/parser_proc_grammar.y" /* glr.c:821 */
4848 (*(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
)));
4849 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4851 #line 4852 "src/parser_proc.c" /* glr.c:821 */
4855 #line 663 "src/parser_proc_grammar.y" /* glr.c:821 */
4857 (*(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
)));
4858 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4860 #line 4861 "src/parser_proc.c" /* glr.c:821 */
4864 #line 667 "src/parser_proc_grammar.y" /* glr.c:821 */
4866 (*(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
)));
4867 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4869 #line 4870 "src/parser_proc.c" /* glr.c:821 */
4873 #line 672 "src/parser_proc_grammar.y" /* glr.c:821 */
4878 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4879 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4880 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINED
, &exists
, 0));
4881 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4882 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4885 #line 4886 "src/parser_proc.c" /* glr.c:821 */
4889 #line 683 "src/parser_proc_grammar.y" /* glr.c:821 */
4894 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4895 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4896 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINED
, &exists
, 0));
4897 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4898 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4901 #line 4902 "src/parser_proc.c" /* glr.c:821 */
4905 #line 694 "src/parser_proc_grammar.y" /* glr.c:821 */
4907 (*(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
));
4908 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4909 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4911 #line 4912 "src/parser_proc.c" /* glr.c:821 */
4915 #line 699 "src/parser_proc_grammar.y" /* glr.c:821 */
4917 (*(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));
4918 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4919 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4921 #line 4922 "src/parser_proc.c" /* glr.c:821 */
4925 #line 704 "src/parser_proc_grammar.y" /* glr.c:821 */
4927 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4928 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4930 #line 4931 "src/parser_proc.c" /* glr.c:821 */
4934 #line 708 "src/parser_proc_grammar.y" /* glr.c:821 */
4936 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4937 (*(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));
4938 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4939 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4941 #line 4942 "src/parser_proc.c" /* glr.c:821 */
4945 #line 714 "src/parser_proc_grammar.y" /* glr.c:821 */
4947 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4948 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
4949 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));
4950 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4951 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4952 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->data
.call
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4954 #line 4955 "src/parser_proc.c" /* glr.c:821 */
4958 #line 725 "src/parser_proc_grammar.y" /* glr.c:821 */
4960 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4962 #line 4963 "src/parser_proc.c" /* glr.c:821 */
4966 #line 732 "src/parser_proc_grammar.y" /* glr.c:821 */
4968 /* TODO: clang include test macros */
4970 struct psi_num_exp
*exp
= psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &no
, 0));
4971 exp
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4972 exp
->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4973 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
), &exp
);
4975 #line 4976 "src/parser_proc.c" /* glr.c:821 */
4979 #line 740 "src/parser_proc_grammar.y" /* glr.c:821 */
4981 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
4982 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4984 #line 4985 "src/parser_proc.c" /* glr.c:821 */
4988 #line 744 "src/parser_proc_grammar.y" /* glr.c:821 */
4990 (*(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
)));
4992 #line 4993 "src/parser_proc.c" /* glr.c:821 */
4996 #line 750 "src/parser_proc_grammar.y" /* glr.c:821 */
4998 (*(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
)));
4999 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5001 #line 5002 "src/parser_proc.c" /* glr.c:821 */
5005 #line 754 "src/parser_proc_grammar.y" /* glr.c:821 */
5007 (*(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
)));
5008 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5010 #line 5011 "src/parser_proc.c" /* glr.c:821 */
5014 #line 761 "src/parser_proc_grammar.y" /* glr.c:821 */
5016 (*(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
);
5017 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5019 #line 5020 "src/parser_proc.c" /* glr.c:821 */
5023 #line 765 "src/parser_proc_grammar.y" /* glr.c:821 */
5025 (*(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
)));
5026 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5028 #line 5029 "src/parser_proc.c" /* glr.c:821 */
5032 #line 769 "src/parser_proc_grammar.y" /* glr.c:821 */
5034 (*(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
);
5035 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5037 #line 5038 "src/parser_proc.c" /* glr.c:821 */
5041 #line 782 "src/parser_proc_grammar.y" /* glr.c:821 */
5043 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5045 #line 5046 "src/parser_proc.c" /* glr.c:821 */
5049 #line 796 "src/parser_proc_grammar.y" /* glr.c:821 */
5051 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5053 #line 5054 "src/parser_proc.c" /* glr.c:821 */
5057 #line 802 "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 805 "src/parser_proc_grammar.y" /* glr.c:821 */
5067 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5069 #line 5070 "src/parser_proc.c" /* glr.c:821 */
5073 #line 811 "src/parser_proc_grammar.y" /* glr.c:821 */
5075 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5077 #line 5078 "src/parser_proc.c" /* glr.c:821 */
5081 #line 814 "src/parser_proc_grammar.y" /* glr.c:821 */
5083 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5085 #line 5086 "src/parser_proc.c" /* glr.c:821 */
5089 #line 821 "src/parser_proc_grammar.y" /* glr.c:821 */
5091 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5092 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5093 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5095 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5096 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5098 #line 5099 "src/parser_proc.c" /* glr.c:821 */
5102 #line 829 "src/parser_proc_grammar.y" /* glr.c:821 */
5104 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5105 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5106 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
5107 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
5109 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5110 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
5111 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5112 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5114 #line 5115 "src/parser_proc.c" /* glr.c:821 */
5118 #line 840 "src/parser_proc_grammar.y" /* glr.c:821 */
5120 (*(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
)));
5121 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
5122 (*(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
)));
5123 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5124 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
5125 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
5126 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
5128 #line 5129 "src/parser_proc.c" /* glr.c:821 */
5132 #line 849 "src/parser_proc_grammar.y" /* glr.c:821 */
5134 (*(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
)));
5135 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
5136 (*(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
)));
5137 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5138 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
5139 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
5140 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
5142 #line 5143 "src/parser_proc.c" /* glr.c:821 */
5146 #line 862 "src/parser_proc_grammar.y" /* glr.c:821 */
5148 (*(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));
5149 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5151 #line 5152 "src/parser_proc.c" /* glr.c:821 */
5155 #line 866 "src/parser_proc_grammar.y" /* glr.c:821 */
5157 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5158 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
5159 psi_decl_var_init(NULL
, 0, 0)
5161 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5162 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5163 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5164 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5166 #line 5167 "src/parser_proc.c" /* glr.c:821 */
5170 #line 876 "src/parser_proc_grammar.y" /* glr.c:821 */
5172 (*(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));
5173 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5174 (*(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
)));
5175 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5176 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5177 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5178 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
5180 #line 5181 "src/parser_proc.c" /* glr.c:821 */
5184 #line 885 "src/parser_proc_grammar.y" /* glr.c:821 */
5186 (*(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));
5187 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5188 (*(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
)));
5189 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5190 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5191 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5192 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
5194 #line 5195 "src/parser_proc.c" /* glr.c:821 */
5198 #line 898 "src/parser_proc_grammar.y" /* glr.c:821 */
5200 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5202 #line 5203 "src/parser_proc.c" /* glr.c:821 */
5206 #line 901 "src/parser_proc_grammar.y" /* glr.c:821 */
5208 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5210 #line 5211 "src/parser_proc.c" /* glr.c:821 */
5214 #line 912 "src/parser_proc_grammar.y" /* glr.c:821 */
5216 (*(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
);
5217 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5219 #line 5220 "src/parser_proc.c" /* glr.c:821 */
5223 #line 920 "src/parser_proc_grammar.y" /* glr.c:821 */
5225 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5226 (*(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
);
5227 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5229 #line 5230 "src/parser_proc.c" /* glr.c:821 */
5233 #line 925 "src/parser_proc_grammar.y" /* glr.c:821 */
5235 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5236 (*(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
);
5237 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5239 #line 5240 "src/parser_proc.c" /* glr.c:821 */
5243 #line 930 "src/parser_proc_grammar.y" /* glr.c:821 */
5245 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5246 (*(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
);
5247 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= 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 940 "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 943 "src/parser_proc_grammar.y" /* glr.c:821 */
5263 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5265 #line 5266 "src/parser_proc.c" /* glr.c:821 */
5269 #line 949 "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 952 "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 955 "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 966 "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 969 "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 972 "src/parser_proc_grammar.y" /* glr.c:821 */
5311 (*(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 #line 5314 "src/parser_proc.c" /* glr.c:821 */
5317 #line 978 "src/parser_proc_grammar.y" /* glr.c:821 */
5319 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5321 #line 5322 "src/parser_proc.c" /* glr.c:821 */
5325 #line 981 "src/parser_proc_grammar.y" /* glr.c:821 */
5327 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5329 #line 5330 "src/parser_proc.c" /* glr.c:821 */
5333 #line 984 "src/parser_proc_grammar.y" /* glr.c:821 */
5335 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5336 (*(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
)));
5337 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5339 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5342 #line 5343 "src/parser_proc.c" /* glr.c:821 */
5346 #line 992 "src/parser_proc_grammar.y" /* glr.c:821 */
5348 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5349 (*(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
)));
5350 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5351 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5353 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5356 #line 5357 "src/parser_proc.c" /* glr.c:821 */
5360 #line 1004 "src/parser_proc_grammar.y" /* glr.c:821 */
5362 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5364 #line 5365 "src/parser_proc.c" /* glr.c:821 */
5368 #line 1007 "src/parser_proc_grammar.y" /* glr.c:821 */
5370 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5372 #line 5373 "src/parser_proc.c" /* glr.c:821 */
5376 #line 1010 "src/parser_proc_grammar.y" /* glr.c:821 */
5378 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5380 #line 5381 "src/parser_proc.c" /* glr.c:821 */
5384 #line 1013 "src/parser_proc_grammar.y" /* glr.c:821 */
5386 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5387 (*(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
)));
5389 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5392 #line 5393 "src/parser_proc.c" /* glr.c:821 */
5396 #line 1020 "src/parser_proc_grammar.y" /* glr.c:821 */
5398 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5400 #line 5401 "src/parser_proc.c" /* glr.c:821 */
5404 #line 1023 "src/parser_proc_grammar.y" /* glr.c:821 */
5406 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5407 (*(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
)));
5409 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5412 #line 5413 "src/parser_proc.c" /* glr.c:821 */
5416 #line 1033 "src/parser_proc_grammar.y" /* glr.c:821 */
5418 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5420 #line 5421 "src/parser_proc.c" /* glr.c:821 */
5424 #line 1039 "src/parser_proc_grammar.y" /* glr.c:821 */
5426 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5428 #line 5429 "src/parser_proc.c" /* glr.c:821 */
5432 #line 1048 "src/parser_proc_grammar.y" /* glr.c:821 */
5434 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5436 #line 5437 "src/parser_proc.c" /* glr.c:821 */
5440 #line 1051 "src/parser_proc_grammar.y" /* glr.c:821 */
5442 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5444 #line 5445 "src/parser_proc.c" /* glr.c:821 */
5448 #line 1054 "src/parser_proc_grammar.y" /* glr.c:821 */
5450 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5451 (*(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
)));
5452 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5454 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5457 #line 5458 "src/parser_proc.c" /* glr.c:821 */
5461 #line 1065 "src/parser_proc_grammar.y" /* glr.c:821 */
5463 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5464 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5465 (*(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
);
5466 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5469 #line 5470 "src/parser_proc.c" /* glr.c:821 */
5473 #line 1072 "src/parser_proc_grammar.y" /* glr.c:821 */
5475 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5476 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5477 (*(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
);
5478 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5481 #line 5482 "src/parser_proc.c" /* glr.c:821 */
5485 #line 1082 "src/parser_proc_grammar.y" /* glr.c:821 */
5487 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5489 #line 5490 "src/parser_proc.c" /* glr.c:821 */
5493 #line 1085 "src/parser_proc_grammar.y" /* glr.c:821 */
5495 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5497 #line 5498 "src/parser_proc.c" /* glr.c:821 */
5501 #line 1091 "src/parser_proc_grammar.y" /* glr.c:821 */
5503 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5505 #line 5506 "src/parser_proc.c" /* glr.c:821 */
5509 #line 1094 "src/parser_proc_grammar.y" /* glr.c:821 */
5511 (*(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
)));
5512 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5514 #line 5515 "src/parser_proc.c" /* glr.c:821 */
5518 #line 1101 "src/parser_proc_grammar.y" /* glr.c:821 */
5520 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
5522 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))) {
5524 struct psi_decl_var
*var
;
5526 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), i
++, &var
)) {
5527 if (psi_decl_extvar_is_blacklisted(var
->name
->val
)) {
5528 psi_decl_var_free(&var
);
5530 struct psi_decl_extvar
*evar
= psi_decl_extvar_init(
5531 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
), var
));
5532 list
= psi_plist_add(list
, &evar
);
5535 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5538 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->var
->name
->val
)) {
5539 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5541 struct psi_decl_extvar
*evar
= psi_decl_extvar_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5543 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5544 evar
->redir
= zend_string_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5545 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5547 list
= psi_plist_add(list
, &evar
);
5550 (*(struct psi_plist
**)(&(*yyvalp
))) = list
;
5552 #line 5553 "src/parser_proc.c" /* glr.c:821 */
5556 #line 1137 "src/parser_proc_grammar.y" /* glr.c:821 */
5558 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5560 #line 5561 "src/parser_proc.c" /* glr.c:821 */
5564 #line 1140 "src/parser_proc_grammar.y" /* glr.c:821 */
5566 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5568 #line 5569 "src/parser_proc.c" /* glr.c:821 */
5572 #line 1146 "src/parser_proc_grammar.y" /* glr.c:821 */
5574 (*(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
)));
5576 #line 5577 "src/parser_proc.c" /* glr.c:821 */
5580 #line 1149 "src/parser_proc_grammar.y" /* glr.c:821 */
5582 (*(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
)));
5584 #line 5585 "src/parser_proc.c" /* glr.c:821 */
5588 #line 1155 "src/parser_proc_grammar.y" /* glr.c:821 */
5590 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5592 #line 5593 "src/parser_proc.c" /* glr.c:821 */
5596 #line 1185 "src/parser_proc_grammar.y" /* glr.c:821 */
5598 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5599 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5601 #line 5602 "src/parser_proc.c" /* glr.c:821 */
5605 #line 1197 "src/parser_proc_grammar.y" /* glr.c:821 */
5607 (*(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
)));
5608 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5609 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5610 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5613 #line 5614 "src/parser_proc.c" /* glr.c:821 */
5617 #line 1204 "src/parser_proc_grammar.y" /* glr.c:821 */
5619 (*(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
)));
5620 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5621 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5622 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5623 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5626 #line 5627 "src/parser_proc.c" /* glr.c:821 */
5630 #line 1215 "src/parser_proc_grammar.y" /* glr.c:821 */
5632 (*(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
)));
5633 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5634 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5635 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5638 #line 5639 "src/parser_proc.c" /* glr.c:821 */
5642 #line 1222 "src/parser_proc_grammar.y" /* glr.c:821 */
5644 (*(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
)));
5645 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5646 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5647 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5648 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5651 #line 5652 "src/parser_proc.c" /* glr.c:821 */
5655 #line 1230 "src/parser_proc_grammar.y" /* glr.c:821 */
5657 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
));
5658 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5660 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))), 1, "rval");
5661 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));
5662 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5664 rval_func
->var
->token
= psi_token_copy(type_token
);
5665 rval_func
->token
= psi_token_copy(type_token
);
5666 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5667 rval_func
->var
->pointer_level
+= 1;
5668 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5671 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5672 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));
5674 type
->real
.func
= rval_decl
;
5675 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5676 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5678 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5680 #line 5681 "src/parser_proc.c" /* glr.c:821 */
5684 #line 1254 "src/parser_proc_grammar.y" /* glr.c:821 */
5686 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-12)].yystate
.yysemantics
.yysval
));
5687 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
));
5688 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5690 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))), 1, "rval");
5691 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));
5692 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5694 rval_func
->var
->token
= psi_token_copy(type_token
);
5695 rval_func
->token
= psi_token_copy(type_token
);
5696 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5697 rval_func
->var
->pointer_level
+= 1;
5698 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5701 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5702 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));
5704 type
->real
.func
= rval_decl
;
5705 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5706 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5707 type
->token
= type_token
;
5709 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5711 #line 5712 "src/parser_proc.c" /* glr.c:821 */
5715 #line 1283 "src/parser_proc_grammar.y" /* glr.c:821 */
5717 (*(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
)));
5718 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5719 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5720 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5723 #line 5724 "src/parser_proc.c" /* glr.c:821 */
5727 #line 1290 "src/parser_proc_grammar.y" /* glr.c:821 */
5729 (*(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
)));
5730 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5731 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5732 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5733 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5736 #line 5737 "src/parser_proc.c" /* glr.c:821 */
5740 #line 1301 "src/parser_proc_grammar.y" /* glr.c:821 */
5742 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5743 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5744 (*(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));
5745 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5746 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5748 #line 5749 "src/parser_proc.c" /* glr.c:821 */
5752 #line 1347 "src/parser_proc_grammar.y" /* glr.c:821 */
5754 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5755 (*(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));
5756 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5757 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5759 #line 5760 "src/parser_proc.c" /* glr.c:821 */
5763 #line 1403 "src/parser_proc_grammar.y" /* glr.c:821 */
5765 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5767 #line 5768 "src/parser_proc.c" /* glr.c:821 */
5771 #line 1406 "src/parser_proc_grammar.y" /* glr.c:821 */
5773 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5775 #line 5776 "src/parser_proc.c" /* glr.c:821 */
5779 #line 1409 "src/parser_proc_grammar.y" /* glr.c:821 */
5781 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5783 #line 5784 "src/parser_proc.c" /* glr.c:821 */
5787 #line 1415 "src/parser_proc_grammar.y" /* glr.c:821 */
5789 (*(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
)));
5791 #line 5792 "src/parser_proc.c" /* glr.c:821 */
5795 #line 1418 "src/parser_proc_grammar.y" /* glr.c:821 */
5797 (*(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
)));
5799 #line 5800 "src/parser_proc.c" /* glr.c:821 */
5803 #line 1424 "src/parser_proc_grammar.y" /* glr.c:821 */
5806 struct psi_token
*name
;
5808 psi_token_hash((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
, digest
);
5809 name
= psi_token_append("@", psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
), 2, "funct", digest
);
5811 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5812 psi_decl_type_init(PSI_T_FUNCTION
, name
->text
),
5813 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5815 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= name
;
5816 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5817 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5819 #line 5820 "src/parser_proc.c" /* glr.c:821 */
5823 #line 1439 "src/parser_proc_grammar.y" /* glr.c:821 */
5825 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5827 #line 5828 "src/parser_proc.c" /* glr.c:821 */
5831 #line 1442 "src/parser_proc_grammar.y" /* glr.c:821 */
5833 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5834 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)),
5835 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
)))
5838 #line 5839 "src/parser_proc.c" /* glr.c:821 */
5842 #line 1471 "src/parser_proc_grammar.y" /* glr.c:821 */
5844 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5845 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5846 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5848 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5849 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5851 #line 5852 "src/parser_proc.c" /* glr.c:821 */
5855 #line 1479 "src/parser_proc_grammar.y" /* glr.c:821 */
5857 (*(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
)));
5859 #line 5860 "src/parser_proc.c" /* glr.c:821 */
5863 #line 1507 "src/parser_proc_grammar.y" /* glr.c:821 */
5865 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5866 (*(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
)));
5867 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5869 #line 5870 "src/parser_proc.c" /* glr.c:821 */
5873 #line 1512 "src/parser_proc_grammar.y" /* glr.c:821 */
5875 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5876 (*(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
)));
5877 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5879 #line 5880 "src/parser_proc.c" /* glr.c:821 */
5883 #line 1520 "src/parser_proc_grammar.y" /* glr.c:821 */
5885 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5886 (*(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
)));
5887 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5888 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5889 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5891 #line 5892 "src/parser_proc.c" /* glr.c:821 */
5895 #line 1530 "src/parser_proc_grammar.y" /* glr.c:821 */
5897 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5898 (*(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
)));
5899 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5900 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5901 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5903 #line 5904 "src/parser_proc.c" /* glr.c:821 */
5907 #line 1540 "src/parser_proc_grammar.y" /* glr.c:821 */
5909 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5911 #line 5912 "src/parser_proc.c" /* glr.c:821 */
5915 #line 1547 "src/parser_proc_grammar.y" /* glr.c:821 */
5917 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5919 #line 5920 "src/parser_proc.c" /* glr.c:821 */
5923 #line 1553 "src/parser_proc_grammar.y" /* glr.c:821 */
5925 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5926 (*(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
)));
5927 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5929 struct psi_decl_arg
*arg
;
5931 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5932 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5933 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5935 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5938 #line 5939 "src/parser_proc.c" /* glr.c:821 */
5942 #line 1567 "src/parser_proc_grammar.y" /* glr.c:821 */
5944 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5945 (*(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
)));
5946 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5948 struct psi_decl_arg
*arg
;
5950 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5951 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5952 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5954 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5957 #line 5958 "src/parser_proc.c" /* glr.c:821 */
5961 #line 1584 "src/parser_proc_grammar.y" /* glr.c:821 */
5963 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5965 #line 5966 "src/parser_proc.c" /* glr.c:821 */
5969 #line 1587 "src/parser_proc_grammar.y" /* glr.c:821 */
5971 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5973 #line 5974 "src/parser_proc.c" /* glr.c:821 */
5977 #line 1593 "src/parser_proc_grammar.y" /* glr.c:821 */
5980 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5981 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5982 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
5985 #line 5986 "src/parser_proc.c" /* glr.c:821 */
5989 #line 1600 "src/parser_proc_grammar.y" /* glr.c:821 */
5992 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5993 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5994 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
5997 #line 5998 "src/parser_proc.c" /* glr.c:821 */
6001 #line 1607 "src/parser_proc_grammar.y" /* glr.c:821 */
6004 struct psi_decl_var
*var
= psi_decl_var_init(NULL
, 0, 0);
6005 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, var
);
6006 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6007 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
6010 #line 6011 "src/parser_proc.c" /* glr.c:821 */
6014 #line 1615 "src/parser_proc_grammar.y" /* glr.c:821 */
6017 struct psi_decl_var
*var
= psi_decl_var_init(NULL
, 0, 0);
6018 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, var
);
6019 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6020 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &arg
);
6023 #line 6024 "src/parser_proc.c" /* glr.c:821 */
6027 #line 1626 "src/parser_proc_grammar.y" /* glr.c:821 */
6029 (*(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
)));
6030 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
6032 #line 6033 "src/parser_proc.c" /* glr.c:821 */
6036 #line 1633 "src/parser_proc_grammar.y" /* glr.c:821 */
6038 (*(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
)));
6040 #line 6041 "src/parser_proc.c" /* glr.c:821 */
6044 #line 1636 "src/parser_proc_grammar.y" /* glr.c:821 */
6046 (*(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
)));
6048 #line 6049 "src/parser_proc.c" /* glr.c:821 */
6052 #line 1642 "src/parser_proc_grammar.y" /* glr.c:821 */
6054 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6055 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
6056 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6058 #line 6059 "src/parser_proc.c" /* glr.c:821 */
6062 #line 1647 "src/parser_proc_grammar.y" /* glr.c:821 */
6064 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6065 (*(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
)));
6066 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6068 #line 6069 "src/parser_proc.c" /* glr.c:821 */
6072 #line 1655 "src/parser_proc_grammar.y" /* glr.c:821 */
6074 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6075 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6077 #line 6078 "src/parser_proc.c" /* glr.c:821 */
6081 #line 1659 "src/parser_proc_grammar.y" /* glr.c:821 */
6083 (*(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
)));
6084 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
6086 #line 6087 "src/parser_proc.c" /* glr.c:821 */
6090 #line 1663 "src/parser_proc_grammar.y" /* glr.c:821 */
6092 (*(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
)));
6093 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6095 #line 6096 "src/parser_proc.c" /* glr.c:821 */
6099 #line 1667 "src/parser_proc_grammar.y" /* glr.c:821 */
6101 (*(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
)));
6102 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6104 #line 6105 "src/parser_proc.c" /* glr.c:821 */
6108 #line 1671 "src/parser_proc_grammar.y" /* glr.c:821 */
6110 (*(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
)));
6111 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6113 #line 6114 "src/parser_proc.c" /* glr.c:821 */
6117 #line 1675 "src/parser_proc_grammar.y" /* glr.c:821 */
6119 (*(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
)));
6120 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6122 #line 6123 "src/parser_proc.c" /* glr.c:821 */
6126 #line 1682 "src/parser_proc_grammar.y" /* glr.c:821 */
6128 (*(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
);
6129 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6131 #line 6132 "src/parser_proc.c" /* glr.c:821 */
6135 #line 1686 "src/parser_proc_grammar.y" /* glr.c:821 */
6137 (*(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);
6138 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6140 #line 6141 "src/parser_proc.c" /* glr.c:821 */
6144 #line 1690 "src/parser_proc_grammar.y" /* glr.c:821 */
6146 (*(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);
6147 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6149 #line 6150 "src/parser_proc.c" /* glr.c:821 */
6153 #line 1694 "src/parser_proc_grammar.y" /* glr.c:821 */
6155 (*(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);
6156 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6158 #line 6159 "src/parser_proc.c" /* glr.c:821 */
6162 #line 1698 "src/parser_proc_grammar.y" /* glr.c:821 */
6164 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
6165 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6167 #line 6168 "src/parser_proc.c" /* glr.c:821 */
6171 #line 1702 "src/parser_proc_grammar.y" /* glr.c:821 */
6173 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6175 #line 6176 "src/parser_proc.c" /* glr.c:821 */
6179 #line 1708 "src/parser_proc_grammar.y" /* glr.c:821 */
6181 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6182 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6184 #line 6185 "src/parser_proc.c" /* glr.c:821 */
6188 #line 1712 "src/parser_proc_grammar.y" /* glr.c:821 */
6190 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6191 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6193 #line 6194 "src/parser_proc.c" /* glr.c:821 */
6197 #line 1719 "src/parser_proc_grammar.y" /* glr.c:821 */
6199 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6201 #line 6202 "src/parser_proc.c" /* glr.c:821 */
6205 #line 1722 "src/parser_proc_grammar.y" /* glr.c:821 */
6207 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6208 int8_t sizeof_void_p
= sizeof(void *);
6209 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
6210 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6212 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
6215 #line 6216 "src/parser_proc.c" /* glr.c:821 */
6219 #line 1734 "src/parser_proc_grammar.y" /* glr.c:821 */
6221 int8_t sizeof_void_p
= sizeof(void *);
6222 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
6224 #line 6225 "src/parser_proc.c" /* glr.c:821 */
6228 #line 1738 "src/parser_proc_grammar.y" /* glr.c:821 */
6230 int8_t sizeof_a
= sizeof('a');
6231 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
6233 #line 6234 "src/parser_proc.c" /* glr.c:821 */
6237 #line 1742 "src/parser_proc_grammar.y" /* glr.c:821 */
6239 uint64_t len
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
->len
+ 1;
6240 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_UINT64
, &len
, 0);
6242 #line 6243 "src/parser_proc.c" /* glr.c:821 */
6246 #line 1749 "src/parser_proc_grammar.y" /* glr.c:821 */
6248 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6249 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6253 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6254 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6257 #line 6258 "src/parser_proc.c" /* glr.c:821 */
6261 #line 1762 "src/parser_proc_grammar.y" /* glr.c:821 */
6263 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6264 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6268 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6269 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6272 #line 6273 "src/parser_proc.c" /* glr.c:821 */
6276 #line 1775 "src/parser_proc_grammar.y" /* glr.c:821 */
6278 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6279 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6283 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6284 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6287 #line 6288 "src/parser_proc.c" /* glr.c:821 */
6291 #line 1788 "src/parser_proc_grammar.y" /* glr.c:821 */
6293 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
6295 #line 6296 "src/parser_proc.c" /* glr.c:821 */
6299 #line 1791 "src/parser_proc_grammar.y" /* glr.c:821 */
6301 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6302 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
6304 #line 6305 "src/parser_proc.c" /* glr.c:821 */
6308 #line 1803 "src/parser_proc_grammar.y" /* glr.c:821 */
6310 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
6312 #line 6313 "src/parser_proc.c" /* glr.c:821 */
6316 #line 1806 "src/parser_proc_grammar.y" /* glr.c:821 */
6318 (*(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
));
6320 #line 6321 "src/parser_proc.c" /* glr.c:821 */
6324 #line 1809 "src/parser_proc_grammar.y" /* glr.c:821 */
6326 (*(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
);
6328 #line 6329 "src/parser_proc.c" /* glr.c:821 */
6332 #line 1812 "src/parser_proc_grammar.y" /* glr.c:821 */
6334 (*(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
));
6336 #line 6337 "src/parser_proc.c" /* glr.c:821 */
6340 #line 1818 "src/parser_proc_grammar.y" /* glr.c:821 */
6342 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
6343 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
6345 #line 6346 "src/parser_proc.c" /* glr.c:821 */
6349 #line 1822 "src/parser_proc_grammar.y" /* glr.c:821 */
6351 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
->val
);
6352 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
->val
);
6354 #line 6355 "src/parser_proc.c" /* glr.c:821 */
6358 #line 1829 "src/parser_proc_grammar.y" /* glr.c:821 */
6360 (*(size_t*)(&(*yyvalp
))) = 0;
6362 #line 6363 "src/parser_proc.c" /* glr.c:821 */
6366 #line 1832 "src/parser_proc_grammar.y" /* glr.c:821 */
6368 (*(size_t*)(&(*yyvalp
))) = 0;
6370 #line 6371 "src/parser_proc.c" /* glr.c:821 */
6374 #line 1835 "src/parser_proc_grammar.y" /* glr.c:821 */
6376 struct psi_validate_scope scope
= {0};
6377 psi_validate_scope_ctor(&scope
);
6378 scope
.cpp
= P
->preproc
;
6379 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &scope
)) {
6380 (*(size_t*)(&(*yyvalp
))) = psi_num_exp_get_long((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, P
->preproc
);
6382 (*(size_t*)(&(*yyvalp
))) = 0;
6384 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6385 psi_validate_scope_dtor(&scope
);
6387 #line 6388 "src/parser_proc.c" /* glr.c:821 */
6391 #line 1857 "src/parser_proc_grammar.y" /* glr.c:821 */
6393 (*(size_t*)(&(*yyvalp
))) = 0;
6395 #line 6396 "src/parser_proc.c" /* glr.c:821 */
6399 #line 1860 "src/parser_proc_grammar.y" /* glr.c:821 */
6401 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6403 #line 6404 "src/parser_proc.c" /* glr.c:821 */
6407 #line 1867 "src/parser_proc_grammar.y" /* glr.c:821 */
6409 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6411 #line 6412 "src/parser_proc.c" /* glr.c:821 */
6415 #line 1873 "src/parser_proc_grammar.y" /* glr.c:821 */
6417 (*(size_t*)(&(*yyvalp
))) = 1;
6419 #line 6420 "src/parser_proc.c" /* glr.c:821 */
6423 #line 1876 "src/parser_proc_grammar.y" /* glr.c:821 */
6425 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
6427 #line 6428 "src/parser_proc.c" /* glr.c:821 */
6431 #line 1898 "src/parser_proc_grammar.y" /* glr.c:821 */
6433 (*(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
)));
6435 #line 6436 "src/parser_proc.c" /* glr.c:821 */
6439 #line 1901 "src/parser_proc_grammar.y" /* glr.c:821 */
6441 (*(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
)));
6442 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6444 #line 6445 "src/parser_proc.c" /* glr.c:821 */
6448 #line 1908 "src/parser_proc_grammar.y" /* glr.c:821 */
6450 (*(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
)));
6451 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6452 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
6454 #line 6455 "src/parser_proc.c" /* glr.c:821 */
6458 #line 1913 "src/parser_proc_grammar.y" /* glr.c:821 */
6460 (*(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
)));
6461 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6462 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
6464 #line 6465 "src/parser_proc.c" /* glr.c:821 */
6468 #line 1918 "src/parser_proc_grammar.y" /* glr.c:821 */
6470 (*(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
)));
6471 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
6472 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
6473 (*(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
);
6474 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6476 #line 6477 "src/parser_proc.c" /* glr.c:821 */
6480 #line 1928 "src/parser_proc_grammar.y" /* glr.c:821 */
6482 (*(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
)));
6484 #line 6485 "src/parser_proc.c" /* glr.c:821 */
6488 #line 1931 "src/parser_proc_grammar.y" /* glr.c:821 */
6490 (*(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
)));
6492 #line 6493 "src/parser_proc.c" /* glr.c:821 */
6496 #line 1937 "src/parser_proc_grammar.y" /* glr.c:821 */
6498 (*(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
);
6500 #line 6501 "src/parser_proc.c" /* glr.c:821 */
6504 #line 1940 "src/parser_proc_grammar.y" /* glr.c:821 */
6506 (*(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
)));
6508 #line 6509 "src/parser_proc.c" /* glr.c:821 */
6512 #line 1946 "src/parser_proc_grammar.y" /* glr.c:821 */
6514 (*(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
)));
6515 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6517 #line 6518 "src/parser_proc.c" /* glr.c:821 */
6521 #line 1953 "src/parser_proc_grammar.y" /* glr.c:821 */
6523 (*(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
);
6524 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6526 #line 6527 "src/parser_proc.c" /* glr.c:821 */
6530 #line 1960 "src/parser_proc_grammar.y" /* glr.c:821 */
6532 (*(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
);
6533 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6535 #line 6536 "src/parser_proc.c" /* glr.c:821 */
6539 #line 1987 "src/parser_proc_grammar.y" /* glr.c:821 */
6541 (*(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
)));
6543 #line 6544 "src/parser_proc.c" /* glr.c:821 */
6547 #line 1990 "src/parser_proc_grammar.y" /* glr.c:821 */
6549 (*(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
)));
6551 #line 6552 "src/parser_proc.c" /* glr.c:821 */
6555 #line 1996 "src/parser_proc_grammar.y" /* glr.c:821 */
6557 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6559 #line 6560 "src/parser_proc.c" /* glr.c:821 */
6563 #line 1999 "src/parser_proc_grammar.y" /* glr.c:821 */
6565 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6567 #line 6568 "src/parser_proc.c" /* glr.c:821 */
6571 #line 2002 "src/parser_proc_grammar.y" /* glr.c:821 */
6573 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6575 #line 6576 "src/parser_proc.c" /* glr.c:821 */
6579 #line 2005 "src/parser_proc_grammar.y" /* glr.c:821 */
6581 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6583 #line 6584 "src/parser_proc.c" /* glr.c:821 */
6587 #line 2008 "src/parser_proc_grammar.y" /* glr.c:821 */
6589 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6591 #line 6592 "src/parser_proc.c" /* glr.c:821 */
6595 #line 2014 "src/parser_proc_grammar.y" /* glr.c:821 */
6597 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6598 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6600 #line 6601 "src/parser_proc.c" /* glr.c:821 */
6604 #line 2018 "src/parser_proc_grammar.y" /* glr.c:821 */
6606 (*(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
))));
6607 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6608 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6610 #line 6611 "src/parser_proc.c" /* glr.c:821 */
6614 #line 2027 "src/parser_proc_grammar.y" /* glr.c:821 */
6616 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6617 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
6619 #line 6620 "src/parser_proc.c" /* glr.c:821 */
6623 #line 2031 "src/parser_proc_grammar.y" /* glr.c:821 */
6625 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6626 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
6628 #line 6629 "src/parser_proc.c" /* glr.c:821 */
6632 #line 2038 "src/parser_proc_grammar.y" /* glr.c:821 */
6634 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
6636 #line 6637 "src/parser_proc.c" /* glr.c:821 */
6640 #line 2041 "src/parser_proc_grammar.y" /* glr.c:821 */
6642 (*(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
)));
6644 #line 6645 "src/parser_proc.c" /* glr.c:821 */
6648 #line 2044 "src/parser_proc_grammar.y" /* glr.c:821 */
6650 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6652 #line 6653 "src/parser_proc.c" /* glr.c:821 */
6656 #line 2047 "src/parser_proc_grammar.y" /* glr.c:821 */
6658 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6659 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6661 #line 6662 "src/parser_proc.c" /* glr.c:821 */
6665 #line 2051 "src/parser_proc_grammar.y" /* glr.c:821 */
6667 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6669 #line 6670 "src/parser_proc.c" /* glr.c:821 */
6673 #line 2054 "src/parser_proc_grammar.y" /* glr.c:821 */
6675 (*(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
)));
6677 #line 6678 "src/parser_proc.c" /* glr.c:821 */
6681 #line 2060 "src/parser_proc_grammar.y" /* glr.c:821 */
6683 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6684 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6686 #line 6687 "src/parser_proc.c" /* glr.c:821 */
6690 #line 2064 "src/parser_proc_grammar.y" /* glr.c:821 */
6692 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6693 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
6694 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
6696 #line 6697 "src/parser_proc.c" /* glr.c:821 */
6700 #line 2072 "src/parser_proc_grammar.y" /* glr.c:821 */
6702 (*(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
)));
6703 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6705 #line 6706 "src/parser_proc.c" /* glr.c:821 */
6709 #line 2079 "src/parser_proc_grammar.y" /* glr.c:821 */
6711 (*(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
);
6712 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6713 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
6715 #line 6716 "src/parser_proc.c" /* glr.c:821 */
6719 #line 2084 "src/parser_proc_grammar.y" /* glr.c:821 */
6721 (*(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
)));
6722 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6723 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
6725 #line 6726 "src/parser_proc.c" /* glr.c:821 */
6729 #line 2092 "src/parser_proc_grammar.y" /* glr.c:821 */
6731 (*(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
)));
6732 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6733 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6735 #line 6736 "src/parser_proc.c" /* glr.c:821 */
6739 #line 2113 "src/parser_proc_grammar.y" /* glr.c:821 */
6741 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6743 #line 6744 "src/parser_proc.c" /* glr.c:821 */
6747 #line 2116 "src/parser_proc_grammar.y" /* glr.c:821 */
6749 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6751 #line 6752 "src/parser_proc.c" /* glr.c:821 */
6755 #line 2122 "src/parser_proc_grammar.y" /* glr.c:821 */
6757 (*(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
)));
6759 #line 6760 "src/parser_proc.c" /* glr.c:821 */
6763 #line 2125 "src/parser_proc_grammar.y" /* glr.c:821 */
6765 (*(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
)));
6767 #line 6768 "src/parser_proc.c" /* glr.c:821 */
6771 #line 2136 "src/parser_proc_grammar.y" /* glr.c:821 */
6773 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6775 #line 6776 "src/parser_proc.c" /* glr.c:821 */
6779 #line 2139 "src/parser_proc_grammar.y" /* glr.c:821 */
6781 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6783 #line 6784 "src/parser_proc.c" /* glr.c:821 */
6787 #line 2145 "src/parser_proc_grammar.y" /* glr.c:821 */
6789 (*(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
)));
6791 #line 6792 "src/parser_proc.c" /* glr.c:821 */
6795 #line 2148 "src/parser_proc_grammar.y" /* glr.c:821 */
6797 (*(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
)));
6799 #line 6800 "src/parser_proc.c" /* glr.c:821 */
6803 #line 2154 "src/parser_proc_grammar.y" /* glr.c:821 */
6805 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6806 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6808 #line 6809 "src/parser_proc.c" /* glr.c:821 */
6812 #line 2161 "src/parser_proc_grammar.y" /* glr.c:821 */
6814 (*(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
))));
6815 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
6817 #line 6818 "src/parser_proc.c" /* glr.c:821 */
6821 #line 2165 "src/parser_proc_grammar.y" /* glr.c:821 */
6823 (*(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
))));
6824 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6826 #line 6827 "src/parser_proc.c" /* glr.c:821 */
6830 #line 2172 "src/parser_proc_grammar.y" /* glr.c:821 */
6832 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6834 #line 6835 "src/parser_proc.c" /* glr.c:821 */
6838 #line 2175 "src/parser_proc_grammar.y" /* glr.c:821 */
6840 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6842 #line 6843 "src/parser_proc.c" /* glr.c:821 */
6846 #line 2178 "src/parser_proc_grammar.y" /* glr.c:821 */
6848 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6850 #line 6851 "src/parser_proc.c" /* glr.c:821 */
6854 #line 2184 "src/parser_proc_grammar.y" /* glr.c:821 */
6856 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6857 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6859 #line 6860 "src/parser_proc.c" /* glr.c:821 */
6863 #line 2191 "src/parser_proc_grammar.y" /* glr.c:821 */
6865 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6867 #line 6868 "src/parser_proc.c" /* glr.c:821 */
6871 #line 2194 "src/parser_proc_grammar.y" /* glr.c:821 */
6873 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6875 #line 6876 "src/parser_proc.c" /* glr.c:821 */
6879 #line 2197 "src/parser_proc_grammar.y" /* glr.c:821 */
6881 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6882 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6884 #line 6885 "src/parser_proc.c" /* glr.c:821 */
6888 #line 2204 "src/parser_proc_grammar.y" /* glr.c:821 */
6890 (*(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
)));
6891 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6892 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6894 #line 6895 "src/parser_proc.c" /* glr.c:821 */
6898 #line 2209 "src/parser_proc_grammar.y" /* glr.c:821 */
6900 (*(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
)));
6901 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6902 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
6904 #line 6905 "src/parser_proc.c" /* glr.c:821 */
6908 #line 2228 "src/parser_proc_grammar.y" /* glr.c:821 */
6910 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6912 #line 6913 "src/parser_proc.c" /* glr.c:821 */
6916 #line 2231 "src/parser_proc_grammar.y" /* glr.c:821 */
6918 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6920 #line 6921 "src/parser_proc.c" /* glr.c:821 */
6924 #line 2237 "src/parser_proc_grammar.y" /* glr.c:821 */
6926 (*(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
)));
6928 #line 6929 "src/parser_proc.c" /* glr.c:821 */
6932 #line 2240 "src/parser_proc_grammar.y" /* glr.c:821 */
6934 (*(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
)));
6936 #line 6937 "src/parser_proc.c" /* glr.c:821 */
6940 #line 2246 "src/parser_proc_grammar.y" /* glr.c:821 */
6942 (*(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
)));
6943 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6945 #line 6946 "src/parser_proc.c" /* glr.c:821 */
6949 #line 2258 "src/parser_proc_grammar.y" /* glr.c:821 */
6951 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6952 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6954 #line 6955 "src/parser_proc.c" /* glr.c:821 */
6958 #line 2265 "src/parser_proc_grammar.y" /* glr.c:821 */
6960 (*(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
)));
6962 #line 6963 "src/parser_proc.c" /* glr.c:821 */
6966 #line 2268 "src/parser_proc_grammar.y" /* glr.c:821 */
6968 (*(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
)));
6970 #line 6971 "src/parser_proc.c" /* glr.c:821 */
6974 #line 2274 "src/parser_proc_grammar.y" /* glr.c:821 */
6976 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6977 (*(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
)));
6978 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6980 #line 6981 "src/parser_proc.c" /* glr.c:821 */
6984 #line 2282 "src/parser_proc_grammar.y" /* glr.c:821 */
6986 (*(bool*)(&(*yyvalp
))) = false;
6988 #line 6989 "src/parser_proc.c" /* glr.c:821 */
6992 #line 2285 "src/parser_proc_grammar.y" /* glr.c:821 */
6994 (*(bool*)(&(*yyvalp
))) = true;
6996 #line 6997 "src/parser_proc.c" /* glr.c:821 */
7000 #line 7001 "src/parser_proc.c" /* glr.c:821 */
7011 # undef YYRECOVERING
7016 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
7028 /* Bison grammar-table manipulation. */
7030 /*-----------------------------------------------.
7031 | Release the memory associated to this symbol. |
7032 `-----------------------------------------------*/
7035 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7043 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
7045 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
7048 case 141: /* binary_op_token */
7049 #line 298 "src/parser_proc_grammar.y" /* glr.c:851 */
7051 #line 7052 "src/parser_proc.c" /* glr.c:851 */
7054 case 142: /* unary_op_token */
7055 #line 298 "src/parser_proc_grammar.y" /* glr.c:851 */
7057 #line 7058 "src/parser_proc.c" /* glr.c:851 */
7060 case 143: /* name_token */
7061 #line 298 "src/parser_proc_grammar.y" /* glr.c:851 */
7063 #line 7064 "src/parser_proc.c" /* glr.c:851 */
7066 case 144: /* any_noeol_token */
7067 #line 298 "src/parser_proc_grammar.y" /* glr.c:851 */
7069 #line 7070 "src/parser_proc.c" /* glr.c:851 */
7073 #line 292 "src/parser_proc_grammar.y" /* glr.c:851 */
7074 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7075 #line 7076 "src/parser_proc.c" /* glr.c:851 */
7079 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7080 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
7081 #line 7082 "src/parser_proc.c" /* glr.c:851 */
7084 case 151: /* cpp_exp */
7085 #line 307 "src/parser_proc_grammar.y" /* glr.c:851 */
7086 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
7087 #line 7088 "src/parser_proc.c" /* glr.c:851 */
7090 case 153: /* cpp_message_token */
7091 #line 295 "src/parser_proc_grammar.y" /* glr.c:851 */
7093 #line 7094 "src/parser_proc.c" /* glr.c:851 */
7096 case 154: /* cpp_include_token */
7097 #line 295 "src/parser_proc_grammar.y" /* glr.c:851 */
7099 #line 7100 "src/parser_proc.c" /* glr.c:851 */
7102 case 155: /* cpp_header_token */
7103 #line 295 "src/parser_proc_grammar.y" /* glr.c:851 */
7105 #line 7106 "src/parser_proc.c" /* glr.c:851 */
7108 case 156: /* cpp_no_arg_token */
7109 #line 295 "src/parser_proc_grammar.y" /* glr.c:851 */
7111 #line 7112 "src/parser_proc.c" /* glr.c:851 */
7114 case 157: /* cpp_name_arg_token */
7115 #line 295 "src/parser_proc_grammar.y" /* glr.c:851 */
7117 #line 7118 "src/parser_proc.c" /* glr.c:851 */
7120 case 158: /* cpp_exp_arg_token */
7121 #line 295 "src/parser_proc_grammar.y" /* glr.c:851 */
7123 #line 7124 "src/parser_proc.c" /* glr.c:851 */
7126 case 159: /* cpp_macro_decl */
7127 #line 309 "src/parser_proc_grammar.y" /* glr.c:851 */
7128 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
7129 #line 7130 "src/parser_proc.c" /* glr.c:851 */
7132 case 160: /* cpp_macro_sig */
7133 #line 311 "src/parser_proc_grammar.y" /* glr.c:851 */
7134 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7135 #line 7136 "src/parser_proc.c" /* glr.c:851 */
7138 case 161: /* cpp_macro_sig_args */
7139 #line 311 "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 162: /* cpp_macro_decl_tokens */
7145 #line 311 "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 163: /* cpp_macro_decl_token_list */
7151 #line 311 "src/parser_proc_grammar.y" /* glr.c:851 */
7152 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7153 #line 7154 "src/parser_proc.c" /* glr.c:851 */
7156 case 164: /* cpp_macro_exp */
7157 #line 313 "src/parser_proc_grammar.y" /* glr.c:851 */
7158 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7159 #line 7160 "src/parser_proc.c" /* glr.c:851 */
7162 case 165: /* cpp_macro_call_args */
7163 #line 311 "src/parser_proc_grammar.y" /* glr.c:851 */
7164 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7165 #line 7166 "src/parser_proc.c" /* glr.c:851 */
7168 case 166: /* cpp_macro_call_arg_list */
7169 #line 311 "src/parser_proc_grammar.y" /* glr.c:851 */
7170 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7171 #line 7172 "src/parser_proc.c" /* glr.c:851 */
7174 case 167: /* constant */
7175 #line 319 "src/parser_proc_grammar.y" /* glr.c:851 */
7176 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
7177 #line 7178 "src/parser_proc.c" /* glr.c:851 */
7180 case 168: /* impl_def_val */
7181 #line 321 "src/parser_proc_grammar.y" /* glr.c:851 */
7182 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
7183 #line 7184 "src/parser_proc.c" /* glr.c:851 */
7186 case 169: /* impl_def_val_token */
7187 #line 316 "src/parser_proc_grammar.y" /* glr.c:851 */
7189 #line 7190 "src/parser_proc.c" /* glr.c:851 */
7192 case 170: /* decl_typedef */
7193 #line 334 "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 171: /* typedef */
7199 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7200 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7201 #line 7202 "src/parser_proc.c" /* glr.c:851 */
7204 case 172: /* typedef_anon */
7205 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7206 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7207 #line 7208 "src/parser_proc.c" /* glr.c:851 */
7210 case 173: /* typedef_decl */
7211 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7212 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7213 #line 7214 "src/parser_proc.c" /* glr.c:851 */
7216 case 174: /* typedef_anon_decl */
7217 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7218 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7219 #line 7220 "src/parser_proc.c" /* glr.c:851 */
7222 case 175: /* qualified_decl_type */
7223 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7224 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7225 #line 7226 "src/parser_proc.c" /* glr.c:851 */
7228 case 177: /* decl_type */
7229 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7230 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7231 #line 7232 "src/parser_proc.c" /* glr.c:851 */
7234 case 178: /* decl_type_complex */
7235 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7236 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7237 #line 7238 "src/parser_proc.c" /* glr.c:851 */
7240 case 179: /* decl_type_simple */
7241 #line 324 "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 180: /* decl_real_type */
7247 #line 324 "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 181: /* int_signed */
7253 #line 304 "src/parser_proc_grammar.y" /* glr.c:851 */
7255 #line 7256 "src/parser_proc.c" /* glr.c:851 */
7258 case 182: /* int_width */
7259 #line 301 "src/parser_proc_grammar.y" /* glr.c:851 */
7260 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7261 #line 7262 "src/parser_proc.c" /* glr.c:851 */
7264 case 183: /* decl_int_type */
7265 #line 324 "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 184: /* int_signed_types */
7271 #line 301 "src/parser_proc_grammar.y" /* glr.c:851 */
7272 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7273 #line 7274 "src/parser_proc.c" /* glr.c:851 */
7276 case 185: /* signed_short_types */
7277 #line 304 "src/parser_proc_grammar.y" /* glr.c:851 */
7279 #line 7280 "src/parser_proc.c" /* glr.c:851 */
7282 case 186: /* signed_long_types */
7283 #line 304 "src/parser_proc_grammar.y" /* glr.c:851 */
7285 #line 7286 "src/parser_proc.c" /* glr.c:851 */
7288 case 187: /* int_width_types */
7289 #line 301 "src/parser_proc_grammar.y" /* glr.c:851 */
7290 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7291 #line 7292 "src/parser_proc.c" /* glr.c:851 */
7294 case 188: /* decl_stmt */
7295 #line 332 "src/parser_proc_grammar.y" /* glr.c:851 */
7296 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7297 #line 7298 "src/parser_proc.c" /* glr.c:851 */
7300 case 189: /* decl_asm */
7301 #line 327 "src/parser_proc_grammar.y" /* glr.c:851 */
7302 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7303 #line 7304 "src/parser_proc.c" /* glr.c:851 */
7306 case 190: /* quoted_strings */
7307 #line 327 "src/parser_proc_grammar.y" /* glr.c:851 */
7308 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7309 #line 7310 "src/parser_proc.c" /* glr.c:851 */
7312 case 191: /* decl_extvar_stmt */
7313 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7314 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7315 #line 7316 "src/parser_proc.c" /* glr.c:851 */
7318 case 192: /* decl_extvar_list */
7319 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7320 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7321 #line 7322 "src/parser_proc.c" /* glr.c:851 */
7324 case 193: /* decl_vars */
7325 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7326 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7327 #line 7328 "src/parser_proc.c" /* glr.c:851 */
7330 case 194: /* ignored_decl */
7331 #line 332 "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 199: /* decl */
7337 #line 332 "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 200: /* decl_body */
7343 #line 332 "src/parser_proc_grammar.y" /* glr.c:851 */
7344 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7345 #line 7346 "src/parser_proc.c" /* glr.c:851 */
7348 case 201: /* decl_func_body */
7349 #line 332 "src/parser_proc_grammar.y" /* glr.c:851 */
7350 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7351 #line 7352 "src/parser_proc.c" /* glr.c:851 */
7354 case 202: /* decl_functor_body */
7355 #line 332 "src/parser_proc_grammar.y" /* glr.c:851 */
7356 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7357 #line 7358 "src/parser_proc.c" /* glr.c:851 */
7360 case 203: /* decl_anon_functor_body */
7361 #line 332 "src/parser_proc_grammar.y" /* glr.c:851 */
7362 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7363 #line 7364 "src/parser_proc.c" /* glr.c:851 */
7366 case 204: /* decl_functor */
7367 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7368 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7369 #line 7370 "src/parser_proc.c" /* glr.c:851 */
7372 case 205: /* decl_anon_functor */
7373 #line 334 "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 206: /* decl_func */
7379 #line 334 "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 207: /* decl_args */
7385 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7386 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7387 #line 7388 "src/parser_proc.c" /* glr.c:851 */
7390 case 208: /* decl_arg_list */
7391 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7392 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7393 #line 7394 "src/parser_proc.c" /* glr.c:851 */
7396 case 209: /* decl_anon_arg */
7397 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7398 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7399 #line 7400 "src/parser_proc.c" /* glr.c:851 */
7402 case 210: /* decl_arg */
7403 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7404 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7405 #line 7406 "src/parser_proc.c" /* glr.c:851 */
7408 case 211: /* decl_var */
7409 #line 336 "src/parser_proc_grammar.y" /* glr.c:851 */
7410 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
7411 #line 7412 "src/parser_proc.c" /* glr.c:851 */
7414 case 212: /* decl_union */
7415 #line 340 "src/parser_proc_grammar.y" /* glr.c:851 */
7416 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
7417 #line 7418 "src/parser_proc.c" /* glr.c:851 */
7420 case 213: /* decl_struct */
7421 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7422 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
7423 #line 7424 "src/parser_proc.c" /* glr.c:851 */
7426 case 214: /* decl_struct_args */
7427 #line 346 "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 215: /* struct_args_block */
7433 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7434 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7435 #line 7436 "src/parser_proc.c" /* glr.c:851 */
7438 case 216: /* struct_args */
7439 #line 346 "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 217: /* struct_arg_var_list */
7445 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7446 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7447 #line 7448 "src/parser_proc.c" /* glr.c:851 */
7450 case 218: /* decl_vars_with_layout */
7451 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7452 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7453 #line 7454 "src/parser_proc.c" /* glr.c:851 */
7456 case 219: /* decl_enum */
7457 #line 342 "src/parser_proc_grammar.y" /* glr.c:851 */
7458 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
7459 #line 7460 "src/parser_proc.c" /* glr.c:851 */
7462 case 220: /* decl_enum_items */
7463 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7464 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7465 #line 7466 "src/parser_proc.c" /* glr.c:851 */
7468 case 221: /* decl_enum_item */
7469 #line 344 "src/parser_proc_grammar.y" /* glr.c:851 */
7470 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
7471 #line 7472 "src/parser_proc.c" /* glr.c:851 */
7474 case 222: /* num_exp */
7475 #line 402 "src/parser_proc_grammar.y" /* glr.c:851 */
7476 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7477 #line 7478 "src/parser_proc.c" /* glr.c:851 */
7480 case 223: /* number */
7481 #line 404 "src/parser_proc_grammar.y" /* glr.c:851 */
7482 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7483 #line 7484 "src/parser_proc.c" /* glr.c:851 */
7486 case 224: /* sizeof */
7487 #line 354 "src/parser_proc_grammar.y" /* glr.c:851 */
7488 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7489 #line 7490 "src/parser_proc.c" /* glr.c:851 */
7492 case 225: /* sizeof_body */
7493 #line 354 "src/parser_proc_grammar.y" /* glr.c:851 */
7494 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7495 #line 7496 "src/parser_proc.c" /* glr.c:851 */
7498 case 226: /* sizeof_body_notypes */
7499 #line 354 "src/parser_proc_grammar.y" /* glr.c:851 */
7500 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7501 #line 7502 "src/parser_proc.c" /* glr.c:851 */
7504 case 227: /* enum_name */
7505 #line 292 "src/parser_proc_grammar.y" /* glr.c:851 */
7506 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7507 #line 7508 "src/parser_proc.c" /* glr.c:851 */
7510 case 228: /* union_name */
7511 #line 292 "src/parser_proc_grammar.y" /* glr.c:851 */
7512 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7513 #line 7514 "src/parser_proc.c" /* glr.c:851 */
7516 case 229: /* struct_name */
7517 #line 292 "src/parser_proc_grammar.y" /* glr.c:851 */
7518 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7519 #line 7520 "src/parser_proc.c" /* glr.c:851 */
7522 case 230: /* optional_name */
7523 #line 292 "src/parser_proc_grammar.y" /* glr.c:851 */
7524 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7525 #line 7526 "src/parser_proc.c" /* glr.c:851 */
7528 case 232: /* decl_layout */
7529 #line 351 "src/parser_proc_grammar.y" /* glr.c:851 */
7530 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
7531 #line 7532 "src/parser_proc.c" /* glr.c:851 */
7534 case 233: /* align_and_size */
7535 #line 349 "src/parser_proc_grammar.y" /* glr.c:851 */
7537 #line 7538 "src/parser_proc.c" /* glr.c:851 */
7540 case 234: /* array_size */
7541 #line 407 "src/parser_proc_grammar.y" /* glr.c:851 */
7543 #line 7544 "src/parser_proc.c" /* glr.c:851 */
7546 case 236: /* indirection */
7547 #line 407 "src/parser_proc_grammar.y" /* glr.c:851 */
7549 #line 7550 "src/parser_proc.c" /* glr.c:851 */
7552 case 237: /* pointers */
7553 #line 407 "src/parser_proc_grammar.y" /* glr.c:851 */
7555 #line 7556 "src/parser_proc.c" /* glr.c:851 */
7558 case 238: /* asterisks */
7559 #line 407 "src/parser_proc_grammar.y" /* glr.c:851 */
7561 #line 7562 "src/parser_proc.c" /* glr.c:851 */
7564 case 241: /* impl */
7565 #line 357 "src/parser_proc_grammar.y" /* glr.c:851 */
7566 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
7567 #line 7568 "src/parser_proc.c" /* glr.c:851 */
7570 case 242: /* impl_func */
7571 #line 359 "src/parser_proc_grammar.y" /* glr.c:851 */
7572 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
7573 #line 7574 "src/parser_proc.c" /* glr.c:851 */
7576 case 243: /* impl_args */
7577 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7578 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7579 #line 7580 "src/parser_proc.c" /* glr.c:851 */
7582 case 244: /* impl_arg */
7583 #line 361 "src/parser_proc_grammar.y" /* glr.c:851 */
7584 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
7585 #line 7586 "src/parser_proc.c" /* glr.c:851 */
7588 case 245: /* impl_var */
7589 #line 365 "src/parser_proc_grammar.y" /* glr.c:851 */
7590 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
7591 #line 7592 "src/parser_proc.c" /* glr.c:851 */
7594 case 246: /* impl_type */
7595 #line 363 "src/parser_proc_grammar.y" /* glr.c:851 */
7596 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7597 #line 7598 "src/parser_proc.c" /* glr.c:851 */
7600 case 247: /* impl_type_restricted */
7601 #line 363 "src/parser_proc_grammar.y" /* glr.c:851 */
7602 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7603 #line 7604 "src/parser_proc.c" /* glr.c:851 */
7606 case 248: /* impl_type_token */
7607 #line 397 "src/parser_proc_grammar.y" /* glr.c:851 */
7609 #line 7610 "src/parser_proc.c" /* glr.c:851 */
7612 case 249: /* impl_type_restricted_token */
7613 #line 397 "src/parser_proc_grammar.y" /* glr.c:851 */
7615 #line 7616 "src/parser_proc.c" /* glr.c:851 */
7618 case 250: /* impl_type_extended_token */
7619 #line 397 "src/parser_proc_grammar.y" /* glr.c:851 */
7621 #line 7622 "src/parser_proc.c" /* glr.c:851 */
7624 case 251: /* impl_stmts */
7625 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7626 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7627 #line 7628 "src/parser_proc.c" /* glr.c:851 */
7630 case 252: /* impl_stmt */
7631 #line 395 "src/parser_proc_grammar.y" /* glr.c:851 */
7632 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
7633 #line 7634 "src/parser_proc.c" /* glr.c:851 */
7636 case 253: /* let_stmt */
7637 #line 368 "src/parser_proc_grammar.y" /* glr.c:851 */
7638 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
7639 #line 7640 "src/parser_proc.c" /* glr.c:851 */
7642 case 254: /* let_exp */
7643 #line 370 "src/parser_proc_grammar.y" /* glr.c:851 */
7644 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7645 #line 7646 "src/parser_proc.c" /* glr.c:851 */
7648 case 255: /* let_exp_byref */
7649 #line 370 "src/parser_proc_grammar.y" /* glr.c:851 */
7650 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7651 #line 7652 "src/parser_proc.c" /* glr.c:851 */
7654 case 256: /* let_exp_assign */
7655 #line 370 "src/parser_proc_grammar.y" /* glr.c:851 */
7656 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7657 #line 7658 "src/parser_proc.c" /* glr.c:851 */
7660 case 257: /* let_calloc */
7661 #line 372 "src/parser_proc_grammar.y" /* glr.c:851 */
7662 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
7663 #line 7664 "src/parser_proc.c" /* glr.c:851 */
7666 case 258: /* let_callback */
7667 #line 374 "src/parser_proc_grammar.y" /* glr.c:851 */
7668 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
7669 #line 7670 "src/parser_proc.c" /* glr.c:851 */
7672 case 259: /* let_func */
7673 #line 376 "src/parser_proc_grammar.y" /* glr.c:851 */
7674 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
7675 #line 7676 "src/parser_proc.c" /* glr.c:851 */
7678 case 260: /* let_func_token */
7679 #line 397 "src/parser_proc_grammar.y" /* glr.c:851 */
7681 #line 7682 "src/parser_proc.c" /* glr.c:851 */
7684 case 261: /* let_func_exps */
7685 #line 399 "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 262: /* let_exps */
7691 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7692 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7693 #line 7694 "src/parser_proc.c" /* glr.c:851 */
7696 case 263: /* callback_rval */
7697 #line 397 "src/parser_proc_grammar.y" /* glr.c:851 */
7699 #line 7700 "src/parser_proc.c" /* glr.c:851 */
7702 case 264: /* callback_arg_list */
7703 #line 399 "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 265: /* callback_args */
7709 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7710 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7711 #line 7712 "src/parser_proc.c" /* glr.c:851 */
7714 case 266: /* return_stmt */
7715 #line 386 "src/parser_proc_grammar.y" /* glr.c:851 */
7716 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
7717 #line 7718 "src/parser_proc.c" /* glr.c:851 */
7720 case 267: /* return_exp */
7721 #line 388 "src/parser_proc_grammar.y" /* glr.c:851 */
7722 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
7723 #line 7724 "src/parser_proc.c" /* glr.c:851 */
7726 case 268: /* call_decl_vars */
7727 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7728 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7729 #line 7730 "src/parser_proc.c" /* glr.c:851 */
7732 case 269: /* set_stmt */
7733 #line 378 "src/parser_proc_grammar.y" /* glr.c:851 */
7734 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
7735 #line 7736 "src/parser_proc.c" /* glr.c:851 */
7738 case 270: /* set_exp */
7739 #line 380 "src/parser_proc_grammar.y" /* glr.c:851 */
7740 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
7741 #line 7742 "src/parser_proc.c" /* glr.c:851 */
7744 case 271: /* set_func */
7745 #line 382 "src/parser_proc_grammar.y" /* glr.c:851 */
7746 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
7747 #line 7748 "src/parser_proc.c" /* glr.c:851 */
7750 case 272: /* set_func_token */
7751 #line 397 "src/parser_proc_grammar.y" /* glr.c:851 */
7753 #line 7754 "src/parser_proc.c" /* glr.c:851 */
7756 case 273: /* set_func_exps */
7757 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7758 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7759 #line 7760 "src/parser_proc.c" /* glr.c:851 */
7762 case 274: /* set_exps */
7763 #line 399 "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 275: /* assert_stmt */
7769 #line 384 "src/parser_proc_grammar.y" /* glr.c:851 */
7770 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
7771 #line 7772 "src/parser_proc.c" /* glr.c:851 */
7774 case 276: /* assert_stmt_token */
7775 #line 397 "src/parser_proc_grammar.y" /* glr.c:851 */
7777 #line 7778 "src/parser_proc.c" /* glr.c:851 */
7780 case 277: /* free_stmt */
7781 #line 390 "src/parser_proc_grammar.y" /* glr.c:851 */
7782 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
7783 #line 7784 "src/parser_proc.c" /* glr.c:851 */
7786 case 278: /* free_exps */
7787 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7788 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7789 #line 7790 "src/parser_proc.c" /* glr.c:851 */
7792 case 279: /* free_exp */
7793 #line 392 "src/parser_proc_grammar.y" /* glr.c:851 */
7794 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
7795 #line 7796 "src/parser_proc.c" /* glr.c:851 */
7798 case 280: /* reference */
7799 #line 409 "src/parser_proc_grammar.y" /* glr.c:851 */
7801 #line 7802 "src/parser_proc.c" /* glr.c:851 */
7808 YY_IGNORE_MAYBE_UNINITIALIZED_END
7811 /** Number of symbols composing the right hand side of rule #RULE. */
7813 yyrhsLength (yyRuleNum yyrule
)
7815 return yyr2
[yyrule
];
7819 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7821 if (yys
->yyresolved
)
7822 yydestruct (yymsg
, yystos
[yys
->yylrState
],
7823 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
7829 if (yys
->yysemantics
.yyfirstVal
)
7830 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
7832 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
7833 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
7837 if (yys
->yysemantics
.yyfirstVal
)
7839 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
7842 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
7844 yyrh
= yyrh
->yypred
, yyn
-= 1)
7845 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
7850 /** Left-hand-side symbol for rule #YYRULE. */
7851 static inline yySymbol
7852 yylhsNonterm (yyRuleNum yyrule
)
7854 return yyr1
[yyrule
];
7857 #define yypact_value_is_default(Yystate) \
7858 (!!((Yystate) == (-719)))
7860 /** True iff LR state YYSTATE has only a default reduction (regardless
7862 static inline yybool
7863 yyisDefaultedState (yyStateNum yystate
)
7865 return (yybool
) yypact_value_is_default (yypact
[yystate
]);
7868 /** The default reduction for YYSTATE, assuming it has one. */
7869 static inline yyRuleNum
7870 yydefaultAction (yyStateNum yystate
)
7872 return yydefact
[yystate
];
7875 #define yytable_value_is_error(Yytable_value) \
7878 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7880 * R < 0: Reduce on rule -R.
7882 * R > 0: Shift to state R.
7883 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7884 * of conflicting reductions.
7887 yygetLRActions (yyStateNum yystate
, int yytoken
,
7888 int* yyaction
, const short** yyconflicts
)
7890 int yyindex
= yypact
[yystate
] + yytoken
;
7891 if (yyisDefaultedState (yystate
)
7892 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
7894 *yyaction
= -yydefact
[yystate
];
7895 *yyconflicts
= yyconfl
;
7897 else if (! yytable_value_is_error (yytable
[yyindex
]))
7899 *yyaction
= yytable
[yyindex
];
7900 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7905 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7909 /** Compute post-reduction state.
7910 * \param yystate the current state
7911 * \param yysym the nonterminal to push on the stack
7913 static inline yyStateNum
7914 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
7916 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
7917 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
7918 return yytable
[yyr
];
7920 return yydefgoto
[yysym
- YYNTOKENS
];
7923 static inline yybool
7924 yyisShiftAction (int yyaction
)
7926 return (yybool
) (0 < yyaction
);
7929 static inline yybool
7930 yyisErrorAction (int yyaction
)
7932 return (yybool
) (yyaction
== 0);
7937 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7938 * if YYISSTATE, and otherwise a semantic option. Callers should call
7939 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7942 static inline yyGLRStackItem
*
7943 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
7945 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
7946 yystackp
->yyspaceLeft
-= 1;
7947 yystackp
->yynextFree
+= 1;
7948 yynewItem
->yystate
.yyisState
= yyisState
;
7952 /** Add a new semantic action that will execute the action for rule
7953 * YYRULE on the semantic values in YYRHS to the list of
7954 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7955 * stack #YYK of *YYSTACKP. */
7957 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
7958 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
7960 yySemanticOption
* yynewOption
=
7961 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
7962 YYASSERT (!yynewOption
->yyisState
);
7963 yynewOption
->yystate
= yyrhs
;
7964 yynewOption
->yyrule
= yyrule
;
7965 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
7967 yynewOption
->yyrawchar
= yychar
;
7968 yynewOption
->yyval
= yylval
;
7971 yynewOption
->yyrawchar
= YYEMPTY
;
7972 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
7973 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
7975 YY_RESERVE_GLRSTACK (yystackp
);
7980 /** Initialize YYSET to a singleton set containing an empty stack. */
7982 yyinitStateSet (yyGLRStateSet
* yyset
)
7985 yyset
->yycapacity
= 16;
7986 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
7987 if (! yyset
->yystates
)
7989 yyset
->yystates
[0] = YY_NULLPTR
;
7990 yyset
->yylookaheadNeeds
=
7991 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
7992 if (! yyset
->yylookaheadNeeds
)
7994 YYFREE (yyset
->yystates
);
8000 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
8002 YYFREE (yyset
->yystates
);
8003 YYFREE (yyset
->yylookaheadNeeds
);
8006 /** Initialize *YYSTACKP to a single empty stack, with total maximum
8007 * capacity for all stacks of YYSIZE. */
8009 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
8011 yystackp
->yyerrState
= 0;
8013 yystackp
->yyspaceLeft
= yysize
;
8015 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
8016 if (!yystackp
->yyitems
)
8018 yystackp
->yynextFree
= yystackp
->yyitems
;
8019 yystackp
->yysplitPoint
= YY_NULLPTR
;
8020 yystackp
->yylastDeleted
= YY_NULLPTR
;
8021 return yyinitStateSet (&yystackp
->yytops
);
8025 #if YYSTACKEXPANDABLE
8026 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
8027 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
8029 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
8030 stack from outside should be considered invalid after this call.
8031 We always expand when there are 1 or fewer items left AFTER an
8032 allocation, so that we can avoid having external pointers exist
8033 across an allocation. */
8035 yyexpandGLRStack (yyGLRStack
* yystackp
)
8037 yyGLRStackItem
* yynewItems
;
8038 yyGLRStackItem
* yyp0
, *yyp1
;
8041 size_t yysize
= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8042 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
8043 yyMemoryExhausted (yystackp
);
8044 yynewSize
= 2*yysize
;
8045 if (YYMAXDEPTH
< yynewSize
)
8046 yynewSize
= YYMAXDEPTH
;
8047 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
8049 yyMemoryExhausted (yystackp
);
8050 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
8052 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
8055 if (*(yybool
*) yyp0
)
8057 yyGLRState
* yys0
= &yyp0
->yystate
;
8058 yyGLRState
* yys1
= &yyp1
->yystate
;
8059 if (yys0
->yypred
!= YY_NULLPTR
)
8061 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
8062 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
8063 yys1
->yysemantics
.yyfirstVal
=
8064 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
8068 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
8069 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
8070 if (yyv0
->yystate
!= YY_NULLPTR
)
8071 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
8072 if (yyv0
->yynext
!= YY_NULLPTR
)
8073 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
8076 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8077 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
8078 yystackp
->yysplitPoint
, yystate
);
8080 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
8081 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
8082 yystackp
->yytops
.yystates
[yyn
] =
8083 YYRELOC (yystackp
->yyitems
, yynewItems
,
8084 yystackp
->yytops
.yystates
[yyn
], yystate
);
8085 YYFREE (yystackp
->yyitems
);
8086 yystackp
->yyitems
= yynewItems
;
8087 yystackp
->yynextFree
= yynewItems
+ yysize
;
8088 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
8093 yyfreeGLRStack (yyGLRStack
* yystackp
)
8095 YYFREE (yystackp
->yyitems
);
8096 yyfreeStateSet (&yystackp
->yytops
);
8099 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
8100 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
8103 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
8105 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
8106 yystackp
->yysplitPoint
= yys
;
8109 /** Invalidate stack #YYK in *YYSTACKP. */
8111 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
8113 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8114 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
8115 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
8118 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
8119 only be done once after a deletion, and only when all other stacks have
8122 yyundeleteLastStack (yyGLRStack
* yystackp
)
8124 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
8126 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
8127 yystackp
->yytops
.yysize
= 1;
8128 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
8129 yystackp
->yylastDeleted
= YY_NULLPTR
;
8133 yyremoveDeletes (yyGLRStack
* yystackp
)
8137 while (yyj
< yystackp
->yytops
.yysize
)
8139 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
8143 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
8145 yystackp
->yytops
.yysize
-= 1;
8149 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
8150 /* In the current implementation, it's unnecessary to copy
8151 yystackp->yytops.yylookaheadNeeds[yyi] since, after
8152 yyremoveDeletes returns, the parser immediately either enters
8153 deterministic operation or shifts a token. However, it doesn't
8154 hurt, and the code might evolve to need it. */
8155 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
8156 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
8159 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
8160 (unsigned long) yyi
, (unsigned long) yyj
));
8168 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
8169 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
8170 * value *YYVALP and source location *YYLOCP. */
8172 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
8176 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
8178 yynewState
->yylrState
= yylrState
;
8179 yynewState
->yyposn
= yyposn
;
8180 yynewState
->yyresolved
= yytrue
;
8181 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
8182 yynewState
->yysemantics
.yysval
= *yyvalp
;
8183 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
8185 YY_RESERVE_GLRSTACK (yystackp
);
8188 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
8189 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
8190 * semantic value of YYRHS under the action for YYRULE. */
8192 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
8193 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
8195 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
8196 YYASSERT (yynewState
->yyisState
);
8198 yynewState
->yylrState
= yylrState
;
8199 yynewState
->yyposn
= yyposn
;
8200 yynewState
->yyresolved
= yyfalse
;
8201 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
8202 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8203 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
8205 /* Invokes YY_RESERVE_GLRSTACK. */
8206 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
8210 # define YY_REDUCE_PRINT(Args)
8212 # define YY_REDUCE_PRINT(Args) \
8215 yy_reduce_print Args; \
8218 /*----------------------------------------------------------------------.
8219 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
8220 `----------------------------------------------------------------------*/
8223 yy_reduce_print (yybool yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
8224 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8226 int yynrhs
= yyrhsLength (yyrule
);
8228 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
8229 (unsigned long) yyk
, yyrule
- 1,
8230 (unsigned long) yyrline
[yyrule
]);
8232 yyfillin (yyvsp
, 1, -yynrhs
);
8233 /* The symbols being reduced. */
8234 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
8236 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
8237 yy_symbol_print (stderr
,
8238 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
8239 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
, P
, tokens
, index
);
8240 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
8241 YYFPRINTF (stderr
, " (unresolved)");
8242 YYFPRINTF (stderr
, "\n");
8247 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
8248 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
8249 * semantic values. Assumes that all ambiguities in semantic values
8250 * have been previously resolved. Set *YYVALP to the resulting value,
8251 * and *YYLOCP to the computed location (if any). Return value is as
8252 * for userAction. */
8253 static inline YYRESULTTAG
8254 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8255 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8257 int yynrhs
= yyrhsLength (yyrule
);
8259 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8261 /* Standard special case: single stack. */
8262 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
8263 YYASSERT (yyk
== 0);
8264 yystackp
->yynextFree
-= yynrhs
;
8265 yystackp
->yyspaceLeft
+= (size_t) yynrhs
;
8266 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
8267 YY_REDUCE_PRINT ((yytrue
, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
8268 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
8269 yyvalp
, P
, tokens
, index
);
8275 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8276 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
8277 = yystackp
->yytops
.yystates
[yyk
];
8278 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
8283 yyupdateSplit (yystackp
, yys
);
8284 yystackp
->yytops
.yystates
[yyk
] = yys
;
8285 YY_REDUCE_PRINT ((yyfalse
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
8286 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8287 yystackp
, yyvalp
, P
, tokens
, index
);
8291 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8292 * and push back on the resulting nonterminal symbol. Perform the
8293 * semantic action associated with YYRULE and store its value with the
8294 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8295 * unambiguous. Otherwise, store the deferred semantic action with
8296 * the new state. If the new state would have an identical input
8297 * position, LR state, and predecessor to an existing state on the stack,
8298 * it is identified with that existing state, eliminating stack #YYK from
8299 * *YYSTACKP. In this case, the semantic value is
8300 * added to the options for the existing state's semantic value.
8302 static inline YYRESULTTAG
8303 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8304 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8306 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
8308 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
8312 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
8313 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
8315 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
8316 (unsigned long) yyk
, yyrule
- 1));
8320 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
8321 yyglrShift (yystackp
, yyk
,
8322 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
8323 yylhsNonterm (yyrule
)),
8330 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
8331 yyStateNum yynewLRState
;
8333 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
8339 yyupdateSplit (yystackp
, yys
);
8340 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
8342 "Reduced stack %lu by rule #%d; action deferred. "
8343 "Now in state %d.\n",
8344 (unsigned long) yyk
, yyrule
- 1, yynewLRState
));
8345 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
8346 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
8348 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
8349 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
8350 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
8352 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
8354 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
8355 yymarkStackDeleted (yystackp
, yyk
);
8356 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
8357 (unsigned long) yyk
,
8358 (unsigned long) yyi
));
8364 yystackp
->yytops
.yystates
[yyk
] = yys
;
8365 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
8371 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
8373 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8375 YYASSERT (yyk
== 0);
8376 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
8378 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
8380 yyGLRState
** yynewStates
= YY_NULLPTR
;
8381 yybool
* yynewLookaheadNeeds
;
8383 if (yystackp
->yytops
.yycapacity
8384 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
8385 yyMemoryExhausted (yystackp
);
8386 yystackp
->yytops
.yycapacity
*= 2;
8389 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
8390 (yystackp
->yytops
.yycapacity
8391 * sizeof yynewStates
[0]));
8392 if (yynewStates
== YY_NULLPTR
)
8393 yyMemoryExhausted (yystackp
);
8394 yystackp
->yytops
.yystates
= yynewStates
;
8396 yynewLookaheadNeeds
=
8397 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
8398 (yystackp
->yytops
.yycapacity
8399 * sizeof yynewLookaheadNeeds
[0]));
8400 if (yynewLookaheadNeeds
== YY_NULLPTR
)
8401 yyMemoryExhausted (yystackp
);
8402 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
8404 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
8405 = yystackp
->yytops
.yystates
[yyk
];
8406 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
8407 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
8408 yystackp
->yytops
.yysize
+= 1;
8409 return yystackp
->yytops
.yysize
-1;
8412 /** True iff YYY0 and YYY1 represent identical options at the top level.
8413 * That is, they represent the same rule applied to RHS symbols
8414 * that produce the same terminal symbols. */
8416 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8418 if (yyy0
->yyrule
== yyy1
->yyrule
)
8420 yyGLRState
*yys0
, *yys1
;
8422 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8423 yyn
= yyrhsLength (yyy0
->yyrule
);
8425 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8426 if (yys0
->yyposn
!= yys1
->yyposn
)
8434 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8435 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8437 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8439 yyGLRState
*yys0
, *yys1
;
8441 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8442 yyn
= yyrhsLength (yyy0
->yyrule
);
8444 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8448 else if (yys0
->yyresolved
)
8450 yys1
->yyresolved
= yytrue
;
8451 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
8453 else if (yys1
->yyresolved
)
8455 yys0
->yyresolved
= yytrue
;
8456 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
8460 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
8461 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
8464 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
8466 else if (*yyz0p
== YY_NULLPTR
)
8471 else if (*yyz0p
< yyz1
)
8473 yySemanticOption
* yyz
= *yyz0p
;
8475 yyz1
= yyz1
->yynext
;
8476 (*yyz0p
)->yynext
= yyz
;
8478 yyz0p
= &(*yyz0p
)->yynext
;
8480 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
8485 /** Y0 and Y1 represent two possible actions to take in a given
8486 * parsing state; return 0 if no combination is possible,
8487 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8489 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
8491 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
8492 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
8496 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
8501 if (p0
== 0 || p1
== 0)
8510 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
8511 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
8514 /** Resolve the previous YYN states starting at and including state YYS
8515 * on *YYSTACKP. If result != yyok, some states may have been left
8516 * unresolved possibly with empty semantic option chains. Regardless
8517 * of whether result = yyok, each state has been left with consistent
8518 * data so that yydestroyGLRState can be invoked if necessary. */
8520 yyresolveStates (yyGLRState
* yys
, int yyn
,
8521 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8525 YYASSERT (yys
->yypred
);
8526 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
8527 if (! yys
->yyresolved
)
8528 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
8533 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8534 * user action, and return the semantic value and location in *YYVALP
8535 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8536 * have been destroyed (assuming the user action destroys all RHS
8537 * semantic values if invoked). */
8539 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
8540 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8542 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8543 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
8544 YYRESULTTAG yyflag
=
8545 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
8549 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
8550 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
8554 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
8556 int yychar_current
= yychar
;
8557 YYSTYPE yylval_current
= yylval
;
8558 yychar
= yyopt
->yyrawchar
;
8559 yylval
= yyopt
->yyval
;
8560 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
8561 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8562 yystackp
, yyvalp
, P
, tokens
, index
);
8563 yychar
= yychar_current
;
8564 yylval
= yylval_current
;
8571 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
8573 int yynrhs
= yyrhsLength (yyx
->yyrule
);
8576 yyGLRState
* yystates
[1 + YYMAXRHS
];
8577 yyGLRState yyleftmost_state
;
8579 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
8580 yystates
[yyi
] = yys
;
8581 if (yys
== YY_NULLPTR
)
8583 yyleftmost_state
.yyposn
= 0;
8584 yystates
[0] = &yyleftmost_state
;
8589 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
8590 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
8591 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8594 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8595 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8596 yyx
->yyrule
- 1, (unsigned long) (yys
->yyposn
+ 1),
8597 (unsigned long) yyx
->yystate
->yyposn
);
8598 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
8600 if (yystates
[yyi
]->yyresolved
)
8602 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
8603 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
8604 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
8606 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
8607 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
8608 (unsigned long) (yystates
[yyi
-1]->yyposn
+ 1),
8609 (unsigned long) yystates
[yyi
]->yyposn
);
8612 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
8618 yyreportAmbiguity (yySemanticOption
* yyx0
,
8619 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8625 YYFPRINTF (stderr
, "Ambiguity detected.\n");
8626 YYFPRINTF (stderr
, "Option 1,\n");
8627 yyreportTree (yyx0
, 2);
8628 YYFPRINTF (stderr
, "\nOption 2,\n");
8629 yyreportTree (yyx1
, 2);
8630 YYFPRINTF (stderr
, "\n");
8633 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
8637 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8638 * perform the indicated actions, and set the semantic value of YYS.
8639 * If result != yyok, the chain of semantic options in YYS has been
8640 * cleared instead or it has been left unmodified except that
8641 * redundant options may have been removed. Regardless of whether
8642 * result = yyok, YYS has been left with consistent data so that
8643 * yydestroyGLRState can be invoked if necessary. */
8645 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8647 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
8648 yySemanticOption
* yybest
= yyoptionList
;
8649 yySemanticOption
** yypp
;
8650 yybool yymerge
= yyfalse
;
8654 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
8656 yySemanticOption
* yyp
= *yypp
;
8658 if (yyidenticalOptions (yybest
, yyp
))
8660 yymergeOptionSets (yybest
, yyp
);
8661 *yypp
= yyp
->yynext
;
8665 switch (yypreference (yybest
, yyp
))
8668 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
8680 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8681 but some compilers complain if the default case is
8685 yypp
= &yyp
->yynext
;
8691 yySemanticOption
* yyp
;
8692 int yyprec
= yydprec
[yybest
->yyrule
];
8693 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8695 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
8697 if (yyprec
== yydprec
[yyp
->yyrule
])
8699 YYSTYPE yysval_other
;
8700 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
8703 yydestruct ("Cleanup: discarding incompletely merged value for",
8704 yystos
[yys
->yylrState
],
8705 &yysval
, P
, tokens
, index
);
8708 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
8713 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8717 yys
->yyresolved
= yytrue
;
8718 yys
->yysemantics
.yysval
= yysval
;
8721 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8726 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8728 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8733 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
8734 yys
!= yystackp
->yysplitPoint
;
8735 yys
= yys
->yypred
, yyn
+= 1)
8737 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
8738 , P
, tokens
, index
));
8744 yycompressStack (yyGLRStack
* yystackp
)
8746 yyGLRState
* yyp
, *yyq
, *yyr
;
8748 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
8751 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
8752 yyp
!= yystackp
->yysplitPoint
;
8753 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
8756 yystackp
->yyspaceLeft
+= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8757 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
8758 yystackp
->yyspaceLeft
-= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8759 yystackp
->yysplitPoint
= YY_NULLPTR
;
8760 yystackp
->yylastDeleted
= YY_NULLPTR
;
8762 while (yyr
!= YY_NULLPTR
)
8764 yystackp
->yynextFree
->yystate
= *yyr
;
8766 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
8767 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
8768 yystackp
->yynextFree
+= 1;
8769 yystackp
->yyspaceLeft
-= 1;
8774 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
8775 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8777 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8779 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
8780 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
8781 (unsigned long) yyk
, yystate
));
8783 YYASSERT (yystate
!= YYFINAL
);
8785 if (yyisDefaultedState (yystate
))
8788 yyRuleNum yyrule
= yydefaultAction (yystate
);
8791 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8792 (unsigned long) yyk
));
8793 yymarkStackDeleted (yystackp
, yyk
);
8796 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
8797 if (yyflag
== yyerr
)
8801 "(predicate failure or explicit user error).\n",
8802 (unsigned long) yyk
));
8803 yymarkStackDeleted (yystackp
, yyk
);
8813 const short* yyconflicts
;
8815 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
8816 if (yychar
== YYEMPTY
)
8818 YYDPRINTF ((stderr
, "Reading a token: "));
8819 yychar
= yylex (&yylval
, P
, tokens
, index
);
8822 if (yychar
<= YYEOF
)
8824 yychar
= yytoken
= YYEOF
;
8825 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8829 yytoken
= YYTRANSLATE (yychar
);
8830 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8833 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
8835 while (*yyconflicts
!= 0)
8838 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
8839 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
8840 (unsigned long) yynewStack
,
8841 (unsigned long) yyk
));
8842 yyflag
= yyglrReduce (yystackp
, yynewStack
,
8844 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
8846 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
8847 yyposn
, P
, tokens
, index
));
8848 else if (yyflag
== yyerr
)
8850 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8851 (unsigned long) yynewStack
));
8852 yymarkStackDeleted (yystackp
, yynewStack
);
8859 if (yyisShiftAction (yyaction
))
8861 else if (yyisErrorAction (yyaction
))
8863 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8864 (unsigned long) yyk
));
8865 yymarkStackDeleted (yystackp
, yyk
);
8870 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
8871 yyimmediate
[-yyaction
], P
, tokens
, index
);
8872 if (yyflag
== yyerr
)
8876 "(predicate failure or explicit user error).\n",
8877 (unsigned long) yyk
));
8878 yymarkStackDeleted (yystackp
, yyk
);
8881 else if (yyflag
!= yyok
)
8890 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8892 if (yystackp
->yyerrState
!= 0)
8894 #if ! YYERROR_VERBOSE
8895 yyerror (P
, tokens
, index
, YY_("syntax error"));
8898 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
8899 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
8900 size_t yysize
= yysize0
;
8901 yybool yysize_overflow
= yyfalse
;
8902 char* yymsg
= YY_NULLPTR
;
8903 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
8904 /* Internationalized format string. */
8905 const char *yyformat
= YY_NULLPTR
;
8906 /* Arguments of yyformat. */
8907 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
8908 /* Number of reported tokens (one for the "unexpected", one per
8912 /* There are many possibilities here to consider:
8913 - If this state is a consistent state with a default action, then
8914 the only way this function was invoked is if the default action
8915 is an error action. In that case, don't check for expected
8916 tokens because there are none.
8917 - The only way there can be no lookahead present (in yychar) is if
8918 this state is a consistent state with a default action. Thus,
8919 detecting the absence of a lookahead is sufficient to determine
8920 that there is no unexpected or expected token to report. In that
8921 case, just report a simple "syntax error".
8922 - Don't assume there isn't a lookahead just because this state is a
8923 consistent state with a default action. There might have been a
8924 previous inconsistent state, consistent state with a non-default
8925 action, or user semantic action that manipulated yychar.
8926 - Of course, the expected token list depends on states to have
8927 correct lookahead information, and it depends on the parser not
8928 to perform extra reductions after fetching a lookahead from the
8929 scanner and before detecting a syntax error. Thus, state merging
8930 (from LALR or IELR) and default reductions corrupt the expected
8931 token list. However, the list is correct for canonical LR with
8932 one exception: it will still contain any token that will not be
8933 accepted due to an error action in a later state.
8935 if (yytoken
!= YYEMPTY
)
8937 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
8938 yyarg
[yycount
++] = yytokenName (yytoken
);
8939 if (!yypact_value_is_default (yyn
))
8941 /* Start YYX at -YYN if negative to avoid negative indexes in
8942 YYCHECK. In other words, skip the first -YYN actions for this
8943 state because they are default actions. */
8944 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
8945 /* Stay within bounds of both yycheck and yytname. */
8946 int yychecklim
= YYLAST
- yyn
+ 1;
8947 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
8949 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
8950 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
8951 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
8953 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
8959 yyarg
[yycount
++] = yytokenName (yyx
);
8961 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
8963 yysize_overflow
= yytrue
;
8972 #define YYCASE_(N, S) \
8976 default: /* Avoid compiler warnings. */
8977 YYCASE_(0, YY_("syntax error"));
8978 YYCASE_(1, YY_("syntax error, unexpected %s"));
8979 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8980 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8981 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8982 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8987 size_t yysz
= yysize
+ strlen (yyformat
);
8989 yysize_overflow
= yytrue
;
8993 if (!yysize_overflow
)
8994 yymsg
= (char *) YYMALLOC (yysize
);
9000 while ((*yyp
= *yyformat
))
9002 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
9004 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
9013 yyerror (P
, tokens
, index
, yymsg
);
9018 yyerror (P
, tokens
, index
, YY_("syntax error"));
9019 yyMemoryExhausted (yystackp
);
9022 #endif /* YYERROR_VERBOSE */
9026 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
9027 yylval, and yylloc are the syntactic category, semantic value, and location
9028 of the lookahead. */
9030 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9035 if (yystackp
->yyerrState
== 3)
9036 /* We just shifted the error token and (perhaps) took some
9037 reductions. Skip tokens until we can proceed. */
9041 if (yychar
== YYEOF
)
9042 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9043 if (yychar
!= YYEMPTY
)
9045 yytoken
= YYTRANSLATE (yychar
);
9046 yydestruct ("Error: discarding",
9047 yytoken
, &yylval
, P
, tokens
, index
);
9049 YYDPRINTF ((stderr
, "Reading a token: "));
9050 yychar
= yylex (&yylval
, P
, tokens
, index
);
9051 if (yychar
<= YYEOF
)
9053 yychar
= yytoken
= YYEOF
;
9054 YYDPRINTF ((stderr
, "Now at end of input.\n"));
9058 yytoken
= YYTRANSLATE (yychar
);
9059 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
9061 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
9062 if (yypact_value_is_default (yyj
))
9065 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
9067 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
9070 else if (! yytable_value_is_error (yytable
[yyj
]))
9074 /* Reduce to one stack. */
9075 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
9076 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
9078 if (yyk
>= yystackp
->yytops
.yysize
)
9079 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9080 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
9081 yymarkStackDeleted (yystackp
, yyk
);
9082 yyremoveDeletes (yystackp
);
9083 yycompressStack (yystackp
);
9085 /* Now pop stack until we find a state that shifts the error token. */
9086 yystackp
->yyerrState
= 3;
9087 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
9089 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
9090 yyj
= yypact
[yys
->yylrState
];
9091 if (! yypact_value_is_default (yyj
))
9094 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
9095 && yyisShiftAction (yytable
[yyj
]))
9097 /* Shift the error token. */
9098 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
9099 &yylval
, &yyerrloc
);
9100 yyglrShift (yystackp
, 0, yytable
[yyj
],
9101 yys
->yyposn
, &yylval
);
9102 yys
= yystackp
->yytops
.yystates
[0];
9106 if (yys
->yypred
!= YY_NULLPTR
)
9107 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
9108 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
9109 yystackp
->yynextFree
-= 1;
9110 yystackp
->yyspaceLeft
+= 1;
9112 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
9113 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9116 #define YYCHK1(YYE) \
9126 goto yyuser_error; \
9137 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9141 yyGLRStack
* const yystackp
= &yystack
;
9144 YYDPRINTF ((stderr
, "Starting parse\n"));
9147 yylval
= yyval_default
;
9149 /* User initialization code. */
9150 #line 127 "src/parser_proc_grammar.y" /* glr.c:2265 */
9154 #line 9155 "src/parser_proc.c" /* glr.c:2265 */
9156 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
9157 goto yyexhaustedlab
;
9158 switch (YYSETJMP (yystack
.yyexception_buffer
))
9161 case 1: goto yyabortlab
;
9162 case 2: goto yyexhaustedlab
;
9163 default: goto yybuglab
;
9165 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
9170 /* For efficiency, we have two loops, the first of which is
9171 specialized to deterministic operation (single stack, no
9172 potential ambiguity). */
9178 const short* yyconflicts
;
9180 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
9181 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
9182 if (yystate
== YYFINAL
)
9184 if (yyisDefaultedState (yystate
))
9186 yyrule
= yydefaultAction (yystate
);
9189 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9192 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
9197 if (yychar
== YYEMPTY
)
9199 YYDPRINTF ((stderr
, "Reading a token: "));
9200 yychar
= yylex (&yylval
, P
, tokens
, index
);
9203 if (yychar
<= YYEOF
)
9205 yychar
= yytoken
= YYEOF
;
9206 YYDPRINTF ((stderr
, "Now at end of input.\n"));
9210 yytoken
= YYTRANSLATE (yychar
);
9211 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
9214 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
9215 if (*yyconflicts
!= 0)
9217 if (yyisShiftAction (yyaction
))
9219 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
9222 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
9223 if (0 < yystack
.yyerrState
)
9224 yystack
.yyerrState
-= 1;
9226 else if (yyisErrorAction (yyaction
))
9228 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9232 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
9238 yySymbol yytoken_to_shift
;
9241 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9242 yystackp
->yytops
.yylookaheadNeeds
[yys
] = (yybool
) (yychar
!= YYEMPTY
);
9244 /* yyprocessOneStack returns one of three things:
9246 - An error flag. If the caller is yyprocessOneStack, it
9247 immediately returns as well. When the caller is finally
9248 yyparse, it jumps to an error label via YYCHK1.
9250 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
9251 (&yystack, yys), which sets the top state of yys to NULL. Thus,
9252 yyparse's following invocation of yyremoveDeletes will remove
9255 - yyok, when ready to shift a token.
9257 Except in the first case, yyparse will invoke yyremoveDeletes and
9258 then shift the next token onto all remaining stacks. This
9259 synchronization of the shift (that is, after all preceding
9260 reductions on all stacks) helps prevent double destructor calls
9261 on yylval in the event of memory exhaustion. */
9263 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9264 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
9265 yyremoveDeletes (&yystack
);
9266 if (yystack
.yytops
.yysize
== 0)
9268 yyundeleteLastStack (&yystack
);
9269 if (yystack
.yytops
.yysize
== 0)
9270 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
9271 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9272 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9273 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9277 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9278 a copy of yylval will already be on stack 0 in the event of a
9279 failure in the following loop. Thus, yychar is set to YYEMPTY
9280 before the loop to make sure the user destructor for yylval isn't
9282 yytoken_to_shift
= YYTRANSLATE (yychar
);
9285 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9288 const short* yyconflicts
;
9289 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
9290 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
9292 /* Note that yyconflicts were handled by yyprocessOneStack. */
9293 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long) yys
));
9294 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
9295 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
9297 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
9298 (unsigned long) yys
,
9299 yystack
.yytops
.yystates
[yys
]->yylrState
));
9302 if (yystack
.yytops
.yysize
== 1)
9304 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9305 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9306 yycompressStack (&yystack
);
9312 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
9313 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
9329 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
9334 if (yychar
!= YYEMPTY
)
9335 yydestruct ("Cleanup: discarding lookahead",
9336 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
9338 /* If the stack is well-formed, pop the stack until it is empty,
9339 destroying its entries as we go. But free the stack regardless
9340 of whether it is well-formed. */
9341 if (yystack
.yyitems
)
9343 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
9346 size_t yysize
= yystack
.yytops
.yysize
;
9348 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
9351 while (yystates
[yyk
])
9353 yyGLRState
*yys
= yystates
[yyk
];
9354 if (yys
->yypred
!= YY_NULLPTR
)
9355 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
9356 yystates
[yyk
] = yys
->yypred
;
9357 yystack
.yynextFree
-= 1;
9358 yystack
.yyspaceLeft
+= 1;
9363 yyfreeGLRStack (&yystack
);
9369 /* DEBUGGING ONLY */
9372 yy_yypstack (yyGLRState
* yys
)
9376 yy_yypstack (yys
->yypred
);
9377 YYFPRINTF (stderr
, " -> ");
9379 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
9380 (unsigned long) yys
->yyposn
);
9384 yypstates (yyGLRState
* yyst
)
9386 if (yyst
== YY_NULLPTR
)
9387 YYFPRINTF (stderr
, "<null>");
9390 YYFPRINTF (stderr
, "\n");
9394 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
9396 yypstates (yystackp
->yytops
.yystates
[yyk
]);
9399 #define YYINDEX(YYX) \
9400 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9404 yypdumpstack (yyGLRStack
* yystackp
)
9406 yyGLRStackItem
* yyp
;
9408 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
9410 YYFPRINTF (stderr
, "%3lu. ",
9411 (unsigned long) (yyp
- yystackp
->yyitems
));
9412 if (*(yybool
*) yyp
)
9414 YYASSERT (yyp
->yystate
.yyisState
);
9415 YYASSERT (yyp
->yyoption
.yyisState
);
9416 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9417 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
9418 (unsigned long) yyp
->yystate
.yyposn
,
9419 (long) YYINDEX (yyp
->yystate
.yypred
));
9420 if (! yyp
->yystate
.yyresolved
)
9421 YYFPRINTF (stderr
, ", firstVal: %ld",
9422 (long) YYINDEX (yyp
->yystate
9423 .yysemantics
.yyfirstVal
));
9427 YYASSERT (!yyp
->yystate
.yyisState
);
9428 YYASSERT (!yyp
->yyoption
.yyisState
);
9429 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
9430 yyp
->yyoption
.yyrule
- 1,
9431 (long) YYINDEX (yyp
->yyoption
.yystate
),
9432 (long) YYINDEX (yyp
->yyoption
.yynext
));
9434 YYFPRINTF (stderr
, "\n");
9436 YYFPRINTF (stderr
, "Tops:");
9437 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
9438 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long) yyi
,
9439 (long) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
9440 YYFPRINTF (stderr
, "\n");
9448 /* Substitute the variable and function names. */
9449 #define yyparse psi_parser_proc_parse
9450 #define yylex psi_parser_proc_lex
9451 #define yyerror psi_parser_proc_error
9452 #define yylval psi_parser_proc_lval
9453 #define yychar psi_parser_proc_char
9454 #define yydebug psi_parser_proc_debug
9455 #define yynerrs psi_parser_proc_nerrs
9457 #line 2294 "src/parser_proc_grammar.y" /* glr.c:2578 */
9462 #define PSI_DEBUG_LEX 0
9463 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9465 struct psi_token
*token
;
9467 PSI_DEBUG_PRINT(P
, "PSI: LEX index %4zu ", *index
);
9469 if (psi_plist_get(tokens
, (*index
)++, &token
) && token
) {
9471 PSI_DEBUG_DUMP(P
, psi_token_dump
, token
);
9473 *((struct psi_token
**)lvalp
) = token
;
9477 PSI_DEBUG_PRINT(P
, "EOF\n");
9485 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
9487 struct psi_token
*T
= NULL
;
9496 psi_plist_get(tokens
, last
, &T
);
9498 size_t i
= (last
>= 5) ? last
- 5 : 0;
9500 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
9501 while (i
<= last
|| T
->type
!= PSI_T_EOS
) {
9504 if (!psi_plist_get(tokens
, i
++, &T
)) {
9510 } else if (i
> last
+ 1) {
9516 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s token '%s' at col %u",
9517 pos
, T
? T
->text
->val
: "<deleted>", T
? T
->col
: 0);
9520 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);