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 */
54 #include "php_psi_stdinc.h"
56 #line 57 "src/parser_proc.c" /* glr.c:221 */
59 /* Substitute the variable and function names. */
60 #define yyparse psi_parser_proc_parse
61 #define yylex psi_parser_proc_lex
62 #define yyerror psi_parser_proc_error
63 #define yydebug psi_parser_proc_debug
69 # if defined __cplusplus
70 # if 201103L <= __cplusplus
71 # define YY_NULLPTR nullptr
76 # define YY_NULLPTR ((void*)0)
80 #include "parser_proc.h"
82 /* Enabling verbose error messages. */
83 #ifdef YYERROR_VERBOSE
84 # undef YYERROR_VERBOSE
85 # define YYERROR_VERBOSE 1
87 # define YYERROR_VERBOSE 1
90 /* Default (constant) value used for initialization for null
91 right-hand sides. Unlike the standard yacc.c template, here we set
92 the default value of $$ to a zeroed-out value. Since the default
93 value is undefined, this behavior is technically correct. */
94 static YYSTYPE yyval_default
;
97 /* Unqualified %code blocks. */
98 #line 5 "src/parser_proc_grammar.y" /* glr.c:261 */
107 #define PSI_PARSER_PROC_DEBUG 1
109 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
110 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
112 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
116 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
118 P
->structs
= psi_plist_add(P
->structs
, &strct
);
120 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
124 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
126 P
->unions
= psi_plist_add(P
->unions
, &u
);
128 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
132 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
134 P
->enums
= psi_plist_add(P
->enums
, &e
);
136 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
140 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
142 P
->types
= psi_plist_add(P
->types
, &def
);
144 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
147 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
149 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
152 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
155 if (psi_decl_is_blacklisted(decl
->func
->var
->name
->val
)) {
156 psi_decl_free(&decl
);
161 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
163 P
->decls
= psi_plist_add(P
->decls
, &decl
);
165 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser
*P
, struct psi_plist
*list
) {
168 P
->vars
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
170 P
->vars
= psi_plist_add_r(P
->vars
, psi_plist_count(list
), psi_plist_eles(list
));
173 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
176 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
178 P
->impls
= psi_plist_add(P
->impls
, &impl
);
183 #line 184 "src/parser_proc.c" /* glr.c:261 */
190 # if defined YYENABLE_NLS && YYENABLE_NLS
192 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
193 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
197 # define YY_(Msgid) Msgid
205 # define YYMALLOC malloc
208 # define YYREALLOC realloc
211 #define YYSIZEMAX ((size_t) -1)
216 # define yyfalse false
218 /* When we move to stdbool, get rid of the various casts to yybool. */
219 typedef unsigned char yybool
;
226 # define YYJMP_BUF jmp_buf
227 # define YYSETJMP(Env) setjmp (Env)
228 /* Pacify Clang and ICC. */
229 # define YYLONGJMP(Env, Val) \
231 longjmp (Env, Val); \
237 # if (defined __GNUC__ \
238 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
239 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
240 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
242 # define YY_ATTRIBUTE(Spec) /* empty */
246 #ifndef YY_ATTRIBUTE_PURE
247 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
250 #ifndef YY_ATTRIBUTE_UNUSED
251 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
254 #if !defined _Noreturn \
255 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
256 # if defined _MSC_VER && 1200 <= _MSC_VER
257 # define _Noreturn __declspec (noreturn)
259 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
263 /* Suppress unused-variable warnings by "using" E. */
264 #if ! defined lint || defined __GNUC__
265 # define YYUSE(E) ((void) (E))
267 # define YYUSE(E) /* empty */
270 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
271 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
272 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
273 _Pragma ("GCC diagnostic push") \
274 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
275 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
276 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
277 _Pragma ("GCC diagnostic pop")
279 # define YY_INITIAL_VALUE(Value) Value
281 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
282 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
283 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
285 #ifndef YY_INITIAL_VALUE
286 # define YY_INITIAL_VALUE(Value) /* Nothing. */
291 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
294 /* YYFINAL -- State number of the termination state. */
296 /* YYLAST -- Last index in YYTABLE. */
299 /* YYNTOKENS -- Number of terminals. */
300 #define YYNTOKENS 140
301 /* YYNNTS -- Number of nonterminals. */
303 /* YYNRULES -- Number of rules. */
305 /* YYNRULES -- Number of states. */
306 #define YYNSTATES 950
307 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
309 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
310 accessed by $0, $-1, etc., in any rule. */
313 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
315 #define YYMAXUTOK 394
317 #define YYTRANSLATE(YYX) \
318 ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
320 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
321 static const unsigned char yytranslate
[] =
323 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
349 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
350 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
351 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
352 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
353 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
354 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
355 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
356 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
357 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
358 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
359 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
360 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
361 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
362 135, 136, 137, 138, 139
366 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
367 static const unsigned short yyrline
[] =
369 0, 408, 408, 408, 408, 408, 408, 408, 408, 408,
370 408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
371 409, 409, 409, 409, 410, 410, 410, 410, 410, 410,
372 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
373 410, 410, 410, 410, 410, 410, 411, 411, 411, 411,
374 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
375 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
376 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
377 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
378 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
379 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
380 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
381 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
382 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
383 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
384 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
385 411, 411, 411, 411, 412, 412, 412, 412, 412, 412,
386 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
387 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
388 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
389 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
390 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
391 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
392 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
393 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
394 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
395 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
396 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
397 416, 417, 420, 421, 424, 425, 426, 427, 433, 437,
398 440, 443, 446, 452, 455, 458, 461, 464, 470, 476,
399 479, 485, 508, 512, 516, 521, 525, 529, 533, 540,
400 541, 545, 546, 550, 551, 552, 556, 557, 561, 562,
401 566, 567, 568, 572, 573, 577, 582, 587, 592, 601,
402 604, 607, 608, 614, 619, 627, 630, 634, 638, 645,
403 649, 653, 657, 662, 673, 684, 689, 694, 698, 704,
404 715, 718, 722, 730, 734, 740, 744, 751, 755, 759,
405 766, 767, 768, 772, 786, 792, 795, 801, 804, 810,
406 811, 819, 830, 839, 851, 852, 856, 866, 875, 887,
407 888, 891, 897, 898, 902, 906, 910, 915, 920, 928,
408 929, 930, 933, 939, 942, 945, 951, 952, 956, 959,
409 962, 968, 971, 974, 982, 994, 997, 1000, 1003, 1010,
410 1013, 1023, 1026, 1029, 1032, 1033, 1034, 1038, 1041, 1044,
411 1055, 1062, 1072, 1075, 1081, 1084, 1091, 1127, 1130, 1136,
412 1139, 1145, 1151, 1152, 1153, 1154, 1155, 1156, 1160, 1164,
413 1165, 1169, 1170, 1174, 1175, 1182, 1183, 1187, 1194, 1205,
414 1212, 1220, 1244, 1273, 1280, 1291, 1337, 1378, 1393, 1396,
415 1399, 1405, 1408, 1414, 1429, 1432, 1461, 1469, 1497, 1502,
416 1510, 1520, 1530, 1533, 1537, 1543, 1557, 1574, 1577, 1583,
417 1590, 1597, 1605, 1616, 1623, 1626, 1632, 1637, 1645, 1649,
418 1653, 1657, 1661, 1665, 1672, 1676, 1680, 1684, 1688, 1692,
419 1698, 1702, 1709, 1712, 1724, 1728, 1732, 1739, 1752, 1765,
420 1778, 1781, 1788, 1789, 1793, 1796, 1799, 1802, 1808, 1812,
421 1819, 1822, 1825, 1840, 1841, 1842, 1843, 1847, 1850, 1856,
422 1857, 1863, 1866, 1872, 1873, 1877, 1878, 1888, 1891, 1898,
423 1903, 1908, 1918, 1921, 1927, 1930, 1936, 1943, 1950, 1957,
424 1958, 1962, 1963, 1964, 1965, 1966, 1970, 1971, 1972, 1973,
425 1977, 1980, 1986, 1989, 1992, 1995, 1998, 2004, 2008, 2016,
426 2017, 2021, 2028, 2031, 2034, 2037, 2041, 2044, 2050, 2054,
427 2062, 2069, 2074, 2082, 2090, 2091, 2092, 2093, 2094, 2095,
428 2096, 2097, 2098, 2099, 2103, 2106, 2112, 2115, 2121, 2122,
429 2126, 2129, 2135, 2138, 2144, 2151, 2155, 2162, 2165, 2168,
430 2174, 2181, 2184, 2187, 2194, 2199, 2207, 2208, 2209, 2210,
431 2211, 2212, 2213, 2214, 2218, 2221, 2227, 2230, 2236, 2243,
432 2244, 2248, 2255, 2258, 2264, 2272, 2275, 2281
436 #if YYDEBUG || YYERROR_VERBOSE || 1
437 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
438 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
439 static const char *const yytname
[] =
441 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
442 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
443 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
444 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
445 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
446 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
447 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
448 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
449 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
450 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
451 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
452 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
453 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
454 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
455 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
456 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
457 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
458 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
459 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
460 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
461 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
462 "$accept", "binary_op_token", "unary_op_token", "name_token",
463 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
464 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
465 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
466 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
467 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
468 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
469 "cpp_macro_call_arg_list", "constant", "impl_def_val",
470 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
471 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
472 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
473 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
474 "decl_int_type", "int_signed_types", "signed_short_types",
475 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
476 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
477 "ignored_decl", "ignored_decl_qualifiers", "ignored_decl_body",
478 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
479 "decl_func_body", "decl_functor_body", "decl_anon_functor_body",
480 "decl_functor", "decl_anon_functor", "decl_func", "decl_args",
481 "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
482 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
483 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
484 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
485 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
486 "struct_name", "optional_name", "optional_comma", "decl_layout",
487 "align_and_size", "array_size", "array_qualifier_token", "indirection",
488 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
489 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
490 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
491 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
492 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
493 "let_callback", "let_func", "let_func_token", "let_func_exps",
494 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
495 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
496 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
497 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
502 #define YYPACT_NINF -731
503 #define YYTABLE_NINF -636
505 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
507 static const short yypact
[] =
509 529, -731, -731, -731, -731, -731, 128, -731, -731, -731,
510 582, -731, -731, -731, 555, 722, 7975, 7975, 7975, 348,
511 77, -23, 80, -731, 281, -731, 132, 529, -731, -731,
512 -731, -731, -731, 7120, 109, -731, -731, -731, -731, 409,
513 161, -731, -731, -731, -731, 493, 26, -731, -731, 30,
514 96, 126, -731, -731, -731, -731, 125, -731, 142, -731,
515 -731, -731, 7975, 7975, 7975, -731, -731, -731, 145, -731,
516 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
517 -731, 861, -731, -731, -731, -731, 151, 987, 987, 33,
518 -731, 987, 6894, 7975, 7975, 1728, 154, -731, -731, -731,
519 165, 7975, 164, 164, -731, -731, -731, -731, -731, -731,
520 1353, -731, -731, -731, -731, -731, -731, -731, -731, -731,
521 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
522 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
523 -731, 114, -731, -731, 114, 181, -731, -731, -731, -731,
524 -731, -731, 201, 192, -731, 214, -731, 218, -731, 234,
525 -731, 1841, 722, 138, -731, 26, -731, -731, 46, 224,
526 -731, -731, 232, 7975, 17, -731, -731, -731, 261, -731,
527 101, -731, -731, -731, 507, -731, 233, 244, 248, 1954,
528 1954, 7975, 230, -731, -731, -731, 7459, 26, -731, 1693,
529 -731, -731, -731, -731, -731, -731, -731, -731, 1806, 1919,
530 2032, 2145, -731, 2258, 2371, -731, -731, -731, 2484, -731,
531 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
532 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
533 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
534 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
535 -731, 2597, 2710, 2823, 2936, 3049, -731, -731, -731, -731,
536 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
537 -731, 3162, -731, 3275, 3388, 3501, 3614, 3727, 3840, -731,
538 3953, -731, -731, 4066, 4179, 4292, 4405, 4518, 4631, 4744,
539 4857, 4970, 5083, 5196, 5309, 5422, 5535, 5648, 5761, -731,
540 -731, -731, -731, -731, -731, -731, 5874, 987, -731, -731,
541 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
542 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
543 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
544 -731, -731, -731, -731, -731, -731, -731, -731, -731, 987,
545 -731, -731, -731, -731, -731, -731, -731, 116, 6894, -731,
546 -731, -731, -731, 7572, 6894, 250, 8076, -731, 111, -731,
547 169, -731, -731, -731, -731, 245, 247, 247, 91, 91,
548 6103, 256, -731, 230, 252, 266, -731, 268, -731, -731,
549 -731, 1467, -731, 255, 224, -731, -731, -731, -731, -731,
550 301, -731, -731, 1239, -731, 283, -731, 52, 7120, -731,
551 279, 173, 284, -731, -731, 175, 277, 286, -731, 7459,
552 6555, 7459, 7975, 7459, -731, -731, 129, -731, -731, -731,
553 -731, -731, 6781, -731, 287, -731, 7975, 299, -731, 317,
554 8076, 307, -731, -731, -731, -731, 755, 331, -731, 7108,
555 7975, -731, -731, 1580, -731, -731, -731, -731, -731, -731,
556 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
557 -731, -731, 6894, 6894, 323, 1420, 7459, 7459, -731, -731,
558 -731, -731, 153, -731, -731, -731, -731, -731, 5990, 6781,
559 325, -731, 307, -731, 8100, -731, -731, 6103, 179, 427,
560 -731, -731, -731, -731, -731, -731, 8052, 320, 7685, -731,
561 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
562 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
563 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
564 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
565 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
566 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
567 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
568 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
569 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
570 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
571 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
572 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
573 1113, -731, 76, 56, 1954, 224, 308, 493, 224, 309,
574 6781, 7975, 338, 346, 356, 8100, 351, 357, -731, 360,
575 369, 354, 363, 122, -731, 370, 376, -731, -731, -731,
576 769, 7459, -731, 7744, -731, 255, 375, -731, -731, -731,
577 378, -731, 8076, 379, 388, 7676, -731, 398, 1728, 389,
578 -731, -731, 7007, 229, 7975, 164, 164, -731, -731, 36,
579 38, 47, 7225, -731, -731, 6781, 6781, 394, -731, -731,
580 -731, -731, -731, 391, 186, -731, 80, -731, -731, -731,
581 -731, -731, 255, 180, -731, -731, -731, 255, -731, 196,
582 -731, 399, -731, -731, 403, 8100, -731, -731, 6216, -731,
583 6555, -731, 7459, -731, 80, 7459, -731, 7975, 7857, -731,
584 -731, -731, -731, -731, 405, 393, -731, -731, -731, -731,
585 6894, 6894, 411, -731, 71, 412, -731, 389, 247, 247,
586 6781, -731, 7838, -731, -731, 641, 413, 641, 407, 7975,
587 1954, -731, 7233, 224, 392, 224, 224, 158, 350, 238,
588 431, 8100, -731, -731, -731, -731, 434, 6668, -731, 433,
589 7459, 219, -731, 436, 287, 440, 987, 7916, 8076, 8124,
590 449, 441, 443, 7346, 446, 412, 7459, 7459, -731, 6781,
591 -731, 641, -731, 80, 6103, 448, 452, -731, -731, 453,
592 -731, -731, 431, -731, -731, -731, 7857, -731, 455, 6781,
593 80, -731, 6329, 456, 460, -731, 395, -731, -731, -731,
594 462, 458, 471, 389, 472, -731, -731, 474, 8148, -731,
595 48, -731, 476, 484, 224, 488, 80, 7563, 489, 491,
596 -731, 492, -731, -731, 61, -731, 495, 494, -731, 7346,
597 -731, 506, 1954, 500, -731, 445, 511, 6781, 6216, 512,
598 -731, 6555, -731, -731, 515, 519, 523, 389, -731, 516,
599 520, 1954, 276, 6442, 7442, 346, -731, -731, -731, 518,
600 6668, -731, -731, 522, 521, -731, 526, 524, 530, 534,
601 535, 528, -731, -731, 6216, -731, 542, -731, 641, 537,
602 224, 80, 538, 6555, -731, 539, -731, 1954, -731, 541,
603 -731, -731, -731, 543, 6442, 224, 548, -731, 549, -731
606 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
607 Performed when YYTABLE does not specify something else to do. Zero
608 means the default is an error. */
609 static const unsigned short yydefact
[] =
611 280, 401, 398, 402, 396, 397, 399, 393, 394, 392,
612 391, 383, 285, 284, 0, 0, 0, 0, 510, 382,
613 0, 432, 635, 286, 0, 436, 0, 281, 282, 288,
614 287, 289, 293, 527, 0, 379, 385, 384, 390, 405,
615 417, 389, 290, 291, 292, 0, 422, 443, 445, 446,
616 0, 0, 457, 295, 294, 296, 0, 297, 0, 400,
617 395, 391, 0, 0, 0, 382, 437, 444, 427, 299,
618 310, 307, 309, 311, 312, 323, 320, 321, 318, 324,
619 319, 0, 322, 313, 314, 315, 0, 335, 335, 0,
620 303, 0, 0, 510, 510, 0, 0, 365, 370, 466,
621 369, 0, 518, 518, 33, 34, 35, 36, 37, 623,
622 584, 24, 42, 41, 40, 38, 39, 32, 31, 25,
623 29, 28, 26, 27, 43, 592, 591, 589, 587, 588,
624 590, 586, 585, 593, 30, 621, 619, 618, 620, 617,
625 616, 386, 44, 45, 387, 388, 507, 551, 552, 553,
626 554, 555, 0, 0, 548, 0, 433, 0, 637, 0,
627 636, 391, 0, 0, 434, 422, 1, 283, 533, 520,
628 381, 467, 0, 528, 529, 531, 380, 407, 411, 409,
629 413, 406, 403, 418, 405, 404, 0, 0, 0, 458,
630 458, 0, 0, 386, 387, 388, 0, 422, 71, 46,
631 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
632 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
633 67, 68, 69, 70, 161, 162, 72, 73, 74, 75,
634 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
635 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
636 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
637 111, 109, 110, 108, 106, 107, 112, 113, 114, 115,
638 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
639 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
640 163, 136, 137, 138, 139, 140, 141, 142, 143, 144,
641 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
642 155, 159, 156, 157, 158, 160, 0, 335, 305, 300,
643 46, 55, 56, 57, 58, 60, 61, 65, 109, 110,
644 108, 106, 107, 127, 129, 130, 131, 132, 133, 134,
645 163, 138, 139, 140, 141, 142, 143, 144, 145, 146,
646 147, 148, 149, 150, 151, 152, 153, 337, 308, 336,
647 301, 316, 317, 302, 304, 345, 346, 0, 0, 22,
648 23, 20, 21, 0, 0, 348, 306, 347, 386, 509,
649 387, 508, 366, 363, 371, 0, 0, 0, 0, 0,
650 0, 0, 298, 0, 0, 0, 435, 0, 536, 535,
651 534, 523, 469, 527, 520, 530, 532, 412, 408, 414,
652 415, 410, 419, 0, 431, 0, 420, 392, 527, 463,
653 0, 0, 460, 461, 464, 0, 486, 512, 484, 0,
654 635, 0, 0, 0, 629, 630, 0, 560, 563, 562,
655 564, 565, 0, 566, 428, 429, 0, 0, 424, 0,
656 327, 328, 325, 338, 506, 505, 0, 0, 501, 0,
657 0, 343, 340, 350, 2, 3, 4, 5, 6, 7,
658 8, 9, 10, 11, 13, 12, 14, 15, 16, 17,
659 18, 19, 0, 0, 0, 0, 0, 0, 472, 471,
660 473, 470, 497, 361, 362, 495, 494, 496, 0, 0,
661 0, 357, 359, 498, 358, 488, 499, 0, 0, 0,
662 364, 421, 497, 525, 526, 524, 0, 0, 0, 528,
663 468, 416, 189, 164, 165, 166, 167, 168, 169, 170,
664 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
665 181, 182, 183, 184, 185, 186, 187, 188, 277, 278,
666 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
667 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
668 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
669 220, 221, 227, 225, 226, 224, 222, 223, 228, 229,
670 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
671 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
672 250, 251, 279, 252, 253, 254, 255, 256, 257, 258,
673 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
674 269, 270, 271, 275, 272, 273, 274, 276, 441, 442,
675 0, 439, 0, 520, 458, 520, 0, 0, 520, 0,
676 0, 513, 0, 0, 0, 612, 0, 0, 611, 45,
677 0, 0, 0, 0, 632, 0, 0, 606, 537, 561,
678 0, 0, 426, 329, 425, 527, 0, 502, 504, 339,
679 0, 352, 353, 0, 351, 0, 341, 0, 0, 514,
680 374, 367, 375, 0, 376, 518, 518, 373, 372, 623,
681 24, 0, 0, 492, 356, 0, 0, 0, 538, 557,
682 558, 559, 556, 0, 0, 542, 635, 547, 549, 550,
683 522, 521, 527, 0, 438, 440, 423, 527, 465, 0,
684 449, 0, 462, 447, 0, 487, 485, 483, 0, 567,
685 635, 610, 0, 546, 635, 0, 631, 0, 607, 604,
686 628, 430, 330, 333, 0, 331, 503, 500, 344, 349,
687 0, 0, 0, 368, 0, 477, 474, 514, 0, 0,
688 0, 490, 0, 491, 355, 0, 0, 0, 544, 0,
689 458, 455, 0, 520, 0, 520, 520, 497, 0, 31,
690 30, 573, 578, 574, 576, 577, 44, 0, 613, 624,
691 0, 0, 633, 623, 609, 0, 335, 0, 354, 342,
692 0, 515, 0, 514, 0, 477, 378, 377, 489, 0,
693 539, 0, 543, 635, 0, 0, 0, 456, 453, 0,
694 450, 448, 0, 575, 598, 584, 607, 599, 0, 0,
695 635, 579, 635, 0, 0, 634, 0, 326, 332, 334,
696 0, 0, 0, 514, 478, 481, 475, 0, 493, 540,
697 0, 545, 0, 0, 520, 0, 635, 0, 594, 0,
698 626, 625, 614, 568, 0, 519, 0, 0, 479, 514,
699 476, 0, 458, 0, 454, 0, 0, 0, 0, 0,
700 615, 635, 622, 605, 0, 0, 0, 514, 482, 0,
701 0, 458, 0, 600, 0, 498, 596, 571, 569, 595,
702 0, 583, 627, 0, 0, 480, 0, 0, 0, 0,
703 0, 601, 602, 580, 0, 570, 0, 516, 0, 0,
704 520, 635, 0, 635, 597, 0, 541, 458, 451, 0,
705 581, 603, 517, 0, 600, 520, 0, 452, 0, 582
708 /* YYPGOTO[NTERM-NUM]. */
709 static const short yypgoto
[] =
711 -731, -351, -73, -11, -47, -731, -731, -731, 547, -731,
712 -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
713 -731, -731, -86, -731, -281, -731, -731, -731, -476, -731,
714 -731, 421, -118, 41, -104, -179, -19, -5, -731, -731,
715 -731, 554, -731, -731, 416, -731, -731, -731, -731, -76,
716 -261, -731, -731, -181, -731, -731, 410, -731, -45, 573,
717 39, -3, 50, -731, -731, -731, -731, -182, -731, -44,
718 3, -33, -731, -731, 213, -349, -731, -210, -731, 9,
719 -731, -41, -369, -731, -66, -731, 150, -731, -446, -444,
720 166, -731, -709, -87, -380, -731, -375, -29, -731, 459,
721 -731, -731, 586, -731, -158, -683, -730, -731, -731, 620,
722 -731, 249, -373, -731, -283, -696, 220, -145, -731, -731,
723 -692, -731, -731, -254, -284, -731, -731, -731, -175, -731,
724 -408, -410, -413, -731, -731, -731, -731, -731, -731, -83,
728 /* YYDEFGOTO[NTERM-NUM]. */
729 static const short yydefgoto
[] =
731 -1, 706, 499, 169, 357, 638, 26, 27, 28, 29,
732 30, 86, 87, 88, 89, 363, 90, 91, 92, 318,
733 754, 755, 358, 359, 376, 683, 684, 31, 500, 501,
734 32, 96, 689, 690, 691, 33, 34, 35, 36, 37,
735 38, 39, 40, 41, 182, 408, 411, 185, 42, 188,
736 502, 43, 197, 804, 44, 45, 639, 640, 641, 46,
737 47, 48, 99, 419, 50, 420, 51, 421, 422, 423,
738 424, 503, 53, 54, 489, 490, 693, 814, 854, 101,
739 427, 428, 655, 505, 506, 676, 458, 56, 102, 103,
740 146, 652, 765, 386, 402, 517, 172, 446, 174, 175,
741 400, 57, 58, 714, 715, 656, 716, 153, 717, 718,
742 719, 436, 437, 438, 906, 907, 908, 793, 794, 795,
743 142, 889, 909, 838, 920, 921, 439, 666, 805, 440,
744 922, 658, 143, 843, 871, 441, 442, 443, 663, 664,
748 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
749 positive, shift that token. If negative, reduce the rule whose
750 number is the opposite. If YYTABLE_NINF, syntax error. */
751 static const short yytable
[] =
753 171, 159, 360, 52, 173, 141, 144, 145, 425, 55,
754 418, 418, 98, 68, 170, 444, 387, 659, 100, 374,
755 659, 504, 657, 667, 520, 483, 377, 52, 518, 176,
756 52, 707, 516, 778, 317, 450, 55, 486, 487, 695,
757 797, 696, 792, 643, 364, 820, 796, 823, 52, 67,
758 49, 193, 194, 195, 388, 451, 97, 389, 815, 361,
759 49, -446, -466, 669, -466, -392, 168, -391, 22, -392,
760 316, -24, 743, 670, 49, 398, 11, 49, 109, 892,
761 770, 375, 378, 380, 186, -392, -392, 459, 727, 397,
762 384, 859, 98, 462, 401, 49, 811, 837, 100, 483,
763 156, 841, 674, 155, 855, 796, 812, 409, 483, 726,
764 410, 483, 881, 1, 2, 3, 4, 5, 6, 7,
765 8, 447, 488, -392, 158, -391, 9, 485, 189, 702,
766 703, 61, 166, 399, 65, 669, 382, 59, 504, 60,
767 778, 405, 454, 455, 878, -518, -386, -511, 456, 385,
768 -518, 187, 362, 746, 642, -446, 747, 868, 190, 98,
769 457, 191, 404, 445, 52, 100, 668, 183, 4, 5,
770 898, 135, 136, 137, 138, 139, 140, -457, 192, 196,
771 426, 319, 682, 886, -360, 383, -360, -360, 915, -497,
772 910, -497, -497, 62, 63, 64, 796, -457, 936, 385,
773 67, 685, 686, 97, -387, -511, 645, 646, 648, 649,
774 837, 49, 780, 781, 925, 391, 708, -511, 796, 776,
775 777, 429, 430, 431, 432, 433, 910, 434, 435, 783,
776 784, 452, 796, 1, 2, 3, 4, 5, 6, 7,
777 8, 390, 695, 374, 696, 392, 9, 695, 939, 696,
778 377, 61, 845, 671, 393, 834, 835, 394, 11, 379,
779 381, 396, 401, 728, 403, 730, 766, 407, 733, 413,
780 836, 429, 430, 431, 432, 433, 415, 434, 435, 416,
781 484, 735, 463, 485, 509, 1, 2, 3, 4, 5,
782 6, 7, 8, 834, 835, 374, 507, 510, 9, 511,
783 756, 374, 377, 161, 168, 375, 692, 521, 377, 448,
784 11, 644, 453, 93, 94, 18, 65, 650, 647, 701,
785 651, 671, 429, 430, 431, 432, 433, 659, 434, 435,
786 672, 483, 798, 674, 483, 483, 772, 773, 125, 126,
787 127, 128, 129, 130, 131, 132, 133, 779, 861, 673,
788 688, 147, 782, 678, 148, 687, 704, 375, 149, 721,
789 150, 151, 461, 375, 162, 62, 63, 64, 65, 791,
790 163, 152, 731, 734, 519, 737, 125, 126, 127, 128,
791 129, 130, 131, 132, 133, 171, 738, 739, 741, 173,
792 374, 740, 742, 743, 744, 745, 653, 377, 661, 170,
793 665, 818, 748, 828, 164, 830, 831, 749, 757, 374,
794 374, 758, 759, 177, 178, 179, 377, 377, 180, 816,
795 817, 662, 760, 762, 764, 774, 775, 807, 791, 659,
796 147, 181, 785, 148, 870, 404, 786, 149, 806, 150,
797 151, 709, 710, 711, 712, 810, 813, 824, 821, 680,
798 858, 675, 375, 697, 698, 504, 829, 483, 483, 832,
799 713, 894, 729, 839, 893, 418, 840, 842, 418, -608,
800 867, 375, 375, 846, 850, 852, 851, 856, 659, 808,
801 809, 862, 98, 912, 884, 863, 864, 866, 100, 872,
802 659, 873, 874, 876, 694, 875, 877, 1, 2, 3,
803 4, 5, 6, 7, 8, 880, 879, 723, 882, 692,
804 9, 177, 178, 179, 692, 61, 180, 883, 904, 791,
805 659, 885, 11, 888, 890, 941, 891, 895, 896, 181,
806 899, 659, 901, 1, 2, 3, 4, 5, 6, 7,
807 8, 791, 902, 903, 913, 911, 9, 742, 914, 916,
808 938, 10, 924, 917, 927, 791, 926, 929, 11, 12,
809 13, 928, 933, 930, 801, 947, 931, 935, 932, 937,
810 14, 940, 942, 944, 167, 767, 945, 62, 63, 64,
811 65, 948, 949, 395, 763, 69, 1, 2, 3, 4,
812 5, 6, 7, 8, 184, 725, 414, 165, 826, 9,
813 412, 418, 491, 732, 61, 857, 677, 157, 768, 769,
814 736, 11, 15, 16, 17, 18, 19, 20, 21, 822,
815 22, 70, 71, 72, 73, 74, 75, 76, 77, 78,
816 79, 80, 81, 406, 82, 83, 84, 85, 751, 154,
817 426, 934, 508, 833, 147, 23, 519, 148, 919, 654,
818 24, 149, 25, 150, 151, 709, 710, 711, 712, 171,
819 946, 865, 753, 173, 802, 0, 62, 63, 64, 65,
820 0, 0, 0, 170, 0, 0, 0, 0, 0, 0,
821 0, 0, 170, 384, 0, 98, 0, 374, 374, 0,
822 98, 100, 0, 519, 377, 377, 100, 694, 519, 0,
823 900, 0, 694, 418, 0, 66, 0, 0, 0, 799,
824 0, 0, 445, 0, 0, 445, 0, 0, 0, 918,
825 847, 0, 418, 800, 0, 0, 1, 2, 3, 4,
826 5, 6, 7, 8, 0, 0, 662, 0, 0, 9,
827 0, 0, 0, 0, 61, 0, 0, 0, 0, 375,
828 375, 11, 0, 0, 0, 943, 0, 0, 418, 1,
829 2, 3, 4, 5, 6, 7, 8, 844, 825, 0,
830 0, 723, 9, 0, 0, 0, 0, 61, 0, 0,
831 853, 454, 455, 697, 698, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 849, 0, 0, 457,
833 750, 0, 860, 445, 0, 0, 93, 94, 18, 65,
834 0, 464, 465, 466, 467, 468, 469, 470, 471, 472,
835 473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
836 0, 0, 0, 0, 705, 0, 0, 0, 0, 62,
837 63, 64, 0, 95, 0, 0, 897, 0, 0, 0,
838 0, 0, 0, 0, 0, 905, 0, 0, 0, 0,
839 0, 198, 0, 0, 199, 200, 201, 202, 203, 204,
840 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
841 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
842 225, 905, 226, 227, 228, 229, 230, 231, 232, 233,
843 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
844 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
845 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
846 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
847 274, 0, 275, 0, 276, 277, 278, 279, 280, 281,
848 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
849 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
850 302, 303, 304, 305, 306, 307, 308, 309, 0, 0,
851 310, 0, 311, 312, 313, 314, 315, 198, 0, 0,
852 320, 200, 201, 202, 203, 204, 205, 206, 207, 321,
853 322, 323, 324, 212, 325, 326, 215, 216, 217, 327,
854 219, 220, 221, 222, 223, 224, 225, 0, 226, 227,
855 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
856 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
857 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
858 258, 259, 260, 328, 329, 330, 331, 332, 266, 267,
859 268, 269, 270, 271, 272, 273, 274, 0, 275, 0,
860 276, 277, 278, 279, 280, 333, 282, 334, 335, 336,
861 337, 338, 339, 289, 340, 291, 292, 341, 342, 343,
862 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
863 354, 355, 356, 309, 0, 0, 310, 0, 311, 312,
864 313, 314, 315, 522, 0, 0, 523, 524, 525, 526,
865 527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
866 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
867 547, 548, 549, 0, 550, 551, 552, 553, 554, 413,
868 724, 555, 556, 557, 558, 559, 560, 561, 562, 563,
869 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
870 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
871 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
872 594, 595, 596, 0, 597, 0, 598, 599, 600, 601,
873 602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
874 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
875 622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
876 0, 0, 632, 0, 633, 634, 635, 636, 637, 522,
877 0, 0, 523, 524, 525, 526, 527, 528, 529, 530,
878 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
879 541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
880 550, 551, 552, 553, 554, 413, 0, 555, 556, 557,
881 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
882 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
883 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
884 588, 589, 590, 591, 592, 593, 594, 595, 596, 0,
885 597, 0, 598, 599, 600, 601, 602, 603, 604, 605,
886 606, 607, 608, 609, 610, 611, 612, 613, 614, 615,
887 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
888 626, 627, 628, 629, 630, 631, -584, 0, 632, 0,
889 633, 634, 635, 636, 637, -584, -584, -584, -584, 0,
890 -584, -584, 0, 0, 0, -584, 0, 0, 0, 0,
891 0, 0, -584, -584, -584, -584, -584, -584, -584, -584,
892 -584, -584, -584, -584, 0, -584, -584, -584, -584, -584,
893 -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
894 -584, -584, -584, 0, 0, 0, 0, 0, -584, -584,
895 -584, -584, -584, -584, 1, 2, 3, 4, 5, 6,
896 7, 8, 0, 0, 0, 0, 0, 9, 0, 0,
897 -584, -584, 61, -584, -584, -584, -584, -584, -584, 11,
898 -584, 0, 0, -584, -584, -584, -584, -584, -584, -584,
899 -584, -584, -584, -584, -584, -584, -584, -584, -584, 0,
900 104, 0, 0, 0, 0, 0, 0, 0, -584, 105,
901 106, 107, 108, 0, 109, 110, 512, 0, 0, 111,
902 495, 0, 496, 0, 497, 367, 513, 0, 0, 498,
903 0, 0, 0, 0, 93, 94, 18, 65, 0, 0,
904 0, 0, 0, 0, 369, 370, 168, 0, 0, 0,
905 0, 0, 0, 0, 0, 0, 0, 371, 372, 0,
906 0, 0, 0, 112, 113, 114, 115, 116, 0, 0,
907 0, 688, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 514, 117, 0, 118, 119, 120,
909 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
910 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
911 138, 139, 140, 104, 0, 0, 0, 0, 0, 0,
912 0, 515, 105, 106, 107, 108, 0, 109, 110, 0,
913 0, 0, 111, 0, 0, 365, 0, 366, 367, 0,
914 0, 0, 368, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 369, 370, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 371, 372, 0, 0, 0, 0, 112, 113, 114, 115,
918 116, 0, 0, 0, 0, 0, 0, 0, 373, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
920 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
921 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
922 135, 136, 137, 138, 139, 140, -33, 0, 0, 681,
923 0, 0, 0, 0, 0, -33, -33, -33, -33, 0,
924 -33, -33, 0, 0, 0, -33, 0, 0, -33, -33,
925 -33, -33, 0, 0, 0, -33, 0, 0, 0, 0,
926 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
927 -33, -33, 0, 0, 0, 9, 0, 0, 0, 0,
928 61, 0, 0, -33, -33, 0, 0, 11, 0, -33,
929 -33, -33, -33, -33, 0, 0, 0, 0, 0, 0,
930 0, -33, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, -33, 0, -33, -33, -33, -33, -33, -33, 0,
932 -33, 0, 0, -33, -33, -33, -33, -33, -33, -33,
933 -33, -33, -33, -33, -33, -33, -33, -33, -33, -34,
934 0, -33, 93, 94, 18, 65, 0, 0, -34, -34,
935 -34, -34, 0, -34, -34, 0, 0, 0, -34, 0,
936 0, -34, -34, -34, -34, 0, 0, 0, -34, 0,
937 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
938 6, 7, 8, -34, -34, 0, 0, 0, 9, 0,
939 0, 0, 0, 61, 0, 0, -34, -34, 0, 0,
940 11, 0, -34, -34, -34, -34, -34, 0, 0, 0,
941 0, 0, 0, 0, -34, 0, 0, 0, 0, 0,
942 0, 0, 0, 0, -34, 0, -34, -34, -34, -34,
943 -34, -34, 0, -34, 0, 0, -34, -34, -34, -34,
944 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
945 -34, -34, -35, 0, -34, 62, 63, 64, 65, 0,
946 0, -35, -35, -35, -35, 0, -35, -35, 0, 0,
947 0, -35, 0, 0, -35, -35, -35, -35, 0, 0,
948 0, -35, 0, 0, 0, 0, 0, 0, 1, 2,
949 3, 4, 5, 6, 7, 8, -35, -35, 0, 0,
950 0, 417, 0, 0, 0, 0, 61, 0, 0, -35,
951 -35, 0, 0, 11, 0, -35, -35, -35, -35, -35,
952 0, 0, 0, 0, 0, 0, 0, -35, 0, 0,
953 0, 0, 0, 0, 0, 0, 0, -35, 0, -35,
954 -35, -35, -35, -35, -35, 0, -35, 0, 0, -35,
955 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
956 -35, -35, -35, -35, -35, -36, 0, -35, 62, 63,
957 64, 65, 0, 0, -36, -36, -36, -36, 0, -36,
958 -36, 0, 0, 0, -36, 0, 0, -36, -36, -36,
959 -36, 0, 0, 0, -36, 0, 0, 0, 0, 0,
960 0, 0, 0, 0, 0, 0, 0, 0, 0, -36,
961 -36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
962 0, 0, -36, -36, 0, 0, 0, 0, -36, -36,
963 -36, -36, -36, 0, 0, 0, 0, 0, 0, 0,
964 -36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
965 -36, 0, -36, -36, -36, -36, -36, -36, 0, -36,
966 0, 0, -36, -36, -36, -36, -36, -36, -36, -36,
967 -36, -36, -36, -36, -36, -36, -36, -36, -37, 0,
968 -36, 0, 0, 0, 0, 0, 0, -37, -37, -37,
969 -37, 0, -37, -37, 0, 0, 0, -37, 0, 0,
970 -37, -37, -37, -37, 0, 0, 0, -37, 0, 0,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, -37, -37, 0, 0, 0, 0, 0, 0,
973 0, 0, 0, 0, 0, -37, -37, 0, 0, 0,
974 0, -37, -37, -37, -37, -37, 0, 0, 0, 0,
975 0, 0, 0, -37, 0, 0, 0, 0, 0, 0,
976 0, 0, 0, -37, 0, -37, -37, -37, -37, -37,
977 -37, 0, -37, 0, 0, -37, -37, -37, -37, -37,
978 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
979 -37, -60, 0, -37, 0, 0, 0, 0, 0, 0,
980 -60, -60, -60, -60, 0, -60, -60, 0, 0, 0,
981 -60, 0, 0, -60, -60, -60, -60, 0, 0, 0,
982 -60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 0, 0, 0, 0, -60, -60, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, -60, -60,
985 0, 0, 0, 0, -60, -60, -60, -60, -60, 0,
986 0, 0, 0, 0, 0, 0, -60, 0, 0, 0,
987 0, 0, 0, 0, 0, 0, -60, 0, -60, -60,
988 -60, -60, -60, -60, 0, -60, 0, 0, -60, -60,
989 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
990 -60, -60, -60, -60, -61, 0, -623, 0, 0, 0,
991 0, 0, 0, -61, -61, -61, -61, 0, -61, -61,
992 0, 0, 0, -61, 0, 0, -61, -61, -61, -61,
993 0, 0, 0, -61, 0, 0, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0, -61, -61,
995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
996 0, -61, -61, 0, 0, 0, 0, -61, -61, -61,
997 -61, -61, 0, 0, 0, 0, 0, 0, 0, -61,
998 0, 0, 0, 0, 0, 0, 0, 0, 0, -61,
999 0, -61, -61, -61, -61, -61, -61, 0, -61, 0,
1000 0, -61, -61, -61, -61, -61, -61, -61, -61, -61,
1001 -61, -61, -61, -61, -61, -61, -61, -24, 0, -584,
1002 0, 0, 0, 0, 0, 0, -24, -24, -24, -24,
1003 0, -24, -24, 0, 0, 0, -24, 0, 0, -24,
1004 -24, -24, -24, 0, 0, 0, -24, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, -24, -24, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, -24, -24, 0, 0, 0, 0,
1008 -24, -24, -24, -24, -24, 0, 0, 0, 0, 0,
1009 0, 0, -24, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, -24, 0, -24, -24, -24, -24, -24, -24,
1011 0, -24, 0, 0, -24, -24, -24, -24, -24, -24,
1012 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
1013 -42, 0, -24, 0, 0, 0, 0, 0, 0, -42,
1014 -42, -42, -42, 0, -42, -42, 0, 0, 0, -42,
1015 0, 0, -42, -42, -42, -42, 0, 0, 0, -42,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 0, 0, -42, -42, 0, 0, 0, 0,
1018 0, 0, 0, 0, 0, 0, 0, -42, -42, 0,
1019 0, 0, 0, -42, -42, -42, -42, -42, 0, 0,
1020 0, 0, 0, 0, 0, -42, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, -42, 0, -42, -42, -42,
1022 -42, -42, -42, 0, -42, 0, 0, -42, -42, -42,
1023 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1024 -42, -42, -42, -41, 0, -42, 0, 0, 0, 0,
1025 0, 0, -41, -41, -41, -41, 0, -41, -41, 0,
1026 0, 0, -41, 0, 0, -41, -41, -41, -41, 0,
1027 0, 0, -41, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0, 0, -41, -41, 0,
1029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1030 -41, -41, 0, 0, 0, 0, -41, -41, -41, -41,
1031 -41, 0, 0, 0, 0, 0, 0, 0, -41, 0,
1032 0, 0, 0, 0, 0, 0, 0, 0, -41, 0,
1033 -41, -41, -41, -41, -41, -41, 0, -41, 0, 0,
1034 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1035 -41, -41, -41, -41, -41, -41, -40, 0, -41, 0,
1036 0, 0, 0, 0, 0, -40, -40, -40, -40, 0,
1037 -40, -40, 0, 0, 0, -40, 0, 0, -40, -40,
1038 -40, -40, 0, 0, 0, -40, 0, 0, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 -40, -40, 0, 0, 0, 0, 0, 0, 0, 0,
1041 0, 0, 0, -40, -40, 0, 0, 0, 0, -40,
1042 -40, -40, -40, -40, 0, 0, 0, 0, 0, 0,
1043 0, -40, 0, 0, 0, 0, 0, 0, 0, 0,
1044 0, -40, 0, -40, -40, -40, -40, -40, -40, 0,
1045 -40, 0, 0, -40, -40, -40, -40, -40, -40, -40,
1046 -40, -40, -40, -40, -40, -40, -40, -40, -40, -38,
1047 0, -40, 0, 0, 0, 0, 0, 0, -38, -38,
1048 -38, -38, 0, -38, -38, 0, 0, 0, -38, 0,
1049 0, -38, -38, -38, -38, 0, 0, 0, -38, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, -38, -38, 0, 0, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, -38, -38, 0, 0,
1053 0, 0, -38, -38, -38, -38, -38, 0, 0, 0,
1054 0, 0, 0, 0, -38, 0, 0, 0, 0, 0,
1055 0, 0, 0, 0, -38, 0, -38, -38, -38, -38,
1056 -38, -38, 0, -38, 0, 0, -38, -38, -38, -38,
1057 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1058 -38, -38, -39, 0, -38, 0, 0, 0, 0, 0,
1059 0, -39, -39, -39, -39, 0, -39, -39, 0, 0,
1060 0, -39, 0, 0, -39, -39, -39, -39, 0, 0,
1061 0, -39, 0, 0, 0, 0, 0, 0, 0, 0,
1062 0, 0, 0, 0, 0, 0, -39, -39, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0, 0, -39,
1064 -39, 0, 0, 0, 0, -39, -39, -39, -39, -39,
1065 0, 0, 0, 0, 0, 0, 0, -39, 0, 0,
1066 0, 0, 0, 0, 0, 0, 0, -39, 0, -39,
1067 -39, -39, -39, -39, -39, 0, -39, 0, 0, -39,
1068 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1069 -39, -39, -39, -39, -39, -32, 0, -39, 0, 0,
1070 0, 0, 0, 0, -32, -32, -32, -32, 0, -32,
1071 -32, 0, 0, 0, -32, 0, 0, -32, -32, -32,
1072 -32, 0, 0, 0, -32, 0, 0, 0, 0, 0,
1073 0, 0, 0, 0, 0, 0, 0, 0, 0, -32,
1074 -32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1075 0, 0, -32, -32, 0, 0, 0, 0, -32, -32,
1076 -32, -32, -32, 0, 0, 0, 0, 0, 0, 0,
1077 -32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1078 -32, 0, -32, -32, -32, -32, -32, -32, 0, -32,
1079 0, 0, -32, -32, -32, -32, -32, -32, -32, -32,
1080 -32, -32, -32, -32, -32, -32, -32, -32, -31, 0,
1081 -32, 0, 0, 0, 0, 0, 0, -31, -31, -31,
1082 -31, 0, -31, -31, 0, 0, 0, -31, 0, 0,
1083 -31, -31, -31, -31, 0, 0, 0, -31, 0, 0,
1084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1085 0, 0, -31, -31, 0, 0, 0, 0, 0, 0,
1086 0, 0, 0, 0, 0, -31, -31, 0, 0, 0,
1087 0, -31, -31, -31, -31, -31, 0, 0, 0, 0,
1088 0, 0, 0, -31, 0, 0, 0, 0, 0, 0,
1089 0, 0, 0, -31, 0, -31, -31, -31, -31, -31,
1090 -31, 0, -31, 0, 0, -31, -31, -31, -31, -31,
1091 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1092 -31, -25, 0, -31, 0, 0, 0, 0, 0, 0,
1093 -25, -25, -25, -25, 0, -25, -25, 0, 0, 0,
1094 -25, 0, 0, -25, -25, -25, -25, 0, 0, 0,
1095 -25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1096 0, 0, 0, 0, 0, -25, -25, 0, 0, 0,
1097 0, 0, 0, 0, 0, 0, 0, 0, -25, -25,
1098 0, 0, 0, 0, -25, -25, -25, -25, -25, 0,
1099 0, 0, 0, 0, 0, 0, -25, 0, 0, 0,
1100 0, 0, 0, 0, 0, 0, -25, 0, -25, -25,
1101 -25, -25, -25, -25, 0, -25, 0, 0, -25, -25,
1102 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1103 -25, -25, -25, -25, -29, 0, -25, 0, 0, 0,
1104 0, 0, 0, -29, -29, -29, -29, 0, -29, -29,
1105 0, 0, 0, -29, 0, 0, -29, -29, -29, -29,
1106 0, 0, 0, -29, 0, 0, 0, 0, 0, 0,
1107 0, 0, 0, 0, 0, 0, 0, 0, -29, -29,
1108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1109 0, -29, -29, 0, 0, 0, 0, -29, -29, -29,
1110 -29, -29, 0, 0, 0, 0, 0, 0, 0, -29,
1111 0, 0, 0, 0, 0, 0, 0, 0, 0, -29,
1112 0, -29, -29, -29, -29, -29, -29, 0, -29, 0,
1113 0, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1114 -29, -29, -29, -29, -29, -29, -29, -28, 0, -29,
1115 0, 0, 0, 0, 0, 0, -28, -28, -28, -28,
1116 0, -28, -28, 0, 0, 0, -28, 0, 0, -28,
1117 -28, -28, -28, 0, 0, 0, -28, 0, 0, 0,
1118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1119 0, -28, -28, 0, 0, 0, 0, 0, 0, 0,
1120 0, 0, 0, 0, -28, -28, 0, 0, 0, 0,
1121 -28, -28, -28, -28, -28, 0, 0, 0, 0, 0,
1122 0, 0, -28, 0, 0, 0, 0, 0, 0, 0,
1123 0, 0, -28, 0, -28, -28, -28, -28, -28, -28,
1124 0, -28, 0, 0, -28, -28, -28, -28, -28, -28,
1125 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
1126 -26, 0, -28, 0, 0, 0, 0, 0, 0, -26,
1127 -26, -26, -26, 0, -26, -26, 0, 0, 0, -26,
1128 0, 0, -26, -26, -26, -26, 0, 0, 0, -26,
1129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1130 0, 0, 0, 0, -26, -26, 0, 0, 0, 0,
1131 0, 0, 0, 0, 0, 0, 0, -26, -26, 0,
1132 0, 0, 0, -26, -26, -26, -26, -26, 0, 0,
1133 0, 0, 0, 0, 0, -26, 0, 0, 0, 0,
1134 0, 0, 0, 0, 0, -26, 0, -26, -26, -26,
1135 -26, -26, -26, 0, -26, 0, 0, -26, -26, -26,
1136 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1137 -26, -26, -26, -27, 0, -26, 0, 0, 0, 0,
1138 0, 0, -27, -27, -27, -27, 0, -27, -27, 0,
1139 0, 0, -27, 0, 0, -27, -27, -27, -27, 0,
1140 0, 0, -27, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, -27, -27, 0,
1142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1143 -27, -27, 0, 0, 0, 0, -27, -27, -27, -27,
1144 -27, 0, 0, 0, 0, 0, 0, 0, -27, 0,
1145 0, 0, 0, 0, 0, 0, 0, 0, -27, 0,
1146 -27, -27, -27, -27, -27, -27, 0, -27, 0, 0,
1147 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1148 -27, -27, -27, -27, -27, -27, -43, 0, -27, 0,
1149 0, 0, 0, 0, 0, -43, -43, -43, -43, 0,
1150 -43, -43, 0, 0, 0, -43, 0, 0, -43, -43,
1151 -43, -43, 0, 0, 0, -43, 0, 0, 0, 0,
1152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1153 -43, -43, 0, 0, 0, 0, 0, 0, 0, 0,
1154 0, 0, 0, -43, -43, 0, 0, 0, 0, -43,
1155 -43, -43, -43, -43, 0, 0, 0, 0, 0, 0,
1156 0, -43, 0, 0, 0, 0, 0, 0, 0, 0,
1157 0, -43, 0, -43, -43, -43, -43, -43, -43, 0,
1158 -43, 0, 0, -43, -43, -43, -43, -43, -43, -43,
1159 -43, -43, -43, -43, -43, -43, -43, -43, -43, -138,
1160 0, -43, 0, 0, 0, 0, 0, 0, -138, -138,
1161 -138, -138, 0, -138, -138, 0, 0, 0, -138, 0,
1162 0, -138, -138, -138, -138, 0, 0, 0, -138, 0,
1163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1164 0, 0, 0, -138, -138, 0, 0, 0, 0, 0,
1165 0, 0, 0, 0, 0, 0, -138, -138, 0, 0,
1166 0, 0, -138, -138, -138, -138, -138, 0, 0, 0,
1167 0, 0, 0, 0, -138, 0, 0, 0, 0, 0,
1168 0, 0, 0, 0, -138, 0, -138, -138, -138, -138,
1169 -138, -138, 0, -138, 0, 0, -138, -138, -138, -138,
1170 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1171 -138, -138, -139, 0, -592, 0, 0, 0, 0, 0,
1172 0, -139, -139, -139, -139, 0, -139, -139, 0, 0,
1173 0, -139, 0, 0, -139, -139, -139, -139, 0, 0,
1174 0, -139, 0, 0, 0, 0, 0, 0, 0, 0,
1175 0, 0, 0, 0, 0, 0, -139, -139, 0, 0,
1176 0, 0, 0, 0, 0, 0, 0, 0, 0, -139,
1177 -139, 0, 0, 0, 0, -139, -139, -139, -139, -139,
1178 0, 0, 0, 0, 0, 0, 0, -139, 0, 0,
1179 0, 0, 0, 0, 0, 0, 0, -139, 0, -139,
1180 -139, -139, -139, -139, -139, 0, -139, 0, 0, -139,
1181 -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1182 -139, -139, -139, -139, -139, -140, 0, -591, 0, 0,
1183 0, 0, 0, 0, -140, -140, -140, -140, 0, -140,
1184 -140, 0, 0, 0, -140, 0, 0, -140, -140, -140,
1185 -140, 0, 0, 0, -140, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0, 0, -140,
1187 -140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, -140, -140, 0, 0, 0, 0, -140, -140,
1189 -140, -140, -140, 0, 0, 0, 0, 0, 0, 0,
1190 -140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1191 -140, 0, -140, -140, -140, -140, -140, -140, 0, -140,
1192 0, 0, -140, -140, -140, -140, -140, -140, -140, -140,
1193 -140, -140, -140, -140, -140, -140, -140, -140, -141, 0,
1194 -589, 0, 0, 0, 0, 0, 0, -141, -141, -141,
1195 -141, 0, -141, -141, 0, 0, 0, -141, 0, 0,
1196 -141, -141, -141, -141, 0, 0, 0, -141, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1198 0, 0, -141, -141, 0, 0, 0, 0, 0, 0,
1199 0, 0, 0, 0, 0, -141, -141, 0, 0, 0,
1200 0, -141, -141, -141, -141, -141, 0, 0, 0, 0,
1201 0, 0, 0, -141, 0, 0, 0, 0, 0, 0,
1202 0, 0, 0, -141, 0, -141, -141, -141, -141, -141,
1203 -141, 0, -141, 0, 0, -141, -141, -141, -141, -141,
1204 -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1205 -141, -142, 0, -587, 0, 0, 0, 0, 0, 0,
1206 -142, -142, -142, -142, 0, -142, -142, 0, 0, 0,
1207 -142, 0, 0, -142, -142, -142, -142, 0, 0, 0,
1208 -142, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, -142, -142, 0, 0, 0,
1210 0, 0, 0, 0, 0, 0, 0, 0, -142, -142,
1211 0, 0, 0, 0, -142, -142, -142, -142, -142, 0,
1212 0, 0, 0, 0, 0, 0, -142, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, -142, 0, -142, -142,
1214 -142, -142, -142, -142, 0, -142, 0, 0, -142, -142,
1215 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1216 -142, -142, -142, -142, -143, 0, -588, 0, 0, 0,
1217 0, 0, 0, -143, -143, -143, -143, 0, -143, -143,
1218 0, 0, 0, -143, 0, 0, -143, -143, -143, -143,
1219 0, 0, 0, -143, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 0, 0, 0, 0, 0, -143, -143,
1221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1222 0, -143, -143, 0, 0, 0, 0, -143, -143, -143,
1223 -143, -143, 0, 0, 0, 0, 0, 0, 0, -143,
1224 0, 0, 0, 0, 0, 0, 0, 0, 0, -143,
1225 0, -143, -143, -143, -143, -143, -143, 0, -143, 0,
1226 0, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1227 -143, -143, -143, -143, -143, -143, -143, -144, 0, -590,
1228 0, 0, 0, 0, 0, 0, -144, -144, -144, -144,
1229 0, -144, -144, 0, 0, 0, -144, 0, 0, -144,
1230 -144, -144, -144, 0, 0, 0, -144, 0, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1232 0, -144, -144, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 0, 0, -144, -144, 0, 0, 0, 0,
1234 -144, -144, -144, -144, -144, 0, 0, 0, 0, 0,
1235 0, 0, -144, 0, 0, 0, 0, 0, 0, 0,
1236 0, 0, -144, 0, -144, -144, -144, -144, -144, -144,
1237 0, -144, 0, 0, -144, -144, -144, -144, -144, -144,
1238 -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
1239 -145, 0, -586, 0, 0, 0, 0, 0, 0, -145,
1240 -145, -145, -145, 0, -145, -145, 0, 0, 0, -145,
1241 0, 0, -145, -145, -145, -145, 0, 0, 0, -145,
1242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1243 0, 0, 0, 0, -145, -145, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, -145, -145, 0,
1245 0, 0, 0, -145, -145, -145, -145, -145, 0, 0,
1246 0, 0, 0, 0, 0, -145, 0, 0, 0, 0,
1247 0, 0, 0, 0, 0, -145, 0, -145, -145, -145,
1248 -145, -145, -145, 0, -145, 0, 0, -145, -145, -145,
1249 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1250 -145, -145, -145, -146, 0, -585, 0, 0, 0, 0,
1251 0, 0, -146, -146, -146, -146, 0, -146, -146, 0,
1252 0, 0, -146, 0, 0, -146, -146, -146, -146, 0,
1253 0, 0, -146, 0, 0, 0, 0, 0, 0, 0,
1254 0, 0, 0, 0, 0, 0, 0, -146, -146, 0,
1255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1256 -146, -146, 0, 0, 0, 0, -146, -146, -146, -146,
1257 -146, 0, 0, 0, 0, 0, 0, 0, -146, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0, -146, 0,
1259 -146, -146, -146, -146, -146, -146, 0, -146, 0, 0,
1260 -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1261 -146, -146, -146, -146, -146, -146, -30, 0, -593, 0,
1262 0, 0, 0, 0, 0, -30, -30, -30, -30, 0,
1263 -30, -30, 0, 0, 0, -30, 0, 0, -30, -30,
1264 -30, -30, 0, 0, 0, -30, 0, 0, 0, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1266 -30, -30, 0, 0, 0, 0, 0, 0, 0, 0,
1267 0, 0, 0, -30, -30, 0, 0, 0, 0, -30,
1268 -30, -30, -30, -30, 0, 0, 0, 0, 0, 0,
1269 0, -30, 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, -30, 0, -30, -30, -30, -30, -30, -30, 0,
1271 -30, 0, 0, -30, -30, -30, -30, -30, -30, -30,
1272 -30, -30, -30, -30, -30, -30, -30, -30, -30, -148,
1273 0, -30, 0, 0, 0, 0, 0, 0, -148, -148,
1274 -148, -148, 0, -148, -148, 0, 0, 0, -148, 0,
1275 0, -148, -148, -148, -148, 0, 0, 0, -148, 0,
1276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1277 0, 0, 0, -148, -148, 0, 0, 0, 0, 0,
1278 0, 0, 0, 0, 0, 0, -148, -148, 0, 0,
1279 0, 0, -148, -148, -148, -148, -148, 0, 0, 0,
1280 0, 0, 0, 0, -148, 0, 0, 0, 0, 0,
1281 0, 0, 0, 0, -148, 0, -148, -148, -148, -148,
1282 -148, -148, 0, -148, 0, 0, -148, -148, -148, -148,
1283 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1284 -148, -148, -149, 0, -621, 0, 0, 0, 0, 0,
1285 0, -149, -149, -149, -149, 0, -149, -149, 0, 0,
1286 0, -149, 0, 0, -149, -149, -149, -149, 0, 0,
1287 0, -149, 0, 0, 0, 0, 0, 0, 0, 0,
1288 0, 0, 0, 0, 0, 0, -149, -149, 0, 0,
1289 0, 0, 0, 0, 0, 0, 0, 0, 0, -149,
1290 -149, 0, 0, 0, 0, -149, -149, -149, -149, -149,
1291 0, 0, 0, 0, 0, 0, 0, -149, 0, 0,
1292 0, 0, 0, 0, 0, 0, 0, -149, 0, -149,
1293 -149, -149, -149, -149, -149, 0, -149, 0, 0, -149,
1294 -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1295 -149, -149, -149, -149, -149, -150, 0, -619, 0, 0,
1296 0, 0, 0, 0, -150, -150, -150, -150, 0, -150,
1297 -150, 0, 0, 0, -150, 0, 0, -150, -150, -150,
1298 -150, 0, 0, 0, -150, 0, 0, 0, 0, 0,
1299 0, 0, 0, 0, 0, 0, 0, 0, 0, -150,
1300 -150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1301 0, 0, -150, -150, 0, 0, 0, 0, -150, -150,
1302 -150, -150, -150, 0, 0, 0, 0, 0, 0, 0,
1303 -150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1304 -150, 0, -150, -150, -150, -150, -150, -150, 0, -150,
1305 0, 0, -150, -150, -150, -150, -150, -150, -150, -150,
1306 -150, -150, -150, -150, -150, -150, -150, -150, -151, 0,
1307 -618, 0, 0, 0, 0, 0, 0, -151, -151, -151,
1308 -151, 0, -151, -151, 0, 0, 0, -151, 0, 0,
1309 -151, -151, -151, -151, 0, 0, 0, -151, 0, 0,
1310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1311 0, 0, -151, -151, 0, 0, 0, 0, 0, 0,
1312 0, 0, 0, 0, 0, -151, -151, 0, 0, 0,
1313 0, -151, -151, -151, -151, -151, 0, 0, 0, 0,
1314 0, 0, 0, -151, 0, 0, 0, 0, 0, 0,
1315 0, 0, 0, -151, 0, -151, -151, -151, -151, -151,
1316 -151, 0, -151, 0, 0, -151, -151, -151, -151, -151,
1317 -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
1318 -151, -152, 0, -620, 0, 0, 0, 0, 0, 0,
1319 -152, -152, -152, -152, 0, -152, -152, 0, 0, 0,
1320 -152, 0, 0, -152, -152, -152, -152, 0, 0, 0,
1321 -152, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1322 0, 0, 0, 0, 0, -152, -152, 0, 0, 0,
1323 0, 0, 0, 0, 0, 0, 0, 0, -152, -152,
1324 0, 0, 0, 0, -152, -152, -152, -152, -152, 0,
1325 0, 0, 0, 0, 0, 0, -152, 0, 0, 0,
1326 0, 0, 0, 0, 0, 0, -152, 0, -152, -152,
1327 -152, -152, -152, -152, 0, -152, 0, 0, -152, -152,
1328 -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
1329 -152, -152, -152, -152, -153, 0, -617, 0, 0, 0,
1330 0, 0, 0, -153, -153, -153, -153, 0, -153, -153,
1331 0, 0, 0, -153, 0, 0, -153, -153, -153, -153,
1332 0, 0, 0, -153, 0, 0, 0, 0, 0, 0,
1333 0, 0, 0, 0, 0, 0, 0, 0, -153, -153,
1334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335 0, -153, -153, 0, 0, 0, 0, -153, -153, -153,
1336 -153, -153, 0, 0, 0, 0, 0, 0, 0, -153,
1337 0, 0, 0, 0, 0, 0, 0, 0, 0, -153,
1338 0, -153, -153, -153, -153, -153, -153, 0, -153, 0,
1339 0, -153, -153, -153, -153, -153, -153, -153, -153, -153,
1340 -153, -153, -153, -153, -153, -153, -153, 104, 0, -616,
1341 0, 0, 0, 0, 0, 0, 105, 106, 107, 108,
1342 0, 109, 110, 0, 0, 0, 111, 0, 0, 365,
1343 448, 366, 367, 0, 0, 0, 368, 0, 0, 0,
1344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1345 0, 369, 370, 0, 0, 0, 0, 0, 0, 0,
1346 0, 0, 0, 0, 371, 372, 0, 0, 0, 0,
1347 112, 113, 114, 115, 116, 0, 0, 0, 0, 0,
1348 0, 0, 373, 0, 0, 0, 0, 0, 0, 0,
1349 0, 0, 117, 0, 118, 119, 120, 121, 122, 123,
1350 0, 124, 0, 0, 125, 126, 127, 128, 129, 130,
1351 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1352 0, 0, 449, 104, 1, 2, 3, 4, 5, 6,
1353 7, 8, 105, 106, 107, 108, 0, 699, 110, 512,
1354 0, 0, 700, 495, 0, 496, 0, 497, 367, 11,
1355 0, 0, 498, 0, 0, 0, 0, 0, 0, 0,
1356 0, 0, 0, 0, 0, 0, 0, 369, 370, 168,
1357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1358 371, 372, 0, 0, 0, 0, 112, 113, 114, 115,
1359 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1360 0, 0, 0, 0, 62, 63, 64, 65, 117, 0,
1361 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
1362 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1363 135, 136, 137, 138, 139, 140, 104, 0, 0, 0,
1364 0, 0, 0, 0, 0, 105, 106, 107, 108, 0,
1365 109, 110, 492, 493, 494, 111, 495, 0, 496, 448,
1366 497, 367, 0, 0, 0, 498, 0, 0, 0, 0,
1367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1368 369, 370, 168, 0, 0, 0, 0, 0, 0, 0,
1369 0, 0, 0, 371, 372, 0, 0, 0, 0, 112,
1370 113, 114, 115, 116, 0, 0, 0, 0, 0, 0,
1371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372 0, 117, 0, 118, 119, 120, 121, 122, 123, 0,
1373 124, 0, 0, 125, 126, 127, 128, 129, 130, 131,
1374 132, 133, 134, 135, 136, 137, 138, 139, 140, 104,
1375 0, 0, 0, 0, 0, 0, 0, 0, 105, 106,
1376 107, 108, 0, 109, 110, 787, 0, 0, 111, 495,
1377 0, 496, 0, 497, 367, 0, 0, 0, 498, 0,
1378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1379 158, 0, 0, 369, 370, 168, 0, 0, 0, 0,
1380 0, 0, 0, 0, 0, 0, 371, 372, 0, 0,
1381 0, 0, 112, 113, 114, 115, 116, 0, 0, 0,
1382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, 117, 788, 789, 119, 120, 121,
1384 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1385 129, 130, 131, 132, 133, 790, 135, 136, 137, 138,
1386 139, 140, 104, 0, 0, 0, 0, 0, 0, 0,
1387 0, 105, 106, 107, 108, 0, 109, 110, 512, 0,
1388 0, 111, 495, 0, 496, 0, 497, 367, 0, 0,
1389 0, 498, 0, 0, 0, 0, 0, 0, 0, 0,
1390 0, 0, 0, 158, 0, 0, 369, 370, 168, 0,
1391 0, 0, 0, 0, 0, 0, 0, 0, 0, 371,
1392 372, 0, 0, 869, 0, 112, 113, 114, 115, 116,
1393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 117, 0, 118,
1395 119, 120, 121, 122, 123, 0, 124, 0, 0, 125,
1396 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1397 136, 137, 138, 139, 140, 104, 0, 0, 0, 0,
1398 0, 0, 0, 0, 105, 106, 107, 108, 0, 109,
1399 110, 512, 0, 0, 111, 495, -635, 496, 0, 497,
1400 367, 0, 0, 0, 498, 0, 0, 0, 0, 0,
1401 0, 0, 0, 0, 0, 0, 158, 0, 0, 369,
1402 370, 168, 0, 0, 0, 0, 0, 0, 0, 0,
1403 0, 0, 371, 372, 0, 0, 0, 0, 112, 113,
1404 114, 115, 116, 0, 0, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406 117, 0, 118, 119, 120, 121, 122, 123, 0, 124,
1407 0, 0, 125, 126, 127, 128, 129, 130, 131, 132,
1408 133, 134, 135, 136, 137, 138, 139, 140, 104, 0,
1409 0, 0, 0, 0, 0, 0, 0, 105, 106, 107,
1410 108, 0, 109, 110, 512, 0, 0, 111, 495, 0,
1411 496, 0, 497, 367, 0, 0, 0, 498, 0, 0,
1412 0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
1413 0, 0, 369, 370, 168, 0, 0, 0, 0, 0,
1414 0, 0, 0, 0, 0, 371, 372, 0, 0, 0,
1415 0, 112, 113, 114, 115, 116, 0, 0, 0, 0,
1416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1418 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1419 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1420 140, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1421 105, 106, 107, 108, 0, 109, 110, 787, 0, 0,
1422 111, 495, 0, 496, 0, 497, 367, 0, 0, 0,
1423 498, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424 0, 0, 0, 0, 0, 369, 370, 168, 0, 0,
1425 0, 0, 0, 0, 0, 0, 0, 0, 371, 372,
1426 0, 0, 0, 0, 112, 113, 114, 115, 116, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 0, 0, 0, 117, 788, 789, 119,
1429 120, 121, 122, 123, 0, 124, 0, 0, 125, 126,
1430 127, 128, 129, 130, 131, 132, 133, 790, 135, 136,
1431 137, 138, 139, 140, 104, 0, 0, 0, 0, 0,
1432 0, 0, 0, 105, 106, 107, 108, 0, 109, 110,
1433 512, 0, 0, 111, 495, 0, 496, 0, 497, 367,
1434 0, 0, 0, 498, 0, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 0, 0, 0, 369, 370,
1436 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 371, 372, 0, 0, 0, 0, 112, 113, 114,
1438 115, 116, 0, 0, 0, 0, 0, 0, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0, 0, 117,
1440 0, 118, 119, 120, 121, 122, 123, 0, 124, 0,
1441 0, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1442 134, 135, 136, 137, 138, 139, 140, 104, 0, 0,
1443 0, 0, 0, 0, 0, 0, 105, 106, 107, 108,
1444 0, 109, 110, 0, 0, 0, 111, 0, 0, 365,
1445 0, 366, 367, 0, 0, 0, 368, 0, 0, 0,
1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1447 0, 369, 370, 0, 0, 0, 0, 0, 0, 0,
1448 0, 0, 0, 0, 371, 372, 0, 0, 0, 0,
1449 112, 113, 114, 115, 116, 0, 0, 0, 0, 0,
1450 0, 0, 373, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 117, 0, 118, 119, 120, 121, 122, 123,
1452 0, 124, 0, 0, 125, 126, 127, 128, 129, 130,
1453 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1454 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1455 106, 107, 108, 0, 109, 110, 0, 0, 0, 111,
1456 0, 0, 0, 0, 0, 0, 11, 0, 0, -527,
1457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458 0, 0, 0, 0, 0, 0, 168, 0, 0, 0,
1459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1460 0, 0, 0, 112, 113, 114, 115, 116, 0, 0,
1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 65, 117, 0, 118, 119, 120,
1463 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
1464 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1465 138, 139, 140, 104, 0, 0, 0, 0, 0, 0,
1466 0, 0, 105, 106, 107, 108, 0, 109, 110, 0,
1467 0, 679, 111, 0, 0, 0, 0, 0, 0, 11,
1468 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1469 474, 475, 476, 477, 478, 479, 480, 481, 0, 168,
1470 0, 0, 0, 482, 0, 0, 0, 0, 0, 0,
1471 0, 0, 0, 0, 0, 0, 112, 113, 114, 115,
1472 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473 0, 0, 0, 0, 0, 0, 0, 65, 117, 0,
1474 118, 119, 120, 121, 122, 123, 0, 124, 0, 0,
1475 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1476 135, 136, 137, 138, 139, 140, 104, 0, 0, 0,
1477 0, 0, 0, 0, 0, 105, 106, 107, 108, 0,
1478 109, 110, 0, 0, 0, 111, 0, 0, 771, 0,
1479 0, 0, 0, 0, 0, 722, 827, 464, 465, 466,
1480 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
1481 477, 478, 479, 480, 481, 0, 0, 0, 0, 0,
1482 705, 0, 0, 0, 0, 0, 0, 0, 0, 112,
1483 113, 114, 115, 116, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485 0, 117, 0, 118, 119, 120, 121, 122, 123, 0,
1486 124, 0, 0, 125, 126, 127, 128, 129, 130, 131,
1487 132, 133, 134, 135, 136, 137, 138, 139, 140, 104,
1488 0, 0, 0, 0, 0, 0, 0, 0, 105, 106,
1489 107, 108, 0, 109, 110, 0, 0, 0, 111, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 764, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, 168, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 112, 113, 114, 115, 116, 0, 0, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 117, 0, 118, 119, 120, 121,
1497 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1498 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1499 139, 140, 104, 0, 0, 0, 0, 0, 0, 0,
1500 0, 105, 106, 107, 108, 923, 109, 110, 0, 0,
1501 0, 111, 0, 0, 464, 465, 466, 467, 468, 469,
1502 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
1503 480, 481, 0, 0, 0, 0, 0, 705, 168, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 112, 113, 114, 115, 116,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 117, 0, 118,
1508 119, 120, 121, 122, 123, 0, 124, 0, 0, 125,
1509 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1510 136, 137, 138, 139, 140, 104, 0, 0, 0, 0,
1511 0, 0, 0, 0, 105, 106, 107, 108, 0, 109,
1512 110, 0, 0, 0, 111, 0, 0, 887, 0, 0,
1513 0, 0, 0, 0, 460, 464, 465, 466, 467, 468,
1514 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
1515 479, 480, 481, 0, 0, 0, 0, 0, 705, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0, 112, 113,
1517 114, 115, 116, 0, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 117, 0, 118, 119, 120, 121, 122, 123, 0, 124,
1520 0, 0, 125, 126, 127, 128, 129, 130, 131, 132,
1521 133, 134, 135, 136, 137, 138, 139, 140, 104, 0,
1522 0, 0, 0, 0, 0, 0, 0, 105, 106, 107,
1523 108, 0, 109, 110, 0, 0, 0, 111, 0, 0,
1524 0, 761, 0, 0, 0, 0, 0, 722, 464, 465,
1525 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
1526 476, 477, 478, 479, 480, 481, 0, 0, 0, 0,
1527 0, 482, 0, 0, 0, 0, 0, 104, 0, 0,
1528 0, 112, 113, 114, 115, 116, 105, 106, 107, 108,
1529 0, 109, 110, 0, 0, 0, 111, 0, 0, 0,
1530 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1531 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1532 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1533 140, 0, 0, 0, 0, 0, 0, 0, 752, 0,
1534 112, 113, 114, 115, 116, 0, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 0, 117, 0, 118, 119, 120, 121, 122, 123,
1537 0, 124, 0, 0, 125, 126, 127, 128, 129, 130,
1538 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1539 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1540 106, 107, 108, 819, 803, 110, 0, 0, 0, 111,
1541 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1542 474, 475, 476, 477, 478, 479, 480, 481, 0, 0,
1543 0, 0, 0, 705, 0, 0, 168, 0, 0, 0,
1544 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1545 0, 0, 0, 112, 113, 114, 115, 116, 105, 106,
1546 107, 108, 0, 109, 110, 0, 0, 0, 111, 0,
1547 0, 0, 0, 0, 0, 117, 0, 118, 119, 120,
1548 121, 122, 123, 0, 124, 0, 0, 125, 126, 127,
1549 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1550 138, 139, 140, 0, 0, 0, 0, 0, 104, 0,
1551 848, 0, 112, 113, 114, 115, 116, 105, 106, 107,
1552 108, 0, 109, 110, 0, 0, 0, 111, 0, 0,
1553 0, 0, 0, 0, 117, 0, 118, 119, 120, 121,
1554 122, 123, 0, 124, 0, 0, 125, 126, 127, 128,
1555 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1556 139, 140, 0, 0, 0, 0, 0, 0, 0, 0,
1557 0, 112, 113, 114, 115, 116, 0, 0, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559 0, 0, 0, 117, 0, 118, 119, 120, 121, 122,
1560 123, 0, 124, 0, 0, 125, 126, 127, 128, 129,
1561 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1562 140, 720, 0, 0, 464, 465, 466, 467, 468, 469,
1563 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
1564 480, 481, 0, 0, 0, 0, 0, 705, 464, 465,
1565 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
1566 476, 477, 478, 479, 480, 481, 0, 0, 0, 0,
1567 0, 482, 464, 465, 466, 467, 468, 469, 470, 471,
1568 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
1569 0, 0, 0, 0, 0, 705, 464, 465, 466, 467,
1570 468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
1571 478, 479, 480, 481, 0, 0, 0, 0, 0, 482,
1572 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1573 474, 475, 476, 477, 478, 479, 480, 481, 0, 0,
1577 static const short yycheck
[] =
1579 33, 22, 88, 0, 33, 16, 17, 18, 190, 0,
1580 189, 190, 15, 10, 33, 196, 103, 430, 15, 92,
1581 433, 390, 430, 433, 404, 376, 92, 24, 403, 34,
1582 27, 507, 401, 716, 81, 316, 27, 386, 387, 485,
1583 738, 485, 738, 418, 91, 775, 738, 777, 45, 10,
1584 0, 62, 63, 64, 141, 316, 15, 144, 767, 26,
1585 10, 31, 32, 436, 34, 29, 49, 29, 91, 33,
1586 81, 33, 24, 442, 24, 29, 29, 27, 17, 18,
1587 33, 92, 93, 94, 45, 33, 34, 368, 32, 165,
1588 101, 821, 95, 374, 38, 45, 25, 789, 95, 450,
1589 123, 797, 26, 26, 813, 797, 35, 6, 459, 33,
1590 9, 462, 64, 4, 5, 6, 7, 8, 9, 10,
1591 11, 197, 31, 87, 44, 87, 17, 36, 32, 498,
1592 499, 22, 0, 87, 87, 508, 95, 9, 507, 11,
1593 823, 124, 26, 27, 853, 31, 35, 36, 32, 35,
1594 36, 125, 119, 31, 415, 125, 34, 840, 32, 162,
1595 44, 36, 173, 196, 161, 162, 37, 6, 7, 8,
1596 879, 110, 111, 112, 113, 114, 115, 32, 36, 34,
1597 191, 30, 463, 866, 31, 31, 33, 34, 897, 31,
1598 888, 33, 34, 84, 85, 86, 888, 32, 928, 35,
1599 161, 482, 483, 162, 35, 36, 33, 34, 33, 34,
1600 902, 161, 32, 33, 910, 23, 37, 36, 910, 33,
1601 34, 92, 93, 94, 95, 96, 924, 98, 99, 33,
1602 34, 317, 924, 4, 5, 6, 7, 8, 9, 10,
1603 11, 40, 688, 316, 688, 31, 17, 693, 931, 693,
1604 316, 22, 33, 34, 36, 17, 18, 23, 29, 93,
1605 94, 123, 38, 643, 32, 645, 37, 6, 648, 36,
1606 32, 92, 93, 94, 95, 96, 32, 98, 99, 31,
1607 35, 650, 32, 36, 32, 4, 5, 6, 7, 8,
1608 9, 10, 11, 17, 18, 368, 40, 31, 17, 31,
1609 675, 374, 368, 22, 49, 316, 485, 6, 374, 26,
1610 29, 32, 359, 84, 85, 86, 87, 40, 34, 498,
1611 34, 34, 92, 93, 94, 95, 96, 740, 98, 99,
1612 31, 682, 740, 26, 685, 686, 705, 706, 100, 101,
1613 102, 103, 104, 105, 106, 107, 108, 722, 824, 32,
1614 121, 3, 727, 22, 6, 32, 31, 368, 10, 39,
1615 12, 13, 373, 374, 83, 84, 85, 86, 87, 738,
1616 89, 23, 64, 64, 403, 37, 100, 101, 102, 103,
1617 104, 105, 106, 107, 108, 418, 40, 31, 31, 418,
1618 463, 40, 32, 24, 40, 32, 429, 463, 431, 418,
1619 433, 770, 32, 783, 123, 785, 786, 31, 33, 482,
1620 483, 33, 33, 4, 5, 6, 482, 483, 9, 768,
1621 769, 432, 34, 25, 35, 31, 35, 34, 797, 842,
1622 3, 22, 33, 6, 842, 446, 33, 10, 33, 12,
1623 13, 14, 15, 16, 17, 34, 34, 40, 35, 460,
1624 819, 456, 463, 486, 487, 824, 64, 808, 809, 109,
1625 33, 874, 644, 32, 874, 644, 32, 34, 647, 33,
1626 839, 482, 483, 33, 25, 32, 35, 31, 891, 760,
1627 761, 33, 485, 891, 864, 33, 33, 32, 485, 33,
1628 903, 31, 97, 35, 485, 33, 25, 4, 5, 6,
1629 7, 8, 9, 10, 11, 31, 34, 518, 32, 688,
1630 17, 4, 5, 6, 693, 22, 9, 33, 887, 888,
1631 933, 33, 29, 34, 33, 933, 34, 32, 34, 22,
1632 24, 944, 32, 4, 5, 6, 7, 8, 9, 10,
1633 11, 910, 97, 32, 25, 33, 17, 32, 25, 33,
1634 930, 22, 34, 33, 33, 924, 34, 33, 29, 30,
1635 31, 35, 34, 33, 745, 945, 32, 25, 33, 32,
1636 41, 33, 33, 32, 27, 693, 33, 84, 85, 86,
1637 87, 33, 33, 162, 688, 30, 4, 5, 6, 7,
1638 8, 9, 10, 11, 40, 640, 186, 24, 780, 17,
1639 184, 780, 389, 647, 22, 815, 456, 21, 695, 696,
1640 651, 29, 83, 84, 85, 86, 87, 88, 89, 777,
1641 91, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1642 75, 76, 77, 174, 79, 80, 81, 82, 671, 19,
1643 651, 924, 393, 788, 3, 116, 675, 6, 902, 429,
1644 121, 10, 123, 12, 13, 14, 15, 16, 17, 692,
1645 944, 836, 673, 692, 747, -1, 84, 85, 86, 87,
1646 -1, -1, -1, 692, -1, -1, -1, -1, -1, -1,
1647 -1, -1, 701, 694, -1, 688, -1, 760, 761, -1,
1648 693, 688, -1, 722, 760, 761, 693, 688, 727, -1,
1649 882, -1, 693, 882, -1, 123, -1, -1, -1, 742,
1650 -1, -1, 745, -1, -1, 748, -1, -1, -1, 901,
1651 806, -1, 901, 744, -1, -1, 4, 5, 6, 7,
1652 8, 9, 10, 11, -1, -1, 747, -1, -1, 17,
1653 -1, -1, -1, -1, 22, -1, -1, -1, -1, 760,
1654 761, 29, -1, -1, -1, 937, -1, -1, 937, 4,
1655 5, 6, 7, 8, 9, 10, 11, 800, 779, -1,
1656 -1, 782, 17, -1, -1, -1, -1, 22, -1, -1,
1657 813, 26, 27, 816, 817, -1, -1, -1, -1, -1,
1658 -1, -1, -1, -1, -1, -1, 807, -1, -1, 44,
1659 31, -1, 823, 836, -1, -1, 84, 85, 86, 87,
1660 -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1661 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1662 -1, -1, -1, -1, 65, -1, -1, -1, -1, 84,
1663 85, 86, -1, 121, -1, -1, 879, -1, -1, -1,
1664 -1, -1, -1, -1, -1, 888, -1, -1, -1, -1,
1665 -1, 0, -1, -1, 3, 4, 5, 6, 7, 8,
1666 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1667 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1668 29, 924, 31, 32, 33, 34, 35, 36, 37, 38,
1669 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1670 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1671 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1672 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1673 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1674 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1675 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1676 109, 110, 111, 112, 113, 114, 115, 116, -1, -1,
1677 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1678 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1679 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1680 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1681 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1682 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1683 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1684 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1685 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1686 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1687 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1688 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1689 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1690 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1691 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1692 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1693 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1694 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1695 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1696 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1697 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1698 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1699 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1700 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1701 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1702 -1, -1, 119, -1, 121, 122, 123, 124, 125, 0,
1703 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1704 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1705 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
1706 31, 32, 33, 34, 35, 36, -1, 38, 39, 40,
1707 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1708 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1709 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1710 71, 72, 73, 74, 75, 76, 77, 78, 79, -1,
1711 81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
1712 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1713 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1714 111, 112, 113, 114, 115, 116, 3, -1, 119, -1,
1715 121, 122, 123, 124, 125, 12, 13, 14, 15, -1,
1716 17, 18, -1, -1, -1, 22, -1, -1, -1, -1,
1717 -1, -1, 29, 30, 31, 32, 33, 34, 35, 36,
1718 37, 38, 39, 40, -1, 42, 43, 44, 45, 46,
1719 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1720 57, 58, 59, -1, -1, -1, -1, -1, 65, 66,
1721 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1722 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1723 87, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1724 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1725 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1726 3, -1, -1, -1, -1, -1, -1, -1, 125, 12,
1727 13, 14, 15, -1, 17, 18, 19, -1, -1, 22,
1728 23, -1, 25, -1, 27, 28, 29, -1, -1, 32,
1729 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1730 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
1731 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1732 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1733 -1, 121, -1, -1, -1, -1, -1, -1, -1, -1,
1734 -1, -1, -1, -1, 87, 88, -1, 90, 91, 92,
1735 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1736 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1737 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1738 -1, 124, 12, 13, 14, 15, -1, 17, 18, -1,
1739 -1, -1, 22, -1, -1, 25, -1, 27, 28, -1,
1740 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1741 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1742 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1743 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1744 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1745 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1746 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1747 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1748 110, 111, 112, 113, 114, 115, 3, -1, -1, 119,
1749 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1750 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1751 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1752 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1753 47, 48, -1, -1, -1, 17, -1, -1, -1, -1,
1754 22, -1, -1, 60, 61, -1, -1, 29, -1, 66,
1755 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1756 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1757 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1758 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1759 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1760 -1, 118, 84, 85, 86, 87, -1, -1, 12, 13,
1761 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1762 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1763 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1764 9, 10, 11, 47, 48, -1, -1, -1, 17, -1,
1765 -1, -1, -1, 22, -1, -1, 60, 61, -1, -1,
1766 29, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1767 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1768 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1769 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1770 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1771 114, 115, 3, -1, 118, 84, 85, 86, 87, -1,
1772 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
1773 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1774 -1, 32, -1, -1, -1, -1, -1, -1, 4, 5,
1775 6, 7, 8, 9, 10, 11, 47, 48, -1, -1,
1776 -1, 17, -1, -1, -1, -1, 22, -1, -1, 60,
1777 61, -1, -1, 29, -1, 66, 67, 68, 69, 70,
1778 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1779 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1780 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1781 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1782 111, 112, 113, 114, 115, 3, -1, 118, 84, 85,
1783 86, 87, -1, -1, 12, 13, 14, 15, -1, 17,
1784 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1785 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1786 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1787 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1788 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1789 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1790 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1791 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1792 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1793 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1794 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
1795 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1796 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1797 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1798 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1799 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1800 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1801 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1802 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1803 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1804 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1805 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1806 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
1807 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1808 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1809 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1810 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1811 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1812 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1813 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1814 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1815 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1816 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1817 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
1818 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1819 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1820 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1821 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1822 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1823 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1824 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1825 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1826 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1827 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1828 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
1829 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1830 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1831 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1832 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1833 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1834 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1835 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1836 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1837 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1838 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1839 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1840 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
1841 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1843 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1844 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1845 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1846 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1847 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1848 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1849 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1850 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1851 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
1852 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1853 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1854 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1855 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1856 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1857 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1858 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1859 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1860 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1861 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1862 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1863 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1864 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1865 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1866 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1867 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1868 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1869 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1870 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1871 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1872 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1873 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
1874 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1875 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1877 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1878 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1879 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1880 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1881 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1882 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1883 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1884 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1885 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
1886 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1887 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1888 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1889 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1890 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1891 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1892 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1893 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1894 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1895 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1896 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
1897 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1898 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1899 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1900 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1901 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1902 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1903 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1904 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1905 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1906 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1907 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
1908 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1909 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1910 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1911 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1912 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1913 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1914 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1915 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1916 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1917 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1918 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1919 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
1920 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1921 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1922 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1923 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1924 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1925 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1926 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1927 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1928 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1929 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1930 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
1931 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1932 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1933 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1935 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1936 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1937 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1938 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1939 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1940 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1941 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
1942 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1943 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1945 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1946 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1947 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1948 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1949 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1950 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1951 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1952 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1953 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
1954 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1955 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1956 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1957 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1958 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1959 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1960 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1961 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1962 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1963 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1964 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
1965 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1966 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1967 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1968 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1969 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1970 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1971 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1972 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1973 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1974 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1975 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
1976 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1977 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1979 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1980 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1981 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1982 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1983 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1984 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1985 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1986 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
1987 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
1988 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1990 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1991 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1992 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1993 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1994 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1995 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1996 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1997 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1998 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
1999 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2000 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2001 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2002 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2003 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2004 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2005 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2006 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2007 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2008 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2009 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2010 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2011 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2012 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2013 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2014 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2015 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2016 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2017 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2018 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2019 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2020 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2021 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2022 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2023 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2024 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2025 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2026 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2027 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2028 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2029 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2030 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2031 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2032 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2033 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2034 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2035 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2036 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2037 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2038 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2039 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2040 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2041 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2042 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2043 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2044 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2045 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2046 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2048 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2049 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2050 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2051 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2052 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2053 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2054 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2055 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2056 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2058 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2059 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2060 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2061 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2062 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2063 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2064 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2065 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
2066 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2067 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2069 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2070 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2071 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2072 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2073 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2074 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2075 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2076 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2077 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
2078 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2079 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2080 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2082 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2083 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2084 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2085 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2086 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2087 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2088 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2089 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2090 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2092 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2093 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2094 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2095 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2096 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2097 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2098 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2099 -1, 118, -1, -1, -1, -1, -1, -1, 12, 13,
2100 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2101 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
2102 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2103 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
2104 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2105 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2106 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
2107 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2108 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2109 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2110 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2111 -1, 12, 13, 14, 15, -1, 17, 18, -1, -1,
2112 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2113 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2114 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2115 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2116 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2117 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2118 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2119 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2120 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2121 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2122 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2123 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2124 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2125 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2126 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2127 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2128 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2129 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2130 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2131 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2132 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2133 118, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2134 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2135 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2136 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2137 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2138 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2139 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2140 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2141 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2142 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2143 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2144 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2145 12, 13, 14, 15, -1, 17, 18, -1, -1, -1,
2146 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2147 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2148 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2149 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2150 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2151 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2152 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2153 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2154 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2155 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2156 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2157 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2158 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2159 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2160 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2161 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2162 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2163 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2164 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2165 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2166 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2167 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2168 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2169 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2171 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2172 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2173 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2174 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2175 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2176 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2177 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2178 -1, -1, 118, 3, 4, 5, 6, 7, 8, 9,
2179 10, 11, 12, 13, 14, 15, -1, 17, 18, 19,
2180 -1, -1, 22, 23, -1, 25, -1, 27, 28, 29,
2181 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2182 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2183 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2184 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2185 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2186 -1, -1, -1, -1, 84, 85, 86, 87, 88, -1,
2187 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2188 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2189 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2190 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2191 17, 18, 19, 20, 21, 22, 23, -1, 25, 26,
2192 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2193 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2194 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2195 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2196 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2198 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2199 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2200 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2201 -1, -1, -1, -1, -1, -1, -1, -1, 12, 13,
2202 14, 15, -1, 17, 18, 19, -1, -1, 22, 23,
2203 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
2204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2205 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2206 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2207 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2209 -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
2210 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2211 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2212 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2213 -1, 12, 13, 14, 15, -1, 17, 18, 19, -1,
2214 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
2215 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2216 -1, -1, -1, 44, -1, -1, 47, 48, 49, -1,
2217 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2218 61, -1, -1, 64, -1, 66, 67, 68, 69, 70,
2219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2221 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2222 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2223 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2224 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2225 18, 19, -1, -1, 22, 23, 24, 25, -1, 27,
2226 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2227 -1, -1, -1, -1, -1, -1, 44, -1, -1, 47,
2228 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2229 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2230 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2232 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2233 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2234 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2235 -1, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2236 15, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2237 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2238 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2239 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2240 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2241 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2243 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2244 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2245 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2246 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2247 12, 13, 14, 15, -1, 17, 18, 19, -1, -1,
2248 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2249 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2250 -1, -1, -1, -1, -1, 47, 48, 49, -1, -1,
2251 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2252 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2253 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2254 -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
2255 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2256 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2257 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2258 -1, -1, -1, 12, 13, 14, 15, -1, 17, 18,
2259 19, -1, -1, 22, 23, -1, 25, -1, 27, 28,
2260 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2261 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2262 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2263 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2264 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2265 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2266 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2267 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2268 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2269 -1, -1, -1, -1, -1, -1, 12, 13, 14, 15,
2270 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2271 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2273 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2274 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2275 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2276 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2277 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2278 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2279 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2280 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2281 13, 14, 15, -1, 17, 18, -1, -1, -1, 22,
2282 -1, -1, -1, -1, -1, -1, 29, -1, -1, 32,
2283 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2284 -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
2285 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2286 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2288 -1, -1, -1, -1, 87, 88, -1, 90, 91, 92,
2289 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2290 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2291 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2292 -1, -1, 12, 13, 14, 15, -1, 17, 18, -1,
2293 -1, 33, 22, -1, -1, -1, -1, -1, -1, 29,
2294 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2295 52, 53, 54, 55, 56, 57, 58, 59, -1, 49,
2296 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
2297 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
2298 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2299 -1, -1, -1, -1, -1, -1, -1, 87, 88, -1,
2300 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2301 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2302 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2303 -1, -1, -1, -1, -1, 12, 13, 14, 15, -1,
2304 17, 18, -1, -1, -1, 22, -1, -1, 33, -1,
2305 -1, -1, -1, -1, -1, 32, 33, 42, 43, 44,
2306 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2307 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
2308 65, -1, -1, -1, -1, -1, -1, -1, -1, 66,
2309 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2310 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2311 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2312 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2313 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2314 -1, -1, -1, -1, -1, -1, -1, -1, 12, 13,
2315 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2317 -1, 35, -1, -1, -1, -1, -1, -1, -1, -1,
2318 -1, -1, -1, -1, -1, 49, -1, -1, -1, -1,
2319 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2320 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2322 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2323 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2324 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2325 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2326 -1, 12, 13, 14, 15, 33, 17, 18, -1, -1,
2327 -1, 22, -1, -1, 42, 43, 44, 45, 46, 47,
2328 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2329 58, 59, -1, -1, -1, -1, -1, 65, 49, -1,
2330 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2331 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2333 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2334 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2335 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2336 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2337 -1, -1, -1, -1, 12, 13, 14, 15, -1, 17,
2338 18, -1, -1, -1, 22, -1, -1, 34, -1, -1,
2339 -1, -1, -1, -1, 32, 42, 43, 44, 45, 46,
2340 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2341 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
2342 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2343 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2344 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2345 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2346 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2347 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2348 -1, -1, -1, -1, -1, -1, -1, 12, 13, 14,
2349 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2350 -1, 35, -1, -1, -1, -1, -1, 32, 42, 43,
2351 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2352 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2353 -1, 65, -1, -1, -1, -1, -1, 3, -1, -1,
2354 -1, 66, 67, 68, 69, 70, 12, 13, 14, 15,
2355 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
2356 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2357 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2358 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2359 115, -1, -1, -1, -1, -1, -1, -1, 64, -1,
2360 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2362 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2363 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2364 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2365 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2366 13, 14, 15, 35, 17, 18, -1, -1, -1, 22,
2367 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2368 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2369 -1, -1, -1, 65, -1, -1, 49, -1, -1, -1,
2370 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
2371 -1, -1, -1, 66, 67, 68, 69, 70, 12, 13,
2372 14, 15, -1, 17, 18, -1, -1, -1, 22, -1,
2373 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2374 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2375 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2376 113, 114, 115, -1, -1, -1, -1, -1, 3, -1,
2377 64, -1, 66, 67, 68, 69, 70, 12, 13, 14,
2378 15, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2379 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2380 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2381 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2382 114, 115, -1, -1, -1, -1, -1, -1, -1, -1,
2383 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2385 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2386 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2387 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2388 115, 39, -1, -1, 42, 43, 44, 45, 46, 47,
2389 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2390 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
2391 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2392 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2393 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2394 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2395 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
2396 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2397 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2398 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2399 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2403 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2404 symbol of state STATE-NUM. */
2405 static const unsigned short yystos
[] =
2407 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2408 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2409 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2410 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2411 182, 183, 188, 191, 194, 195, 199, 200, 201, 202,
2412 204, 206, 210, 212, 213, 219, 227, 241, 242, 9,
2413 11, 22, 84, 85, 86, 87, 123, 200, 210, 30,
2414 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2415 76, 77, 79, 80, 81, 82, 151, 152, 153, 154,
2416 156, 157, 158, 84, 85, 121, 171, 173, 201, 202,
2417 210, 219, 228, 229, 3, 12, 13, 14, 15, 17,
2418 18, 22, 66, 67, 68, 69, 70, 88, 90, 91,
2419 92, 93, 94, 95, 97, 100, 101, 102, 103, 104,
2420 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2421 115, 143, 260, 272, 143, 143, 230, 3, 6, 10,
2422 12, 13, 23, 247, 249, 26, 123, 242, 44, 280,
2423 281, 22, 83, 89, 123, 199, 0, 148, 49, 143,
2424 176, 211, 236, 237, 238, 239, 177, 4, 5, 6,
2425 9, 22, 184, 6, 181, 187, 200, 125, 189, 32,
2426 32, 36, 36, 143, 143, 143, 34, 192, 0, 3,
2427 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2428 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2429 24, 25, 26, 27, 28, 29, 31, 32, 33, 34,
2430 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2431 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2432 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2433 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2434 75, 76, 77, 78, 79, 81, 83, 84, 85, 86,
2435 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2436 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2437 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2438 119, 121, 122, 123, 124, 125, 143, 144, 159, 30,
2439 3, 12, 13, 14, 15, 17, 18, 22, 66, 67,
2440 68, 69, 70, 88, 90, 91, 92, 93, 94, 95,
2441 97, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2442 109, 110, 111, 112, 113, 114, 115, 144, 162, 163,
2443 162, 26, 119, 155, 144, 25, 27, 28, 32, 47,
2444 48, 60, 61, 78, 142, 143, 164, 224, 143, 230,
2445 143, 230, 173, 31, 143, 35, 233, 233, 233, 233,
2446 40, 23, 31, 36, 23, 171, 123, 189, 29, 87,
2447 240, 38, 234, 32, 143, 124, 239, 6, 185, 6,
2448 9, 186, 184, 36, 196, 32, 31, 17, 175, 203,
2449 205, 207, 208, 209, 210, 207, 143, 220, 221, 92,
2450 93, 94, 95, 96, 98, 99, 251, 252, 253, 266,
2451 269, 275, 276, 277, 193, 211, 237, 189, 26, 118,
2452 164, 190, 162, 144, 26, 27, 32, 44, 226, 164,
2453 32, 143, 164, 32, 42, 43, 44, 45, 46, 47,
2454 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2455 58, 59, 65, 141, 35, 36, 215, 215, 31, 214,
2456 215, 214, 19, 20, 21, 23, 25, 27, 32, 142,
2457 168, 169, 190, 211, 222, 223, 224, 40, 251, 32,
2458 31, 31, 19, 29, 87, 124, 222, 235, 236, 237,
2459 234, 6, 0, 3, 4, 5, 6, 7, 8, 9,
2460 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2461 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2462 31, 32, 33, 34, 35, 38, 39, 40, 41, 42,
2463 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2464 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2465 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2466 73, 74, 75, 76, 77, 78, 79, 81, 83, 84,
2467 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2468 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2469 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2470 115, 116, 119, 121, 122, 123, 124, 125, 145, 196,
2471 197, 198, 190, 236, 32, 33, 34, 34, 33, 34,
2472 40, 34, 231, 211, 256, 222, 245, 270, 271, 272,
2473 280, 211, 143, 278, 279, 211, 267, 271, 37, 252,
2474 222, 34, 31, 32, 26, 177, 225, 226, 22, 33,
2475 143, 119, 164, 165, 166, 164, 164, 32, 121, 172,
2476 173, 174, 175, 216, 219, 228, 229, 211, 211, 17,
2477 22, 175, 222, 222, 31, 65, 141, 168, 37, 14,
2478 15, 16, 17, 33, 243, 244, 246, 248, 249, 250,
2479 39, 39, 32, 143, 37, 198, 33, 32, 234, 207,
2480 234, 64, 209, 234, 64, 222, 221, 37, 40, 31,
2481 40, 31, 32, 24, 40, 32, 31, 34, 32, 31,
2482 31, 211, 64, 143, 160, 161, 236, 33, 33, 33,
2483 34, 35, 25, 174, 35, 232, 37, 172, 233, 233,
2484 33, 33, 222, 222, 31, 35, 33, 34, 245, 236,
2485 32, 33, 236, 33, 34, 33, 33, 19, 89, 90,
2486 109, 222, 255, 257, 258, 259, 260, 281, 270, 211,
2487 280, 193, 279, 17, 193, 268, 33, 34, 164, 164,
2488 34, 25, 35, 34, 217, 232, 215, 215, 222, 35,
2489 246, 35, 244, 246, 40, 143, 207, 33, 234, 64,
2490 234, 234, 109, 257, 17, 18, 32, 260, 263, 32,
2491 32, 255, 34, 273, 211, 33, 33, 162, 64, 143,
2492 25, 35, 32, 211, 218, 232, 31, 217, 222, 246,
2493 280, 168, 33, 33, 33, 268, 32, 222, 245, 64,
2494 270, 274, 33, 31, 97, 33, 35, 25, 232, 34,
2495 31, 64, 32, 33, 234, 33, 245, 34, 34, 261,
2496 33, 34, 18, 271, 272, 32, 34, 211, 232, 24,
2497 207, 32, 97, 32, 222, 211, 254, 255, 256, 262,
2498 281, 33, 270, 25, 25, 232, 33, 33, 207, 263,
2499 264, 265, 270, 33, 34, 255, 34, 33, 35, 33,
2500 33, 32, 33, 34, 254, 25, 246, 32, 234, 245,
2501 33, 270, 33, 207, 32, 33, 264, 234, 33, 33
2504 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2505 static const unsigned short yyr1
[] =
2507 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2508 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2509 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2510 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2511 143, 143, 143, 143, 143, 143, 144, 144, 144, 144,
2512 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2513 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2514 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2515 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2516 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2517 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2518 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2519 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2520 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2521 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2522 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2523 144, 144, 144, 144, 145, 145, 145, 145, 145, 145,
2524 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2525 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2526 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2527 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2528 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2529 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2530 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2531 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2532 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2533 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2534 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2535 146, 146, 147, 147, 148, 148, 148, 148, 148, 148,
2536 148, 148, 148, 148, 148, 148, 148, 148, 149, 150,
2537 150, 151, 151, 151, 151, 151, 151, 151, 151, 152,
2538 152, 153, 153, 154, 154, 154, 155, 155, 156, 156,
2539 157, 157, 157, 158, 158, 159, 159, 159, 159, 160,
2540 160, 160, 160, 161, 161, 162, 162, 163, 163, 164,
2541 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2542 165, 165, 166, 166, 166, 167, 167, 168, 168, 168,
2543 169, 169, 169, 170, 170, 171, 171, 172, 172, 173,
2544 173, 173, 173, 173, 174, 174, 174, 174, 174, 175,
2545 175, 175, 176, 176, 177, 177, 178, 178, 178, 179,
2546 179, 179, 179, 180, 180, 180, 181, 181, 182, 182,
2547 182, 183, 183, 183, 183, 184, 184, 184, 184, 184,
2548 184, 185, 185, 186, 186, 186, 186, 187, 187, 187,
2549 188, 188, 189, 189, 190, 190, 191, 192, 192, 193,
2550 193, 194, 195, 195, 195, 195, 195, 195, 196, 197,
2551 197, 198, 198, 199, 199, 200, 200, 201, 201, 202,
2552 202, 202, 202, 203, 203, 204, 205, 206, 207, 207,
2553 207, 208, 208, 209, 209, 209, 210, 210, 211, 211,
2554 212, 213, 214, 214, 215, 216, 216, 217, 217, 218,
2555 218, 218, 218, 219, 220, 220, 221, 221, 222, 222,
2556 222, 222, 222, 222, 223, 223, 223, 223, 223, 223,
2557 224, 224, 225, 225, 226, 226, 226, 227, 228, 229,
2558 230, 230, 231, 231, 232, 232, 232, 232, 233, 233,
2559 234, 234, 234, 235, 235, 235, 235, 236, 236, 237,
2560 237, 238, 238, 239, 239, 240, 240, 241, 241, 242,
2561 242, 242, 243, 243, 244, 244, 245, 246, 247, 248,
2562 248, 249, 249, 249, 249, 249, 250, 250, 250, 250,
2563 251, 251, 252, 252, 252, 252, 252, 253, 253, 254,
2564 254, 254, 255, 255, 255, 255, 255, 255, 256, 256,
2565 257, 258, 258, 259, 260, 260, 260, 260, 260, 260,
2566 260, 260, 260, 260, 261, 261, 262, 262, 263, 263,
2567 264, 264, 265, 265, 266, 267, 267, 268, 268, 268,
2568 269, 270, 270, 270, 271, 271, 272, 272, 272, 272,
2569 272, 272, 272, 272, 273, 273, 274, 274, 275, 276,
2570 276, 277, 278, 278, 279, 280, 280, 281
2573 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2574 static const unsigned char yyr2
[] =
2576 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2583 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2584 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2585 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2586 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2587 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2588 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2591 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2592 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2593 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2594 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2595 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2596 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2597 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2600 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2601 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2602 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2603 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2604 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
2605 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
2606 3, 2, 2, 1, 2, 2, 2, 1, 2, 1,
2607 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2608 1, 1, 1, 1, 1, 2, 6, 2, 2, 0,
2609 1, 1, 3, 1, 3, 0, 1, 1, 2, 3,
2610 2, 3, 5, 2, 4, 1, 1, 1, 1, 4,
2611 0, 1, 1, 1, 3, 6, 5, 1, 1, 1,
2612 1, 1, 1, 3, 4, 1, 2, 1, 2, 1,
2613 1, 2, 4, 4, 1, 1, 1, 3, 3, 1,
2614 2, 2, 1, 1, 1, 1, 2, 2, 2, 1,
2615 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
2616 2, 1, 1, 2, 2, 0, 1, 1, 2, 1,
2617 2, 0, 1, 0, 1, 1, 2, 0, 1, 2,
2618 3, 4, 0, 4, 1, 2, 5, 0, 2, 1,
2619 3, 3, 1, 2, 2, 3, 1, 2, 3, 1,
2620 2, 1, 1, 1, 2, 1, 1, 5, 7, 5,
2621 7, 13, 16, 5, 7, 6, 5, 1, 0, 1,
2622 1, 1, 3, 1, 1, 3, 1, 2, 3, 2,
2623 4, 4, 1, 1, 3, 4, 5, 0, 2, 2,
2624 4, 1, 3, 5, 1, 3, 1, 3, 1, 4,
2625 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
2626 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
2627 0, 1, 0, 1, 0, 2, 7, 9, 0, 7,
2628 0, 3, 3, 0, 1, 1, 1, 0, 1, 1,
2629 2, 1, 2, 1, 2, 1, 1, 4, 5, 7,
2630 8, 13, 1, 3, 2, 4, 2, 1, 1, 1,
2631 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2632 1, 2, 1, 1, 1, 1, 1, 3, 6, 1,
2633 2, 1, 1, 1, 1, 2, 1, 1, 3, 4,
2634 6, 8, 12, 5, 1, 1, 1, 1, 1, 1,
2635 1, 1, 1, 1, 0, 2, 1, 3, 1, 1,
2636 0, 1, 1, 3, 3, 6, 1, 0, 1, 1,
2637 3, 1, 1, 3, 5, 6, 1, 1, 1, 1,
2638 1, 1, 1, 1, 0, 2, 1, 3, 3, 1,
2639 1, 3, 1, 3, 4, 0, 1, 1
2643 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2644 static const unsigned char yydprec
[] =
2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 1, 2, 2, 2, 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, 2, 1, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2683 0, 0, 0, 0, 2, 1, 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, 2,
2692 1, 0, 0, 0, 2, 1, 0, 0, 0, 0,
2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
2704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 0, 0, 0, 0, 0, 0, 0, 0
2712 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2713 static const unsigned char yymerger
[] =
2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
2781 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2782 in the case of predicates. */
2783 static const yybool yyimmediate
[] =
2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 0, 0, 0, 0, 0, 0, 0, 0
2851 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2852 list of conflicting reductions corresponding to action entry for
2853 state STATE-NUM in yytable. 0 means no conflicts. The list in
2854 yyconfl is terminated by a rule number of 0. */
2855 static const unsigned short yyconflp
[] =
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, 15, 0, 0, 0, 0, 0, 0, 0, 3714,
2864 0, 3716, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 3700, 3702, 0, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 3696, 0, 0, 0,
2872 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 3706, 0, 3708, 3710, 0, 3718,
2876 0, 3720, 3722, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 3698, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 3704, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 9, 0, 0, 0, 11, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896 0, 0, 3712, 0, 0, 0, 0, 0, 0, 0,
2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2900 0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 3724,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 167,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1,
2917 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
2918 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
2919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2920 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 7,
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, 19, 0, 0, 0,
2993 0, 0, 0, 0, 0, 21, 23, 25, 27, 0,
2994 29, 31, 0, 0, 0, 33, 0, 0, 0, 0,
2995 0, 0, 35, 37, 39, 41, 43, 45, 47, 49,
2996 51, 53, 55, 57, 0, 59, 61, 63, 65, 67,
2997 69, 71, 73, 75, 77, 79, 81, 83, 85, 87,
2998 89, 91, 93, 0, 0, 0, 0, 0, 95, 97,
2999 99, 101, 103, 105, 0, 0, 0, 0, 0, 0,
3000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3001 107, 109, 0, 111, 113, 115, 117, 119, 121, 0,
3002 123, 0, 0, 125, 127, 129, 131, 133, 135, 137,
3003 139, 141, 143, 145, 147, 149, 151, 153, 155, 0,
3004 0, 0, 0, 0, 0, 0, 0, 0, 157, 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, 0,
3010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3026 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
3027 0, 0, 0, 0, 0, 171, 173, 175, 177, 0,
3028 179, 181, 0, 0, 0, 183, 0, 0, 185, 187,
3029 189, 191, 0, 0, 0, 193, 0, 0, 0, 0,
3030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3031 195, 197, 0, 0, 0, 0, 0, 0, 0, 0,
3032 0, 0, 0, 199, 201, 0, 0, 0, 0, 203,
3033 205, 207, 209, 211, 0, 0, 0, 0, 0, 0,
3034 0, 213, 0, 0, 0, 0, 0, 0, 0, 0,
3035 0, 215, 0, 217, 219, 221, 223, 225, 227, 0,
3036 229, 0, 0, 231, 233, 235, 237, 239, 241, 243,
3037 245, 247, 249, 251, 253, 255, 257, 259, 261, 263,
3038 0, 0, 0, 0, 0, 0, 0, 0, 265, 267,
3039 269, 271, 0, 273, 275, 0, 0, 0, 277, 0,
3040 0, 279, 281, 283, 285, 0, 0, 0, 287, 0,
3041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3042 0, 0, 0, 289, 291, 0, 0, 0, 159, 0,
3043 0, 0, 0, 161, 0, 0, 293, 295, 0, 0,
3044 163, 0, 297, 299, 301, 303, 305, 0, 0, 0,
3045 0, 0, 0, 0, 307, 0, 0, 0, 0, 0,
3046 0, 0, 0, 0, 309, 0, 311, 313, 315, 317,
3047 319, 321, 0, 323, 0, 0, 325, 327, 329, 331,
3048 333, 335, 337, 339, 341, 343, 345, 347, 349, 351,
3049 353, 355, 357, 0, 0, 0, 0, 0, 165, 0,
3050 0, 359, 361, 363, 365, 0, 367, 369, 0, 0,
3051 0, 371, 0, 0, 373, 375, 377, 379, 0, 0,
3052 0, 381, 0, 0, 0, 0, 0, 0, 0, 0,
3053 0, 0, 0, 0, 0, 0, 383, 385, 0, 0,
3054 0, 0, 0, 0, 0, 0, 0, 0, 0, 387,
3055 389, 0, 0, 0, 0, 391, 393, 395, 397, 399,
3056 0, 0, 0, 0, 0, 0, 0, 401, 0, 0,
3057 0, 0, 0, 0, 0, 0, 0, 403, 0, 405,
3058 407, 409, 411, 413, 415, 0, 417, 0, 0, 419,
3059 421, 423, 425, 427, 429, 431, 433, 435, 437, 439,
3060 441, 443, 445, 447, 449, 451, 0, 0, 0, 0,
3061 0, 0, 0, 0, 453, 455, 457, 459, 0, 461,
3062 463, 0, 0, 0, 465, 0, 0, 467, 469, 471,
3063 473, 0, 0, 0, 475, 0, 0, 0, 0, 0,
3064 0, 0, 0, 0, 0, 0, 0, 0, 0, 477,
3065 479, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3066 0, 0, 481, 483, 0, 0, 0, 0, 485, 487,
3067 489, 491, 493, 0, 0, 0, 0, 0, 0, 0,
3068 495, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3069 497, 0, 499, 501, 503, 505, 507, 509, 0, 511,
3070 0, 0, 513, 515, 517, 519, 521, 523, 525, 527,
3071 529, 531, 533, 535, 537, 539, 541, 543, 545, 0,
3072 0, 0, 0, 0, 0, 0, 0, 547, 549, 551,
3073 553, 0, 555, 557, 0, 0, 0, 559, 0, 0,
3074 561, 563, 565, 567, 0, 0, 0, 569, 0, 0,
3075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3076 0, 0, 571, 573, 0, 0, 0, 0, 0, 0,
3077 0, 0, 0, 0, 0, 575, 577, 0, 0, 0,
3078 0, 579, 581, 583, 585, 587, 0, 0, 0, 0,
3079 0, 0, 0, 589, 0, 0, 0, 0, 0, 0,
3080 0, 0, 0, 591, 0, 593, 595, 597, 599, 601,
3081 603, 0, 605, 0, 0, 607, 609, 611, 613, 615,
3082 617, 619, 621, 623, 625, 627, 629, 631, 633, 635,
3083 637, 639, 0, 0, 0, 0, 0, 0, 0, 0,
3084 641, 643, 645, 647, 0, 649, 651, 0, 0, 0,
3085 653, 0, 0, 655, 657, 659, 661, 0, 0, 0,
3086 663, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3087 0, 0, 0, 0, 0, 665, 667, 0, 0, 0,
3088 0, 0, 0, 0, 0, 0, 0, 0, 669, 671,
3089 0, 0, 0, 0, 673, 675, 677, 679, 681, 0,
3090 0, 0, 0, 0, 0, 0, 683, 0, 0, 0,
3091 0, 0, 0, 0, 0, 0, 685, 0, 687, 689,
3092 691, 693, 695, 697, 0, 699, 0, 0, 701, 703,
3093 705, 707, 709, 711, 713, 715, 717, 719, 721, 723,
3094 725, 727, 729, 731, 733, 0, 0, 0, 0, 0,
3095 0, 0, 0, 736, 739, 742, 745, 0, 748, 751,
3096 0, 0, 0, 754, 0, 0, 757, 760, 763, 766,
3097 0, 0, 0, 769, 0, 0, 0, 0, 0, 0,
3098 0, 0, 0, 0, 0, 0, 0, 0, 772, 775,
3099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3100 0, 778, 781, 0, 0, 0, 0, 784, 787, 790,
3101 793, 796, 0, 0, 0, 0, 0, 0, 0, 799,
3102 0, 0, 0, 0, 0, 0, 0, 0, 0, 802,
3103 0, 805, 808, 811, 814, 817, 820, 0, 823, 0,
3104 0, 826, 829, 832, 835, 838, 841, 844, 847, 850,
3105 853, 856, 859, 862, 865, 868, 871, 876, 0, 874,
3106 0, 0, 0, 0, 0, 0, 878, 880, 882, 884,
3107 0, 886, 888, 0, 0, 0, 890, 0, 0, 892,
3108 894, 896, 898, 0, 0, 0, 900, 0, 0, 0,
3109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3110 0, 902, 904, 0, 0, 0, 0, 0, 0, 0,
3111 0, 0, 0, 0, 906, 908, 0, 0, 0, 0,
3112 910, 912, 914, 916, 918, 0, 0, 0, 0, 0,
3113 0, 0, 920, 0, 0, 0, 0, 0, 0, 0,
3114 0, 0, 922, 0, 924, 926, 928, 930, 932, 934,
3115 0, 936, 0, 0, 938, 940, 942, 944, 946, 948,
3116 950, 952, 954, 956, 958, 960, 962, 964, 966, 968,
3117 970, 0, 0, 0, 0, 0, 0, 0, 0, 972,
3118 974, 976, 978, 0, 980, 982, 0, 0, 0, 984,
3119 0, 0, 986, 988, 990, 992, 0, 0, 0, 994,
3120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3121 0, 0, 0, 0, 996, 998, 0, 0, 0, 0,
3122 0, 0, 0, 0, 0, 0, 0, 1000, 1002, 0,
3123 0, 0, 0, 1004, 1006, 1008, 1010, 1012, 0, 0,
3124 0, 0, 0, 0, 0, 1014, 0, 0, 0, 0,
3125 0, 0, 0, 0, 0, 1016, 0, 1018, 1020, 1022,
3126 1024, 1026, 1028, 0, 1030, 0, 0, 1032, 1034, 1036,
3127 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054, 1056,
3128 1058, 1060, 1062, 1064, 0, 0, 0, 0, 0, 0,
3129 0, 0, 1066, 1068, 1070, 1072, 0, 1074, 1076, 0,
3130 0, 0, 1078, 0, 0, 1080, 1082, 1084, 1086, 0,
3131 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
3132 0, 0, 0, 0, 0, 0, 0, 1090, 1092, 0,
3133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3134 1094, 1096, 0, 0, 0, 0, 1098, 1100, 1102, 1104,
3135 1106, 0, 0, 0, 0, 0, 0, 0, 1108, 0,
3136 0, 0, 0, 0, 0, 0, 0, 0, 1110, 0,
3137 1112, 1114, 1116, 1118, 1120, 1122, 0, 1124, 0, 0,
3138 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, 1144,
3139 1146, 1148, 1150, 1152, 1154, 1156, 1158, 0, 0, 0,
3140 0, 0, 0, 0, 0, 1160, 1162, 1164, 1166, 0,
3141 1168, 1170, 0, 0, 0, 1172, 0, 0, 1174, 1176,
3142 1178, 1180, 0, 0, 0, 1182, 0, 0, 0, 0,
3143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3144 1184, 1186, 0, 0, 0, 0, 0, 0, 0, 0,
3145 0, 0, 0, 1188, 1190, 0, 0, 0, 0, 1192,
3146 1194, 1196, 1198, 1200, 0, 0, 0, 0, 0, 0,
3147 0, 1202, 0, 0, 0, 0, 0, 0, 0, 0,
3148 0, 1204, 0, 1206, 1208, 1210, 1212, 1214, 1216, 0,
3149 1218, 0, 0, 1220, 1222, 1224, 1226, 1228, 1230, 1232,
3150 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252,
3151 0, 0, 0, 0, 0, 0, 0, 0, 1254, 1256,
3152 1258, 1260, 0, 1262, 1264, 0, 0, 0, 1266, 0,
3153 0, 1268, 1270, 1272, 1274, 0, 0, 0, 1276, 0,
3154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3155 0, 0, 0, 1278, 1280, 0, 0, 0, 0, 0,
3156 0, 0, 0, 0, 0, 0, 1282, 1284, 0, 0,
3157 0, 0, 1286, 1288, 1290, 1292, 1294, 0, 0, 0,
3158 0, 0, 0, 0, 1296, 0, 0, 0, 0, 0,
3159 0, 0, 0, 0, 1298, 0, 1300, 1302, 1304, 1306,
3160 1308, 1310, 0, 1312, 0, 0, 1314, 1316, 1318, 1320,
3161 1322, 1324, 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340,
3162 1342, 1344, 1346, 0, 0, 0, 0, 0, 0, 0,
3163 0, 1348, 1350, 1352, 1354, 0, 1356, 1358, 0, 0,
3164 0, 1360, 0, 0, 1362, 1364, 1366, 1368, 0, 0,
3165 0, 1370, 0, 0, 0, 0, 0, 0, 0, 0,
3166 0, 0, 0, 0, 0, 0, 1372, 1374, 0, 0,
3167 0, 0, 0, 0, 0, 0, 0, 0, 0, 1376,
3168 1378, 0, 0, 0, 0, 1380, 1382, 1384, 1386, 1388,
3169 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0,
3170 0, 0, 0, 0, 0, 0, 0, 1392, 0, 1394,
3171 1396, 1398, 1400, 1402, 1404, 0, 1406, 0, 0, 1408,
3172 1410, 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428,
3173 1430, 1432, 1434, 1436, 1438, 1440, 0, 0, 0, 0,
3174 0, 0, 0, 0, 1442, 1444, 1446, 1448, 0, 1450,
3175 1452, 0, 0, 0, 1454, 0, 0, 1456, 1458, 1460,
3176 1462, 0, 0, 0, 1464, 0, 0, 0, 0, 0,
3177 0, 0, 0, 0, 0, 0, 0, 0, 0, 1466,
3178 1468, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3179 0, 0, 1470, 1472, 0, 0, 0, 0, 1474, 1476,
3180 1478, 1480, 1482, 0, 0, 0, 0, 0, 0, 0,
3181 1484, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3182 1486, 0, 1488, 1490, 1492, 1494, 1496, 1498, 0, 1500,
3183 0, 0, 1502, 1504, 1506, 1508, 1510, 1512, 1514, 1516,
3184 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532, 1534, 0,
3185 0, 0, 0, 0, 0, 0, 0, 1536, 1538, 1540,
3186 1542, 0, 1544, 1546, 0, 0, 0, 1548, 0, 0,
3187 1550, 1552, 1554, 1556, 0, 0, 0, 1558, 0, 0,
3188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3189 0, 0, 1560, 1562, 0, 0, 0, 0, 0, 0,
3190 0, 0, 0, 0, 0, 1564, 1566, 0, 0, 0,
3191 0, 1568, 1570, 1572, 1574, 1576, 0, 0, 0, 0,
3192 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0,
3193 0, 0, 0, 1580, 0, 1582, 1584, 1586, 1588, 1590,
3194 1592, 0, 1594, 0, 0, 1596, 1598, 1600, 1602, 1604,
3195 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622, 1624,
3196 1626, 1628, 0, 0, 0, 0, 0, 0, 0, 0,
3197 1630, 1632, 1634, 1636, 0, 1638, 1640, 0, 0, 0,
3198 1642, 0, 0, 1644, 1646, 1648, 1650, 0, 0, 0,
3199 1652, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3200 0, 0, 0, 0, 0, 1654, 1656, 0, 0, 0,
3201 0, 0, 0, 0, 0, 0, 0, 0, 1658, 1660,
3202 0, 0, 0, 0, 1662, 1664, 1666, 1668, 1670, 0,
3203 0, 0, 0, 0, 0, 0, 1672, 0, 0, 0,
3204 0, 0, 0, 0, 0, 0, 1674, 0, 1676, 1678,
3205 1680, 1682, 1684, 1686, 0, 1688, 0, 0, 1690, 1692,
3206 1694, 1696, 1698, 1700, 1702, 1704, 1706, 1708, 1710, 1712,
3207 1714, 1716, 1718, 1720, 1722, 0, 0, 0, 0, 0,
3208 0, 0, 0, 1724, 1726, 1728, 1730, 0, 1732, 1734,
3209 0, 0, 0, 1736, 0, 0, 1738, 1740, 1742, 1744,
3210 0, 0, 0, 1746, 0, 0, 0, 0, 0, 0,
3211 0, 0, 0, 0, 0, 0, 0, 0, 1748, 1750,
3212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3213 0, 1752, 1754, 0, 0, 0, 0, 1756, 1758, 1760,
3214 1762, 1764, 0, 0, 0, 0, 0, 0, 0, 1766,
3215 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768,
3216 0, 1770, 1772, 1774, 1776, 1778, 1780, 0, 1782, 0,
3217 0, 1784, 1786, 1788, 1790, 1792, 1794, 1796, 1798, 1800,
3218 1802, 1804, 1806, 1808, 1810, 1812, 1814, 1816, 0, 0,
3219 0, 0, 0, 0, 0, 0, 1818, 1820, 1822, 1824,
3220 0, 1826, 1828, 0, 0, 0, 1830, 0, 0, 1832,
3221 1834, 1836, 1838, 0, 0, 0, 1840, 0, 0, 0,
3222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3223 0, 1842, 1844, 0, 0, 0, 0, 0, 0, 0,
3224 0, 0, 0, 0, 1846, 1848, 0, 0, 0, 0,
3225 1850, 1852, 1854, 1856, 1858, 0, 0, 0, 0, 0,
3226 0, 0, 1860, 0, 0, 0, 0, 0, 0, 0,
3227 0, 0, 1862, 0, 1864, 1866, 1868, 1870, 1872, 1874,
3228 0, 1876, 0, 0, 1878, 1880, 1882, 1884, 1886, 1888,
3229 1890, 1892, 1894, 1896, 1898, 1900, 1902, 1904, 1906, 1908,
3230 1910, 0, 0, 0, 0, 0, 0, 0, 0, 1912,
3231 1914, 1916, 1918, 0, 1920, 1922, 0, 0, 0, 1924,
3232 0, 0, 1926, 1928, 1930, 1932, 0, 0, 0, 1934,
3233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3234 0, 0, 0, 0, 1936, 1938, 0, 0, 0, 0,
3235 0, 0, 0, 0, 0, 0, 0, 1940, 1942, 0,
3236 0, 0, 0, 1944, 1946, 1948, 1950, 1952, 0, 0,
3237 0, 0, 0, 0, 0, 1954, 0, 0, 0, 0,
3238 0, 0, 0, 0, 0, 1956, 0, 1958, 1960, 1962,
3239 1964, 1966, 1968, 0, 1970, 0, 0, 1972, 1974, 1976,
3240 1978, 1980, 1982, 1984, 1986, 1988, 1990, 1992, 1994, 1996,
3241 1998, 2000, 2002, 2004, 0, 0, 0, 0, 0, 0,
3242 0, 0, 2006, 2008, 2010, 2012, 0, 2014, 2016, 0,
3243 0, 0, 2018, 0, 0, 2020, 2022, 2024, 2026, 0,
3244 0, 0, 2028, 0, 0, 0, 0, 0, 0, 0,
3245 0, 0, 0, 0, 0, 0, 0, 2030, 2032, 0,
3246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3247 2034, 2036, 0, 0, 0, 0, 2038, 2040, 2042, 2044,
3248 2046, 0, 0, 0, 0, 0, 0, 0, 2048, 0,
3249 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0,
3250 2052, 2054, 2056, 2058, 2060, 2062, 0, 2064, 0, 0,
3251 2066, 2068, 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084,
3252 2086, 2088, 2090, 2092, 2094, 2096, 2098, 0, 0, 0,
3253 0, 0, 0, 0, 0, 2100, 2102, 2104, 2106, 0,
3254 2108, 2110, 0, 0, 0, 2112, 0, 0, 2114, 2116,
3255 2118, 2120, 0, 0, 0, 2122, 0, 0, 0, 0,
3256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3257 2124, 2126, 0, 0, 0, 0, 0, 0, 0, 0,
3258 0, 0, 0, 2128, 2130, 0, 0, 0, 0, 2132,
3259 2134, 2136, 2138, 2140, 0, 0, 0, 0, 0, 0,
3260 0, 2142, 0, 0, 0, 0, 0, 0, 0, 0,
3261 0, 2144, 0, 2146, 2148, 2150, 2152, 2154, 2156, 0,
3262 2158, 0, 0, 2160, 2162, 2164, 2166, 2168, 2170, 2172,
3263 2174, 2176, 2178, 2180, 2182, 2184, 2186, 2188, 2190, 2192,
3264 0, 0, 0, 0, 0, 0, 0, 0, 2194, 2196,
3265 2198, 2200, 0, 2202, 2204, 0, 0, 0, 2206, 0,
3266 0, 2208, 2210, 2212, 2214, 0, 0, 0, 2216, 0,
3267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3268 0, 0, 0, 2218, 2220, 0, 0, 0, 0, 0,
3269 0, 0, 0, 0, 0, 0, 2222, 2224, 0, 0,
3270 0, 0, 2226, 2228, 2230, 2232, 2234, 0, 0, 0,
3271 0, 0, 0, 0, 2236, 0, 0, 0, 0, 0,
3272 0, 0, 0, 0, 2238, 0, 2240, 2242, 2244, 2246,
3273 2248, 2250, 0, 2252, 0, 0, 2254, 2256, 2258, 2260,
3274 2262, 2264, 2266, 2268, 2270, 2272, 2274, 2276, 2278, 2280,
3275 2282, 2284, 2286, 0, 0, 0, 0, 0, 0, 0,
3276 0, 2288, 2290, 2292, 2294, 0, 2296, 2298, 0, 0,
3277 0, 2300, 0, 0, 2302, 2304, 2306, 2308, 0, 0,
3278 0, 2310, 0, 0, 0, 0, 0, 0, 0, 0,
3279 0, 0, 0, 0, 0, 0, 2312, 2314, 0, 0,
3280 0, 0, 0, 0, 0, 0, 0, 0, 0, 2316,
3281 2318, 0, 0, 0, 0, 2320, 2322, 2324, 2326, 2328,
3282 0, 0, 0, 0, 0, 0, 0, 2330, 0, 0,
3283 0, 0, 0, 0, 0, 0, 0, 2332, 0, 2334,
3284 2336, 2338, 2340, 2342, 2344, 0, 2346, 0, 0, 2348,
3285 2350, 2352, 2354, 2356, 2358, 2360, 2362, 2364, 2366, 2368,
3286 2370, 2372, 2374, 2376, 2378, 2380, 0, 0, 0, 0,
3287 0, 0, 0, 0, 2382, 2384, 2386, 2388, 0, 2390,
3288 2392, 0, 0, 0, 2394, 0, 0, 2396, 2398, 2400,
3289 2402, 0, 0, 0, 2404, 0, 0, 0, 0, 0,
3290 0, 0, 0, 0, 0, 0, 0, 0, 0, 2406,
3291 2408, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3292 0, 0, 2410, 2412, 0, 0, 0, 0, 2414, 2416,
3293 2418, 2420, 2422, 0, 0, 0, 0, 0, 0, 0,
3294 2424, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3295 2426, 0, 2428, 2430, 2432, 2434, 2436, 2438, 0, 2440,
3296 0, 0, 2442, 2444, 2446, 2448, 2450, 2452, 2454, 2456,
3297 2458, 2460, 2462, 2464, 2466, 2468, 2470, 2472, 2474, 0,
3298 0, 0, 0, 0, 0, 0, 0, 2476, 2478, 2480,
3299 2482, 0, 2484, 2486, 0, 0, 0, 2488, 0, 0,
3300 2490, 2492, 2494, 2496, 0, 0, 0, 2498, 0, 0,
3301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3302 0, 0, 2500, 2502, 0, 0, 0, 0, 0, 0,
3303 0, 0, 0, 0, 0, 2504, 2506, 0, 0, 0,
3304 0, 2508, 2510, 2512, 2514, 2516, 0, 0, 0, 0,
3305 0, 0, 0, 2518, 0, 0, 0, 0, 0, 0,
3306 0, 0, 0, 2520, 0, 2522, 2524, 2526, 2528, 2530,
3307 2532, 0, 2534, 0, 0, 2536, 2538, 2540, 2542, 2544,
3308 2546, 2548, 2550, 2552, 2554, 2556, 2558, 2560, 2562, 2564,
3309 2566, 2568, 0, 0, 0, 0, 0, 0, 0, 0,
3310 2570, 2572, 2574, 2576, 0, 2578, 2580, 0, 0, 0,
3311 2582, 0, 0, 2584, 2586, 2588, 2590, 0, 0, 0,
3312 2592, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3313 0, 0, 0, 0, 0, 2594, 2596, 0, 0, 0,
3314 0, 0, 0, 0, 0, 0, 0, 0, 2598, 2600,
3315 0, 0, 0, 0, 2602, 2604, 2606, 2608, 2610, 0,
3316 0, 0, 0, 0, 0, 0, 2612, 0, 0, 0,
3317 0, 0, 0, 0, 0, 0, 2614, 0, 2616, 2618,
3318 2620, 2622, 2624, 2626, 0, 2628, 0, 0, 2630, 2632,
3319 2634, 2636, 2638, 2640, 2642, 2644, 2646, 2648, 2650, 2652,
3320 2654, 2656, 2658, 2660, 2662, 0, 0, 0, 0, 0,
3321 0, 0, 0, 2664, 2666, 2668, 2670, 0, 2672, 2674,
3322 0, 0, 0, 2676, 0, 0, 2678, 2680, 2682, 2684,
3323 0, 0, 0, 2686, 0, 0, 0, 0, 0, 0,
3324 0, 0, 0, 0, 0, 0, 0, 0, 2688, 2690,
3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3326 0, 2692, 2694, 0, 0, 0, 0, 2696, 2698, 2700,
3327 2702, 2704, 0, 0, 0, 0, 0, 0, 0, 2706,
3328 0, 0, 0, 0, 0, 0, 0, 0, 0, 2708,
3329 0, 2710, 2712, 2714, 2716, 2718, 2720, 0, 2722, 0,
3330 0, 2724, 2726, 2728, 2730, 2732, 2734, 2736, 2738, 2740,
3331 2742, 2744, 2746, 2748, 2750, 2752, 2754, 2756, 0, 0,
3332 0, 0, 0, 0, 0, 0, 2758, 2760, 2762, 2764,
3333 0, 2766, 2768, 0, 0, 0, 2770, 0, 0, 2772,
3334 2774, 2776, 2778, 0, 0, 0, 2780, 0, 0, 0,
3335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336 0, 2782, 2784, 0, 0, 0, 0, 0, 0, 0,
3337 0, 0, 0, 0, 2786, 2788, 0, 0, 0, 0,
3338 2790, 2792, 2794, 2796, 2798, 0, 0, 0, 0, 0,
3339 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0,
3340 0, 0, 2802, 0, 2804, 2806, 2808, 2810, 2812, 2814,
3341 0, 2816, 0, 0, 2818, 2820, 2822, 2824, 2826, 2828,
3342 2830, 2832, 2834, 2836, 2838, 2840, 2842, 2844, 2846, 2848,
3343 2850, 0, 0, 0, 0, 0, 0, 0, 0, 2852,
3344 2854, 2856, 2858, 0, 2860, 2862, 0, 0, 0, 2864,
3345 0, 0, 2866, 2868, 2870, 2872, 0, 0, 0, 2874,
3346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3347 0, 0, 0, 0, 2876, 2878, 0, 0, 0, 0,
3348 0, 0, 0, 0, 0, 0, 0, 2880, 2882, 0,
3349 0, 0, 0, 2884, 2886, 2888, 2890, 2892, 0, 0,
3350 0, 0, 0, 0, 0, 2894, 0, 0, 0, 0,
3351 0, 0, 0, 0, 0, 2896, 0, 2898, 2900, 2902,
3352 2904, 2906, 2908, 0, 2910, 0, 0, 2912, 2914, 2916,
3353 2918, 2920, 2922, 2924, 2926, 2928, 2930, 2932, 2934, 2936,
3354 2938, 2940, 2942, 2944, 0, 0, 0, 0, 0, 0,
3355 0, 0, 2946, 2948, 2950, 2952, 0, 2954, 2956, 0,
3356 0, 0, 2958, 0, 0, 2960, 2962, 2964, 2966, 0,
3357 0, 0, 2968, 0, 0, 0, 0, 0, 0, 0,
3358 0, 0, 0, 0, 0, 0, 0, 2970, 2972, 0,
3359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3360 2974, 2976, 0, 0, 0, 0, 2978, 2980, 2982, 2984,
3361 2986, 0, 0, 0, 0, 0, 0, 0, 2988, 0,
3362 0, 0, 0, 0, 0, 0, 0, 0, 2990, 0,
3363 2992, 2994, 2996, 2998, 3000, 3002, 0, 3004, 0, 0,
3364 3006, 3008, 3010, 3012, 3014, 3016, 3018, 3020, 3022, 3024,
3365 3026, 3028, 3030, 3032, 3034, 3036, 3038, 0, 0, 0,
3366 0, 0, 0, 0, 0, 3040, 3042, 3044, 3046, 0,
3367 3048, 3050, 0, 0, 0, 3052, 0, 0, 3054, 3056,
3368 3058, 3060, 0, 0, 0, 3062, 0, 0, 0, 0,
3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3370 3064, 3066, 0, 0, 0, 0, 0, 0, 0, 0,
3371 0, 0, 0, 3068, 3070, 0, 0, 0, 0, 3072,
3372 3074, 3076, 3078, 3080, 0, 0, 0, 0, 0, 0,
3373 0, 3082, 0, 0, 0, 0, 0, 0, 0, 0,
3374 0, 3084, 0, 3086, 3088, 3090, 3092, 3094, 3096, 0,
3375 3098, 0, 0, 3100, 3102, 3104, 3106, 3108, 3110, 3112,
3376 3114, 3116, 3118, 3120, 3122, 3124, 3126, 3128, 3130, 3132,
3377 0, 0, 0, 0, 0, 0, 0, 0, 3134, 3136,
3378 3138, 3140, 0, 3142, 3144, 0, 0, 0, 3146, 0,
3379 0, 3148, 3150, 3152, 3154, 0, 0, 0, 3156, 0,
3380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3381 0, 0, 0, 3158, 3160, 0, 0, 0, 0, 0,
3382 0, 0, 0, 0, 0, 0, 3162, 3164, 0, 0,
3383 0, 0, 3166, 3168, 3170, 3172, 3174, 0, 0, 0,
3384 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0,
3385 0, 0, 0, 0, 3178, 0, 3180, 3182, 3184, 3186,
3386 3188, 3190, 0, 3192, 0, 0, 3194, 3196, 3198, 3200,
3387 3202, 3204, 3206, 3208, 3210, 3212, 3214, 3216, 3218, 3220,
3388 3222, 3224, 3226, 0, 0, 0, 0, 0, 0, 0,
3389 0, 3228, 3230, 3232, 3234, 0, 3236, 3238, 0, 0,
3390 0, 3240, 0, 0, 3242, 3244, 3246, 3248, 0, 0,
3391 0, 3250, 0, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 3252, 3254, 0, 0,
3393 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256,
3394 3258, 0, 0, 0, 0, 3260, 3262, 3264, 3266, 3268,
3395 0, 0, 0, 0, 0, 0, 0, 3270, 0, 0,
3396 0, 0, 0, 0, 0, 0, 0, 3272, 0, 3274,
3397 3276, 3278, 3280, 3282, 3284, 0, 3286, 0, 0, 3288,
3398 3290, 3292, 3294, 3296, 3298, 3300, 3302, 3304, 3306, 3308,
3399 3310, 3312, 3314, 3316, 3318, 3320, 0, 0, 0, 0,
3400 0, 0, 0, 0, 3322, 3324, 3326, 3328, 0, 3330,
3401 3332, 0, 0, 0, 3334, 0, 0, 3336, 3338, 3340,
3402 3342, 0, 0, 0, 3344, 0, 0, 0, 0, 0,
3403 0, 0, 0, 0, 0, 0, 0, 0, 0, 3346,
3404 3348, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3405 0, 0, 3350, 3352, 0, 0, 0, 0, 3354, 3356,
3406 3358, 3360, 3362, 0, 0, 0, 0, 0, 0, 0,
3407 3364, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408 3366, 0, 3368, 3370, 3372, 3374, 3376, 3378, 0, 3380,
3409 0, 0, 3382, 3384, 3386, 3388, 3390, 3392, 3394, 3396,
3410 3398, 3400, 3402, 3404, 3406, 3408, 3410, 3412, 3414, 0,
3411 0, 0, 0, 0, 0, 0, 0, 3416, 3418, 3420,
3412 3422, 0, 3424, 3426, 0, 0, 0, 3428, 0, 0,
3413 3430, 3432, 3434, 3436, 0, 0, 0, 3438, 0, 0,
3414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3415 0, 0, 3440, 3442, 0, 0, 0, 0, 0, 0,
3416 0, 0, 0, 0, 0, 3444, 3446, 0, 0, 0,
3417 0, 3448, 3450, 3452, 3454, 3456, 0, 0, 0, 0,
3418 0, 0, 0, 3458, 0, 0, 0, 0, 0, 0,
3419 0, 0, 0, 3460, 0, 3462, 3464, 3466, 3468, 3470,
3420 3472, 0, 3474, 0, 0, 3476, 3478, 3480, 3482, 3484,
3421 3486, 3488, 3490, 3492, 3494, 3496, 3498, 3500, 3502, 3504,
3422 3506, 3508, 0, 0, 0, 0, 0, 0, 0, 0,
3423 3510, 3512, 3514, 3516, 0, 3518, 3520, 0, 0, 0,
3424 3522, 0, 0, 3524, 3526, 3528, 3530, 0, 0, 0,
3425 3532, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3426 0, 0, 0, 0, 0, 3534, 3536, 0, 0, 0,
3427 0, 0, 0, 0, 0, 0, 0, 0, 3538, 3540,
3428 0, 0, 0, 0, 3542, 3544, 3546, 3548, 3550, 0,
3429 0, 0, 0, 0, 0, 0, 3552, 0, 0, 0,
3430 0, 0, 0, 0, 0, 0, 3554, 0, 3556, 3558,
3431 3560, 3562, 3564, 3566, 0, 3568, 0, 0, 3570, 3572,
3432 3574, 3576, 3578, 3580, 3582, 3584, 3586, 3588, 3590, 3592,
3433 3594, 3596, 3598, 3600, 3602, 0, 0, 0, 0, 0,
3434 0, 0, 0, 3604, 3606, 3608, 3610, 0, 3612, 3614,
3435 0, 0, 0, 3616, 0, 0, 3618, 3620, 3622, 3624,
3436 0, 0, 0, 3626, 0, 0, 0, 0, 0, 0,
3437 0, 0, 0, 0, 0, 0, 0, 0, 3628, 3630,
3438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3439 0, 3632, 3634, 0, 0, 0, 0, 3636, 3638, 3640,
3440 3642, 3644, 0, 0, 0, 0, 0, 0, 0, 3646,
3441 0, 0, 0, 0, 0, 0, 0, 0, 0, 3648,
3442 0, 3650, 3652, 3654, 3656, 3658, 3660, 0, 3662, 0,
3443 0, 3664, 3666, 3668, 3670, 3672, 3674, 3676, 3678, 3680,
3444 3682, 3684, 3686, 3688, 3690, 3692, 3694, 0, 0, 0,
3445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3529 0, 0, 0, 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, 3726,
3676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3681 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3682 0, pointed into by YYCONFLP. */
3683 static const short yyconfl
[] =
3685 0, 391, 0, 391, 0, 391, 0, 391, 0, 382,
3686 0, 382, 0, 405, 0, 466, 0, 466, 0, 622,
3687 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3688 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3689 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3690 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3691 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3692 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3693 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3694 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3695 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3696 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3697 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3698 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3699 0, 622, 0, 622, 0, 622, 0, 622, 0, 622,
3700 0, 622, 0, 622, 0, 622, 0, 622, 0, 391,
3701 0, 391, 0, 391, 0, 391, 0, 405, 0, 46,
3702 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3703 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3704 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3705 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3706 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3707 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3708 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3709 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3710 0, 46, 0, 46, 0, 46, 0, 46, 0, 46,
3711 0, 46, 0, 55, 0, 55, 0, 55, 0, 55,
3712 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3713 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3714 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3715 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3716 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3717 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3718 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3719 0, 55, 0, 55, 0, 55, 0, 55, 0, 55,
3720 0, 55, 0, 55, 0, 55, 0, 56, 0, 56,
3721 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3722 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3723 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3724 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3725 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3726 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3727 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3728 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3729 0, 56, 0, 56, 0, 56, 0, 56, 0, 56,
3730 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3731 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3732 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3733 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3734 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3735 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3736 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3737 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3738 0, 57, 0, 57, 0, 57, 0, 57, 0, 57,
3739 0, 57, 0, 57, 0, 58, 0, 58, 0, 58,
3740 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3741 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3742 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3743 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3744 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3745 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3746 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3747 0, 58, 0, 58, 0, 58, 0, 58, 0, 58,
3748 0, 58, 0, 58, 0, 58, 0, 58, 0, 623,
3749 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3750 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3751 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3752 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3753 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3754 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3755 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3756 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3757 0, 623, 0, 623, 0, 623, 0, 623, 0, 623,
3758 0, 623, 0, 584, 622, 0, 584, 622, 0, 584,
3759 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3760 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3761 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3762 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3763 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3764 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3765 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3766 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3767 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3768 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3769 0, 584, 622, 0, 584, 622, 0, 584, 622, 0,
3770 584, 622, 0, 584, 622, 0, 584, 622, 0, 584,
3771 622, 0, 584, 622, 0, 584, 622, 0, 584, 622,
3772 0, 584, 622, 0, 622, 0, 65, 0, 65, 0,
3773 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3774 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3775 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3776 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3777 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3778 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3779 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3780 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3781 65, 0, 65, 0, 65, 0, 65, 0, 65, 0,
3782 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3783 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3784 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3785 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3786 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3787 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3788 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3789 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3790 109, 0, 109, 0, 109, 0, 109, 0, 109, 0,
3791 109, 0, 109, 0, 110, 0, 110, 0, 110, 0,
3792 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3793 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3794 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3795 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3796 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3797 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3798 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3799 110, 0, 110, 0, 110, 0, 110, 0, 110, 0,
3800 110, 0, 110, 0, 110, 0, 110, 0, 108, 0,
3801 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3802 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3803 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3804 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3805 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3806 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3807 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3808 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3809 108, 0, 108, 0, 108, 0, 108, 0, 108, 0,
3810 108, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3811 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3812 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3813 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3814 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3815 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3816 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3817 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3818 106, 0, 106, 0, 106, 0, 106, 0, 106, 0,
3819 106, 0, 106, 0, 106, 0, 107, 0, 107, 0,
3820 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3821 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3822 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3823 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3824 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3825 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3826 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3827 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3828 107, 0, 107, 0, 107, 0, 107, 0, 107, 0,
3829 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3830 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3831 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3832 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3833 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3834 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3835 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3836 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3837 127, 0, 127, 0, 127, 0, 127, 0, 127, 0,
3838 127, 0, 127, 0, 129, 0, 129, 0, 129, 0,
3839 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3840 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3841 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3842 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3843 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3844 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3845 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3846 129, 0, 129, 0, 129, 0, 129, 0, 129, 0,
3847 129, 0, 129, 0, 129, 0, 129, 0, 130, 0,
3848 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3849 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3850 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3851 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3852 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3853 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3854 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3855 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3856 130, 0, 130, 0, 130, 0, 130, 0, 130, 0,
3857 130, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3858 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3859 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3860 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3861 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3862 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3863 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3864 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3865 131, 0, 131, 0, 131, 0, 131, 0, 131, 0,
3866 131, 0, 131, 0, 131, 0, 132, 0, 132, 0,
3867 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3868 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3869 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3870 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3871 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3872 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3873 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3874 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3875 132, 0, 132, 0, 132, 0, 132, 0, 132, 0,
3876 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3877 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3878 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3879 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3880 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3881 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3882 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3883 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3884 133, 0, 133, 0, 133, 0, 133, 0, 133, 0,
3885 133, 0, 133, 0, 134, 0, 134, 0, 134, 0,
3886 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3887 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3888 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3889 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3890 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3891 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3892 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3893 134, 0, 134, 0, 134, 0, 134, 0, 134, 0,
3894 134, 0, 134, 0, 134, 0, 134, 0, 163, 0,
3895 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3896 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3897 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3898 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3899 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3900 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3901 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3902 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3903 163, 0, 163, 0, 163, 0, 163, 0, 163, 0,
3904 163, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3905 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3906 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3907 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3908 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3909 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3910 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3911 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3912 592, 0, 592, 0, 592, 0, 592, 0, 592, 0,
3913 592, 0, 592, 0, 592, 0, 591, 0, 591, 0,
3914 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3915 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3916 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3917 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3918 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3919 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3920 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3921 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3922 591, 0, 591, 0, 591, 0, 591, 0, 591, 0,
3923 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3924 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3925 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3926 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3927 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3928 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3929 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3930 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3931 589, 0, 589, 0, 589, 0, 589, 0, 589, 0,
3932 589, 0, 589, 0, 587, 0, 587, 0, 587, 0,
3933 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3934 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3935 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3936 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3937 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3938 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3939 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3940 587, 0, 587, 0, 587, 0, 587, 0, 587, 0,
3941 587, 0, 587, 0, 587, 0, 587, 0, 588, 0,
3942 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3943 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3944 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3945 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3946 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3947 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3948 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3949 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3950 588, 0, 588, 0, 588, 0, 588, 0, 588, 0,
3951 588, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3952 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3953 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3954 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3955 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3956 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3957 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3958 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3959 590, 0, 590, 0, 590, 0, 590, 0, 590, 0,
3960 590, 0, 590, 0, 590, 0, 586, 0, 586, 0,
3961 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3962 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3963 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3964 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3965 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3966 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3967 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3968 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3969 586, 0, 586, 0, 586, 0, 586, 0, 586, 0,
3970 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3971 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3972 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3973 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3974 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3975 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3976 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3977 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3978 585, 0, 585, 0, 585, 0, 585, 0, 585, 0,
3979 585, 0, 585, 0, 593, 0, 593, 0, 593, 0,
3980 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3981 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3982 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3983 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3984 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3985 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3986 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3987 593, 0, 593, 0, 593, 0, 593, 0, 593, 0,
3988 593, 0, 593, 0, 593, 0, 593, 0, 147, 0,
3989 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3990 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3991 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3992 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3993 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3994 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3995 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3996 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3997 147, 0, 147, 0, 147, 0, 147, 0, 147, 0,
3998 147, 0, 621, 0, 621, 0, 621, 0, 621, 0,
3999 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4000 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4001 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4002 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4003 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4004 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4005 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4006 621, 0, 621, 0, 621, 0, 621, 0, 621, 0,
4007 621, 0, 621, 0, 621, 0, 619, 0, 619, 0,
4008 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4009 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4010 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4011 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4012 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4013 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4014 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4015 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4016 619, 0, 619, 0, 619, 0, 619, 0, 619, 0,
4017 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4018 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4019 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4020 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4021 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4022 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4023 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4024 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4025 618, 0, 618, 0, 618, 0, 618, 0, 618, 0,
4026 618, 0, 618, 0, 620, 0, 620, 0, 620, 0,
4027 620, 0, 620, 0, 620, 0, 620, 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, 617, 0,
4036 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4037 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4038 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4039 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4040 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4041 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4042 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4043 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4044 617, 0, 617, 0, 617, 0, 617, 0, 617, 0,
4045 617, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4046 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4047 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4048 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4049 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4050 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4051 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4052 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4053 616, 0, 616, 0, 616, 0, 616, 0, 616, 0,
4054 616, 0, 616, 0, 616, 0, 511, 0, 511, 0,
4055 459, 0, 459, 0, 460, 0, 497, 0, 497, 0,
4056 497, 0, 45, 0, 623, 0, 391, 0, 572, 0,
4057 572, 0, 572, 0, 623, 0, 342, 0, 493, 0
4060 /* Error token number */
4067 #define yynerrs (yystackp->yyerrcnt)
4069 #define yychar (yystackp->yyrawchar)
4071 #define yylval (yystackp->yyval)
4073 #define yylloc (yystackp->yyloc)
4074 #define psi_parser_proc_nerrs yynerrs
4075 #define psi_parser_proc_char yychar
4076 #define psi_parser_proc_lval yylval
4077 #define psi_parser_proc_lloc yylloc
4079 static const int YYEOF
= 0;
4080 static const int YYEMPTY
= -2;
4082 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
4084 #define YYCHK(YYE) \
4086 YYRESULTTAG yychk_flag = YYE; \
4087 if (yychk_flag != yyok) \
4088 return yychk_flag; \
4094 # define YYFPRINTF fprintf
4097 /* This macro is provided for backward compatibility. */
4098 #ifndef YY_LOCATION_PRINT
4099 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4103 # define YYDPRINTF(Args) \
4110 /*-----------------------------------.
4111 | Print this symbol's value on YYO. |
4112 `-----------------------------------*/
4115 yy_symbol_value_print (FILE *yyo
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4117 FILE *yyoutput
= yyo
;
4128 /*---------------------------.
4129 | Print this symbol on YYO. |
4130 `---------------------------*/
4133 yy_symbol_print (FILE *yyo
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4135 YYFPRINTF (yyo
, "%s %s (",
4136 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
4138 yy_symbol_value_print (yyo
, yytype
, yyvaluep
, P
, tokens
, index
);
4139 YYFPRINTF (yyo
, ")");
4142 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4146 YYFPRINTF (stderr, "%s ", Title); \
4147 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
4148 YYFPRINTF (stderr, "\n"); \
4152 /* Nonzero means print parse trace. It is left uninitialized so that
4153 multiple parsers can coexist. */
4157 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
4158 YY_ATTRIBUTE_UNUSED
;
4159 static void yypdumpstack (struct yyGLRStack
* yystackp
)
4160 YY_ATTRIBUTE_UNUSED
;
4162 #else /* !YYDEBUG */
4164 # define YYDPRINTF(Args)
4165 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4167 #endif /* !YYDEBUG */
4169 /* YYINITDEPTH -- initial size of the parser's stacks. */
4171 # define YYINITDEPTH 200
4174 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4175 if the built-in stack extension method is used).
4177 Do not make this value too large; the results are undefined if
4178 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
4179 evaluated with infinite-precision integer arithmetic. */
4182 # define YYMAXDEPTH 10000
4185 /* Minimum number of free items on the stack allowed after an
4186 allocation. This is to allow allocation and initialization
4187 to be completed by functions that call yyexpandGLRStack before the
4188 stack is expanded, thus insuring that all necessary pointers get
4189 properly redirected to new data. */
4190 #define YYHEADROOM 2
4192 #ifndef YYSTACKEXPANDABLE
4193 # define YYSTACKEXPANDABLE 1
4196 #if YYSTACKEXPANDABLE
4197 # define YY_RESERVE_GLRSTACK(Yystack) \
4199 if (Yystack->yyspaceLeft < YYHEADROOM) \
4200 yyexpandGLRStack (Yystack); \
4203 # define YY_RESERVE_GLRSTACK(Yystack) \
4205 if (Yystack->yyspaceLeft < YYHEADROOM) \
4206 yyMemoryExhausted (Yystack); \
4214 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4215 # define yystpcpy stpcpy
4217 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4220 yystpcpy (char *yydest
, const char *yysrc
)
4223 const char *yys
= yysrc
;
4225 while ((*yyd
++ = *yys
++) != '\0')
4234 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4235 quotes and backslashes, so that it's suitable for yyerror. The
4236 heuristic is that double-quoting is unnecessary unless the string
4237 contains an apostrophe, a comma, or backslash (other than
4238 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4239 null, do not copy; instead, return the length of what the result
4242 yytnamerr (char *yyres
, const char *yystr
)
4247 char const *yyp
= yystr
;
4254 goto do_not_strip_quotes
;
4258 goto do_not_strip_quotes
;
4271 do_not_strip_quotes
: ;
4275 return strlen (yystr
);
4277 return (size_t) (yystpcpy (yyres
, yystr
) - yyres
);
4281 #endif /* !YYERROR_VERBOSE */
4283 /** State numbers, as in LALR(1) machine */
4284 typedef int yyStateNum
;
4286 /** Rule numbers, as in LALR(1) machine */
4287 typedef int yyRuleNum
;
4289 /** Grammar symbol */
4290 typedef int yySymbol
;
4292 /** Item references, as in LALR(1) machine */
4293 typedef short yyItemNum
;
4295 typedef struct yyGLRState yyGLRState
;
4296 typedef struct yyGLRStateSet yyGLRStateSet
;
4297 typedef struct yySemanticOption yySemanticOption
;
4298 typedef union yyGLRStackItem yyGLRStackItem
;
4299 typedef struct yyGLRStack yyGLRStack
;
4302 /** Type tag: always true. */
4304 /** Type tag for yysemantics. If true, yysval applies, otherwise
4305 * yyfirstVal applies. */
4307 /** Number of corresponding LALR(1) machine state. */
4308 yyStateNum yylrState
;
4309 /** Preceding state in this stack */
4311 /** Source position of the last token produced by my symbol */
4314 /** First in a chain of alternative reductions producing the
4315 * non-terminal corresponding to this state, threaded through
4317 yySemanticOption
* yyfirstVal
;
4318 /** Semantic value for this state. */
4323 struct yyGLRStateSet
{
4324 yyGLRState
** yystates
;
4325 /** During nondeterministic operation, yylookaheadNeeds tracks which
4326 * stacks have actually needed the current lookahead. During deterministic
4327 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4328 * duplicate yychar != YYEMPTY. */
4329 yybool
* yylookaheadNeeds
;
4330 size_t yysize
, yycapacity
;
4333 struct yySemanticOption
{
4334 /** Type tag: always false. */
4336 /** Rule number for this reduction */
4338 /** The last RHS state in the list of states to be reduced. */
4339 yyGLRState
* yystate
;
4340 /** The lookahead for this reduction. */
4343 /** Next sibling in chain of options. To facilitate merging,
4344 * options are chained in decreasing order by address. */
4345 yySemanticOption
* yynext
;
4348 /** Type of the items in the GLR stack. The yyisState field
4349 * indicates which item of the union is valid. */
4350 union yyGLRStackItem
{
4352 yySemanticOption yyoption
;
4363 YYJMP_BUF yyexception_buffer
;
4364 yyGLRStackItem
* yyitems
;
4365 yyGLRStackItem
* yynextFree
;
4367 yyGLRState
* yysplitPoint
;
4368 yyGLRState
* yylastDeleted
;
4369 yyGLRStateSet yytops
;
4372 #if YYSTACKEXPANDABLE
4373 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
4376 static _Noreturn
void
4377 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
4379 if (yymsg
!= YY_NULLPTR
)
4380 yyerror (P
, tokens
, index
, yymsg
);
4381 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
4384 static _Noreturn
void
4385 yyMemoryExhausted (yyGLRStack
* yystackp
)
4387 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
4390 #if YYDEBUG || YYERROR_VERBOSE
4391 /** A printable representation of TOKEN. */
4392 static inline const char*
4393 yytokenName (yySymbol yytoken
)
4395 if (yytoken
== YYEMPTY
)
4398 return yytname
[yytoken
];
4402 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4403 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4404 * containing the pointer to the next state in the chain. */
4405 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
4407 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
4410 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
4411 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
4414 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
4416 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
4418 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
4420 /* The effect of using yysval or yyloc (in an immediate rule) is
4422 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
4423 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
4427 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4428 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4429 * For convenience, always return YYLOW1. */
4430 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
4431 YY_ATTRIBUTE_UNUSED
;
4433 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
4435 if (!yynormal
&& yylow1
< *yylow
)
4437 yyfillin (yyvsp
, *yylow
, yylow1
);
4443 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4444 * and top stack item YYVSP. YYLVALP points to place to put semantic
4445 * value ($$), and yylocp points to place for location information
4446 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4447 * yyerr for YYERROR, yyabort for YYABORT. */
4449 yyuserAction (yyRuleNum yyn
, int yyrhslen
, yyGLRStackItem
* yyvsp
,
4450 yyGLRStack
* yystackp
,
4451 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4453 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yybool
) (yystackp
->yysplitPoint
== YY_NULLPTR
);
4461 # define yyerrok (yystackp->yyerrState = 0)
4463 # define YYACCEPT return yyaccept
4465 # define YYABORT return yyabort
4467 # define YYERROR return yyerrok, yyerr
4468 # undef YYRECOVERING
4469 # define YYRECOVERING() (yystackp->yyerrState != 0)
4471 # define yyclearin (yychar = YYEMPTY)
4473 # define YYFILL(N) yyfill (yyvsp, &yylow, (N), yynormal)
4475 # define YYBACKUP(Token, Value) \
4476 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4481 *yyvalp
= yyval_default
;
4483 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
4487 #line 427 "src/parser_proc_grammar.y" /* glr.c:821 */
4489 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4490 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
4491 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4494 #line 4495 "src/parser_proc.c" /* glr.c:821 */
4498 #line 433 "src/parser_proc_grammar.y" /* glr.c:821 */
4500 char *libname
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
->val
);
4501 P
->file
.libnames
= psi_plist_add(P
->file
.libnames
, &libname
);
4503 #line 4504 "src/parser_proc.c" /* glr.c:821 */
4507 #line 437 "src/parser_proc_grammar.y" /* glr.c:821 */
4509 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4511 #line 4512 "src/parser_proc.c" /* glr.c:821 */
4515 #line 440 "src/parser_proc_grammar.y" /* glr.c:821 */
4517 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4519 #line 4520 "src/parser_proc.c" /* glr.c:821 */
4523 #line 443 "src/parser_proc_grammar.y" /* glr.c:821 */
4525 psi_parser_proc_add_decl_extvars(P
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4527 #line 4528 "src/parser_proc.c" /* glr.c:821 */
4531 #line 446 "src/parser_proc_grammar.y" /* glr.c:821 */
4533 if (P
->flags
& PSI_DEBUG
) {
4534 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
);
4536 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4538 #line 4539 "src/parser_proc.c" /* glr.c:821 */
4542 #line 452 "src/parser_proc_grammar.y" /* glr.c:821 */
4544 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4546 #line 4547 "src/parser_proc.c" /* glr.c:821 */
4550 #line 455 "src/parser_proc_grammar.y" /* glr.c:821 */
4552 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4554 #line 4555 "src/parser_proc.c" /* glr.c:821 */
4558 #line 458 "src/parser_proc_grammar.y" /* glr.c:821 */
4560 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4562 #line 4563 "src/parser_proc.c" /* glr.c:821 */
4566 #line 461 "src/parser_proc_grammar.y" /* glr.c:821 */
4568 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4570 #line 4571 "src/parser_proc.c" /* glr.c:821 */
4574 #line 464 "src/parser_proc_grammar.y" /* glr.c:821 */
4576 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4578 #line 4579 "src/parser_proc.c" /* glr.c:821 */
4582 #line 470 "src/parser_proc_grammar.y" /* glr.c:821 */
4584 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4586 #line 4587 "src/parser_proc.c" /* glr.c:821 */
4590 #line 476 "src/parser_proc_grammar.y" /* glr.c:821 */
4592 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4594 #line 4595 "src/parser_proc.c" /* glr.c:821 */
4598 #line 479 "src/parser_proc_grammar.y" /* glr.c:821 */
4600 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4602 #line 4603 "src/parser_proc.c" /* glr.c:821 */
4606 #line 485 "src/parser_proc_grammar.y" /* glr.c:821 */
4608 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4609 struct psi_token
*msg
= NULL
;
4611 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
4613 struct psi_token
*next
;
4615 msg
= psi_token_copy(msg
);
4616 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
4617 struct psi_token
*old
= msg
;
4618 msg
= psi_token_cat(" ", 2, msg
, next
);
4619 psi_token_free(&old
);
4622 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4624 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
4626 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4628 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4630 #line 4631 "src/parser_proc.c" /* glr.c:821 */
4634 #line 508 "src/parser_proc_grammar.y" /* glr.c:821 */
4636 (*(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
))));
4637 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4639 #line 4640 "src/parser_proc.c" /* glr.c:821 */
4643 #line 512 "src/parser_proc_grammar.y" /* glr.c:821 */
4645 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4646 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4648 #line 4649 "src/parser_proc.c" /* glr.c:821 */
4652 #line 516 "src/parser_proc_grammar.y" /* glr.c:821 */
4654 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4655 (*(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
))));
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 521 "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
, (*(struct psi_cpp_macro_decl
**)(&((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 525 "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 (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4674 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4676 #line 4677 "src/parser_proc.c" /* glr.c:821 */
4680 #line 529 "src/parser_proc_grammar.y" /* glr.c:821 */
4682 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4683 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4685 #line 4686 "src/parser_proc.c" /* glr.c:821 */
4689 #line 533 "src/parser_proc_grammar.y" /* glr.c:821 */
4691 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4692 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4694 #line 4695 "src/parser_proc.c" /* glr.c:821 */
4698 #line 577 "src/parser_proc_grammar.y" /* glr.c:821 */
4700 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4701 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
4702 (*(struct psi_cpp_macro_decl
**)(&(*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 582 "src/parser_proc_grammar.y" /* glr.c:821 */
4710 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4711 (*(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
);
4712 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4714 #line 4715 "src/parser_proc.c" /* glr.c:821 */
4718 #line 587 "src/parser_proc_grammar.y" /* glr.c:821 */
4720 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4721 (*(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
)));
4722 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4724 #line 4725 "src/parser_proc.c" /* glr.c:821 */
4728 #line 592 "src/parser_proc_grammar.y" /* glr.c:821 */
4730 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_token_free
);
4731 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4732 (*(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
);
4733 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4735 #line 4736 "src/parser_proc.c" /* glr.c:821 */
4739 #line 601 "src/parser_proc_grammar.y" /* glr.c:821 */
4741 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
4743 #line 4744 "src/parser_proc.c" /* glr.c:821 */
4747 #line 604 "src/parser_proc_grammar.y" /* glr.c:821 */
4749 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
4751 #line 4752 "src/parser_proc.c" /* glr.c:821 */
4755 #line 608 "src/parser_proc_grammar.y" /* glr.c:821 */
4757 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4759 #line 4760 "src/parser_proc.c" /* glr.c:821 */
4763 #line 614 "src/parser_proc_grammar.y" /* glr.c:821 */
4765 (*(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
)));
4766 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4767 (*(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
)));
4769 #line 4770 "src/parser_proc.c" /* glr.c:821 */
4773 #line 619 "src/parser_proc_grammar.y" /* glr.c:821 */
4775 (*(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
)));
4776 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4777 (*(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
)));
4779 #line 4780 "src/parser_proc.c" /* glr.c:821 */
4783 #line 627 "src/parser_proc_grammar.y" /* glr.c:821 */
4785 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4787 #line 4788 "src/parser_proc.c" /* glr.c:821 */
4791 #line 634 "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_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
)));
4796 #line 4797 "src/parser_proc.c" /* glr.c:821 */
4800 #line 638 "src/parser_proc_grammar.y" /* glr.c:821 */
4802 (*(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
)));
4803 (*(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
)));
4805 #line 4806 "src/parser_proc.c" /* glr.c:821 */
4809 #line 645 "src/parser_proc_grammar.y" /* glr.c:821 */
4811 (*(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
)));
4812 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4814 #line 4815 "src/parser_proc.c" /* glr.c:821 */
4818 #line 649 "src/parser_proc_grammar.y" /* glr.c:821 */
4820 (*(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
)));
4821 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4823 #line 4824 "src/parser_proc.c" /* glr.c:821 */
4827 #line 653 "src/parser_proc_grammar.y" /* glr.c:821 */
4829 (*(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
)));
4830 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4832 #line 4833 "src/parser_proc.c" /* glr.c:821 */
4836 #line 657 "src/parser_proc_grammar.y" /* glr.c:821 */
4838 (*(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
)));
4839 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4841 #line 4842 "src/parser_proc.c" /* glr.c:821 */
4845 #line 662 "src/parser_proc_grammar.y" /* glr.c:821 */
4850 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4851 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4852 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINED
, &exists
, 0));
4853 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4854 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4857 #line 4858 "src/parser_proc.c" /* glr.c:821 */
4861 #line 673 "src/parser_proc_grammar.y" /* glr.c:821 */
4866 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4867 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4868 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINED
, &exists
, 0));
4869 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4870 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4873 #line 4874 "src/parser_proc.c" /* glr.c:821 */
4877 #line 684 "src/parser_proc_grammar.y" /* glr.c:821 */
4879 (*(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
));
4880 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4881 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4883 #line 4884 "src/parser_proc.c" /* glr.c:821 */
4887 #line 689 "src/parser_proc_grammar.y" /* glr.c:821 */
4889 (*(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));
4890 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4891 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4893 #line 4894 "src/parser_proc.c" /* glr.c:821 */
4897 #line 694 "src/parser_proc_grammar.y" /* glr.c:821 */
4899 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4900 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4902 #line 4903 "src/parser_proc.c" /* glr.c:821 */
4906 #line 698 "src/parser_proc_grammar.y" /* glr.c:821 */
4908 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4909 (*(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));
4910 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4911 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4913 #line 4914 "src/parser_proc.c" /* glr.c:821 */
4917 #line 704 "src/parser_proc_grammar.y" /* glr.c:821 */
4919 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4920 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
4921 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));
4922 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4923 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4924 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->data
.call
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4926 #line 4927 "src/parser_proc.c" /* glr.c:821 */
4930 #line 715 "src/parser_proc_grammar.y" /* glr.c:821 */
4932 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4934 #line 4935 "src/parser_proc.c" /* glr.c:821 */
4938 #line 722 "src/parser_proc_grammar.y" /* glr.c:821 */
4940 /* TODO: clang include test macros */
4942 struct psi_num_exp
*exp
= psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &no
, 0));
4943 exp
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4944 exp
->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4945 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
), &exp
);
4947 #line 4948 "src/parser_proc.c" /* glr.c:821 */
4951 #line 730 "src/parser_proc_grammar.y" /* glr.c:821 */
4953 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
4954 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4956 #line 4957 "src/parser_proc.c" /* glr.c:821 */
4960 #line 734 "src/parser_proc_grammar.y" /* glr.c:821 */
4962 (*(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
)));
4964 #line 4965 "src/parser_proc.c" /* glr.c:821 */
4968 #line 740 "src/parser_proc_grammar.y" /* glr.c:821 */
4970 (*(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
)));
4971 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4973 #line 4974 "src/parser_proc.c" /* glr.c:821 */
4977 #line 744 "src/parser_proc_grammar.y" /* glr.c:821 */
4979 (*(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
)));
4980 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4982 #line 4983 "src/parser_proc.c" /* glr.c:821 */
4986 #line 751 "src/parser_proc_grammar.y" /* glr.c:821 */
4988 (*(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
);
4989 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4991 #line 4992 "src/parser_proc.c" /* glr.c:821 */
4995 #line 755 "src/parser_proc_grammar.y" /* glr.c:821 */
4997 (*(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
)));
4998 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5000 #line 5001 "src/parser_proc.c" /* glr.c:821 */
5004 #line 759 "src/parser_proc_grammar.y" /* glr.c:821 */
5006 (*(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
);
5007 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5009 #line 5010 "src/parser_proc.c" /* glr.c:821 */
5013 #line 772 "src/parser_proc_grammar.y" /* glr.c:821 */
5015 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5017 #line 5018 "src/parser_proc.c" /* glr.c:821 */
5021 #line 786 "src/parser_proc_grammar.y" /* glr.c:821 */
5023 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5025 #line 5026 "src/parser_proc.c" /* glr.c:821 */
5029 #line 792 "src/parser_proc_grammar.y" /* glr.c:821 */
5031 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5033 #line 5034 "src/parser_proc.c" /* glr.c:821 */
5037 #line 795 "src/parser_proc_grammar.y" /* glr.c:821 */
5039 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5041 #line 5042 "src/parser_proc.c" /* glr.c:821 */
5045 #line 801 "src/parser_proc_grammar.y" /* glr.c:821 */
5047 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5049 #line 5050 "src/parser_proc.c" /* glr.c:821 */
5053 #line 804 "src/parser_proc_grammar.y" /* glr.c:821 */
5055 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5057 #line 5058 "src/parser_proc.c" /* glr.c:821 */
5061 #line 811 "src/parser_proc_grammar.y" /* glr.c:821 */
5063 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5064 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5065 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5067 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5068 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5070 #line 5071 "src/parser_proc.c" /* glr.c:821 */
5074 #line 819 "src/parser_proc_grammar.y" /* glr.c:821 */
5076 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5077 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5078 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
5079 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
5081 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5082 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
5083 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5084 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5086 #line 5087 "src/parser_proc.c" /* glr.c:821 */
5090 #line 830 "src/parser_proc_grammar.y" /* glr.c:821 */
5092 (*(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
)));
5093 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
5094 (*(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
)));
5095 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5096 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
5097 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
5098 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
5100 #line 5101 "src/parser_proc.c" /* glr.c:821 */
5104 #line 839 "src/parser_proc_grammar.y" /* glr.c:821 */
5106 (*(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
)));
5107 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
5108 (*(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
)));
5109 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5110 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
5111 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
5112 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
5114 #line 5115 "src/parser_proc.c" /* glr.c:821 */
5118 #line 852 "src/parser_proc_grammar.y" /* glr.c:821 */
5120 (*(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));
5121 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5123 #line 5124 "src/parser_proc.c" /* glr.c:821 */
5127 #line 856 "src/parser_proc_grammar.y" /* glr.c:821 */
5129 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5130 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
5131 psi_decl_var_init(NULL
, 0, 0)
5133 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5134 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5135 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5136 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5138 #line 5139 "src/parser_proc.c" /* glr.c:821 */
5142 #line 866 "src/parser_proc_grammar.y" /* glr.c:821 */
5144 (*(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));
5145 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5146 (*(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
)));
5147 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5148 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5149 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5150 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
5152 #line 5153 "src/parser_proc.c" /* glr.c:821 */
5156 #line 875 "src/parser_proc_grammar.y" /* glr.c:821 */
5158 (*(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));
5159 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5160 (*(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
)));
5161 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5162 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5163 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5164 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
5166 #line 5167 "src/parser_proc.c" /* glr.c:821 */
5170 #line 888 "src/parser_proc_grammar.y" /* glr.c:821 */
5172 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5174 #line 5175 "src/parser_proc.c" /* glr.c:821 */
5178 #line 891 "src/parser_proc_grammar.y" /* glr.c:821 */
5180 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5182 #line 5183 "src/parser_proc.c" /* glr.c:821 */
5186 #line 902 "src/parser_proc_grammar.y" /* glr.c:821 */
5188 (*(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
);
5189 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5191 #line 5192 "src/parser_proc.c" /* glr.c:821 */
5195 #line 910 "src/parser_proc_grammar.y" /* glr.c:821 */
5197 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5198 (*(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
);
5199 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5201 #line 5202 "src/parser_proc.c" /* glr.c:821 */
5205 #line 915 "src/parser_proc_grammar.y" /* glr.c:821 */
5207 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5208 (*(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
);
5209 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5211 #line 5212 "src/parser_proc.c" /* glr.c:821 */
5215 #line 920 "src/parser_proc_grammar.y" /* glr.c:821 */
5217 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5218 (*(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
);
5219 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5221 #line 5222 "src/parser_proc.c" /* glr.c:821 */
5225 #line 930 "src/parser_proc_grammar.y" /* glr.c:821 */
5227 (*(struct psi_token
**)(&(*yyvalp
))) = 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 933 "src/parser_proc_grammar.y" /* glr.c:821 */
5235 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5237 #line 5238 "src/parser_proc.c" /* glr.c:821 */
5241 #line 939 "src/parser_proc_grammar.y" /* glr.c:821 */
5243 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5245 #line 5246 "src/parser_proc.c" /* glr.c:821 */
5249 #line 942 "src/parser_proc_grammar.y" /* glr.c:821 */
5251 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5253 #line 5254 "src/parser_proc.c" /* glr.c:821 */
5257 #line 945 "src/parser_proc_grammar.y" /* glr.c:821 */
5259 (*(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
)));
5261 #line 5262 "src/parser_proc.c" /* glr.c:821 */
5265 #line 956 "src/parser_proc_grammar.y" /* glr.c:821 */
5267 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5269 #line 5270 "src/parser_proc.c" /* glr.c:821 */
5273 #line 959 "src/parser_proc_grammar.y" /* glr.c:821 */
5275 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5277 #line 5278 "src/parser_proc.c" /* glr.c:821 */
5281 #line 962 "src/parser_proc_grammar.y" /* glr.c:821 */
5283 (*(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
)));
5285 #line 5286 "src/parser_proc.c" /* glr.c:821 */
5289 #line 968 "src/parser_proc_grammar.y" /* glr.c:821 */
5291 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5293 #line 5294 "src/parser_proc.c" /* glr.c:821 */
5297 #line 971 "src/parser_proc_grammar.y" /* glr.c:821 */
5299 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5301 #line 5302 "src/parser_proc.c" /* glr.c:821 */
5305 #line 974 "src/parser_proc_grammar.y" /* glr.c:821 */
5307 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5308 (*(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
)));
5309 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5311 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5314 #line 5315 "src/parser_proc.c" /* glr.c:821 */
5318 #line 982 "src/parser_proc_grammar.y" /* glr.c:821 */
5320 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5321 (*(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
)));
5322 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5323 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5325 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5328 #line 5329 "src/parser_proc.c" /* glr.c:821 */
5332 #line 994 "src/parser_proc_grammar.y" /* glr.c:821 */
5334 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5336 #line 5337 "src/parser_proc.c" /* glr.c:821 */
5340 #line 997 "src/parser_proc_grammar.y" /* glr.c:821 */
5342 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5344 #line 5345 "src/parser_proc.c" /* glr.c:821 */
5348 #line 1000 "src/parser_proc_grammar.y" /* glr.c:821 */
5350 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5352 #line 5353 "src/parser_proc.c" /* glr.c:821 */
5356 #line 1003 "src/parser_proc_grammar.y" /* glr.c:821 */
5358 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5359 (*(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
)));
5361 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5364 #line 5365 "src/parser_proc.c" /* glr.c:821 */
5368 #line 1010 "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 1013 "src/parser_proc_grammar.y" /* glr.c:821 */
5378 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5379 (*(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
)));
5381 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5384 #line 5385 "src/parser_proc.c" /* glr.c:821 */
5388 #line 1023 "src/parser_proc_grammar.y" /* glr.c:821 */
5390 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5392 #line 5393 "src/parser_proc.c" /* glr.c:821 */
5396 #line 1029 "src/parser_proc_grammar.y" /* glr.c:821 */
5398 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5400 #line 5401 "src/parser_proc.c" /* glr.c:821 */
5404 #line 1038 "src/parser_proc_grammar.y" /* glr.c:821 */
5406 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5408 #line 5409 "src/parser_proc.c" /* glr.c:821 */
5412 #line 1041 "src/parser_proc_grammar.y" /* glr.c:821 */
5414 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5416 #line 5417 "src/parser_proc.c" /* glr.c:821 */
5420 #line 1044 "src/parser_proc_grammar.y" /* glr.c:821 */
5422 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5423 (*(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
)));
5424 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5426 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5429 #line 5430 "src/parser_proc.c" /* glr.c:821 */
5433 #line 1055 "src/parser_proc_grammar.y" /* glr.c:821 */
5435 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5436 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5437 (*(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
);
5438 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5441 #line 5442 "src/parser_proc.c" /* glr.c:821 */
5445 #line 1062 "src/parser_proc_grammar.y" /* glr.c:821 */
5447 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5448 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5449 (*(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
);
5450 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5453 #line 5454 "src/parser_proc.c" /* glr.c:821 */
5457 #line 1072 "src/parser_proc_grammar.y" /* glr.c:821 */
5459 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5461 #line 5462 "src/parser_proc.c" /* glr.c:821 */
5465 #line 1075 "src/parser_proc_grammar.y" /* glr.c:821 */
5467 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5469 #line 5470 "src/parser_proc.c" /* glr.c:821 */
5473 #line 1081 "src/parser_proc_grammar.y" /* glr.c:821 */
5475 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5477 #line 5478 "src/parser_proc.c" /* glr.c:821 */
5481 #line 1084 "src/parser_proc_grammar.y" /* glr.c:821 */
5483 (*(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
)));
5484 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5486 #line 5487 "src/parser_proc.c" /* glr.c:821 */
5490 #line 1091 "src/parser_proc_grammar.y" /* glr.c:821 */
5492 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
5494 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))) {
5496 struct psi_decl_var
*var
;
5498 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), i
++, &var
)) {
5499 if (psi_decl_extvar_is_blacklisted(var
->name
->val
)) {
5500 psi_decl_var_free(&var
);
5502 struct psi_decl_extvar
*evar
= psi_decl_extvar_init(
5503 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
), var
));
5504 list
= psi_plist_add(list
, &evar
);
5507 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5510 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->var
->name
->val
)) {
5511 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5513 struct psi_decl_extvar
*evar
= psi_decl_extvar_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5515 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5516 evar
->redir
= zend_string_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5517 psi_token_free(&(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5519 list
= psi_plist_add(list
, &evar
);
5522 (*(struct psi_plist
**)(&(*yyvalp
))) = list
;
5524 #line 5525 "src/parser_proc.c" /* glr.c:821 */
5528 #line 1127 "src/parser_proc_grammar.y" /* glr.c:821 */
5530 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5532 #line 5533 "src/parser_proc.c" /* glr.c:821 */
5536 #line 1130 "src/parser_proc_grammar.y" /* glr.c:821 */
5538 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5540 #line 5541 "src/parser_proc.c" /* glr.c:821 */
5544 #line 1136 "src/parser_proc_grammar.y" /* glr.c:821 */
5546 (*(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
)));
5548 #line 5549 "src/parser_proc.c" /* glr.c:821 */
5552 #line 1139 "src/parser_proc_grammar.y" /* glr.c:821 */
5554 (*(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
)));
5556 #line 5557 "src/parser_proc.c" /* glr.c:821 */
5560 #line 1145 "src/parser_proc_grammar.y" /* glr.c:821 */
5562 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5564 #line 5565 "src/parser_proc.c" /* glr.c:821 */
5568 #line 1175 "src/parser_proc_grammar.y" /* glr.c:821 */
5570 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5571 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5573 #line 5574 "src/parser_proc.c" /* glr.c:821 */
5577 #line 1187 "src/parser_proc_grammar.y" /* glr.c:821 */
5579 (*(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
)));
5580 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5581 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5582 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5585 #line 5586 "src/parser_proc.c" /* glr.c:821 */
5589 #line 1194 "src/parser_proc_grammar.y" /* glr.c:821 */
5591 (*(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
)));
5592 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5593 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5594 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5595 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5598 #line 5599 "src/parser_proc.c" /* glr.c:821 */
5602 #line 1205 "src/parser_proc_grammar.y" /* glr.c:821 */
5604 (*(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
)));
5605 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5606 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5607 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5610 #line 5611 "src/parser_proc.c" /* glr.c:821 */
5614 #line 1212 "src/parser_proc_grammar.y" /* glr.c:821 */
5616 (*(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
)));
5617 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5618 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5619 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5620 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5623 #line 5624 "src/parser_proc.c" /* glr.c:821 */
5627 #line 1220 "src/parser_proc_grammar.y" /* glr.c:821 */
5629 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
));
5630 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5632 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))), 1, "rval");
5633 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));
5634 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5636 rval_func
->var
->token
= psi_token_copy(type_token
);
5637 rval_func
->token
= psi_token_copy(type_token
);
5638 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5639 rval_func
->var
->pointer_level
+= 1;
5640 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5643 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5644 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));
5646 type
->real
.func
= rval_decl
;
5647 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5648 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5650 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5652 #line 5653 "src/parser_proc.c" /* glr.c:821 */
5656 #line 1244 "src/parser_proc_grammar.y" /* glr.c:821 */
5658 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-12)].yystate
.yysemantics
.yysval
));
5659 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
));
5660 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5662 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))), 1, "rval");
5663 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));
5664 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5666 rval_func
->var
->token
= psi_token_copy(type_token
);
5667 rval_func
->token
= psi_token_copy(type_token
);
5668 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5669 rval_func
->var
->pointer_level
+= 1;
5670 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5673 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5674 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));
5676 type
->real
.func
= rval_decl
;
5677 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5678 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5679 type
->token
= type_token
;
5681 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5683 #line 5684 "src/parser_proc.c" /* glr.c:821 */
5687 #line 1273 "src/parser_proc_grammar.y" /* glr.c:821 */
5689 (*(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
)));
5690 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5691 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5692 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5695 #line 5696 "src/parser_proc.c" /* glr.c:821 */
5699 #line 1280 "src/parser_proc_grammar.y" /* glr.c:821 */
5701 (*(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
)));
5702 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5703 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5704 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5705 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5708 #line 5709 "src/parser_proc.c" /* glr.c:821 */
5712 #line 1291 "src/parser_proc_grammar.y" /* glr.c:821 */
5714 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5715 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5716 (*(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));
5717 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5718 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5720 #line 5721 "src/parser_proc.c" /* glr.c:821 */
5724 #line 1337 "src/parser_proc_grammar.y" /* glr.c:821 */
5726 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5727 (*(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));
5728 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5729 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5731 #line 5732 "src/parser_proc.c" /* glr.c:821 */
5735 #line 1393 "src/parser_proc_grammar.y" /* glr.c:821 */
5737 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5739 #line 5740 "src/parser_proc.c" /* glr.c:821 */
5743 #line 1396 "src/parser_proc_grammar.y" /* glr.c:821 */
5745 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5747 #line 5748 "src/parser_proc.c" /* glr.c:821 */
5751 #line 1399 "src/parser_proc_grammar.y" /* glr.c:821 */
5753 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5755 #line 5756 "src/parser_proc.c" /* glr.c:821 */
5759 #line 1405 "src/parser_proc_grammar.y" /* glr.c:821 */
5761 (*(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
)));
5763 #line 5764 "src/parser_proc.c" /* glr.c:821 */
5767 #line 1408 "src/parser_proc_grammar.y" /* glr.c:821 */
5769 (*(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
)));
5771 #line 5772 "src/parser_proc.c" /* glr.c:821 */
5775 #line 1414 "src/parser_proc_grammar.y" /* glr.c:821 */
5778 struct psi_token
*name
;
5780 psi_token_hash((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
, digest
);
5781 name
= psi_token_append("@", psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
), 2, "funct", digest
);
5783 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5784 psi_decl_type_init(PSI_T_FUNCTION
, name
->text
),
5785 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5787 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= name
;
5788 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5789 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5791 #line 5792 "src/parser_proc.c" /* glr.c:821 */
5795 #line 1429 "src/parser_proc_grammar.y" /* glr.c:821 */
5797 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5799 #line 5800 "src/parser_proc.c" /* glr.c:821 */
5803 #line 1432 "src/parser_proc_grammar.y" /* glr.c:821 */
5805 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5806 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)),
5807 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
)))
5810 #line 5811 "src/parser_proc.c" /* glr.c:821 */
5814 #line 1461 "src/parser_proc_grammar.y" /* glr.c:821 */
5816 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5817 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5818 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5820 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5821 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5823 #line 5824 "src/parser_proc.c" /* glr.c:821 */
5827 #line 1469 "src/parser_proc_grammar.y" /* glr.c:821 */
5829 (*(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
)));
5831 #line 5832 "src/parser_proc.c" /* glr.c:821 */
5835 #line 1497 "src/parser_proc_grammar.y" /* glr.c:821 */
5837 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5838 (*(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
)));
5839 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5841 #line 5842 "src/parser_proc.c" /* glr.c:821 */
5845 #line 1502 "src/parser_proc_grammar.y" /* glr.c:821 */
5847 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5848 (*(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
)));
5849 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5851 #line 5852 "src/parser_proc.c" /* glr.c:821 */
5855 #line 1510 "src/parser_proc_grammar.y" /* glr.c:821 */
5857 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5858 (*(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
)));
5859 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5860 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5861 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5863 #line 5864 "src/parser_proc.c" /* glr.c:821 */
5867 #line 1520 "src/parser_proc_grammar.y" /* glr.c:821 */
5869 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5870 (*(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
)));
5871 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5872 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5873 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5875 #line 5876 "src/parser_proc.c" /* glr.c:821 */
5879 #line 1530 "src/parser_proc_grammar.y" /* glr.c:821 */
5881 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5883 #line 5884 "src/parser_proc.c" /* glr.c:821 */
5887 #line 1537 "src/parser_proc_grammar.y" /* glr.c:821 */
5889 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5891 #line 5892 "src/parser_proc.c" /* glr.c:821 */
5895 #line 1543 "src/parser_proc_grammar.y" /* glr.c:821 */
5897 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5898 (*(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
)));
5899 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5901 struct psi_decl_arg
*arg
;
5903 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5904 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5905 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5907 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5910 #line 5911 "src/parser_proc.c" /* glr.c:821 */
5914 #line 1557 "src/parser_proc_grammar.y" /* glr.c:821 */
5916 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5917 (*(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
)));
5918 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5920 struct psi_decl_arg
*arg
;
5922 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5923 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5924 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5926 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5929 #line 5930 "src/parser_proc.c" /* glr.c:821 */
5933 #line 1574 "src/parser_proc_grammar.y" /* glr.c:821 */
5935 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5937 #line 5938 "src/parser_proc.c" /* glr.c:821 */
5941 #line 1577 "src/parser_proc_grammar.y" /* glr.c:821 */
5943 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5945 #line 5946 "src/parser_proc.c" /* glr.c:821 */
5949 #line 1583 "src/parser_proc_grammar.y" /* glr.c:821 */
5952 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5953 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5954 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
5957 #line 5958 "src/parser_proc.c" /* glr.c:821 */
5961 #line 1590 "src/parser_proc_grammar.y" /* glr.c:821 */
5964 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5965 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5966 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
5969 #line 5970 "src/parser_proc.c" /* glr.c:821 */
5973 #line 1597 "src/parser_proc_grammar.y" /* glr.c:821 */
5976 struct psi_decl_var
*var
= psi_decl_var_init(NULL
, 0, 0);
5977 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, var
);
5978 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5979 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
5982 #line 5983 "src/parser_proc.c" /* glr.c:821 */
5986 #line 1605 "src/parser_proc_grammar.y" /* glr.c:821 */
5989 struct psi_decl_var
*var
= psi_decl_var_init(NULL
, 0, 0);
5990 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, var
);
5991 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5992 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &arg
);
5995 #line 5996 "src/parser_proc.c" /* glr.c:821 */
5999 #line 1616 "src/parser_proc_grammar.y" /* glr.c:821 */
6001 (*(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
)));
6002 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
6004 #line 6005 "src/parser_proc.c" /* glr.c:821 */
6008 #line 1623 "src/parser_proc_grammar.y" /* glr.c:821 */
6010 (*(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
)));
6012 #line 6013 "src/parser_proc.c" /* glr.c:821 */
6016 #line 1626 "src/parser_proc_grammar.y" /* glr.c:821 */
6018 (*(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
)));
6020 #line 6021 "src/parser_proc.c" /* glr.c:821 */
6024 #line 1632 "src/parser_proc_grammar.y" /* glr.c:821 */
6026 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6027 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
6028 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6030 #line 6031 "src/parser_proc.c" /* glr.c:821 */
6034 #line 1637 "src/parser_proc_grammar.y" /* glr.c:821 */
6036 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6037 (*(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
)));
6038 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6040 #line 6041 "src/parser_proc.c" /* glr.c:821 */
6044 #line 1645 "src/parser_proc_grammar.y" /* glr.c:821 */
6046 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6047 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6049 #line 6050 "src/parser_proc.c" /* glr.c:821 */
6053 #line 1649 "src/parser_proc_grammar.y" /* glr.c:821 */
6055 (*(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
)));
6056 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
6058 #line 6059 "src/parser_proc.c" /* glr.c:821 */
6062 #line 1653 "src/parser_proc_grammar.y" /* glr.c:821 */
6064 (*(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
)));
6065 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6067 #line 6068 "src/parser_proc.c" /* glr.c:821 */
6071 #line 1657 "src/parser_proc_grammar.y" /* glr.c:821 */
6073 (*(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
)));
6074 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6076 #line 6077 "src/parser_proc.c" /* glr.c:821 */
6080 #line 1661 "src/parser_proc_grammar.y" /* glr.c:821 */
6082 (*(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
)));
6083 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6085 #line 6086 "src/parser_proc.c" /* glr.c:821 */
6089 #line 1665 "src/parser_proc_grammar.y" /* glr.c:821 */
6091 (*(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
)));
6092 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6094 #line 6095 "src/parser_proc.c" /* glr.c:821 */
6098 #line 1672 "src/parser_proc_grammar.y" /* glr.c:821 */
6100 (*(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
);
6101 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6103 #line 6104 "src/parser_proc.c" /* glr.c:821 */
6107 #line 1676 "src/parser_proc_grammar.y" /* glr.c:821 */
6109 (*(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);
6110 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6112 #line 6113 "src/parser_proc.c" /* glr.c:821 */
6116 #line 1680 "src/parser_proc_grammar.y" /* glr.c:821 */
6118 (*(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);
6119 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6121 #line 6122 "src/parser_proc.c" /* glr.c:821 */
6125 #line 1684 "src/parser_proc_grammar.y" /* glr.c:821 */
6127 (*(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);
6128 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6130 #line 6131 "src/parser_proc.c" /* glr.c:821 */
6134 #line 1688 "src/parser_proc_grammar.y" /* glr.c:821 */
6136 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
6137 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6139 #line 6140 "src/parser_proc.c" /* glr.c:821 */
6143 #line 1692 "src/parser_proc_grammar.y" /* glr.c:821 */
6145 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6147 #line 6148 "src/parser_proc.c" /* glr.c:821 */
6151 #line 1698 "src/parser_proc_grammar.y" /* glr.c:821 */
6153 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6154 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6156 #line 6157 "src/parser_proc.c" /* glr.c:821 */
6160 #line 1702 "src/parser_proc_grammar.y" /* glr.c:821 */
6162 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6163 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6165 #line 6166 "src/parser_proc.c" /* glr.c:821 */
6169 #line 1709 "src/parser_proc_grammar.y" /* glr.c:821 */
6171 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6173 #line 6174 "src/parser_proc.c" /* glr.c:821 */
6177 #line 1712 "src/parser_proc_grammar.y" /* glr.c:821 */
6179 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6180 int8_t sizeof_void_p
= sizeof(void *);
6181 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
6182 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6184 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
6187 #line 6188 "src/parser_proc.c" /* glr.c:821 */
6191 #line 1724 "src/parser_proc_grammar.y" /* glr.c:821 */
6193 int8_t sizeof_void_p
= sizeof(void *);
6194 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
6196 #line 6197 "src/parser_proc.c" /* glr.c:821 */
6200 #line 1728 "src/parser_proc_grammar.y" /* glr.c:821 */
6202 int8_t sizeof_a
= sizeof('a');
6203 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
6205 #line 6206 "src/parser_proc.c" /* glr.c:821 */
6209 #line 1732 "src/parser_proc_grammar.y" /* glr.c:821 */
6211 uint64_t len
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
->len
+ 1;
6212 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_UINT64
, &len
, 0);
6214 #line 6215 "src/parser_proc.c" /* glr.c:821 */
6218 #line 1739 "src/parser_proc_grammar.y" /* glr.c:821 */
6220 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6221 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6225 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6226 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6229 #line 6230 "src/parser_proc.c" /* glr.c:821 */
6233 #line 1752 "src/parser_proc_grammar.y" /* glr.c:821 */
6235 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6236 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6240 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6241 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6244 #line 6245 "src/parser_proc.c" /* glr.c:821 */
6248 #line 1765 "src/parser_proc_grammar.y" /* glr.c:821 */
6250 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6251 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6255 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6256 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6259 #line 6260 "src/parser_proc.c" /* glr.c:821 */
6263 #line 1778 "src/parser_proc_grammar.y" /* glr.c:821 */
6265 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
6267 #line 6268 "src/parser_proc.c" /* glr.c:821 */
6271 #line 1781 "src/parser_proc_grammar.y" /* glr.c:821 */
6273 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6274 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
6276 #line 6277 "src/parser_proc.c" /* glr.c:821 */
6280 #line 1793 "src/parser_proc_grammar.y" /* glr.c:821 */
6282 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
6284 #line 6285 "src/parser_proc.c" /* glr.c:821 */
6288 #line 1796 "src/parser_proc_grammar.y" /* glr.c:821 */
6290 (*(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
));
6292 #line 6293 "src/parser_proc.c" /* glr.c:821 */
6296 #line 1799 "src/parser_proc_grammar.y" /* glr.c:821 */
6298 (*(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
);
6300 #line 6301 "src/parser_proc.c" /* glr.c:821 */
6304 #line 1802 "src/parser_proc_grammar.y" /* glr.c:821 */
6306 (*(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
));
6308 #line 6309 "src/parser_proc.c" /* glr.c:821 */
6312 #line 1808 "src/parser_proc_grammar.y" /* glr.c:821 */
6314 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
6315 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
6317 #line 6318 "src/parser_proc.c" /* glr.c:821 */
6321 #line 1812 "src/parser_proc_grammar.y" /* glr.c:821 */
6323 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
->val
);
6324 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
->val
);
6326 #line 6327 "src/parser_proc.c" /* glr.c:821 */
6330 #line 1819 "src/parser_proc_grammar.y" /* glr.c:821 */
6332 (*(size_t*)(&(*yyvalp
))) = 0;
6334 #line 6335 "src/parser_proc.c" /* glr.c:821 */
6338 #line 1822 "src/parser_proc_grammar.y" /* glr.c:821 */
6340 (*(size_t*)(&(*yyvalp
))) = 0;
6342 #line 6343 "src/parser_proc.c" /* glr.c:821 */
6346 #line 1825 "src/parser_proc_grammar.y" /* glr.c:821 */
6348 struct psi_validate_scope scope
= {0};
6349 psi_validate_scope_ctor(&scope
);
6350 scope
.cpp
= P
->preproc
;
6351 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &scope
)) {
6352 (*(size_t*)(&(*yyvalp
))) = psi_num_exp_get_long((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, P
->preproc
);
6354 (*(size_t*)(&(*yyvalp
))) = 0;
6356 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6357 psi_validate_scope_dtor(&scope
);
6359 #line 6360 "src/parser_proc.c" /* glr.c:821 */
6363 #line 1847 "src/parser_proc_grammar.y" /* glr.c:821 */
6365 (*(size_t*)(&(*yyvalp
))) = 0;
6367 #line 6368 "src/parser_proc.c" /* glr.c:821 */
6371 #line 1850 "src/parser_proc_grammar.y" /* glr.c:821 */
6373 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6375 #line 6376 "src/parser_proc.c" /* glr.c:821 */
6379 #line 1857 "src/parser_proc_grammar.y" /* glr.c:821 */
6381 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6383 #line 6384 "src/parser_proc.c" /* glr.c:821 */
6387 #line 1863 "src/parser_proc_grammar.y" /* glr.c:821 */
6389 (*(size_t*)(&(*yyvalp
))) = 1;
6391 #line 6392 "src/parser_proc.c" /* glr.c:821 */
6395 #line 1866 "src/parser_proc_grammar.y" /* glr.c:821 */
6397 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
6399 #line 6400 "src/parser_proc.c" /* glr.c:821 */
6403 #line 1888 "src/parser_proc_grammar.y" /* glr.c:821 */
6405 (*(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
)));
6407 #line 6408 "src/parser_proc.c" /* glr.c:821 */
6411 #line 1891 "src/parser_proc_grammar.y" /* glr.c:821 */
6413 (*(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
)));
6414 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6416 #line 6417 "src/parser_proc.c" /* glr.c:821 */
6420 #line 1898 "src/parser_proc_grammar.y" /* glr.c:821 */
6422 (*(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
)));
6423 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6424 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
6426 #line 6427 "src/parser_proc.c" /* glr.c:821 */
6430 #line 1903 "src/parser_proc_grammar.y" /* glr.c:821 */
6432 (*(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
)));
6433 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6434 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
6436 #line 6437 "src/parser_proc.c" /* glr.c:821 */
6440 #line 1908 "src/parser_proc_grammar.y" /* glr.c:821 */
6442 (*(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
)));
6443 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
6444 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
6445 (*(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
);
6446 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6448 #line 6449 "src/parser_proc.c" /* glr.c:821 */
6452 #line 1918 "src/parser_proc_grammar.y" /* glr.c:821 */
6454 (*(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
)));
6456 #line 6457 "src/parser_proc.c" /* glr.c:821 */
6460 #line 1921 "src/parser_proc_grammar.y" /* glr.c:821 */
6462 (*(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
)));
6464 #line 6465 "src/parser_proc.c" /* glr.c:821 */
6468 #line 1927 "src/parser_proc_grammar.y" /* glr.c:821 */
6470 (*(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
);
6472 #line 6473 "src/parser_proc.c" /* glr.c:821 */
6476 #line 1930 "src/parser_proc_grammar.y" /* glr.c:821 */
6478 (*(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
)));
6480 #line 6481 "src/parser_proc.c" /* glr.c:821 */
6484 #line 1936 "src/parser_proc_grammar.y" /* glr.c:821 */
6486 (*(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
)));
6487 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6489 #line 6490 "src/parser_proc.c" /* glr.c:821 */
6493 #line 1943 "src/parser_proc_grammar.y" /* glr.c:821 */
6495 (*(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
);
6496 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6498 #line 6499 "src/parser_proc.c" /* glr.c:821 */
6502 #line 1950 "src/parser_proc_grammar.y" /* glr.c:821 */
6504 (*(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
);
6505 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6507 #line 6508 "src/parser_proc.c" /* glr.c:821 */
6511 #line 1977 "src/parser_proc_grammar.y" /* glr.c:821 */
6513 (*(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
)));
6515 #line 6516 "src/parser_proc.c" /* glr.c:821 */
6519 #line 1980 "src/parser_proc_grammar.y" /* glr.c:821 */
6521 (*(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
)));
6523 #line 6524 "src/parser_proc.c" /* glr.c:821 */
6527 #line 1986 "src/parser_proc_grammar.y" /* glr.c:821 */
6529 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6531 #line 6532 "src/parser_proc.c" /* glr.c:821 */
6535 #line 1989 "src/parser_proc_grammar.y" /* glr.c:821 */
6537 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6539 #line 6540 "src/parser_proc.c" /* glr.c:821 */
6543 #line 1992 "src/parser_proc_grammar.y" /* glr.c:821 */
6545 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6547 #line 6548 "src/parser_proc.c" /* glr.c:821 */
6551 #line 1995 "src/parser_proc_grammar.y" /* glr.c:821 */
6553 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6555 #line 6556 "src/parser_proc.c" /* glr.c:821 */
6559 #line 1998 "src/parser_proc_grammar.y" /* glr.c:821 */
6561 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6563 #line 6564 "src/parser_proc.c" /* glr.c:821 */
6567 #line 2004 "src/parser_proc_grammar.y" /* glr.c:821 */
6569 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6570 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6572 #line 6573 "src/parser_proc.c" /* glr.c:821 */
6576 #line 2008 "src/parser_proc_grammar.y" /* glr.c:821 */
6578 (*(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
))));
6579 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6580 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6582 #line 6583 "src/parser_proc.c" /* glr.c:821 */
6586 #line 2017 "src/parser_proc_grammar.y" /* glr.c:821 */
6588 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6589 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
6591 #line 6592 "src/parser_proc.c" /* glr.c:821 */
6595 #line 2021 "src/parser_proc_grammar.y" /* glr.c:821 */
6597 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6598 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
6600 #line 6601 "src/parser_proc.c" /* glr.c:821 */
6604 #line 2028 "src/parser_proc_grammar.y" /* glr.c:821 */
6606 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
6608 #line 6609 "src/parser_proc.c" /* glr.c:821 */
6612 #line 2031 "src/parser_proc_grammar.y" /* glr.c:821 */
6614 (*(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
)));
6616 #line 6617 "src/parser_proc.c" /* glr.c:821 */
6620 #line 2034 "src/parser_proc_grammar.y" /* glr.c:821 */
6622 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6624 #line 6625 "src/parser_proc.c" /* glr.c:821 */
6628 #line 2037 "src/parser_proc_grammar.y" /* glr.c:821 */
6630 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6631 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6633 #line 6634 "src/parser_proc.c" /* glr.c:821 */
6637 #line 2041 "src/parser_proc_grammar.y" /* glr.c:821 */
6639 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6641 #line 6642 "src/parser_proc.c" /* glr.c:821 */
6645 #line 2044 "src/parser_proc_grammar.y" /* glr.c:821 */
6647 (*(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
)));
6649 #line 6650 "src/parser_proc.c" /* glr.c:821 */
6653 #line 2050 "src/parser_proc_grammar.y" /* glr.c:821 */
6655 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6656 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6658 #line 6659 "src/parser_proc.c" /* glr.c:821 */
6662 #line 2054 "src/parser_proc_grammar.y" /* glr.c:821 */
6664 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6665 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
6666 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
6668 #line 6669 "src/parser_proc.c" /* glr.c:821 */
6672 #line 2062 "src/parser_proc_grammar.y" /* glr.c:821 */
6674 (*(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
)));
6675 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6677 #line 6678 "src/parser_proc.c" /* glr.c:821 */
6681 #line 2069 "src/parser_proc_grammar.y" /* glr.c:821 */
6683 (*(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
);
6684 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6685 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
6687 #line 6688 "src/parser_proc.c" /* glr.c:821 */
6691 #line 2074 "src/parser_proc_grammar.y" /* glr.c:821 */
6693 (*(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
)));
6694 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6695 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
6697 #line 6698 "src/parser_proc.c" /* glr.c:821 */
6701 #line 2082 "src/parser_proc_grammar.y" /* glr.c:821 */
6703 (*(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
)));
6704 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6705 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6707 #line 6708 "src/parser_proc.c" /* glr.c:821 */
6711 #line 2103 "src/parser_proc_grammar.y" /* glr.c:821 */
6713 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6715 #line 6716 "src/parser_proc.c" /* glr.c:821 */
6719 #line 2106 "src/parser_proc_grammar.y" /* glr.c:821 */
6721 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6723 #line 6724 "src/parser_proc.c" /* glr.c:821 */
6727 #line 2112 "src/parser_proc_grammar.y" /* glr.c:821 */
6729 (*(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
)));
6731 #line 6732 "src/parser_proc.c" /* glr.c:821 */
6735 #line 2115 "src/parser_proc_grammar.y" /* glr.c:821 */
6737 (*(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
)));
6739 #line 6740 "src/parser_proc.c" /* glr.c:821 */
6743 #line 2126 "src/parser_proc_grammar.y" /* glr.c:821 */
6745 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6747 #line 6748 "src/parser_proc.c" /* glr.c:821 */
6751 #line 2129 "src/parser_proc_grammar.y" /* glr.c:821 */
6753 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6755 #line 6756 "src/parser_proc.c" /* glr.c:821 */
6759 #line 2135 "src/parser_proc_grammar.y" /* glr.c:821 */
6761 (*(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
)));
6763 #line 6764 "src/parser_proc.c" /* glr.c:821 */
6767 #line 2138 "src/parser_proc_grammar.y" /* glr.c:821 */
6769 (*(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
)));
6771 #line 6772 "src/parser_proc.c" /* glr.c:821 */
6775 #line 2144 "src/parser_proc_grammar.y" /* glr.c:821 */
6777 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6778 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6780 #line 6781 "src/parser_proc.c" /* glr.c:821 */
6784 #line 2151 "src/parser_proc_grammar.y" /* glr.c:821 */
6786 (*(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
))));
6787 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
6789 #line 6790 "src/parser_proc.c" /* glr.c:821 */
6793 #line 2155 "src/parser_proc_grammar.y" /* glr.c:821 */
6795 (*(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
))));
6796 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6798 #line 6799 "src/parser_proc.c" /* glr.c:821 */
6802 #line 2162 "src/parser_proc_grammar.y" /* glr.c:821 */
6804 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6806 #line 6807 "src/parser_proc.c" /* glr.c:821 */
6810 #line 2165 "src/parser_proc_grammar.y" /* glr.c:821 */
6812 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6814 #line 6815 "src/parser_proc.c" /* glr.c:821 */
6818 #line 2168 "src/parser_proc_grammar.y" /* glr.c:821 */
6820 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6822 #line 6823 "src/parser_proc.c" /* glr.c:821 */
6826 #line 2174 "src/parser_proc_grammar.y" /* glr.c:821 */
6828 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6829 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6831 #line 6832 "src/parser_proc.c" /* glr.c:821 */
6835 #line 2181 "src/parser_proc_grammar.y" /* glr.c:821 */
6837 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6839 #line 6840 "src/parser_proc.c" /* glr.c:821 */
6843 #line 2184 "src/parser_proc_grammar.y" /* glr.c:821 */
6845 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6847 #line 6848 "src/parser_proc.c" /* glr.c:821 */
6851 #line 2187 "src/parser_proc_grammar.y" /* glr.c:821 */
6853 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6854 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6856 #line 6857 "src/parser_proc.c" /* glr.c:821 */
6860 #line 2194 "src/parser_proc_grammar.y" /* glr.c:821 */
6862 (*(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
)));
6863 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6864 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6866 #line 6867 "src/parser_proc.c" /* glr.c:821 */
6870 #line 2199 "src/parser_proc_grammar.y" /* glr.c:821 */
6872 (*(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
)));
6873 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6874 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
6876 #line 6877 "src/parser_proc.c" /* glr.c:821 */
6880 #line 2218 "src/parser_proc_grammar.y" /* glr.c:821 */
6882 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6884 #line 6885 "src/parser_proc.c" /* glr.c:821 */
6888 #line 2221 "src/parser_proc_grammar.y" /* glr.c:821 */
6890 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6892 #line 6893 "src/parser_proc.c" /* glr.c:821 */
6896 #line 2227 "src/parser_proc_grammar.y" /* glr.c:821 */
6898 (*(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
)));
6900 #line 6901 "src/parser_proc.c" /* glr.c:821 */
6904 #line 2230 "src/parser_proc_grammar.y" /* glr.c:821 */
6906 (*(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
)));
6908 #line 6909 "src/parser_proc.c" /* glr.c:821 */
6912 #line 2236 "src/parser_proc_grammar.y" /* glr.c:821 */
6914 (*(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
)));
6915 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6917 #line 6918 "src/parser_proc.c" /* glr.c:821 */
6921 #line 2248 "src/parser_proc_grammar.y" /* glr.c:821 */
6923 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6924 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6926 #line 6927 "src/parser_proc.c" /* glr.c:821 */
6930 #line 2255 "src/parser_proc_grammar.y" /* glr.c:821 */
6932 (*(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
)));
6934 #line 6935 "src/parser_proc.c" /* glr.c:821 */
6938 #line 2258 "src/parser_proc_grammar.y" /* glr.c:821 */
6940 (*(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
)));
6942 #line 6943 "src/parser_proc.c" /* glr.c:821 */
6946 #line 2264 "src/parser_proc_grammar.y" /* glr.c:821 */
6948 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6949 (*(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
)));
6950 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6952 #line 6953 "src/parser_proc.c" /* glr.c:821 */
6956 #line 2272 "src/parser_proc_grammar.y" /* glr.c:821 */
6958 (*(bool*)(&(*yyvalp
))) = false;
6960 #line 6961 "src/parser_proc.c" /* glr.c:821 */
6964 #line 2275 "src/parser_proc_grammar.y" /* glr.c:821 */
6966 (*(bool*)(&(*yyvalp
))) = true;
6968 #line 6969 "src/parser_proc.c" /* glr.c:821 */
6972 #line 6973 "src/parser_proc.c" /* glr.c:821 */
6983 # undef YYRECOVERING
6988 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
7000 /* Bison grammar-table manipulation. */
7002 /*-----------------------------------------------.
7003 | Release the memory associated to this symbol. |
7004 `-----------------------------------------------*/
7007 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7015 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
7017 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
7020 case 141: /* binary_op_token */
7021 #line 290 "src/parser_proc_grammar.y" /* glr.c:851 */
7023 #line 7024 "src/parser_proc.c" /* glr.c:851 */
7026 case 142: /* unary_op_token */
7027 #line 290 "src/parser_proc_grammar.y" /* glr.c:851 */
7029 #line 7030 "src/parser_proc.c" /* glr.c:851 */
7032 case 143: /* name_token */
7033 #line 290 "src/parser_proc_grammar.y" /* glr.c:851 */
7035 #line 7036 "src/parser_proc.c" /* glr.c:851 */
7038 case 144: /* any_noeol_token */
7039 #line 290 "src/parser_proc_grammar.y" /* glr.c:851 */
7041 #line 7042 "src/parser_proc.c" /* glr.c:851 */
7045 #line 284 "src/parser_proc_grammar.y" /* glr.c:851 */
7046 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7047 #line 7048 "src/parser_proc.c" /* glr.c:851 */
7051 #line 299 "src/parser_proc_grammar.y" /* glr.c:851 */
7052 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
7053 #line 7054 "src/parser_proc.c" /* glr.c:851 */
7056 case 151: /* cpp_exp */
7057 #line 299 "src/parser_proc_grammar.y" /* glr.c:851 */
7058 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
7059 #line 7060 "src/parser_proc.c" /* glr.c:851 */
7062 case 153: /* cpp_message_token */
7063 #line 287 "src/parser_proc_grammar.y" /* glr.c:851 */
7065 #line 7066 "src/parser_proc.c" /* glr.c:851 */
7068 case 154: /* cpp_include_token */
7069 #line 287 "src/parser_proc_grammar.y" /* glr.c:851 */
7071 #line 7072 "src/parser_proc.c" /* glr.c:851 */
7074 case 155: /* cpp_header_token */
7075 #line 287 "src/parser_proc_grammar.y" /* glr.c:851 */
7077 #line 7078 "src/parser_proc.c" /* glr.c:851 */
7080 case 156: /* cpp_no_arg_token */
7081 #line 287 "src/parser_proc_grammar.y" /* glr.c:851 */
7083 #line 7084 "src/parser_proc.c" /* glr.c:851 */
7086 case 157: /* cpp_name_arg_token */
7087 #line 287 "src/parser_proc_grammar.y" /* glr.c:851 */
7089 #line 7090 "src/parser_proc.c" /* glr.c:851 */
7092 case 158: /* cpp_exp_arg_token */
7093 #line 287 "src/parser_proc_grammar.y" /* glr.c:851 */
7095 #line 7096 "src/parser_proc.c" /* glr.c:851 */
7098 case 159: /* cpp_macro_decl */
7099 #line 301 "src/parser_proc_grammar.y" /* glr.c:851 */
7100 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
7101 #line 7102 "src/parser_proc.c" /* glr.c:851 */
7104 case 160: /* cpp_macro_sig */
7105 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7106 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7107 #line 7108 "src/parser_proc.c" /* glr.c:851 */
7110 case 161: /* cpp_macro_sig_args */
7111 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7112 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7113 #line 7114 "src/parser_proc.c" /* glr.c:851 */
7116 case 162: /* cpp_macro_decl_tokens */
7117 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7118 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7119 #line 7120 "src/parser_proc.c" /* glr.c:851 */
7122 case 163: /* cpp_macro_decl_token_list */
7123 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7124 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7125 #line 7126 "src/parser_proc.c" /* glr.c:851 */
7128 case 164: /* cpp_macro_exp */
7129 #line 305 "src/parser_proc_grammar.y" /* glr.c:851 */
7130 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7131 #line 7132 "src/parser_proc.c" /* glr.c:851 */
7134 case 165: /* cpp_macro_call_args */
7135 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7136 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7137 #line 7138 "src/parser_proc.c" /* glr.c:851 */
7140 case 166: /* cpp_macro_call_arg_list */
7141 #line 303 "src/parser_proc_grammar.y" /* glr.c:851 */
7142 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7143 #line 7144 "src/parser_proc.c" /* glr.c:851 */
7146 case 167: /* constant */
7147 #line 311 "src/parser_proc_grammar.y" /* glr.c:851 */
7148 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
7149 #line 7150 "src/parser_proc.c" /* glr.c:851 */
7152 case 168: /* impl_def_val */
7153 #line 313 "src/parser_proc_grammar.y" /* glr.c:851 */
7154 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
7155 #line 7156 "src/parser_proc.c" /* glr.c:851 */
7158 case 169: /* impl_def_val_token */
7159 #line 308 "src/parser_proc_grammar.y" /* glr.c:851 */
7161 #line 7162 "src/parser_proc.c" /* glr.c:851 */
7164 case 170: /* decl_typedef */
7165 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7166 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7167 #line 7168 "src/parser_proc.c" /* glr.c:851 */
7170 case 171: /* typedef */
7171 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7172 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7173 #line 7174 "src/parser_proc.c" /* glr.c:851 */
7176 case 172: /* typedef_anon */
7177 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7178 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7179 #line 7180 "src/parser_proc.c" /* glr.c:851 */
7182 case 173: /* typedef_decl */
7183 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7184 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7185 #line 7186 "src/parser_proc.c" /* glr.c:851 */
7188 case 174: /* typedef_anon_decl */
7189 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7190 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7191 #line 7192 "src/parser_proc.c" /* glr.c:851 */
7194 case 175: /* qualified_decl_type */
7195 #line 322 "src/parser_proc_grammar.y" /* glr.c:851 */
7196 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7197 #line 7198 "src/parser_proc.c" /* glr.c:851 */
7200 case 177: /* decl_type */
7201 #line 322 "src/parser_proc_grammar.y" /* glr.c:851 */
7202 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7203 #line 7204 "src/parser_proc.c" /* glr.c:851 */
7206 case 178: /* decl_type_complex */
7207 #line 322 "src/parser_proc_grammar.y" /* glr.c:851 */
7208 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
7209 #line 7210 "src/parser_proc.c" /* glr.c:851 */
7212 case 179: /* decl_type_simple */
7213 #line 316 "src/parser_proc_grammar.y" /* glr.c:851 */
7214 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7215 #line 7216 "src/parser_proc.c" /* glr.c:851 */
7218 case 180: /* decl_real_type */
7219 #line 316 "src/parser_proc_grammar.y" /* glr.c:851 */
7220 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7221 #line 7222 "src/parser_proc.c" /* glr.c:851 */
7224 case 181: /* int_signed */
7225 #line 296 "src/parser_proc_grammar.y" /* glr.c:851 */
7227 #line 7228 "src/parser_proc.c" /* glr.c:851 */
7230 case 182: /* int_width */
7231 #line 293 "src/parser_proc_grammar.y" /* glr.c:851 */
7232 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7233 #line 7234 "src/parser_proc.c" /* glr.c:851 */
7236 case 183: /* decl_int_type */
7237 #line 316 "src/parser_proc_grammar.y" /* glr.c:851 */
7238 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7239 #line 7240 "src/parser_proc.c" /* glr.c:851 */
7242 case 184: /* int_signed_types */
7243 #line 293 "src/parser_proc_grammar.y" /* glr.c:851 */
7244 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7245 #line 7246 "src/parser_proc.c" /* glr.c:851 */
7248 case 185: /* signed_short_types */
7249 #line 296 "src/parser_proc_grammar.y" /* glr.c:851 */
7251 #line 7252 "src/parser_proc.c" /* glr.c:851 */
7254 case 186: /* signed_long_types */
7255 #line 296 "src/parser_proc_grammar.y" /* glr.c:851 */
7257 #line 7258 "src/parser_proc.c" /* glr.c:851 */
7260 case 187: /* int_width_types */
7261 #line 293 "src/parser_proc_grammar.y" /* glr.c:851 */
7262 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7263 #line 7264 "src/parser_proc.c" /* glr.c:851 */
7266 case 188: /* decl_stmt */
7267 #line 324 "src/parser_proc_grammar.y" /* glr.c:851 */
7268 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7269 #line 7270 "src/parser_proc.c" /* glr.c:851 */
7272 case 189: /* decl_asm */
7273 #line 319 "src/parser_proc_grammar.y" /* glr.c:851 */
7274 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7275 #line 7276 "src/parser_proc.c" /* glr.c:851 */
7278 case 190: /* quoted_strings */
7279 #line 319 "src/parser_proc_grammar.y" /* glr.c:851 */
7280 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7281 #line 7282 "src/parser_proc.c" /* glr.c:851 */
7284 case 191: /* decl_extvar_stmt */
7285 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7286 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7287 #line 7288 "src/parser_proc.c" /* glr.c:851 */
7290 case 192: /* decl_extvar_list */
7291 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7292 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7293 #line 7294 "src/parser_proc.c" /* glr.c:851 */
7296 case 193: /* decl_vars */
7297 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7298 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7299 #line 7300 "src/parser_proc.c" /* glr.c:851 */
7302 case 194: /* ignored_decl */
7303 #line 324 "src/parser_proc_grammar.y" /* glr.c:851 */
7304 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7305 #line 7306 "src/parser_proc.c" /* glr.c:851 */
7308 case 199: /* decl */
7309 #line 324 "src/parser_proc_grammar.y" /* glr.c:851 */
7310 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7311 #line 7312 "src/parser_proc.c" /* glr.c:851 */
7314 case 200: /* decl_body */
7315 #line 324 "src/parser_proc_grammar.y" /* glr.c:851 */
7316 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7317 #line 7318 "src/parser_proc.c" /* glr.c:851 */
7320 case 201: /* decl_func_body */
7321 #line 324 "src/parser_proc_grammar.y" /* glr.c:851 */
7322 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7323 #line 7324 "src/parser_proc.c" /* glr.c:851 */
7326 case 202: /* decl_functor_body */
7327 #line 324 "src/parser_proc_grammar.y" /* glr.c:851 */
7328 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7329 #line 7330 "src/parser_proc.c" /* glr.c:851 */
7332 case 203: /* decl_anon_functor_body */
7333 #line 324 "src/parser_proc_grammar.y" /* glr.c:851 */
7334 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7335 #line 7336 "src/parser_proc.c" /* glr.c:851 */
7338 case 204: /* decl_functor */
7339 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7340 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7341 #line 7342 "src/parser_proc.c" /* glr.c:851 */
7344 case 205: /* decl_anon_functor */
7345 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7346 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7347 #line 7348 "src/parser_proc.c" /* glr.c:851 */
7350 case 206: /* decl_func */
7351 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7352 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7353 #line 7354 "src/parser_proc.c" /* glr.c:851 */
7356 case 207: /* decl_args */
7357 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7358 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7359 #line 7360 "src/parser_proc.c" /* glr.c:851 */
7362 case 208: /* decl_arg_list */
7363 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7364 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7365 #line 7366 "src/parser_proc.c" /* glr.c:851 */
7368 case 209: /* decl_anon_arg */
7369 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7370 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7371 #line 7372 "src/parser_proc.c" /* glr.c:851 */
7374 case 210: /* decl_arg */
7375 #line 326 "src/parser_proc_grammar.y" /* glr.c:851 */
7376 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7377 #line 7378 "src/parser_proc.c" /* glr.c:851 */
7380 case 211: /* decl_var */
7381 #line 328 "src/parser_proc_grammar.y" /* glr.c:851 */
7382 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
7383 #line 7384 "src/parser_proc.c" /* glr.c:851 */
7386 case 212: /* decl_union */
7387 #line 332 "src/parser_proc_grammar.y" /* glr.c:851 */
7388 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
7389 #line 7390 "src/parser_proc.c" /* glr.c:851 */
7392 case 213: /* decl_struct */
7393 #line 330 "src/parser_proc_grammar.y" /* glr.c:851 */
7394 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
7395 #line 7396 "src/parser_proc.c" /* glr.c:851 */
7398 case 214: /* decl_struct_args */
7399 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7400 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7401 #line 7402 "src/parser_proc.c" /* glr.c:851 */
7404 case 215: /* struct_args_block */
7405 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7406 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7407 #line 7408 "src/parser_proc.c" /* glr.c:851 */
7410 case 216: /* struct_args */
7411 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7412 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7413 #line 7414 "src/parser_proc.c" /* glr.c:851 */
7416 case 217: /* struct_arg_var_list */
7417 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7418 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7419 #line 7420 "src/parser_proc.c" /* glr.c:851 */
7422 case 218: /* decl_vars_with_layout */
7423 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7424 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7425 #line 7426 "src/parser_proc.c" /* glr.c:851 */
7428 case 219: /* decl_enum */
7429 #line 334 "src/parser_proc_grammar.y" /* glr.c:851 */
7430 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
7431 #line 7432 "src/parser_proc.c" /* glr.c:851 */
7434 case 220: /* decl_enum_items */
7435 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7436 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7437 #line 7438 "src/parser_proc.c" /* glr.c:851 */
7440 case 221: /* decl_enum_item */
7441 #line 336 "src/parser_proc_grammar.y" /* glr.c:851 */
7442 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
7443 #line 7444 "src/parser_proc.c" /* glr.c:851 */
7446 case 222: /* num_exp */
7447 #line 394 "src/parser_proc_grammar.y" /* glr.c:851 */
7448 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7449 #line 7450 "src/parser_proc.c" /* glr.c:851 */
7452 case 223: /* number */
7453 #line 396 "src/parser_proc_grammar.y" /* glr.c:851 */
7454 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7455 #line 7456 "src/parser_proc.c" /* glr.c:851 */
7458 case 224: /* sizeof */
7459 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7460 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7461 #line 7462 "src/parser_proc.c" /* glr.c:851 */
7464 case 225: /* sizeof_body */
7465 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7466 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7467 #line 7468 "src/parser_proc.c" /* glr.c:851 */
7470 case 226: /* sizeof_body_notypes */
7471 #line 346 "src/parser_proc_grammar.y" /* glr.c:851 */
7472 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7473 #line 7474 "src/parser_proc.c" /* glr.c:851 */
7476 case 227: /* enum_name */
7477 #line 284 "src/parser_proc_grammar.y" /* glr.c:851 */
7478 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7479 #line 7480 "src/parser_proc.c" /* glr.c:851 */
7482 case 228: /* union_name */
7483 #line 284 "src/parser_proc_grammar.y" /* glr.c:851 */
7484 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7485 #line 7486 "src/parser_proc.c" /* glr.c:851 */
7488 case 229: /* struct_name */
7489 #line 284 "src/parser_proc_grammar.y" /* glr.c:851 */
7490 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7491 #line 7492 "src/parser_proc.c" /* glr.c:851 */
7494 case 230: /* optional_name */
7495 #line 284 "src/parser_proc_grammar.y" /* glr.c:851 */
7496 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7497 #line 7498 "src/parser_proc.c" /* glr.c:851 */
7500 case 232: /* decl_layout */
7501 #line 343 "src/parser_proc_grammar.y" /* glr.c:851 */
7502 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
7503 #line 7504 "src/parser_proc.c" /* glr.c:851 */
7506 case 233: /* align_and_size */
7507 #line 341 "src/parser_proc_grammar.y" /* glr.c:851 */
7509 #line 7510 "src/parser_proc.c" /* glr.c:851 */
7512 case 234: /* array_size */
7513 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7515 #line 7516 "src/parser_proc.c" /* glr.c:851 */
7518 case 236: /* indirection */
7519 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7521 #line 7522 "src/parser_proc.c" /* glr.c:851 */
7524 case 237: /* pointers */
7525 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7527 #line 7528 "src/parser_proc.c" /* glr.c:851 */
7530 case 238: /* asterisks */
7531 #line 399 "src/parser_proc_grammar.y" /* glr.c:851 */
7533 #line 7534 "src/parser_proc.c" /* glr.c:851 */
7536 case 241: /* impl */
7537 #line 349 "src/parser_proc_grammar.y" /* glr.c:851 */
7538 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
7539 #line 7540 "src/parser_proc.c" /* glr.c:851 */
7542 case 242: /* impl_func */
7543 #line 351 "src/parser_proc_grammar.y" /* glr.c:851 */
7544 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
7545 #line 7546 "src/parser_proc.c" /* glr.c:851 */
7548 case 243: /* impl_args */
7549 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7550 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7551 #line 7552 "src/parser_proc.c" /* glr.c:851 */
7554 case 244: /* impl_arg */
7555 #line 353 "src/parser_proc_grammar.y" /* glr.c:851 */
7556 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
7557 #line 7558 "src/parser_proc.c" /* glr.c:851 */
7560 case 245: /* impl_var */
7561 #line 357 "src/parser_proc_grammar.y" /* glr.c:851 */
7562 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
7563 #line 7564 "src/parser_proc.c" /* glr.c:851 */
7566 case 246: /* impl_type */
7567 #line 355 "src/parser_proc_grammar.y" /* glr.c:851 */
7568 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7569 #line 7570 "src/parser_proc.c" /* glr.c:851 */
7572 case 247: /* impl_type_restricted */
7573 #line 355 "src/parser_proc_grammar.y" /* glr.c:851 */
7574 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7575 #line 7576 "src/parser_proc.c" /* glr.c:851 */
7578 case 248: /* impl_type_token */
7579 #line 389 "src/parser_proc_grammar.y" /* glr.c:851 */
7580 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7581 #line 7582 "src/parser_proc.c" /* glr.c:851 */
7584 case 249: /* impl_type_restricted_token */
7585 #line 389 "src/parser_proc_grammar.y" /* glr.c:851 */
7586 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7587 #line 7588 "src/parser_proc.c" /* glr.c:851 */
7590 case 250: /* impl_type_extended_token */
7591 #line 389 "src/parser_proc_grammar.y" /* glr.c:851 */
7592 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7593 #line 7594 "src/parser_proc.c" /* glr.c:851 */
7596 case 251: /* impl_stmts */
7597 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7598 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7599 #line 7600 "src/parser_proc.c" /* glr.c:851 */
7602 case 252: /* impl_stmt */
7603 #line 387 "src/parser_proc_grammar.y" /* glr.c:851 */
7604 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
7605 #line 7606 "src/parser_proc.c" /* glr.c:851 */
7608 case 253: /* let_stmt */
7609 #line 360 "src/parser_proc_grammar.y" /* glr.c:851 */
7610 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
7611 #line 7612 "src/parser_proc.c" /* glr.c:851 */
7614 case 254: /* let_exp */
7615 #line 362 "src/parser_proc_grammar.y" /* glr.c:851 */
7616 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7617 #line 7618 "src/parser_proc.c" /* glr.c:851 */
7620 case 255: /* let_exp_byref */
7621 #line 362 "src/parser_proc_grammar.y" /* glr.c:851 */
7622 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7623 #line 7624 "src/parser_proc.c" /* glr.c:851 */
7626 case 256: /* let_exp_assign */
7627 #line 362 "src/parser_proc_grammar.y" /* glr.c:851 */
7628 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7629 #line 7630 "src/parser_proc.c" /* glr.c:851 */
7632 case 257: /* let_calloc */
7633 #line 364 "src/parser_proc_grammar.y" /* glr.c:851 */
7634 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
7635 #line 7636 "src/parser_proc.c" /* glr.c:851 */
7638 case 258: /* let_callback */
7639 #line 366 "src/parser_proc_grammar.y" /* glr.c:851 */
7640 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
7641 #line 7642 "src/parser_proc.c" /* glr.c:851 */
7644 case 259: /* let_func */
7645 #line 368 "src/parser_proc_grammar.y" /* glr.c:851 */
7646 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
7647 #line 7648 "src/parser_proc.c" /* glr.c:851 */
7650 case 260: /* let_func_token */
7651 #line 389 "src/parser_proc_grammar.y" /* glr.c:851 */
7652 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7653 #line 7654 "src/parser_proc.c" /* glr.c:851 */
7656 case 261: /* let_func_exps */
7657 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7658 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7659 #line 7660 "src/parser_proc.c" /* glr.c:851 */
7662 case 262: /* let_exps */
7663 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7664 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7665 #line 7666 "src/parser_proc.c" /* glr.c:851 */
7668 case 263: /* callback_rval */
7669 #line 389 "src/parser_proc_grammar.y" /* glr.c:851 */
7670 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7671 #line 7672 "src/parser_proc.c" /* glr.c:851 */
7674 case 264: /* callback_arg_list */
7675 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7676 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7677 #line 7678 "src/parser_proc.c" /* glr.c:851 */
7680 case 265: /* callback_args */
7681 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7682 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7683 #line 7684 "src/parser_proc.c" /* glr.c:851 */
7686 case 266: /* return_stmt */
7687 #line 378 "src/parser_proc_grammar.y" /* glr.c:851 */
7688 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
7689 #line 7690 "src/parser_proc.c" /* glr.c:851 */
7692 case 267: /* return_exp */
7693 #line 380 "src/parser_proc_grammar.y" /* glr.c:851 */
7694 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
7695 #line 7696 "src/parser_proc.c" /* glr.c:851 */
7698 case 268: /* call_decl_vars */
7699 #line 338 "src/parser_proc_grammar.y" /* glr.c:851 */
7700 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7701 #line 7702 "src/parser_proc.c" /* glr.c:851 */
7704 case 269: /* set_stmt */
7705 #line 370 "src/parser_proc_grammar.y" /* glr.c:851 */
7706 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
7707 #line 7708 "src/parser_proc.c" /* glr.c:851 */
7710 case 270: /* set_exp */
7711 #line 372 "src/parser_proc_grammar.y" /* glr.c:851 */
7712 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
7713 #line 7714 "src/parser_proc.c" /* glr.c:851 */
7716 case 271: /* set_func */
7717 #line 374 "src/parser_proc_grammar.y" /* glr.c:851 */
7718 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
7719 #line 7720 "src/parser_proc.c" /* glr.c:851 */
7722 case 272: /* set_func_token */
7723 #line 389 "src/parser_proc_grammar.y" /* glr.c:851 */
7724 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7725 #line 7726 "src/parser_proc.c" /* glr.c:851 */
7728 case 273: /* set_func_exps */
7729 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7730 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7731 #line 7732 "src/parser_proc.c" /* glr.c:851 */
7734 case 274: /* set_exps */
7735 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7736 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7737 #line 7738 "src/parser_proc.c" /* glr.c:851 */
7740 case 275: /* assert_stmt */
7741 #line 376 "src/parser_proc_grammar.y" /* glr.c:851 */
7742 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
7743 #line 7744 "src/parser_proc.c" /* glr.c:851 */
7746 case 276: /* assert_stmt_token */
7747 #line 389 "src/parser_proc_grammar.y" /* glr.c:851 */
7748 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7749 #line 7750 "src/parser_proc.c" /* glr.c:851 */
7752 case 277: /* free_stmt */
7753 #line 382 "src/parser_proc_grammar.y" /* glr.c:851 */
7754 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
7755 #line 7756 "src/parser_proc.c" /* glr.c:851 */
7758 case 278: /* free_exps */
7759 #line 391 "src/parser_proc_grammar.y" /* glr.c:851 */
7760 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7761 #line 7762 "src/parser_proc.c" /* glr.c:851 */
7764 case 279: /* free_exp */
7765 #line 384 "src/parser_proc_grammar.y" /* glr.c:851 */
7766 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
7767 #line 7768 "src/parser_proc.c" /* glr.c:851 */
7770 case 280: /* reference */
7771 #line 401 "src/parser_proc_grammar.y" /* glr.c:851 */
7773 #line 7774 "src/parser_proc.c" /* glr.c:851 */
7780 YY_IGNORE_MAYBE_UNINITIALIZED_END
7783 /** Number of symbols composing the right hand side of rule #RULE. */
7785 yyrhsLength (yyRuleNum yyrule
)
7787 return yyr2
[yyrule
];
7791 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7793 if (yys
->yyresolved
)
7794 yydestruct (yymsg
, yystos
[yys
->yylrState
],
7795 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
7801 if (yys
->yysemantics
.yyfirstVal
)
7802 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
7804 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
7805 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
7809 if (yys
->yysemantics
.yyfirstVal
)
7811 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
7814 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
7816 yyrh
= yyrh
->yypred
, yyn
-= 1)
7817 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
7822 /** Left-hand-side symbol for rule #YYRULE. */
7823 static inline yySymbol
7824 yylhsNonterm (yyRuleNum yyrule
)
7826 return yyr1
[yyrule
];
7829 #define yypact_value_is_default(Yystate) \
7830 (!!((Yystate) == (-731)))
7832 /** True iff LR state YYSTATE has only a default reduction (regardless
7834 static inline yybool
7835 yyisDefaultedState (yyStateNum yystate
)
7837 return (yybool
) yypact_value_is_default (yypact
[yystate
]);
7840 /** The default reduction for YYSTATE, assuming it has one. */
7841 static inline yyRuleNum
7842 yydefaultAction (yyStateNum yystate
)
7844 return yydefact
[yystate
];
7847 #define yytable_value_is_error(Yytable_value) \
7850 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7852 * R < 0: Reduce on rule -R.
7854 * R > 0: Shift to state R.
7855 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7856 * of conflicting reductions.
7859 yygetLRActions (yyStateNum yystate
, int yytoken
,
7860 int* yyaction
, const short** yyconflicts
)
7862 int yyindex
= yypact
[yystate
] + yytoken
;
7863 if (yyisDefaultedState (yystate
)
7864 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
7866 *yyaction
= -yydefact
[yystate
];
7867 *yyconflicts
= yyconfl
;
7869 else if (! yytable_value_is_error (yytable
[yyindex
]))
7871 *yyaction
= yytable
[yyindex
];
7872 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7877 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7881 /** Compute post-reduction state.
7882 * \param yystate the current state
7883 * \param yysym the nonterminal to push on the stack
7885 static inline yyStateNum
7886 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
7888 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
7889 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
7890 return yytable
[yyr
];
7892 return yydefgoto
[yysym
- YYNTOKENS
];
7895 static inline yybool
7896 yyisShiftAction (int yyaction
)
7898 return (yybool
) (0 < yyaction
);
7901 static inline yybool
7902 yyisErrorAction (int yyaction
)
7904 return (yybool
) (yyaction
== 0);
7909 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7910 * if YYISSTATE, and otherwise a semantic option. Callers should call
7911 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7914 static inline yyGLRStackItem
*
7915 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
7917 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
7918 yystackp
->yyspaceLeft
-= 1;
7919 yystackp
->yynextFree
+= 1;
7920 yynewItem
->yystate
.yyisState
= yyisState
;
7924 /** Add a new semantic action that will execute the action for rule
7925 * YYRULE on the semantic values in YYRHS to the list of
7926 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7927 * stack #YYK of *YYSTACKP. */
7929 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
7930 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
7932 yySemanticOption
* yynewOption
=
7933 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
7934 YYASSERT (!yynewOption
->yyisState
);
7935 yynewOption
->yystate
= yyrhs
;
7936 yynewOption
->yyrule
= yyrule
;
7937 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
7939 yynewOption
->yyrawchar
= yychar
;
7940 yynewOption
->yyval
= yylval
;
7943 yynewOption
->yyrawchar
= YYEMPTY
;
7944 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
7945 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
7947 YY_RESERVE_GLRSTACK (yystackp
);
7952 /** Initialize YYSET to a singleton set containing an empty stack. */
7954 yyinitStateSet (yyGLRStateSet
* yyset
)
7957 yyset
->yycapacity
= 16;
7958 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
7959 if (! yyset
->yystates
)
7961 yyset
->yystates
[0] = YY_NULLPTR
;
7962 yyset
->yylookaheadNeeds
=
7963 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
7964 if (! yyset
->yylookaheadNeeds
)
7966 YYFREE (yyset
->yystates
);
7972 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
7974 YYFREE (yyset
->yystates
);
7975 YYFREE (yyset
->yylookaheadNeeds
);
7978 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7979 * capacity for all stacks of YYSIZE. */
7981 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
7983 yystackp
->yyerrState
= 0;
7985 yystackp
->yyspaceLeft
= yysize
;
7987 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
7988 if (!yystackp
->yyitems
)
7990 yystackp
->yynextFree
= yystackp
->yyitems
;
7991 yystackp
->yysplitPoint
= YY_NULLPTR
;
7992 yystackp
->yylastDeleted
= YY_NULLPTR
;
7993 return yyinitStateSet (&yystackp
->yytops
);
7997 #if YYSTACKEXPANDABLE
7998 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7999 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
8001 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
8002 stack from outside should be considered invalid after this call.
8003 We always expand when there are 1 or fewer items left AFTER an
8004 allocation, so that we can avoid having external pointers exist
8005 across an allocation. */
8007 yyexpandGLRStack (yyGLRStack
* yystackp
)
8009 yyGLRStackItem
* yynewItems
;
8010 yyGLRStackItem
* yyp0
, *yyp1
;
8013 size_t yysize
= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8014 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
8015 yyMemoryExhausted (yystackp
);
8016 yynewSize
= 2*yysize
;
8017 if (YYMAXDEPTH
< yynewSize
)
8018 yynewSize
= YYMAXDEPTH
;
8019 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
8021 yyMemoryExhausted (yystackp
);
8022 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
8024 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
8027 if (*(yybool
*) yyp0
)
8029 yyGLRState
* yys0
= &yyp0
->yystate
;
8030 yyGLRState
* yys1
= &yyp1
->yystate
;
8031 if (yys0
->yypred
!= YY_NULLPTR
)
8033 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
8034 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
8035 yys1
->yysemantics
.yyfirstVal
=
8036 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
8040 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
8041 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
8042 if (yyv0
->yystate
!= YY_NULLPTR
)
8043 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
8044 if (yyv0
->yynext
!= YY_NULLPTR
)
8045 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
8048 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8049 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
8050 yystackp
->yysplitPoint
, yystate
);
8052 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
8053 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
8054 yystackp
->yytops
.yystates
[yyn
] =
8055 YYRELOC (yystackp
->yyitems
, yynewItems
,
8056 yystackp
->yytops
.yystates
[yyn
], yystate
);
8057 YYFREE (yystackp
->yyitems
);
8058 yystackp
->yyitems
= yynewItems
;
8059 yystackp
->yynextFree
= yynewItems
+ yysize
;
8060 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
8065 yyfreeGLRStack (yyGLRStack
* yystackp
)
8067 YYFREE (yystackp
->yyitems
);
8068 yyfreeStateSet (&yystackp
->yytops
);
8071 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
8072 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
8075 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
8077 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
8078 yystackp
->yysplitPoint
= yys
;
8081 /** Invalidate stack #YYK in *YYSTACKP. */
8083 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
8085 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8086 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
8087 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
8090 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
8091 only be done once after a deletion, and only when all other stacks have
8094 yyundeleteLastStack (yyGLRStack
* yystackp
)
8096 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
8098 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
8099 yystackp
->yytops
.yysize
= 1;
8100 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
8101 yystackp
->yylastDeleted
= YY_NULLPTR
;
8105 yyremoveDeletes (yyGLRStack
* yystackp
)
8109 while (yyj
< yystackp
->yytops
.yysize
)
8111 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
8115 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
8117 yystackp
->yytops
.yysize
-= 1;
8121 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
8122 /* In the current implementation, it's unnecessary to copy
8123 yystackp->yytops.yylookaheadNeeds[yyi] since, after
8124 yyremoveDeletes returns, the parser immediately either enters
8125 deterministic operation or shifts a token. However, it doesn't
8126 hurt, and the code might evolve to need it. */
8127 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
8128 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
8131 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
8132 (unsigned long) yyi
, (unsigned long) yyj
));
8140 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
8141 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
8142 * value *YYVALP and source location *YYLOCP. */
8144 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
8148 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
8150 yynewState
->yylrState
= yylrState
;
8151 yynewState
->yyposn
= yyposn
;
8152 yynewState
->yyresolved
= yytrue
;
8153 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
8154 yynewState
->yysemantics
.yysval
= *yyvalp
;
8155 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
8157 YY_RESERVE_GLRSTACK (yystackp
);
8160 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
8161 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
8162 * semantic value of YYRHS under the action for YYRULE. */
8164 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
8165 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
8167 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
8168 YYASSERT (yynewState
->yyisState
);
8170 yynewState
->yylrState
= yylrState
;
8171 yynewState
->yyposn
= yyposn
;
8172 yynewState
->yyresolved
= yyfalse
;
8173 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
8174 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8175 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
8177 /* Invokes YY_RESERVE_GLRSTACK. */
8178 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
8182 # define YY_REDUCE_PRINT(Args)
8184 # define YY_REDUCE_PRINT(Args) \
8187 yy_reduce_print Args; \
8190 /*----------------------------------------------------------------------.
8191 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
8192 `----------------------------------------------------------------------*/
8195 yy_reduce_print (yybool yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
8196 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8198 int yynrhs
= yyrhsLength (yyrule
);
8200 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
8201 (unsigned long) yyk
, yyrule
- 1,
8202 (unsigned long) yyrline
[yyrule
]);
8204 yyfillin (yyvsp
, 1, -yynrhs
);
8205 /* The symbols being reduced. */
8206 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
8208 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
8209 yy_symbol_print (stderr
,
8210 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
8211 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
, P
, tokens
, index
);
8212 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
8213 YYFPRINTF (stderr
, " (unresolved)");
8214 YYFPRINTF (stderr
, "\n");
8219 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
8220 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
8221 * semantic values. Assumes that all ambiguities in semantic values
8222 * have been previously resolved. Set *YYVALP to the resulting value,
8223 * and *YYLOCP to the computed location (if any). Return value is as
8224 * for userAction. */
8225 static inline YYRESULTTAG
8226 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8227 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8229 int yynrhs
= yyrhsLength (yyrule
);
8231 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8233 /* Standard special case: single stack. */
8234 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
8235 YYASSERT (yyk
== 0);
8236 yystackp
->yynextFree
-= yynrhs
;
8237 yystackp
->yyspaceLeft
+= (size_t) yynrhs
;
8238 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
8239 YY_REDUCE_PRINT ((yytrue
, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
8240 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
8241 yyvalp
, P
, tokens
, index
);
8247 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8248 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
8249 = yystackp
->yytops
.yystates
[yyk
];
8250 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
8255 yyupdateSplit (yystackp
, yys
);
8256 yystackp
->yytops
.yystates
[yyk
] = yys
;
8257 YY_REDUCE_PRINT ((yyfalse
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
8258 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8259 yystackp
, yyvalp
, P
, tokens
, index
);
8263 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8264 * and push back on the resulting nonterminal symbol. Perform the
8265 * semantic action associated with YYRULE and store its value with the
8266 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8267 * unambiguous. Otherwise, store the deferred semantic action with
8268 * the new state. If the new state would have an identical input
8269 * position, LR state, and predecessor to an existing state on the stack,
8270 * it is identified with that existing state, eliminating stack #YYK from
8271 * *YYSTACKP. In this case, the semantic value is
8272 * added to the options for the existing state's semantic value.
8274 static inline YYRESULTTAG
8275 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8276 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8278 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
8280 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
8284 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
8285 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
8287 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
8288 (unsigned long) yyk
, yyrule
- 1));
8292 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
8293 yyglrShift (yystackp
, yyk
,
8294 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
8295 yylhsNonterm (yyrule
)),
8302 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
8303 yyStateNum yynewLRState
;
8305 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
8311 yyupdateSplit (yystackp
, yys
);
8312 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
8314 "Reduced stack %lu by rule #%d; action deferred. "
8315 "Now in state %d.\n",
8316 (unsigned long) yyk
, yyrule
- 1, yynewLRState
));
8317 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
8318 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
8320 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
8321 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
8322 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
8324 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
8326 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
8327 yymarkStackDeleted (yystackp
, yyk
);
8328 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
8329 (unsigned long) yyk
,
8330 (unsigned long) yyi
));
8336 yystackp
->yytops
.yystates
[yyk
] = yys
;
8337 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
8343 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
8345 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8347 YYASSERT (yyk
== 0);
8348 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
8350 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
8352 yyGLRState
** yynewStates
= YY_NULLPTR
;
8353 yybool
* yynewLookaheadNeeds
;
8355 if (yystackp
->yytops
.yycapacity
8356 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
8357 yyMemoryExhausted (yystackp
);
8358 yystackp
->yytops
.yycapacity
*= 2;
8361 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
8362 (yystackp
->yytops
.yycapacity
8363 * sizeof yynewStates
[0]));
8364 if (yynewStates
== YY_NULLPTR
)
8365 yyMemoryExhausted (yystackp
);
8366 yystackp
->yytops
.yystates
= yynewStates
;
8368 yynewLookaheadNeeds
=
8369 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
8370 (yystackp
->yytops
.yycapacity
8371 * sizeof yynewLookaheadNeeds
[0]));
8372 if (yynewLookaheadNeeds
== YY_NULLPTR
)
8373 yyMemoryExhausted (yystackp
);
8374 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
8376 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
8377 = yystackp
->yytops
.yystates
[yyk
];
8378 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
8379 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
8380 yystackp
->yytops
.yysize
+= 1;
8381 return yystackp
->yytops
.yysize
-1;
8384 /** True iff YYY0 and YYY1 represent identical options at the top level.
8385 * That is, they represent the same rule applied to RHS symbols
8386 * that produce the same terminal symbols. */
8388 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8390 if (yyy0
->yyrule
== yyy1
->yyrule
)
8392 yyGLRState
*yys0
, *yys1
;
8394 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8395 yyn
= yyrhsLength (yyy0
->yyrule
);
8397 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8398 if (yys0
->yyposn
!= yys1
->yyposn
)
8406 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8407 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8409 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8411 yyGLRState
*yys0
, *yys1
;
8413 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8414 yyn
= yyrhsLength (yyy0
->yyrule
);
8416 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8420 else if (yys0
->yyresolved
)
8422 yys1
->yyresolved
= yytrue
;
8423 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
8425 else if (yys1
->yyresolved
)
8427 yys0
->yyresolved
= yytrue
;
8428 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
8432 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
8433 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
8436 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
8438 else if (*yyz0p
== YY_NULLPTR
)
8443 else if (*yyz0p
< yyz1
)
8445 yySemanticOption
* yyz
= *yyz0p
;
8447 yyz1
= yyz1
->yynext
;
8448 (*yyz0p
)->yynext
= yyz
;
8450 yyz0p
= &(*yyz0p
)->yynext
;
8452 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
8457 /** Y0 and Y1 represent two possible actions to take in a given
8458 * parsing state; return 0 if no combination is possible,
8459 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8461 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
8463 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
8464 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
8468 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
8473 if (p0
== 0 || p1
== 0)
8482 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
8483 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
8486 /** Resolve the previous YYN states starting at and including state YYS
8487 * on *YYSTACKP. If result != yyok, some states may have been left
8488 * unresolved possibly with empty semantic option chains. Regardless
8489 * of whether result = yyok, each state has been left with consistent
8490 * data so that yydestroyGLRState can be invoked if necessary. */
8492 yyresolveStates (yyGLRState
* yys
, int yyn
,
8493 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8497 YYASSERT (yys
->yypred
);
8498 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
8499 if (! yys
->yyresolved
)
8500 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
8505 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8506 * user action, and return the semantic value and location in *YYVALP
8507 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8508 * have been destroyed (assuming the user action destroys all RHS
8509 * semantic values if invoked). */
8511 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
8512 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8514 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8515 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
8516 YYRESULTTAG yyflag
=
8517 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
8521 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
8522 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
8526 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
8528 int yychar_current
= yychar
;
8529 YYSTYPE yylval_current
= yylval
;
8530 yychar
= yyopt
->yyrawchar
;
8531 yylval
= yyopt
->yyval
;
8532 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
8533 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8534 yystackp
, yyvalp
, P
, tokens
, index
);
8535 yychar
= yychar_current
;
8536 yylval
= yylval_current
;
8543 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
8545 int yynrhs
= yyrhsLength (yyx
->yyrule
);
8548 yyGLRState
* yystates
[1 + YYMAXRHS
];
8549 yyGLRState yyleftmost_state
;
8551 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
8552 yystates
[yyi
] = yys
;
8553 if (yys
== YY_NULLPTR
)
8555 yyleftmost_state
.yyposn
= 0;
8556 yystates
[0] = &yyleftmost_state
;
8561 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
8562 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
8563 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8566 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8567 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8568 yyx
->yyrule
- 1, (unsigned long) (yys
->yyposn
+ 1),
8569 (unsigned long) yyx
->yystate
->yyposn
);
8570 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
8572 if (yystates
[yyi
]->yyresolved
)
8574 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
8575 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
8576 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
8578 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
8579 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
8580 (unsigned long) (yystates
[yyi
-1]->yyposn
+ 1),
8581 (unsigned long) yystates
[yyi
]->yyposn
);
8584 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
8590 yyreportAmbiguity (yySemanticOption
* yyx0
,
8591 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8597 YYFPRINTF (stderr
, "Ambiguity detected.\n");
8598 YYFPRINTF (stderr
, "Option 1,\n");
8599 yyreportTree (yyx0
, 2);
8600 YYFPRINTF (stderr
, "\nOption 2,\n");
8601 yyreportTree (yyx1
, 2);
8602 YYFPRINTF (stderr
, "\n");
8605 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
8609 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8610 * perform the indicated actions, and set the semantic value of YYS.
8611 * If result != yyok, the chain of semantic options in YYS has been
8612 * cleared instead or it has been left unmodified except that
8613 * redundant options may have been removed. Regardless of whether
8614 * result = yyok, YYS has been left with consistent data so that
8615 * yydestroyGLRState can be invoked if necessary. */
8617 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8619 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
8620 yySemanticOption
* yybest
= yyoptionList
;
8621 yySemanticOption
** yypp
;
8622 yybool yymerge
= yyfalse
;
8626 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
8628 yySemanticOption
* yyp
= *yypp
;
8630 if (yyidenticalOptions (yybest
, yyp
))
8632 yymergeOptionSets (yybest
, yyp
);
8633 *yypp
= yyp
->yynext
;
8637 switch (yypreference (yybest
, yyp
))
8640 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
8652 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8653 but some compilers complain if the default case is
8657 yypp
= &yyp
->yynext
;
8663 yySemanticOption
* yyp
;
8664 int yyprec
= yydprec
[yybest
->yyrule
];
8665 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8667 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
8669 if (yyprec
== yydprec
[yyp
->yyrule
])
8671 YYSTYPE yysval_other
;
8672 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
8675 yydestruct ("Cleanup: discarding incompletely merged value for",
8676 yystos
[yys
->yylrState
],
8677 &yysval
, P
, tokens
, index
);
8680 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
8685 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8689 yys
->yyresolved
= yytrue
;
8690 yys
->yysemantics
.yysval
= yysval
;
8693 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8698 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8700 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8705 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
8706 yys
!= yystackp
->yysplitPoint
;
8707 yys
= yys
->yypred
, yyn
+= 1)
8709 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
8710 , P
, tokens
, index
));
8716 yycompressStack (yyGLRStack
* yystackp
)
8718 yyGLRState
* yyp
, *yyq
, *yyr
;
8720 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
8723 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
8724 yyp
!= yystackp
->yysplitPoint
;
8725 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
8728 yystackp
->yyspaceLeft
+= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8729 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
8730 yystackp
->yyspaceLeft
-= (size_t) (yystackp
->yynextFree
- yystackp
->yyitems
);
8731 yystackp
->yysplitPoint
= YY_NULLPTR
;
8732 yystackp
->yylastDeleted
= YY_NULLPTR
;
8734 while (yyr
!= YY_NULLPTR
)
8736 yystackp
->yynextFree
->yystate
= *yyr
;
8738 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
8739 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
8740 yystackp
->yynextFree
+= 1;
8741 yystackp
->yyspaceLeft
-= 1;
8746 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
8747 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8749 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8751 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
8752 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
8753 (unsigned long) yyk
, yystate
));
8755 YYASSERT (yystate
!= YYFINAL
);
8757 if (yyisDefaultedState (yystate
))
8760 yyRuleNum yyrule
= yydefaultAction (yystate
);
8763 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8764 (unsigned long) yyk
));
8765 yymarkStackDeleted (yystackp
, yyk
);
8768 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
8769 if (yyflag
== yyerr
)
8773 "(predicate failure or explicit user error).\n",
8774 (unsigned long) yyk
));
8775 yymarkStackDeleted (yystackp
, yyk
);
8785 const short* yyconflicts
;
8787 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
8788 if (yychar
== YYEMPTY
)
8790 YYDPRINTF ((stderr
, "Reading a token: "));
8791 yychar
= yylex (&yylval
, P
, tokens
, index
);
8794 if (yychar
<= YYEOF
)
8796 yychar
= yytoken
= YYEOF
;
8797 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8801 yytoken
= YYTRANSLATE (yychar
);
8802 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8805 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
8807 while (*yyconflicts
!= 0)
8810 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
8811 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
8812 (unsigned long) yynewStack
,
8813 (unsigned long) yyk
));
8814 yyflag
= yyglrReduce (yystackp
, yynewStack
,
8816 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
8818 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
8819 yyposn
, P
, tokens
, index
));
8820 else if (yyflag
== yyerr
)
8822 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8823 (unsigned long) yynewStack
));
8824 yymarkStackDeleted (yystackp
, yynewStack
);
8831 if (yyisShiftAction (yyaction
))
8833 else if (yyisErrorAction (yyaction
))
8835 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8836 (unsigned long) yyk
));
8837 yymarkStackDeleted (yystackp
, yyk
);
8842 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
8843 yyimmediate
[-yyaction
], P
, tokens
, index
);
8844 if (yyflag
== yyerr
)
8848 "(predicate failure or explicit user error).\n",
8849 (unsigned long) yyk
));
8850 yymarkStackDeleted (yystackp
, yyk
);
8853 else if (yyflag
!= yyok
)
8862 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8864 if (yystackp
->yyerrState
!= 0)
8866 #if ! YYERROR_VERBOSE
8867 yyerror (P
, tokens
, index
, YY_("syntax error"));
8870 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
8871 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
8872 size_t yysize
= yysize0
;
8873 yybool yysize_overflow
= yyfalse
;
8874 char* yymsg
= YY_NULLPTR
;
8875 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
8876 /* Internationalized format string. */
8877 const char *yyformat
= YY_NULLPTR
;
8878 /* Arguments of yyformat. */
8879 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
8880 /* Number of reported tokens (one for the "unexpected", one per
8884 /* There are many possibilities here to consider:
8885 - If this state is a consistent state with a default action, then
8886 the only way this function was invoked is if the default action
8887 is an error action. In that case, don't check for expected
8888 tokens because there are none.
8889 - The only way there can be no lookahead present (in yychar) is if
8890 this state is a consistent state with a default action. Thus,
8891 detecting the absence of a lookahead is sufficient to determine
8892 that there is no unexpected or expected token to report. In that
8893 case, just report a simple "syntax error".
8894 - Don't assume there isn't a lookahead just because this state is a
8895 consistent state with a default action. There might have been a
8896 previous inconsistent state, consistent state with a non-default
8897 action, or user semantic action that manipulated yychar.
8898 - Of course, the expected token list depends on states to have
8899 correct lookahead information, and it depends on the parser not
8900 to perform extra reductions after fetching a lookahead from the
8901 scanner and before detecting a syntax error. Thus, state merging
8902 (from LALR or IELR) and default reductions corrupt the expected
8903 token list. However, the list is correct for canonical LR with
8904 one exception: it will still contain any token that will not be
8905 accepted due to an error action in a later state.
8907 if (yytoken
!= YYEMPTY
)
8909 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
8910 yyarg
[yycount
++] = yytokenName (yytoken
);
8911 if (!yypact_value_is_default (yyn
))
8913 /* Start YYX at -YYN if negative to avoid negative indexes in
8914 YYCHECK. In other words, skip the first -YYN actions for this
8915 state because they are default actions. */
8916 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
8917 /* Stay within bounds of both yycheck and yytname. */
8918 int yychecklim
= YYLAST
- yyn
+ 1;
8919 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
8921 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
8922 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
8923 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
8925 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
8931 yyarg
[yycount
++] = yytokenName (yyx
);
8933 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
8935 yysize_overflow
= yytrue
;
8944 #define YYCASE_(N, S) \
8948 default: /* Avoid compiler warnings. */
8949 YYCASE_(0, YY_("syntax error"));
8950 YYCASE_(1, YY_("syntax error, unexpected %s"));
8951 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8952 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8953 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8954 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8959 size_t yysz
= yysize
+ strlen (yyformat
);
8961 yysize_overflow
= yytrue
;
8965 if (!yysize_overflow
)
8966 yymsg
= (char *) YYMALLOC (yysize
);
8972 while ((*yyp
= *yyformat
))
8974 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
8976 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
8985 yyerror (P
, tokens
, index
, yymsg
);
8990 yyerror (P
, tokens
, index
, YY_("syntax error"));
8991 yyMemoryExhausted (yystackp
);
8994 #endif /* YYERROR_VERBOSE */
8998 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8999 yylval, and yylloc are the syntactic category, semantic value, and location
9000 of the lookahead. */
9002 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9007 if (yystackp
->yyerrState
== 3)
9008 /* We just shifted the error token and (perhaps) took some
9009 reductions. Skip tokens until we can proceed. */
9013 if (yychar
== YYEOF
)
9014 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9015 if (yychar
!= YYEMPTY
)
9017 yytoken
= YYTRANSLATE (yychar
);
9018 yydestruct ("Error: discarding",
9019 yytoken
, &yylval
, P
, tokens
, index
);
9021 YYDPRINTF ((stderr
, "Reading a token: "));
9022 yychar
= yylex (&yylval
, P
, tokens
, index
);
9023 if (yychar
<= YYEOF
)
9025 yychar
= yytoken
= YYEOF
;
9026 YYDPRINTF ((stderr
, "Now at end of input.\n"));
9030 yytoken
= YYTRANSLATE (yychar
);
9031 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
9033 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
9034 if (yypact_value_is_default (yyj
))
9037 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
9039 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
9042 else if (! yytable_value_is_error (yytable
[yyj
]))
9046 /* Reduce to one stack. */
9047 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
9048 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
9050 if (yyk
>= yystackp
->yytops
.yysize
)
9051 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9052 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
9053 yymarkStackDeleted (yystackp
, yyk
);
9054 yyremoveDeletes (yystackp
);
9055 yycompressStack (yystackp
);
9057 /* Now pop stack until we find a state that shifts the error token. */
9058 yystackp
->yyerrState
= 3;
9059 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
9061 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
9062 yyj
= yypact
[yys
->yylrState
];
9063 if (! yypact_value_is_default (yyj
))
9066 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
9067 && yyisShiftAction (yytable
[yyj
]))
9069 /* Shift the error token. */
9070 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
9071 &yylval
, &yyerrloc
);
9072 yyglrShift (yystackp
, 0, yytable
[yyj
],
9073 yys
->yyposn
, &yylval
);
9074 yys
= yystackp
->yytops
.yystates
[0];
9078 if (yys
->yypred
!= YY_NULLPTR
)
9079 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
9080 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
9081 yystackp
->yynextFree
-= 1;
9082 yystackp
->yyspaceLeft
+= 1;
9084 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
9085 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
9088 #define YYCHK1(YYE) \
9098 goto yyuser_error; \
9109 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9113 yyGLRStack
* const yystackp
= &yystack
;
9116 YYDPRINTF ((stderr
, "Starting parse\n"));
9119 yylval
= yyval_default
;
9121 /* User initialization code. */
9122 #line 119 "src/parser_proc_grammar.y" /* glr.c:2265 */
9126 #line 9127 "src/parser_proc.c" /* glr.c:2265 */
9128 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
9129 goto yyexhaustedlab
;
9130 switch (YYSETJMP (yystack
.yyexception_buffer
))
9133 case 1: goto yyabortlab
;
9134 case 2: goto yyexhaustedlab
;
9135 default: goto yybuglab
;
9137 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
9142 /* For efficiency, we have two loops, the first of which is
9143 specialized to deterministic operation (single stack, no
9144 potential ambiguity). */
9150 const short* yyconflicts
;
9152 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
9153 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
9154 if (yystate
== YYFINAL
)
9156 if (yyisDefaultedState (yystate
))
9158 yyrule
= yydefaultAction (yystate
);
9161 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9164 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
9169 if (yychar
== YYEMPTY
)
9171 YYDPRINTF ((stderr
, "Reading a token: "));
9172 yychar
= yylex (&yylval
, P
, tokens
, index
);
9175 if (yychar
<= YYEOF
)
9177 yychar
= yytoken
= YYEOF
;
9178 YYDPRINTF ((stderr
, "Now at end of input.\n"));
9182 yytoken
= YYTRANSLATE (yychar
);
9183 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
9186 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
9187 if (*yyconflicts
!= 0)
9189 if (yyisShiftAction (yyaction
))
9191 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
9194 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
9195 if (0 < yystack
.yyerrState
)
9196 yystack
.yyerrState
-= 1;
9198 else if (yyisErrorAction (yyaction
))
9200 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9204 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
9210 yySymbol yytoken_to_shift
;
9213 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9214 yystackp
->yytops
.yylookaheadNeeds
[yys
] = (yybool
) (yychar
!= YYEMPTY
);
9216 /* yyprocessOneStack returns one of three things:
9218 - An error flag. If the caller is yyprocessOneStack, it
9219 immediately returns as well. When the caller is finally
9220 yyparse, it jumps to an error label via YYCHK1.
9222 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
9223 (&yystack, yys), which sets the top state of yys to NULL. Thus,
9224 yyparse's following invocation of yyremoveDeletes will remove
9227 - yyok, when ready to shift a token.
9229 Except in the first case, yyparse will invoke yyremoveDeletes and
9230 then shift the next token onto all remaining stacks. This
9231 synchronization of the shift (that is, after all preceding
9232 reductions on all stacks) helps prevent double destructor calls
9233 on yylval in the event of memory exhaustion. */
9235 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9236 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
9237 yyremoveDeletes (&yystack
);
9238 if (yystack
.yytops
.yysize
== 0)
9240 yyundeleteLastStack (&yystack
);
9241 if (yystack
.yytops
.yysize
== 0)
9242 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
9243 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9244 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9245 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9249 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9250 a copy of yylval will already be on stack 0 in the event of a
9251 failure in the following loop. Thus, yychar is set to YYEMPTY
9252 before the loop to make sure the user destructor for yylval isn't
9254 yytoken_to_shift
= YYTRANSLATE (yychar
);
9257 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9260 const short* yyconflicts
;
9261 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
9262 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
9264 /* Note that yyconflicts were handled by yyprocessOneStack. */
9265 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long) yys
));
9266 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
9267 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
9269 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
9270 (unsigned long) yys
,
9271 yystack
.yytops
.yystates
[yys
]->yylrState
));
9274 if (yystack
.yytops
.yysize
== 1)
9276 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9277 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9278 yycompressStack (&yystack
);
9284 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
9285 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
9301 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
9306 if (yychar
!= YYEMPTY
)
9307 yydestruct ("Cleanup: discarding lookahead",
9308 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
9310 /* If the stack is well-formed, pop the stack until it is empty,
9311 destroying its entries as we go. But free the stack regardless
9312 of whether it is well-formed. */
9313 if (yystack
.yyitems
)
9315 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
9318 size_t yysize
= yystack
.yytops
.yysize
;
9320 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
9323 while (yystates
[yyk
])
9325 yyGLRState
*yys
= yystates
[yyk
];
9326 if (yys
->yypred
!= YY_NULLPTR
)
9327 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
9328 yystates
[yyk
] = yys
->yypred
;
9329 yystack
.yynextFree
-= 1;
9330 yystack
.yyspaceLeft
+= 1;
9335 yyfreeGLRStack (&yystack
);
9341 /* DEBUGGING ONLY */
9344 yy_yypstack (yyGLRState
* yys
)
9348 yy_yypstack (yys
->yypred
);
9349 YYFPRINTF (stderr
, " -> ");
9351 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
9352 (unsigned long) yys
->yyposn
);
9356 yypstates (yyGLRState
* yyst
)
9358 if (yyst
== YY_NULLPTR
)
9359 YYFPRINTF (stderr
, "<null>");
9362 YYFPRINTF (stderr
, "\n");
9366 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
9368 yypstates (yystackp
->yytops
.yystates
[yyk
]);
9371 #define YYINDEX(YYX) \
9372 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9376 yypdumpstack (yyGLRStack
* yystackp
)
9378 yyGLRStackItem
* yyp
;
9380 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
9382 YYFPRINTF (stderr
, "%3lu. ",
9383 (unsigned long) (yyp
- yystackp
->yyitems
));
9384 if (*(yybool
*) yyp
)
9386 YYASSERT (yyp
->yystate
.yyisState
);
9387 YYASSERT (yyp
->yyoption
.yyisState
);
9388 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9389 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
9390 (unsigned long) yyp
->yystate
.yyposn
,
9391 (long) YYINDEX (yyp
->yystate
.yypred
));
9392 if (! yyp
->yystate
.yyresolved
)
9393 YYFPRINTF (stderr
, ", firstVal: %ld",
9394 (long) YYINDEX (yyp
->yystate
9395 .yysemantics
.yyfirstVal
));
9399 YYASSERT (!yyp
->yystate
.yyisState
);
9400 YYASSERT (!yyp
->yyoption
.yyisState
);
9401 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
9402 yyp
->yyoption
.yyrule
- 1,
9403 (long) YYINDEX (yyp
->yyoption
.yystate
),
9404 (long) YYINDEX (yyp
->yyoption
.yynext
));
9406 YYFPRINTF (stderr
, "\n");
9408 YYFPRINTF (stderr
, "Tops:");
9409 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
9410 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long) yyi
,
9411 (long) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
9412 YYFPRINTF (stderr
, "\n");
9420 /* Substitute the variable and function names. */
9421 #define yyparse psi_parser_proc_parse
9422 #define yylex psi_parser_proc_lex
9423 #define yyerror psi_parser_proc_error
9424 #define yylval psi_parser_proc_lval
9425 #define yychar psi_parser_proc_char
9426 #define yydebug psi_parser_proc_debug
9427 #define yynerrs psi_parser_proc_nerrs
9429 #line 2284 "src/parser_proc_grammar.y" /* glr.c:2578 */
9434 #define PSI_DEBUG_LEX 0
9435 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9437 struct psi_token
*token
;
9439 PSI_DEBUG_PRINT(P
, "PSI: LEX index %4zu ", *index
);
9441 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
9443 PSI_DEBUG_DUMP(P
, psi_token_dump
, token
);
9445 *((struct psi_token
**)lvalp
) = token
;
9449 PSI_DEBUG_PRINT(P
, "EOF\n");
9457 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
9459 struct psi_token
*T
= NULL
;
9468 psi_plist_get(tokens
, last
, &T
);
9470 size_t i
= (last
>= 5) ? last
- 5 : 0;
9472 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
9473 while (i
<= last
|| T
->type
!= PSI_T_EOS
) {
9474 if (!psi_plist_get(tokens
, i
++, &T
)) {
9477 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s token '%s' at col %u",
9478 i
<last
+1?"preceding":i
>last
+1?"following":"offending", T
->text
->val
, T
->col
);
9481 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);