1 /* A Bison parser, made by GNU Bison 3.1. */
3 /* Skeleton implementation for Bison GLR parsers in C
5 Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C GLR parser skeleton written by Paul Hilfinger. */
35 /* Identify Bison output. */
39 #define YYBISON_VERSION "3.1"
42 #define YYSKELETON_NAME "glr.c"
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
51 #include "php_psi_stdinc.h"
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
63 /* First part of user declarations. */
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
75 #include "parser_proc.h"
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
82 # define YYERROR_VERBOSE 1
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default
;
91 /* Copy the second part of user declarations. */
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
104 #define PSI_PARSER_PROC_DEBUG 1
106 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
107 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
109 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
113 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
115 P
->structs
= psi_plist_add(P
->structs
, &strct
);
117 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
121 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
123 P
->unions
= psi_plist_add(P
->unions
, &u
);
125 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
129 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
131 P
->enums
= psi_plist_add(P
->enums
, &e
);
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg
*def
)
135 switch (def
->type
->type
) {
137 if (!psi_decl_type_is_anon(def
->type
->name
, "struct")) {
142 if (!psi_decl_type_is_anon(def
->type
->name
, "union")) {
147 if (!psi_decl_type_is_anon(def
->type
->name
, "enum")) {
154 free(def
->type
->name
);
155 def
->type
->name
= strdup(def
->var
->name
);
157 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
161 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
163 //psi_parser_proc_deanon_typedef(def);
164 P
->types
= psi_plist_add(P
->types
, &def
);
166 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
169 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
171 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
174 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
177 if (psi_decl_is_blacklisted(decl
->func
->var
->name
)) {
178 psi_decl_free(&decl
);
183 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
185 P
->decls
= psi_plist_add(P
->decls
, &decl
);
187 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser
*P
, struct psi_plist
*list
) {
190 P
->vars
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
192 P
->vars
= psi_plist_add_r(P
->vars
, psi_plist_count(list
), psi_plist_eles(list
));
195 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
198 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
200 P
->impls
= psi_plist_add(P
->impls
, &impl
);
205 #line 206 "src/parser_proc.c" /* glr.c:264 */
212 # if defined YYENABLE_NLS && YYENABLE_NLS
214 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
215 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
219 # define YY_(Msgid) Msgid
227 # define YYMALLOC malloc
230 # define YYREALLOC realloc
233 #define YYSIZEMAX ((size_t) -1)
238 typedef unsigned char yybool
;
245 # define YYJMP_BUF jmp_buf
246 # define YYSETJMP(Env) setjmp (Env)
248 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
252 # if (defined __GNUC__ \
253 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
254 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
255 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
257 # define YY_ATTRIBUTE(Spec) /* empty */
261 #ifndef YY_ATTRIBUTE_PURE
262 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
265 #ifndef YY_ATTRIBUTE_UNUSED
266 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
269 #if !defined _Noreturn \
270 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
271 # if defined _MSC_VER && 1200 <= _MSC_VER
272 # define _Noreturn __declspec (noreturn)
274 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
278 /* Suppress unused-variable warnings by "using" E. */
279 #if ! defined lint || defined __GNUC__
280 # define YYUSE(E) ((void) (E))
282 # define YYUSE(E) /* empty */
285 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
286 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
287 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
288 _Pragma ("GCC diagnostic push") \
289 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
290 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
291 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
292 _Pragma ("GCC diagnostic pop")
294 # define YY_INITIAL_VALUE(Value) Value
296 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
297 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
298 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
300 #ifndef YY_INITIAL_VALUE
301 # define YY_INITIAL_VALUE(Value) /* Nothing. */
306 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
309 /* YYFINAL -- State number of the termination state. */
311 /* YYLAST -- Last index in YYTABLE. */
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
318 /* YYNRULES -- Number of rules. */
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 935
322 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
324 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
325 accessed by $0, $-1, etc., in any rule. */
328 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
330 #define YYMAXUTOK 394
332 #define YYTRANSLATE(YYX) \
333 ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
335 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
336 static const unsigned char yytranslate
[] =
338 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
363 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
364 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
365 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
366 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
367 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
368 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
369 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
370 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
371 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
372 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
373 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
374 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
375 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
377 135, 136, 137, 138, 139
381 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
382 static const unsigned short yyrline
[] =
384 0, 433, 433, 433, 433, 433, 433, 433, 433, 433,
385 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
386 434, 434, 434, 434, 435, 435, 435, 435, 435, 435,
387 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
388 435, 435, 435, 436, 436, 436, 436, 436, 436, 436,
389 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
390 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
391 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
392 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
393 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
394 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
395 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
396 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
397 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
398 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
399 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
400 436, 437, 437, 437, 437, 437, 437, 437, 437, 437,
401 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
402 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
403 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
404 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
405 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
406 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
407 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
408 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
409 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
410 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
411 437, 437, 437, 437, 437, 437, 437, 441, 442, 445,
412 446, 449, 450, 451, 452, 458, 462, 465, 468, 471,
413 477, 480, 483, 486, 489, 495, 501, 504, 510, 533,
414 537, 541, 546, 550, 554, 558, 565, 566, 570, 571,
415 575, 576, 577, 581, 582, 586, 587, 591, 592, 593,
416 597, 598, 602, 607, 612, 617, 626, 629, 632, 633,
417 639, 644, 652, 655, 659, 663, 670, 674, 678, 682,
418 687, 698, 709, 714, 719, 723, 729, 739, 742, 746,
419 750, 756, 763, 767, 771, 778, 779, 780, 784, 798,
420 804, 807, 813, 816, 822, 823, 831, 842, 851, 863,
421 864, 868, 878, 887, 899, 900, 903, 909, 910, 914,
422 918, 922, 927, 932, 940, 941, 942, 945, 951, 954,
423 957, 963, 964, 968, 971, 974, 980, 983, 986, 994,
424 1006, 1009, 1012, 1015, 1022, 1025, 1035, 1038, 1041, 1044,
425 1045, 1046, 1050, 1053, 1056, 1067, 1074, 1084, 1087, 1093,
426 1096, 1103, 1134, 1137, 1143, 1146, 1152, 1158, 1159, 1160,
427 1161, 1162, 1163, 1167, 1171, 1172, 1176, 1177, 1181, 1182,
428 1189, 1190, 1194, 1201, 1212, 1219, 1227, 1251, 1280, 1287,
429 1298, 1344, 1385, 1400, 1403, 1406, 1412, 1415, 1421, 1436,
430 1439, 1468, 1476, 1504, 1509, 1517, 1527, 1537, 1540, 1544,
431 1550, 1564, 1581, 1584, 1590, 1597, 1607, 1614, 1617, 1623,
432 1628, 1636, 1640, 1644, 1648, 1652, 1656, 1663, 1667, 1671,
433 1675, 1679, 1683, 1689, 1693, 1700, 1703, 1715, 1719, 1723,
434 1730, 1743, 1756, 1769, 1772, 1779, 1780, 1784, 1787, 1790,
435 1793, 1799, 1803, 1810, 1813, 1816, 1831, 1832, 1833, 1834,
436 1838, 1841, 1847, 1848, 1854, 1857, 1863, 1864, 1868, 1869,
437 1879, 1882, 1889, 1894, 1899, 1909, 1912, 1918, 1921, 1927,
438 1934, 1941, 1948, 1949, 1953, 1954, 1955, 1956, 1960, 1961,
439 1962, 1963, 1964, 1968, 1971, 1977, 1980, 1983, 1986, 1989,
440 1995, 1999, 2007, 2008, 2012, 2019, 2022, 2025, 2028, 2032,
441 2035, 2041, 2045, 2053, 2060, 2065, 2073, 2081, 2082, 2083,
442 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2094, 2097, 2103,
443 2106, 2112, 2113, 2117, 2120, 2126, 2129, 2135, 2142, 2146,
444 2153, 2156, 2159, 2165, 2172, 2175, 2178, 2185, 2190, 2198,
445 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2209, 2212, 2218,
446 2221, 2227, 2234, 2235, 2239, 2246, 2249, 2255, 2263, 2266,
451 #if YYDEBUG || YYERROR_VERBOSE || 1
452 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
453 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
454 static const char *const yytname
[] =
456 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
457 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
458 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
459 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
460 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
461 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
462 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
463 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
464 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
465 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
466 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
467 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
468 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
469 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
470 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
471 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
472 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
473 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
474 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
475 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
476 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
477 "$accept", "binary_op_token", "unary_op_token", "name_token",
478 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
479 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
480 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
481 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
482 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
483 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
484 "cpp_macro_call_arg_list", "constant", "impl_def_val",
485 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
486 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
487 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
488 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
489 "decl_int_type", "int_signed_types", "signed_short_types",
490 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
491 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
492 "ignored_decl", "ignored_decl_qualifiers", "ignored_decl_body",
493 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
494 "decl_func_body", "decl_functor_body", "decl_anon_functor_body",
495 "decl_functor", "decl_anon_functor", "decl_func", "decl_args",
496 "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
497 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
498 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
499 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
500 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
501 "struct_name", "optional_name", "optional_comma", "decl_layout",
502 "align_and_size", "array_size", "array_qualifier_token", "indirection",
503 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
504 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
505 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
506 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
507 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
508 "let_callback", "let_func", "let_func_token", "let_func_exps",
509 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
510 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
511 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
512 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
517 #define YYPACT_NINF -714
518 #define YYTABLE_NINF -629
520 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
522 static const short yypact
[] =
524 494, -714, -714, -714, -714, -714, 99, -714, -714, -714,
525 541, -714, -714, -714, 742, 1371, 7421, 7421, 7421, 149,
526 50, -34, 112, -714, 237, -714, 188, 494, -714, -714,
527 -714, -714, -714, 6679, 597, -714, -714, -714, -714, 129,
528 219, -714, -714, -714, -714, 1629, 45, -714, -714, 75,
529 196, 204, -714, -714, -714, -714, 161, -714, 166, -714,
530 -714, -714, 7421, 7421, 7421, -714, -714, -714, 179, -714,
531 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
532 -714, 846, -714, -714, -714, -714, 209, 972, 972, 27,
533 -714, 972, 6453, 7421, 7421, 1742, 218, -714, -714, -714,
534 220, 7421, 215, 215, -714, -714, -714, 5436, -714, -714,
535 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
536 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
537 -714, -714, -714, -714, -714, -714, -714, -714, 59, -714,
538 -714, 59, 221, -714, -714, -714, -714, -714, 232, -714,
539 229, -714, 226, -714, 240, -714, 1855, 1371, 141, -714,
540 45, -714, -714, 42, 235, -714, -714, 242, 7421, 7,
541 -714, -714, -714, 269, -714, 136, -714, -714, -714, 135,
542 -714, 249, 258, 260, 1968, 1968, 7421, 85, -714, -714,
543 -714, 6905, 262, -714, 1481, -714, -714, -714, -714, -714,
544 -714, -714, -714, 1594, -714, -714, -714, -714, 1707, 1820,
545 -714, -714, -714, 1933, -714, -714, -714, -714, -714, -714,
546 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
547 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
548 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
549 -714, -714, -714, -714, -714, -714, 2046, 2159, 2272, 2385,
550 2498, -714, -714, -714, -714, -714, -714, -714, -714, -714,
551 -714, -714, -714, -714, -714, -714, 2611, -714, 2724, 2837,
552 2950, 3063, 3176, 3289, -714, 3402, -714, -714, 3515, 3628,
553 3741, 3854, 3967, 4080, 4193, 4306, 4419, 4532, 4645, 4758,
554 4871, 4984, 5097, 5210, -714, -714, -714, -714, -714, -714,
555 -714, 5323, 972, -714, -714, -714, -714, -714, -714, -714,
556 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
557 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
558 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
559 -714, 972, -714, -714, -714, -714, -714, -714, -714, 142,
560 6453, -714, -714, -714, -714, 7018, 6453, 267, 7550, -714,
561 61, -714, 89, -714, -714, -714, -714, 259, 266, 266,
562 68, 68, 272, -714, 85, 281, 283, -714, 285, -714,
563 -714, -714, 1338, -714, 268, 235, -714, -714, -714, -714,
564 -714, 312, -714, -714, 1224, -714, 301, -714, 103, 6679,
565 -714, 299, 115, 298, -714, -714, 131, 293, 300, -714,
566 6905, 6114, 6905, 7421, 6905, -714, -714, 23, -714, -714,
567 -714, -714, -714, 6340, -714, 302, -714, 7421, -714, -714,
568 303, 7550, 311, -714, -714, -714, -714, 6599, 316, -714,
569 6784, 7421, -714, -714, 6453, -714, -714, -714, -714, -714,
570 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
571 -714, -714, -714, 6453, 6453, 308, 1459, 6905, 6905, -714,
572 -714, -714, -714, 5662, 263, 255, -714, -714, -714, -714,
573 -714, -714, -714, 5549, -714, -714, 6340, -714, 7526, -714,
574 -714, 304, 7131, -714, -714, -714, -714, -714, -714, -714,
575 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
576 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
577 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
578 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
579 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
580 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
581 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
582 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
583 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
584 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
585 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
586 -714, -714, -714, -714, 1098, -714, 39, 309, 1968, 235,
587 278, 1629, 235, 284, 6340, 7421, 310, 305, 318, 7574,
588 313, 319, -714, 322, 339, 324, 333, 170, -714, 334,
589 336, -714, -714, -714, 6667, 6905, 7190, -714, 268, 335,
590 -714, -714, -714, 338, 7550, 340, 343, 7284, -714, 344,
591 1742, 337, -714, -714, 6566, 719, 7421, 215, 215, -714,
592 -714, 30, -714, -714, 347, -714, 311, 7574, -714, -714,
593 -714, -714, -714, -714, 346, 182, -714, 112, -714, -714,
594 -714, 33, 40, 41, 6886, -714, -714, 6340, 6340, -714,
595 268, 143, -714, -714, -714, 268, 185, -714, 349, -714,
596 -714, 351, 7574, -714, -714, 5775, -714, 6114, -714, 6905,
597 -714, 112, 6905, -714, 7421, 7303, -714, -714, -714, -714,
598 -714, 353, 345, -714, -714, -714, -714, 6453, 6453, 354,
599 -714, 63, 356, -714, 337, 266, 266, -714, 747, 360,
600 747, 358, 6340, -714, 7502, -714, 7421, 1968, -714, 6792,
601 235, 341, 235, 235, 165, 292, 203, 372, 7574, -714,
602 -714, -714, -714, 374, 6227, -714, 376, 6905, 189, -714,
603 378, 302, 379, 972, 7362, 7550, 7598, 388, 380, 382,
604 6905, 385, 356, 6905, 6905, -714, 747, -714, 112, 5662,
605 -714, 6340, 384, 386, -714, -714, 387, -714, -714, 372,
606 -714, -714, -714, 7303, -714, 390, 6340, 112, -714, 5888,
607 391, 394, -714, 321, -714, -714, -714, 393, 392, 405,
608 337, 397, -714, 402, -714, 62, -714, 7622, 403, 401,
609 235, 406, 112, 7122, 404, 408, -714, 409, -714, -714,
610 95, -714, 410, 412, -714, 6905, -714, 423, 1968, 417,
611 -714, 355, 422, 6340, 5775, 428, -714, 6114, -714, -714,
612 430, 411, 441, 337, 434, 435, 1968, 176, 6001, 7009,
613 305, -714, -714, -714, 421, 6227, -714, -714, 436, 438,
614 -714, 440, 444, 446, 449, 450, 439, -714, -714, 5775,
615 -714, 457, -714, 747, 452, 235, 112, 454, 6114, -714,
616 456, -714, 1968, -714, 453, -714, -714, -714, 461, 6001,
617 235, 462, -714, 463, -714
620 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
621 Performed when YYTABLE does not specify something else to do. Zero
622 means the default is an error. */
623 static const unsigned short yydefact
[] =
625 277, 396, 393, 397, 391, 392, 394, 388, 389, 387,
626 386, 378, 282, 281, 0, 0, 0, 0, 503, 377,
627 0, 427, 628, 283, 0, 431, 0, 278, 279, 285,
628 284, 286, 290, 520, 0, 374, 380, 379, 385, 400,
629 412, 384, 287, 288, 289, 0, 417, 438, 440, 441,
630 0, 0, 452, 292, 291, 293, 0, 294, 0, 395,
631 390, 386, 0, 0, 0, 377, 432, 439, 422, 296,
632 307, 304, 306, 308, 309, 320, 317, 318, 315, 321,
633 316, 0, 319, 310, 311, 312, 0, 332, 332, 0,
634 300, 0, 0, 503, 503, 0, 0, 360, 365, 461,
635 364, 0, 511, 511, 33, 34, 616, 577, 24, 39,
636 38, 37, 35, 36, 32, 31, 25, 29, 28, 26,
637 27, 40, 585, 584, 582, 580, 581, 583, 579, 578,
638 586, 30, 614, 612, 611, 613, 610, 609, 381, 41,
639 42, 382, 383, 500, 544, 545, 546, 547, 0, 541,
640 0, 428, 0, 630, 0, 629, 386, 0, 0, 429,
641 417, 1, 280, 526, 513, 376, 462, 0, 521, 522,
642 524, 375, 402, 406, 404, 408, 401, 398, 413, 400,
643 399, 0, 0, 0, 453, 453, 0, 0, 381, 382,
644 383, 0, 0, 68, 43, 44, 45, 46, 47, 48,
645 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
646 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
647 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
648 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
649 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
650 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
651 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
652 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
653 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
654 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
655 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
656 157, 0, 332, 302, 297, 43, 52, 57, 58, 62,
657 106, 107, 105, 103, 104, 124, 126, 127, 128, 129,
658 130, 131, 160, 135, 136, 137, 138, 139, 140, 141,
659 142, 143, 144, 145, 146, 147, 148, 149, 150, 334,
660 305, 333, 298, 313, 314, 299, 301, 342, 343, 0,
661 0, 22, 23, 20, 21, 0, 0, 345, 303, 344,
662 381, 502, 382, 501, 361, 358, 366, 0, 0, 0,
663 0, 0, 0, 295, 0, 0, 0, 430, 0, 529,
664 528, 527, 516, 464, 520, 513, 523, 525, 407, 403,
665 409, 410, 405, 414, 0, 426, 0, 415, 387, 520,
666 458, 0, 0, 455, 456, 459, 0, 479, 505, 477,
667 0, 628, 0, 0, 0, 622, 623, 0, 553, 556,
668 555, 557, 558, 0, 559, 423, 424, 0, 421, 419,
669 0, 324, 325, 322, 335, 499, 498, 0, 0, 494,
670 0, 0, 340, 337, 347, 2, 3, 4, 5, 6,
671 7, 8, 9, 10, 11, 13, 12, 14, 15, 16,
672 17, 18, 19, 0, 0, 0, 0, 0, 0, 467,
673 466, 468, 465, 0, 0, 0, 359, 416, 490, 488,
674 487, 489, 518, 0, 519, 517, 0, 491, 0, 481,
675 492, 0, 0, 521, 463, 411, 186, 161, 162, 163,
676 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
677 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
678 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
679 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
680 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
681 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
682 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
683 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
684 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
685 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
686 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
687 271, 273, 436, 437, 0, 434, 0, 460, 453, 513,
688 0, 0, 513, 0, 0, 506, 0, 0, 0, 605,
689 0, 0, 604, 42, 0, 0, 0, 0, 625, 0,
690 0, 599, 530, 554, 0, 0, 326, 420, 520, 0,
691 495, 497, 336, 0, 349, 0, 348, 0, 338, 0,
692 0, 507, 369, 362, 370, 0, 371, 511, 511, 368,
693 367, 490, 356, 357, 0, 352, 354, 353, 531, 549,
694 550, 551, 552, 548, 0, 0, 535, 628, 540, 542,
695 543, 616, 24, 0, 0, 485, 515, 0, 0, 514,
696 520, 0, 433, 435, 418, 520, 0, 444, 0, 457,
697 442, 0, 480, 478, 476, 0, 560, 628, 603, 0,
698 539, 628, 0, 624, 0, 600, 597, 621, 425, 327,
699 330, 0, 328, 496, 493, 341, 346, 0, 0, 0,
700 363, 0, 472, 469, 507, 0, 0, 351, 0, 0,
701 0, 537, 0, 483, 0, 484, 0, 453, 450, 0,
702 513, 0, 513, 513, 490, 0, 31, 30, 566, 571,
703 567, 569, 570, 41, 0, 606, 617, 0, 0, 626,
704 616, 602, 0, 332, 0, 350, 339, 0, 508, 0,
705 0, 0, 472, 373, 372, 532, 0, 536, 628, 0,
706 482, 0, 0, 0, 451, 448, 0, 445, 443, 0,
707 568, 591, 577, 600, 592, 0, 0, 628, 572, 628,
708 0, 0, 627, 0, 323, 329, 331, 0, 0, 0,
709 507, 473, 470, 0, 533, 0, 538, 486, 0, 0,
710 513, 0, 628, 0, 587, 0, 619, 618, 607, 561,
711 0, 512, 0, 0, 474, 0, 471, 0, 453, 0,
712 449, 0, 0, 0, 0, 0, 608, 628, 615, 598,
713 0, 0, 0, 507, 0, 0, 453, 0, 593, 0,
714 491, 589, 564, 562, 588, 0, 576, 620, 0, 0,
715 475, 0, 0, 0, 0, 0, 594, 595, 573, 0,
716 563, 0, 509, 0, 0, 513, 628, 0, 628, 590,
717 0, 534, 453, 446, 0, 574, 596, 510, 0, 593,
721 /* YYPGOTO[NTERM-NUM]. */
722 static const short yypgoto
[] =
724 -714, -339, -74, -14, -55, -714, -714, -714, 479, -714,
725 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
726 -714, -714, -80, -714, -283, -714, -714, -714, -302, -714,
727 -714, 352, -167, 28, -158, -178, -16, -19, -714, -714,
728 -714, 473, -714, -714, 348, -714, -714, -714, -714, 357,
729 -259, -714, -714, -179, -714, -714, 350, -714, -110, 491,
730 36, -4, 58, -714, -714, -714, -714, -180, -714, -113,
731 10, -33, -714, -714, 138, -348, -714, -282, -714, 14,
732 -714, -109, -333, -714, -71, -714, 81, -714, -441, -437,
733 137, -714, -710, -87, -376, -714, -371, -24, -714, 361,
734 -714, -714, 501, -714, -231, -665, -713, -714, -714, 514,
735 -714, 150, -352, -714, -373, -683, 117, -237, -714, -714,
736 -692, -714, -714, -345, -386, -714, -714, -714, -279, -714,
737 -408, -402, -397, -714, -714, -714, -714, -714, -714, -177,
741 /* YYDEFGOTO[NTERM-NUM]. */
742 static const short yydefgoto
[] =
744 -1, 708, 496, 164, 349, 622, 26, 27, 28, 29,
745 30, 86, 87, 88, 89, 355, 90, 91, 92, 313,
746 741, 742, 350, 351, 368, 665, 666, 31, 684, 685,
747 32, 96, 671, 672, 673, 33, 34, 35, 36, 37,
748 38, 39, 40, 41, 177, 399, 402, 180, 42, 183,
749 686, 43, 192, 791, 44, 45, 623, 624, 625, 46,
750 47, 48, 99, 410, 50, 411, 51, 412, 413, 414,
751 415, 497, 53, 54, 480, 481, 675, 801, 841, 101,
752 418, 419, 639, 499, 500, 659, 449, 56, 102, 103,
753 143, 636, 752, 378, 393, 501, 167, 437, 169, 170,
754 391, 57, 58, 695, 696, 640, 697, 148, 698, 699,
755 700, 427, 428, 429, 891, 892, 893, 780, 781, 782,
756 139, 875, 894, 825, 905, 906, 430, 650, 792, 431,
757 907, 642, 140, 830, 857, 432, 433, 434, 647, 648,
761 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
762 positive, shift that token. If negative, reduce the rule whose
763 number is the opposite. If YYTABLE_NINF, syntax error. */
764 static const short yytable
[] =
766 166, 154, 138, 141, 142, 416, 409, 409, 352, 168,
767 52, 98, 435, 641, 55, 171, 379, 165, 366, 504,
768 68, 369, 651, 502, 643, 100, 312, 643, 441, 474,
769 477, 478, 761, 783, 52, 677, 356, 52, 627, 678,
770 784, 55, 779, 97, 802, 805, 67, 808, 188, 189,
771 190, 380, 442, 353, 381, 52, 163, 22, 49, 498,
772 652, -355, -387, -355, -355, 657, -387, 311, 49, -386,
773 11, 389, 714, -24, 762, 653, 150, 450, 367, 370,
774 372, 181, 49, 453, 824, 49, 730, 376, 798, 151,
775 -511, 98, 783, 844, 377, -511, -381, -504, 799, 479,
776 654, 828, 474, 49, 476, 100, -441, -461, 59, -461,
777 60, 474, 106, 878, 474, 420, 421, 422, 423, 424,
778 -387, 425, 426, 374, -382, -504, 867, -386, 65, 390,
779 864, 396, 653, 172, 173, 174, -387, -387, 175, 172,
780 173, 174, 400, 761, 175, 401, 354, 626, 629, 630,
781 687, 176, 144, 98, 395, 145, 153, 176, 436, 146,
782 704, 147, 854, 705, 632, 633, 52, 100, 445, 446,
783 182, 664, 417, 900, 447, 767, 768, 420, 421, 422,
784 423, 424, 783, 425, 426, 97, 448, 872, 161, 895,
785 667, 668, 67, 821, 822, 824, -490, 186, -490, -490,
786 921, 733, 187, 783, 734, 132, 133, 134, 135, 136,
787 137, -452, 910, 191, 49, 759, 760, 783, 770, 771,
788 821, 822, 832, 655, 895, 178, 4, 5, 184, 677,
789 371, 373, 443, 678, 677, 823, 185, 366, 678, 314,
790 369, 1, 2, 3, 4, 5, 6, 7, 8, 375,
791 377, 924, -452, 717, 9, 382, 720, -504, 144, 156,
792 383, 145, 384, 385, 387, 146, 11, 147, 689, 690,
793 691, 692, 693, 392, 394, 398, 122, 123, 124, 125,
794 126, 127, 128, 129, 130, 404, 366, 743, 694, 369,
795 406, 407, 366, 438, 475, 369, 444, 367, 674, 454,
796 688, 722, 476, 122, 123, 124, 125, 126, 127, 128,
797 129, 130, 483, 485, 486, 703, 487, 163, 505, 785,
798 157, 62, 63, 64, 65, 474, 158, 439, 474, 474,
799 643, 628, 631, 634, 635, 656, 655, 657, 661, 766,
800 669, 715, 718, 709, 769, 725, 367, 724, 721, 726,
801 728, 452, 367, 727, 729, 420, 421, 422, 423, 424,
802 159, 425, 426, 730, 731, 732, 735, 736, 744, 749,
803 503, 745, 751, 746, 764, 765, 166, 747, 757, 794,
804 366, 758, 772, 369, 773, 168, 793, 637, 797, 645,
805 800, 649, 778, 165, 815, 806, 817, 818, 809, 366,
806 366, 819, 369, 369, 826, 816, 827, 803, 804, 646,
807 829, -601, 833, 837, 839, 838, 842, 848, 860, 849,
808 850, 856, 852, 395, 858, 859, 861, 862, 658, 810,
809 863, 865, 643, 866, 869, 868, 898, 663, 874, 871,
810 367, 876, 881, 877, 679, 680, 882, 884, 716, 886,
811 409, 778, 887, 409, 888, 909, 474, 474, 879, 367,
812 367, 896, 729, 880, 795, 796, 899, 901, 902, 897,
813 911, 912, 98, 918, 870, 913, 687, 914, 847, 915,
814 643, 916, 920, 917, 922, 929, 100, 925, 711, 927,
815 676, 643, 674, 853, 930, 933, 934, 674, 1, 2,
816 3, 4, 5, 6, 7, 8, 162, 846, 754, 386,
817 926, 9, 750, 179, 713, 160, 10, 388, 719, 482,
818 843, 643, 152, 11, 12, 13, 723, 403, 660, 807,
819 397, 405, 643, 149, 484, 14, 919, 638, 820, 923,
820 889, 778, 904, 931, 851, 1, 2, 3, 4, 5,
821 6, 7, 8, 788, 932, 0, 0, 789, 9, 0,
822 0, 0, 778, 61, 0, 0, 0, 0, 0, 0,
823 11, 0, 0, 0, 0, 0, 778, 15, 16, 17,
824 18, 19, 20, 21, 0, 22, 0, 813, 0, 409,
825 755, 756, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
827 23, 0, 0, 0, 9, 24, 0, 25, 0, 61,
828 0, 417, 738, 0, 0, 62, 63, 64, 65, 0,
829 0, 0, 0, 0, 503, 0, 0, 0, 0, 0,
830 0, 166, 740, 0, 0, 0, 0, 0, 0, 0,
831 168, 0, 0, 0, 0, 0, 0, 0, 165, 0,
832 0, 0, 376, 0, 66, 0, 98, 0, 0, 0,
833 0, 98, 0, 366, 366, 0, 369, 369, 0, 0,
834 100, 62, 63, 64, 676, 100, 503, 165, 885, 676,
835 409, 503, 0, 0, 0, 0, 786, 0, 0, 436,
836 0, 0, 436, 0, 0, 0, 903, 0, 409, 0,
837 787, 0, 0, 834, 0, 0, 0, 0, 0, 0,
838 646, 0, 0, 1, 2, 3, 4, 5, 6, 7,
839 8, 0, 0, 367, 367, 0, 9, 0, 0, 0,
840 0, 61, 928, 0, 409, 0, 0, 0, 11, 0,
841 144, 0, 812, 145, 831, 711, 753, 146, 0, 147,
842 689, 690, 691, 692, 693, 0, 0, 840, 0, 0,
843 679, 680, 69, 0, 0, 0, 0, 0, 0, 0,
844 836, 0, 0, 0, 0, 0, 0, 845, 0, 0,
845 436, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 93, 94, 18, 65, 0, 70, 71,
847 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
848 0, 82, 83, 84, 85, 0, 0, 0, 0, 0,
849 0, 0, 883, 0, 0, 0, 0, 0, 0, 0,
850 670, 890, 0, 0, 0, 0, 193, 0, 0, 194,
851 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
852 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
853 215, 216, 217, 218, 219, 220, 890, 221, 222, 223,
854 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
855 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
856 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
857 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
858 264, 265, 266, 267, 268, 269, 0, 270, 0, 271,
859 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
860 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
861 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
862 302, 303, 304, 0, 0, 305, 0, 306, 307, 308,
863 309, 310, 193, 0, 0, 315, 195, 196, 197, 198,
864 199, 200, 201, 202, 316, 204, 205, 206, 207, 317,
865 318, 210, 211, 212, 319, 214, 215, 216, 217, 218,
866 219, 220, 0, 221, 222, 223, 224, 225, 226, 227,
867 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
868 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
869 248, 249, 250, 251, 252, 253, 254, 255, 320, 321,
870 322, 323, 324, 261, 262, 263, 264, 265, 266, 267,
871 268, 269, 0, 270, 0, 271, 272, 273, 274, 275,
872 325, 277, 326, 327, 328, 329, 330, 331, 284, 332,
873 286, 287, 333, 334, 335, 336, 337, 338, 339, 340,
874 341, 342, 343, 344, 345, 346, 347, 348, 304, 0,
875 0, 305, 0, 306, 307, 308, 309, 310, 506, 0,
876 0, 507, 508, 509, 510, 511, 512, 513, 514, 515,
877 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
878 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
879 535, 536, 537, 538, 404, 712, 539, 540, 541, 542,
880 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
881 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
882 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
883 573, 574, 575, 576, 577, 578, 579, 580, 0, 581,
884 0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
885 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
886 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
887 611, 612, 613, 614, 615, 0, 0, 616, 0, 617,
888 618, 619, 620, 621, 506, 0, 0, 507, 508, 509,
889 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
890 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
891 530, 531, 532, 533, 0, 534, 535, 536, 537, 538,
892 404, 0, 539, 540, 541, 542, 543, 544, 545, 546,
893 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
894 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
895 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
896 577, 578, 579, 580, 0, 581, 0, 582, 583, 584,
897 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
898 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
899 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
900 615, 104, 0, 616, 0, 617, 618, 619, 620, 621,
901 105, 0, 0, 0, 0, 106, 107, 488, 0, 0,
902 108, 489, 0, 490, 0, 491, 359, 492, 0, 0,
903 493, 0, 0, 0, 0, 1, 2, 3, 4, 5,
904 6, 7, 8, 0, 0, 361, 362, 163, 9, 0,
905 0, 0, 0, 61, 0, 0, 0, 0, 363, 364,
906 11, 0, 0, 0, 109, 110, 111, 112, 113, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 494, 114, 0, 115, 116,
909 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
910 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
911 134, 135, 136, 137, 0, 93, 94, 18, 65, 0,
912 0, 0, 495, 1, 2, 3, 4, 5, 6, 7,
913 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
914 0, 61, 0, 0, -33, 0, 0, 0, 11, 0,
915 0, 0, 95, -33, 0, 0, 0, 0, -33, -33,
916 0, 0, 0, -33, 0, 0, -33, -33, -33, -33,
917 0, 0, 0, -33, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, -33, -33,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, -33, -33, 93, 94, 18, 65, -33, -33, -33,
921 -33, -33, 0, 0, 0, 0, 0, 0, 0, -33,
922 0, 0, 0, 0, 0, 0, 0, 0, 0, -33,
923 0, -33, -33, -33, -33, -33, -33, 0, -33, 0,
924 670, -33, -33, -33, -33, -33, -33, -33, -33, -33,
925 -33, -33, -33, -33, -33, -33, -33, -34, 0, -33,
926 0, 0, 0, 0, 0, 0, -34, 0, 0, 0,
927 0, -34, -34, 0, 0, 0, -34, 0, 0, -34,
928 -34, -34, -34, 0, 0, 0, -34, 0, 0, 0,
929 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
930 8, -34, -34, 0, 0, 0, 9, 0, 0, 0,
931 0, 61, 0, 0, -34, -34, 0, 0, 11, 0,
932 -34, -34, -34, -34, -34, 0, 0, 0, 0, 0,
933 0, 0, -34, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, -34, 0, -34, -34, -34, -34, -34, -34,
935 0, -34, 0, 0, -34, -34, -34, -34, -34, -34,
936 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
937 -57, 0, -34, 62, 63, 64, 65, 0, 0, -57,
938 0, 0, 0, 0, -57, -57, 0, 0, 0, -57,
939 0, 0, -57, -57, -57, -57, 0, 0, 0, -57,
940 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
941 5, 6, 7, 8, -57, -57, 0, 0, 0, 9,
942 0, 0, 0, 0, 61, 0, 0, -57, -57, 0,
943 0, 11, 0, -57, -57, -57, -57, -57, 0, 0,
944 0, 0, 0, 0, 0, -57, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, -57, 0, -57, -57, -57,
946 -57, -57, -57, 0, -57, 0, 0, -57, -57, -57,
947 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
948 -57, -57, -57, -58, 0, -616, 93, 94, 18, 65,
949 0, 0, -58, 0, 0, 0, 0, -58, -58, 0,
950 0, 0, -58, 0, 0, -58, -58, -58, -58, 0,
951 0, 0, -58, 0, 0, 0, 0, 0, 0, 1,
952 2, 3, 4, 5, 6, 7, 8, -58, -58, 0,
953 0, 0, 9, 0, 0, 0, 0, 61, 0, 0,
954 -58, -58, 0, 0, 11, 0, -58, -58, -58, -58,
955 -58, 0, 0, 0, 0, 0, 0, 0, -58, 0,
956 0, 0, 0, 0, 0, 0, 0, 0, -58, 0,
957 -58, -58, -58, -58, -58, -58, 0, -58, 0, 0,
958 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
959 -58, -58, -58, -58, -58, -58, -24, 0, -577, 62,
960 63, 64, 65, 0, 0, -24, 0, 0, 0, 0,
961 -24, -24, 0, 0, 0, -24, 0, 0, -24, -24,
962 -24, -24, 0, 0, 0, -24, 0, 0, 0, 0,
963 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
964 -24, -24, 0, 0, 0, 408, 0, 0, 0, 0,
965 61, 0, 0, -24, -24, 0, 0, 11, 0, -24,
966 -24, -24, -24, -24, 0, 0, 0, 0, 0, 0,
967 0, -24, 0, 0, 0, 0, 0, 0, 0, 0,
968 0, -24, 0, -24, -24, -24, -24, -24, -24, 0,
969 -24, 0, 0, -24, -24, -24, -24, -24, -24, -24,
970 -24, -24, -24, -24, -24, -24, -24, -24, -24, -39,
971 0, -24, 62, 63, 64, 65, 0, 0, -39, 0,
972 0, 0, 0, -39, -39, 0, 0, 0, -39, 0,
973 0, -39, -39, -39, -39, 0, 0, 0, -39, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, -39, -39, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, -39, -39, 0, 0,
977 0, 0, -39, -39, -39, -39, -39, 0, 0, 0,
978 0, 0, 0, 0, -39, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, -39, 0, -39, -39, -39, -39,
980 -39, -39, 0, -39, 0, 0, -39, -39, -39, -39,
981 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
982 -39, -39, -38, 0, -39, 0, 0, 0, 0, 0,
983 0, -38, 0, 0, 0, 0, -38, -38, 0, 0,
984 0, -38, 0, 0, -38, -38, -38, -38, 0, 0,
985 0, -38, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, -38, -38, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0, 0, -38,
988 -38, 0, 0, 0, 0, -38, -38, -38, -38, -38,
989 0, 0, 0, 0, 0, 0, 0, -38, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, -38, 0, -38,
991 -38, -38, -38, -38, -38, 0, -38, 0, 0, -38,
992 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
993 -38, -38, -38, -38, -38, -37, 0, -38, 0, 0,
994 0, 0, 0, 0, -37, 0, 0, 0, 0, -37,
995 -37, 0, 0, 0, -37, 0, 0, -37, -37, -37,
996 -37, 0, 0, 0, -37, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0, 0, -37,
998 -37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, -37, -37, 0, 0, 0, 0, -37, -37,
1000 -37, -37, -37, 0, 0, 0, 0, 0, 0, 0,
1001 -37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 -37, 0, -37, -37, -37, -37, -37, -37, 0, -37,
1003 0, 0, -37, -37, -37, -37, -37, -37, -37, -37,
1004 -37, -37, -37, -37, -37, -37, -37, -37, -35, 0,
1005 -37, 0, 0, 0, 0, 0, 0, -35, 0, 0,
1006 0, 0, -35, -35, 0, 0, 0, -35, 0, 0,
1007 -35, -35, -35, -35, 0, 0, 0, -35, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, -35, -35, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, -35, -35, 0, 0, 0,
1011 0, -35, -35, -35, -35, -35, 0, 0, 0, 0,
1012 0, 0, 0, -35, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, -35, 0, -35, -35, -35, -35, -35,
1014 -35, 0, -35, 0, 0, -35, -35, -35, -35, -35,
1015 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1016 -35, -36, 0, -35, 0, 0, 0, 0, 0, 0,
1017 -36, 0, 0, 0, 0, -36, -36, 0, 0, 0,
1018 -36, 0, 0, -36, -36, -36, -36, 0, 0, 0,
1019 -36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, -36, -36, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, -36, -36,
1022 0, 0, 0, 0, -36, -36, -36, -36, -36, 0,
1023 0, 0, 0, 0, 0, 0, -36, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, -36, 0, -36, -36,
1025 -36, -36, -36, -36, 0, -36, 0, 0, -36, -36,
1026 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1027 -36, -36, -36, -36, -32, 0, -36, 0, 0, 0,
1028 0, 0, 0, -32, 0, 0, 0, 0, -32, -32,
1029 0, 0, 0, -32, 0, 0, -32, -32, -32, -32,
1030 0, 0, 0, -32, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0, -32, -32,
1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, -32, -32, 0, 0, 0, 0, -32, -32, -32,
1034 -32, -32, 0, 0, 0, 0, 0, 0, 0, -32,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, -32,
1036 0, -32, -32, -32, -32, -32, -32, 0, -32, 0,
1037 0, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1038 -32, -32, -32, -32, -32, -32, -32, -31, 0, -32,
1039 0, 0, 0, 0, 0, 0, -31, 0, 0, 0,
1040 0, -31, -31, 0, 0, 0, -31, 0, 0, -31,
1041 -31, -31, -31, 0, 0, 0, -31, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1043 0, -31, -31, 0, 0, 0, 0, 0, 0, 0,
1044 0, 0, 0, 0, -31, -31, 0, 0, 0, 0,
1045 -31, -31, -31, -31, -31, 0, 0, 0, 0, 0,
1046 0, 0, -31, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, -31, 0, -31, -31, -31, -31, -31, -31,
1048 0, -31, 0, 0, -31, -31, -31, -31, -31, -31,
1049 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1050 -25, 0, -31, 0, 0, 0, 0, 0, 0, -25,
1051 0, 0, 0, 0, -25, -25, 0, 0, 0, -25,
1052 0, 0, -25, -25, -25, -25, 0, 0, 0, -25,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, -25, -25, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, -25, -25, 0,
1056 0, 0, 0, -25, -25, -25, -25, -25, 0, 0,
1057 0, 0, 0, 0, 0, -25, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, -25, 0, -25, -25, -25,
1059 -25, -25, -25, 0, -25, 0, 0, -25, -25, -25,
1060 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1061 -25, -25, -25, -29, 0, -25, 0, 0, 0, 0,
1062 0, 0, -29, 0, 0, 0, 0, -29, -29, 0,
1063 0, 0, -29, 0, 0, -29, -29, -29, -29, 0,
1064 0, 0, -29, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, -29, -29, 0,
1066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1067 -29, -29, 0, 0, 0, 0, -29, -29, -29, -29,
1068 -29, 0, 0, 0, 0, 0, 0, 0, -29, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, -29, 0,
1070 -29, -29, -29, -29, -29, -29, 0, -29, 0, 0,
1071 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1072 -29, -29, -29, -29, -29, -29, -28, 0, -29, 0,
1073 0, 0, 0, 0, 0, -28, 0, 0, 0, 0,
1074 -28, -28, 0, 0, 0, -28, 0, 0, -28, -28,
1075 -28, -28, 0, 0, 0, -28, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 -28, -28, 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, -28, -28, 0, 0, 0, 0, -28,
1079 -28, -28, -28, -28, 0, 0, 0, 0, 0, 0,
1080 0, -28, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, -28, 0, -28, -28, -28, -28, -28, -28, 0,
1082 -28, 0, 0, -28, -28, -28, -28, -28, -28, -28,
1083 -28, -28, -28, -28, -28, -28, -28, -28, -28, -26,
1084 0, -28, 0, 0, 0, 0, 0, 0, -26, 0,
1085 0, 0, 0, -26, -26, 0, 0, 0, -26, 0,
1086 0, -26, -26, -26, -26, 0, 0, 0, -26, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088 0, 0, 0, -26, -26, 0, 0, 0, 0, 0,
1089 0, 0, 0, 0, 0, 0, -26, -26, 0, 0,
1090 0, 0, -26, -26, -26, -26, -26, 0, 0, 0,
1091 0, 0, 0, 0, -26, 0, 0, 0, 0, 0,
1092 0, 0, 0, 0, -26, 0, -26, -26, -26, -26,
1093 -26, -26, 0, -26, 0, 0, -26, -26, -26, -26,
1094 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1095 -26, -26, -27, 0, -26, 0, 0, 0, 0, 0,
1096 0, -27, 0, 0, 0, 0, -27, -27, 0, 0,
1097 0, -27, 0, 0, -27, -27, -27, -27, 0, 0,
1098 0, -27, 0, 0, 0, 0, 0, 0, 0, 0,
1099 0, 0, 0, 0, 0, 0, -27, -27, 0, 0,
1100 0, 0, 0, 0, 0, 0, 0, 0, 0, -27,
1101 -27, 0, 0, 0, 0, -27, -27, -27, -27, -27,
1102 0, 0, 0, 0, 0, 0, 0, -27, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, -27, 0, -27,
1104 -27, -27, -27, -27, -27, 0, -27, 0, 0, -27,
1105 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1106 -27, -27, -27, -27, -27, -40, 0, -27, 0, 0,
1107 0, 0, 0, 0, -40, 0, 0, 0, 0, -40,
1108 -40, 0, 0, 0, -40, 0, 0, -40, -40, -40,
1109 -40, 0, 0, 0, -40, 0, 0, 0, 0, 0,
1110 0, 0, 0, 0, 0, 0, 0, 0, 0, -40,
1111 -40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, -40, -40, 0, 0, 0, 0, -40, -40,
1113 -40, -40, -40, 0, 0, 0, 0, 0, 0, 0,
1114 -40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 -40, 0, -40, -40, -40, -40, -40, -40, 0, -40,
1116 0, 0, -40, -40, -40, -40, -40, -40, -40, -40,
1117 -40, -40, -40, -40, -40, -40, -40, -40, -135, 0,
1118 -40, 0, 0, 0, 0, 0, 0, -135, 0, 0,
1119 0, 0, -135, -135, 0, 0, 0, -135, 0, 0,
1120 -135, -135, -135, -135, 0, 0, 0, -135, 0, 0,
1121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1122 0, 0, -135, -135, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, -135, -135, 0, 0, 0,
1124 0, -135, -135, -135, -135, -135, 0, 0, 0, 0,
1125 0, 0, 0, -135, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, -135, 0, -135, -135, -135, -135, -135,
1127 -135, 0, -135, 0, 0, -135, -135, -135, -135, -135,
1128 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
1129 -135, -136, 0, -585, 0, 0, 0, 0, 0, 0,
1130 -136, 0, 0, 0, 0, -136, -136, 0, 0, 0,
1131 -136, 0, 0, -136, -136, -136, -136, 0, 0, 0,
1132 -136, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133 0, 0, 0, 0, 0, -136, -136, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0, -136, -136,
1135 0, 0, 0, 0, -136, -136, -136, -136, -136, 0,
1136 0, 0, 0, 0, 0, 0, -136, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, -136, 0, -136, -136,
1138 -136, -136, -136, -136, 0, -136, 0, 0, -136, -136,
1139 -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
1140 -136, -136, -136, -136, -137, 0, -584, 0, 0, 0,
1141 0, 0, 0, -137, 0, 0, 0, 0, -137, -137,
1142 0, 0, 0, -137, 0, 0, -137, -137, -137, -137,
1143 0, 0, 0, -137, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0, -137, -137,
1145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, -137, -137, 0, 0, 0, 0, -137, -137, -137,
1147 -137, -137, 0, 0, 0, 0, 0, 0, 0, -137,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, -137,
1149 0, -137, -137, -137, -137, -137, -137, 0, -137, 0,
1150 0, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1151 -137, -137, -137, -137, -137, -137, -137, -138, 0, -582,
1152 0, 0, 0, 0, 0, 0, -138, 0, 0, 0,
1153 0, -138, -138, 0, 0, 0, -138, 0, 0, -138,
1154 -138, -138, -138, 0, 0, 0, -138, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, -138, -138, 0, 0, 0, 0, 0, 0, 0,
1157 0, 0, 0, 0, -138, -138, 0, 0, 0, 0,
1158 -138, -138, -138, -138, -138, 0, 0, 0, 0, 0,
1159 0, 0, -138, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, -138, 0, -138, -138, -138, -138, -138, -138,
1161 0, -138, 0, 0, -138, -138, -138, -138, -138, -138,
1162 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1163 -139, 0, -580, 0, 0, 0, 0, 0, 0, -139,
1164 0, 0, 0, 0, -139, -139, 0, 0, 0, -139,
1165 0, 0, -139, -139, -139, -139, 0, 0, 0, -139,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, -139, -139, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, -139, -139, 0,
1169 0, 0, 0, -139, -139, -139, -139, -139, 0, 0,
1170 0, 0, 0, 0, 0, -139, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, -139, 0, -139, -139, -139,
1172 -139, -139, -139, 0, -139, 0, 0, -139, -139, -139,
1173 -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1174 -139, -139, -139, -140, 0, -581, 0, 0, 0, 0,
1175 0, 0, -140, 0, 0, 0, 0, -140, -140, 0,
1176 0, 0, -140, 0, 0, -140, -140, -140, -140, 0,
1177 0, 0, -140, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, -140, -140, 0,
1179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1180 -140, -140, 0, 0, 0, 0, -140, -140, -140, -140,
1181 -140, 0, 0, 0, 0, 0, 0, 0, -140, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, -140, 0,
1183 -140, -140, -140, -140, -140, -140, 0, -140, 0, 0,
1184 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1185 -140, -140, -140, -140, -140, -140, -141, 0, -583, 0,
1186 0, 0, 0, 0, 0, -141, 0, 0, 0, 0,
1187 -141, -141, 0, 0, 0, -141, 0, 0, -141, -141,
1188 -141, -141, 0, 0, 0, -141, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 -141, -141, 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, -141, -141, 0, 0, 0, 0, -141,
1192 -141, -141, -141, -141, 0, 0, 0, 0, 0, 0,
1193 0, -141, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, -141, 0, -141, -141, -141, -141, -141, -141, 0,
1195 -141, 0, 0, -141, -141, -141, -141, -141, -141, -141,
1196 -141, -141, -141, -141, -141, -141, -141, -141, -141, -142,
1197 0, -579, 0, 0, 0, 0, 0, 0, -142, 0,
1198 0, 0, 0, -142, -142, 0, 0, 0, -142, 0,
1199 0, -142, -142, -142, -142, 0, 0, 0, -142, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, -142, -142, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, -142, -142, 0, 0,
1203 0, 0, -142, -142, -142, -142, -142, 0, 0, 0,
1204 0, 0, 0, 0, -142, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, -142, 0, -142, -142, -142, -142,
1206 -142, -142, 0, -142, 0, 0, -142, -142, -142, -142,
1207 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1208 -142, -142, -143, 0, -578, 0, 0, 0, 0, 0,
1209 0, -143, 0, 0, 0, 0, -143, -143, 0, 0,
1210 0, -143, 0, 0, -143, -143, -143, -143, 0, 0,
1211 0, -143, 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, -143, -143, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 0, -143,
1214 -143, 0, 0, 0, 0, -143, -143, -143, -143, -143,
1215 0, 0, 0, 0, 0, 0, 0, -143, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, -143, 0, -143,
1217 -143, -143, -143, -143, -143, 0, -143, 0, 0, -143,
1218 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1219 -143, -143, -143, -143, -143, -30, 0, -586, 0, 0,
1220 0, 0, 0, 0, -30, 0, 0, 0, 0, -30,
1221 -30, 0, 0, 0, -30, 0, 0, -30, -30, -30,
1222 -30, 0, 0, 0, -30, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, -30,
1224 -30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, -30, -30, 0, 0, 0, 0, -30, -30,
1226 -30, -30, -30, 0, 0, 0, 0, 0, 0, 0,
1227 -30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 -30, 0, -30, -30, -30, -30, -30, -30, 0, -30,
1229 0, 0, -30, -30, -30, -30, -30, -30, -30, -30,
1230 -30, -30, -30, -30, -30, -30, -30, -30, -145, 0,
1231 -30, 0, 0, 0, 0, 0, 0, -145, 0, 0,
1232 0, 0, -145, -145, 0, 0, 0, -145, 0, 0,
1233 -145, -145, -145, -145, 0, 0, 0, -145, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1235 0, 0, -145, -145, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 0, 0, -145, -145, 0, 0, 0,
1237 0, -145, -145, -145, -145, -145, 0, 0, 0, 0,
1238 0, 0, 0, -145, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, -145, 0, -145, -145, -145, -145, -145,
1240 -145, 0, -145, 0, 0, -145, -145, -145, -145, -145,
1241 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1242 -145, -146, 0, -614, 0, 0, 0, 0, 0, 0,
1243 -146, 0, 0, 0, 0, -146, -146, 0, 0, 0,
1244 -146, 0, 0, -146, -146, -146, -146, 0, 0, 0,
1245 -146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, -146, -146, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0, -146, -146,
1248 0, 0, 0, 0, -146, -146, -146, -146, -146, 0,
1249 0, 0, 0, 0, 0, 0, -146, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, -146, 0, -146, -146,
1251 -146, -146, -146, -146, 0, -146, 0, 0, -146, -146,
1252 -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1253 -146, -146, -146, -146, -147, 0, -612, 0, 0, 0,
1254 0, 0, 0, -147, 0, 0, 0, 0, -147, -147,
1255 0, 0, 0, -147, 0, 0, -147, -147, -147, -147,
1256 0, 0, 0, -147, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0, -147, -147,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, -147, -147, 0, 0, 0, 0, -147, -147, -147,
1260 -147, -147, 0, 0, 0, 0, 0, 0, 0, -147,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, -147,
1262 0, -147, -147, -147, -147, -147, -147, 0, -147, 0,
1263 0, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1264 -147, -147, -147, -147, -147, -147, -147, -148, 0, -611,
1265 0, 0, 0, 0, 0, 0, -148, 0, 0, 0,
1266 0, -148, -148, 0, 0, 0, -148, 0, 0, -148,
1267 -148, -148, -148, 0, 0, 0, -148, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, -148, -148, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, -148, -148, 0, 0, 0, 0,
1271 -148, -148, -148, -148, -148, 0, 0, 0, 0, 0,
1272 0, 0, -148, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, -148, 0, -148, -148, -148, -148, -148, -148,
1274 0, -148, 0, 0, -148, -148, -148, -148, -148, -148,
1275 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1276 -149, 0, -613, 0, 0, 0, 0, 0, 0, -149,
1277 0, 0, 0, 0, -149, -149, 0, 0, 0, -149,
1278 0, 0, -149, -149, -149, -149, 0, 0, 0, -149,
1279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1280 0, 0, 0, 0, -149, -149, 0, 0, 0, 0,
1281 0, 0, 0, 0, 0, 0, 0, -149, -149, 0,
1282 0, 0, 0, -149, -149, -149, -149, -149, 0, 0,
1283 0, 0, 0, 0, 0, -149, 0, 0, 0, 0,
1284 0, 0, 0, 0, 0, -149, 0, -149, -149, -149,
1285 -149, -149, -149, 0, -149, 0, 0, -149, -149, -149,
1286 -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1287 -149, -149, -149, -150, 0, -610, 0, 0, 0, 0,
1288 0, 0, -150, 0, 0, 0, 0, -150, -150, 0,
1289 0, 0, -150, 0, 0, -150, -150, -150, -150, 0,
1290 0, 0, -150, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, 0, 0, 0, 0, 0, -150, -150, 0,
1292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293 -150, -150, 0, 0, 0, 0, -150, -150, -150, -150,
1294 -150, 0, 0, 0, 0, 0, 0, 0, -150, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, -150, 0,
1296 -150, -150, -150, -150, -150, -150, 0, -150, 0, 0,
1297 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1298 -150, -150, -150, -150, -150, -150, 104, 0, -609, 0,
1299 0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
1300 106, 107, 0, 0, 0, 108, 0, 0, 357, 439,
1301 358, 359, 0, 0, 0, 360, 0, 0, 0, 0,
1302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303 361, 362, 0, 0, 0, 0, 0, 0, 0, 0,
1304 0, 0, 0, 363, 364, 0, 0, 0, 0, 109,
1305 110, 111, 112, 113, 0, 0, 0, 0, 0, 0,
1306 0, 365, 0, 0, 0, 0, 0, 0, 0, 0,
1307 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1308 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1309 129, 130, 131, 132, 133, 134, 135, 136, 137, -577,
1310 0, 440, 0, 0, 0, 0, 0, 0, -577, 0,
1311 0, 0, 0, -577, -577, 0, 0, 0, -577, 0,
1312 0, 0, 0, 0, 0, -577, -577, -577, -577, -577,
1313 -577, -577, -577, -577, -577, -577, -577, 0, -577, -577,
1314 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
1315 -577, -577, -577, -577, -577, -577, 0, 0, 0, 0,
1316 0, -577, -577, -577, -577, -577, -577, 0, 0, 0,
1317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1318 0, 0, 0, -577, -577, 0, -577, -577, -577, -577,
1319 -577, -577, 0, -577, 0, 0, -577, -577, -577, -577,
1320 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
1321 -577, -577, 104, 1, 2, 3, 4, 5, 6, 7,
1322 8, 105, 0, 0, 0, 0, 701, 107, 488, 0,
1323 0, 702, 489, 0, 490, 0, 491, 359, 11, 0,
1324 0, 493, 0, 0, 0, 0, 0, 0, 0, 0,
1325 0, 0, 0, 0, 0, 0, 361, 362, 163, 0,
1326 0, 0, 0, 0, 0, 0, 0, 0, 0, 363,
1327 364, 0, 0, 0, 0, 109, 110, 111, 112, 113,
1328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1329 0, 0, 0, 62, 63, 64, 65, 114, 0, 115,
1330 116, 117, 118, 119, 120, 0, 121, 0, 0, 122,
1331 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1332 133, 134, 135, 136, 137, 104, 0, 0, 0, 0,
1333 0, 0, 0, 0, 105, 0, 0, 0, 0, 106,
1334 107, 681, 682, 683, 108, 489, 0, 490, 439, 491,
1335 359, 0, 0, 0, 493, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 0, 0, 0, 0, 0, 361,
1337 362, 163, 0, 0, 0, 0, 0, 0, 0, 0,
1338 0, 0, 363, 364, 0, 0, 0, 0, 109, 110,
1339 111, 112, 113, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1342 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1343 130, 131, 132, 133, 134, 135, 136, 137, 104, 0,
1344 0, 0, 0, 0, 0, 0, 0, 105, 0, 0,
1345 0, 0, 106, 107, 774, 0, 0, 108, 489, 0,
1346 490, 0, 491, 359, 0, 0, 0, 493, 0, 0,
1347 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
1348 0, 0, 361, 362, 163, 0, 0, 0, 0, 0,
1349 0, 0, 0, 0, 0, 363, 364, 0, 0, 0,
1350 0, 109, 110, 111, 112, 113, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 114, 775, 776, 116, 117, 118, 119,
1353 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
1354 127, 128, 129, 130, 777, 132, 133, 134, 135, 136,
1355 137, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1356 105, 0, 0, 0, 0, 106, 107, 488, 0, 0,
1357 108, 489, 0, 490, 0, 491, 359, 0, 0, 0,
1358 493, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1359 0, 0, 153, 0, 0, 361, 362, 163, 0, 0,
1360 0, 0, 0, 0, 0, 0, 0, 0, 363, 364,
1361 0, 0, 855, 0, 109, 110, 111, 112, 113, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 0, 0, 0, 0, 0, 114, 0, 115, 116,
1364 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
1365 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1366 134, 135, 136, 137, 104, 0, 0, 0, 0, 0,
1367 0, 0, 0, 105, 0, 0, 0, 0, 106, 107,
1368 488, 0, 0, 108, 489, -628, 490, 0, 491, 359,
1369 0, 0, 0, 493, 0, 0, 0, 0, 0, 0,
1370 0, 0, 0, 0, 0, 153, 0, 0, 361, 362,
1371 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372 0, 363, 364, 0, 0, 0, 0, 109, 110, 111,
1373 112, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
1375 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1376 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1377 131, 132, 133, 134, 135, 136, 137, 104, 0, 0,
1378 0, 0, 0, 0, 0, 0, 105, 0, 0, 0,
1379 0, 106, 107, 488, 0, 0, 108, 489, 0, 490,
1380 0, 491, 359, 0, 0, 0, 493, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 153, 0,
1382 0, 361, 362, 163, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, 363, 364, 0, 0, 0, 0,
1384 109, 110, 111, 112, 113, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 114, 0, 115, 116, 117, 118, 119, 120,
1387 0, 121, 0, 0, 122, 123, 124, 125, 126, 127,
1388 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1389 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1390 0, 0, 0, 0, 106, 107, 774, 0, 0, 108,
1391 489, 0, 490, 0, 491, 359, 0, 0, 0, 493,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 361, 362, 163, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 363, 364, 0,
1395 0, 0, 0, 109, 110, 111, 112, 113, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 114, 775, 776, 116, 117,
1398 118, 119, 120, 0, 121, 0, 0, 122, 123, 124,
1399 125, 126, 127, 128, 129, 130, 777, 132, 133, 134,
1400 135, 136, 137, 104, 0, 0, 0, 0, 0, 0,
1401 0, 0, 105, 0, 0, 0, 0, 106, 107, 488,
1402 0, 0, 108, 489, 0, 490, 0, 491, 359, 0,
1403 0, 0, 493, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 0, 361, 362, 163,
1405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406 363, 364, 0, 0, 0, 0, 109, 110, 111, 112,
1407 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 114, 0,
1409 115, 116, 117, 118, 119, 120, 0, 121, 0, 0,
1410 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1411 132, 133, 134, 135, 136, 137, 104, 0, 0, 0,
1412 0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
1413 106, 107, 0, 0, 0, 108, 0, 0, 357, 0,
1414 358, 359, 0, 0, 0, 360, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1416 361, 362, 0, 0, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 363, 364, 0, 0, 0, 0, 109,
1418 110, 111, 112, 113, 0, 0, 0, 0, 0, 0,
1419 0, 365, 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1421 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1422 129, 130, 131, 132, 133, 134, 135, 136, 137, 104,
1423 0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
1424 0, 0, 0, 106, 107, 0, 0, 0, 108, 0,
1425 0, 0, 0, 0, 0, 11, 0, 0, -520, 0,
1426 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
1427 8, 0, 0, 0, 0, 163, 9, 0, 0, 0,
1428 0, 61, 0, 0, 0, 445, 446, 0, 0, 0,
1429 0, 0, 109, 110, 111, 112, 113, 0, 0, 0,
1430 0, 0, 0, 448, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 65, 114, 0, 115, 116, 117, 118,
1432 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
1433 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1434 136, 137, 104, 62, 63, 64, 0, 0, 0, 0,
1435 0, 105, 0, 0, 0, 0, 106, 107, 737, 0,
1436 0, 108, 0, 0, 0, 0, 0, 0, 11, 455,
1437 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1438 466, 467, 468, 469, 470, 471, 472, 0, 163, 0,
1439 0, 0, 707, 0, 0, 0, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 109, 110, 111, 112, 113,
1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 65, 114, 0, 115,
1443 116, 117, 118, 119, 120, 0, 121, 0, 0, 122,
1444 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1445 133, 134, 135, 136, 137, 104, 0, 0, 0, 0,
1446 0, 0, 0, 0, 105, 0, 0, 0, 0, 106,
1447 107, 0, 0, 0, 108, 0, 0, 662, 0, 0,
1448 0, 0, 0, 0, 710, 814, 455, 456, 457, 458,
1449 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1450 469, 470, 471, 472, 0, 0, 0, 0, 0, 473,
1451 0, 0, 0, 0, 0, 0, 0, 0, 109, 110,
1452 111, 112, 113, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1455 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1456 130, 131, 132, 133, 134, 135, 136, 137, 104, 0,
1457 0, 0, 0, 0, 0, 0, 0, 105, 0, 763,
1458 0, 0, 106, 107, 0, 0, 0, 108, 455, 456,
1459 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1460 467, 468, 469, 470, 471, 472, 0, 0, 0, 0,
1461 0, 707, 0, 0, 163, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 109, 110, 111, 112, 113, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 114, 0, 115, 116, 117, 118, 119,
1466 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
1467 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1468 137, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1469 105, 0, 0, 0, 0, 106, 107, 0, 0, 0,
1470 108, 0, 908, 0, 0, 0, 0, 0, 0, 0,
1471 451, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1472 464, 465, 466, 467, 468, 469, 470, 471, 472, 0,
1473 0, 0, 0, 0, 707, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 109, 110, 111, 112, 113, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 114, 0, 115, 116,
1477 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
1478 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1479 134, 135, 136, 137, 104, 0, 0, 0, 0, 0,
1480 0, 0, 0, 105, 0, 0, 0, 0, 106, 107,
1481 0, 0, 0, 108, 0, 0, 873, 0, 0, 0,
1482 0, 0, 0, 710, 455, 456, 457, 458, 459, 460,
1483 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1484 471, 472, 0, 0, 0, 0, 0, 707, 0, 0,
1485 0, 0, 0, 104, 0, 0, 0, 109, 110, 111,
1486 112, 113, 105, 0, 0, 0, 0, 106, 107, 0,
1487 0, 0, 108, 0, 0, 0, 0, 0, 0, 114,
1488 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1489 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1490 131, 132, 133, 134, 135, 136, 137, 0, 0, 0,
1491 0, 0, 0, 0, 739, 0, 109, 110, 111, 112,
1492 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 114, 0,
1494 115, 116, 117, 118, 119, 120, 0, 121, 0, 0,
1495 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1496 132, 133, 134, 135, 136, 137, 104, 0, 0, 0,
1497 0, 0, 0, 0, 0, 105, 0, 0, 0, 748,
1498 790, 107, 0, 0, 0, 108, 455, 456, 457, 458,
1499 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1500 469, 470, 471, 472, 0, 0, 0, 0, 0, 473,
1501 0, 0, 163, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 104, 0, 0, 0, 109,
1503 110, 111, 112, 113, 105, 0, 0, 0, 0, 106,
1504 107, 0, 0, 0, 108, 0, 0, 0, 0, 0,
1505 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1506 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1507 129, 130, 131, 132, 133, 134, 135, 136, 137, 0,
1508 0, 0, 0, 0, 104, 0, 835, 0, 109, 110,
1509 111, 112, 113, 105, 0, 0, 0, 0, 106, 107,
1510 0, 0, 0, 108, 0, 0, 0, 0, 0, 0,
1511 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1512 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1513 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 109, 110, 111,
1515 112, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
1517 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1518 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1519 131, 132, 133, 134, 135, 136, 137, 811, 0, 0,
1520 0, 0, 0, 0, 455, 456, 457, 458, 459, 460,
1521 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1522 471, 472, 0, 0, 0, 706, 0, 707, 455, 456,
1523 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1524 467, 468, 469, 470, 471, 472, 0, 0, 0, 0,
1525 0, 707, 455, 456, 457, 458, 459, 460, 461, 462,
1526 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1527 0, 0, 0, 0, 0, 473, 455, 456, 457, 458,
1528 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1529 469, 470, 471, 472, 0, 0, 0, 0, 0, 707,
1530 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1531 465, 466, 467, 468, 469, 470, 471, 472, 0, 0,
1532 0, 0, 0, 473, 455, 456, 457, 458, 459, 460,
1533 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1534 471, 472, 0, 0, 0, 0, 0, 707
1537 static const short yycheck
[] =
1539 33, 22, 16, 17, 18, 185, 184, 185, 88, 33,
1540 0, 15, 191, 421, 0, 34, 103, 33, 92, 395,
1541 10, 92, 424, 394, 421, 15, 81, 424, 311, 368,
1542 378, 379, 697, 725, 24, 476, 91, 27, 409, 476,
1543 725, 27, 725, 15, 754, 758, 10, 760, 62, 63,
1544 64, 138, 311, 26, 141, 45, 49, 91, 0, 392,
1545 37, 31, 29, 33, 34, 26, 33, 81, 10, 29,
1546 29, 29, 33, 33, 33, 427, 26, 360, 92, 93,
1547 94, 45, 24, 366, 776, 27, 24, 101, 25, 123,
1548 31, 95, 784, 806, 35, 36, 35, 36, 35, 31,
1549 433, 784, 441, 45, 36, 95, 31, 32, 9, 34,
1550 11, 450, 17, 18, 453, 92, 93, 94, 95, 96,
1551 87, 98, 99, 95, 35, 36, 64, 87, 87, 87,
1552 840, 124, 484, 4, 5, 6, 33, 34, 9, 4,
1553 5, 6, 6, 808, 9, 9, 119, 406, 33, 34,
1554 483, 22, 3, 157, 168, 6, 44, 22, 191, 10,
1555 493, 12, 827, 496, 33, 34, 156, 157, 26, 27,
1556 125, 454, 186, 883, 32, 32, 33, 92, 93, 94,
1557 95, 96, 874, 98, 99, 157, 44, 852, 0, 874,
1558 473, 474, 156, 17, 18, 887, 31, 36, 33, 34,
1559 913, 31, 36, 895, 34, 110, 111, 112, 113, 114,
1560 115, 32, 895, 34, 156, 33, 34, 909, 33, 34,
1561 17, 18, 33, 34, 909, 6, 7, 8, 32, 670,
1562 93, 94, 312, 670, 675, 32, 32, 311, 675, 30,
1563 311, 4, 5, 6, 7, 8, 9, 10, 11, 31,
1564 35, 916, 32, 629, 17, 23, 632, 36, 3, 22,
1565 31, 6, 36, 23, 123, 10, 29, 12, 13, 14,
1566 15, 16, 17, 38, 32, 6, 100, 101, 102, 103,
1567 104, 105, 106, 107, 108, 36, 360, 658, 33, 360,
1568 32, 31, 366, 31, 35, 366, 351, 311, 476, 32,
1569 37, 634, 36, 100, 101, 102, 103, 104, 105, 106,
1570 107, 108, 40, 32, 31, 493, 31, 49, 6, 727,
1571 83, 84, 85, 86, 87, 664, 89, 26, 667, 668,
1572 727, 32, 34, 40, 34, 32, 34, 26, 22, 710,
1573 32, 32, 64, 39, 715, 40, 360, 37, 64, 31,
1574 31, 365, 366, 40, 32, 92, 93, 94, 95, 96,
1575 123, 98, 99, 24, 40, 32, 32, 31, 33, 25,
1576 394, 33, 35, 33, 707, 708, 409, 34, 31, 34,
1577 454, 35, 33, 454, 33, 409, 33, 420, 34, 422,
1578 34, 424, 725, 409, 770, 35, 772, 773, 40, 473,
1579 474, 109, 473, 474, 32, 64, 32, 755, 756, 423,
1580 34, 33, 33, 25, 32, 35, 31, 33, 97, 33,
1581 33, 829, 32, 437, 33, 31, 33, 35, 447, 762,
1582 25, 34, 829, 31, 33, 32, 25, 451, 34, 33,
1583 454, 33, 32, 34, 477, 478, 34, 24, 628, 32,
1584 628, 784, 97, 631, 32, 34, 795, 796, 860, 473,
1585 474, 33, 32, 860, 747, 748, 25, 33, 33, 877,
1586 34, 33, 476, 34, 850, 35, 809, 33, 811, 33,
1587 877, 32, 25, 33, 32, 32, 476, 33, 502, 33,
1588 476, 888, 670, 826, 33, 33, 33, 675, 4, 5,
1589 6, 7, 8, 9, 10, 11, 27, 809, 675, 157,
1590 918, 17, 670, 40, 624, 24, 22, 160, 631, 381,
1591 802, 918, 21, 29, 30, 31, 635, 179, 447, 760,
1592 169, 181, 929, 19, 384, 41, 909, 420, 775, 915,
1593 873, 874, 887, 929, 823, 4, 5, 6, 7, 8,
1594 9, 10, 11, 732, 930, -1, -1, 734, 17, -1,
1595 -1, -1, 895, 22, -1, -1, -1, -1, -1, -1,
1596 29, -1, -1, -1, -1, -1, 909, 83, 84, 85,
1597 86, 87, 88, 89, -1, 91, -1, 767, -1, 767,
1598 677, 678, -1, -1, -1, -1, -1, -1, -1, -1,
1599 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1600 116, -1, -1, -1, 17, 121, -1, 123, -1, 22,
1601 -1, 635, 655, -1, -1, 84, 85, 86, 87, -1,
1602 -1, -1, -1, -1, 658, -1, -1, -1, -1, -1,
1603 -1, 674, 656, -1, -1, -1, -1, -1, -1, -1,
1604 674, -1, -1, -1, -1, -1, -1, -1, 674, -1,
1605 -1, -1, 676, -1, 123, -1, 670, -1, -1, -1,
1606 -1, 675, -1, 747, 748, -1, 747, 748, -1, -1,
1607 670, 84, 85, 86, 670, 675, 710, 703, 868, 675,
1608 868, 715, -1, -1, -1, -1, 729, -1, -1, 732,
1609 -1, -1, 735, -1, -1, -1, 886, -1, 886, -1,
1610 731, -1, -1, 793, -1, -1, -1, -1, -1, -1,
1611 734, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1612 11, -1, -1, 747, 748, -1, 17, -1, -1, -1,
1613 -1, 22, 922, -1, 922, -1, -1, -1, 29, -1,
1614 3, -1, 766, 6, 787, 769, 37, 10, -1, 12,
1615 13, 14, 15, 16, 17, -1, -1, 800, -1, -1,
1616 803, 804, 30, -1, -1, -1, -1, -1, -1, -1,
1617 794, -1, -1, -1, -1, -1, -1, 808, -1, -1,
1618 823, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1619 -1, -1, -1, 84, 85, 86, 87, -1, 66, 67,
1620 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1621 -1, 79, 80, 81, 82, -1, -1, -1, -1, -1,
1622 -1, -1, 865, -1, -1, -1, -1, -1, -1, -1,
1623 121, 874, -1, -1, -1, -1, 0, -1, -1, 3,
1624 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1625 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1626 24, 25, 26, 27, 28, 29, 909, 31, 32, 33,
1627 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1628 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1629 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1630 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1631 74, 75, 76, 77, 78, 79, -1, 81, -1, 83,
1632 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1633 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1634 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1635 114, 115, 116, -1, -1, 119, -1, 121, 122, 123,
1636 124, 125, 0, -1, -1, 3, 4, 5, 6, 7,
1637 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1638 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1639 28, 29, -1, 31, 32, 33, 34, 35, 36, 37,
1640 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1641 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1642 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1643 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1644 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1645 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1646 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1647 108, 109, 110, 111, 112, 113, 114, 115, 116, -1,
1648 -1, 119, -1, 121, 122, 123, 124, 125, 0, -1,
1649 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1650 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1651 22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
1652 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1653 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1654 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1655 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1656 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1657 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1658 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1659 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1660 112, 113, 114, 115, 116, -1, -1, 119, -1, 121,
1661 122, 123, 124, 125, 0, -1, -1, 3, 4, 5,
1662 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1663 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1664 26, 27, 28, 29, -1, 31, 32, 33, 34, 35,
1665 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
1666 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1667 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1668 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1669 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1670 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1671 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1672 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1673 116, 3, -1, 119, -1, 121, 122, 123, 124, 125,
1674 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1675 22, 23, -1, 25, -1, 27, 28, 29, -1, -1,
1676 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1677 9, 10, 11, -1, -1, 47, 48, 49, 17, -1,
1678 -1, -1, -1, 22, -1, -1, -1, -1, 60, 61,
1679 29, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1680 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1681 -1, -1, -1, -1, -1, 87, 88, -1, 90, 91,
1682 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1683 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1684 112, 113, 114, 115, -1, 84, 85, 86, 87, -1,
1685 -1, -1, 124, 4, 5, 6, 7, 8, 9, 10,
1686 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1687 -1, 22, -1, -1, 3, -1, -1, -1, 29, -1,
1688 -1, -1, 121, 12, -1, -1, -1, -1, 17, 18,
1689 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1690 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1691 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1693 -1, 60, 61, 84, 85, 86, 87, 66, 67, 68,
1694 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1695 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1696 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1697 121, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1698 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1699 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1700 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1701 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1702 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1703 11, 47, 48, -1, -1, -1, 17, -1, -1, -1,
1704 -1, 22, -1, -1, 60, 61, -1, -1, 29, -1,
1705 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1706 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1707 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1708 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1709 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1710 3, -1, 118, 84, 85, 86, 87, -1, -1, 12,
1711 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1712 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1713 -1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1714 8, 9, 10, 11, 47, 48, -1, -1, -1, 17,
1715 -1, -1, -1, -1, 22, -1, -1, 60, 61, -1,
1716 -1, 29, -1, 66, 67, 68, 69, 70, -1, -1,
1717 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1718 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1719 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1720 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1721 113, 114, 115, 3, -1, 118, 84, 85, 86, 87,
1722 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1723 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1724 -1, -1, 32, -1, -1, -1, -1, -1, -1, 4,
1725 5, 6, 7, 8, 9, 10, 11, 47, 48, -1,
1726 -1, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1727 60, 61, -1, -1, 29, -1, 66, 67, 68, 69,
1728 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1729 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1730 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1731 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1732 110, 111, 112, 113, 114, 115, 3, -1, 118, 84,
1733 85, 86, 87, -1, -1, 12, -1, -1, -1, -1,
1734 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1735 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1736 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1737 47, 48, -1, -1, -1, 17, -1, -1, -1, -1,
1738 22, -1, -1, 60, 61, -1, -1, 29, -1, 66,
1739 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1740 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1741 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1742 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1743 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1744 -1, 118, 84, 85, 86, 87, -1, -1, 12, -1,
1745 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1746 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1748 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1749 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1750 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1751 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1752 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1753 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1754 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1755 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1756 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1757 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1758 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1759 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1760 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1761 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1762 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1763 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1764 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1765 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1766 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1767 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1768 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1769 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1770 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1771 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1772 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1773 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1774 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1775 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1776 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1777 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1778 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1779 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1780 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1782 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1783 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1784 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1785 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1786 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1787 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1788 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1789 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1790 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1791 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1792 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1793 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1794 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1795 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1796 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1797 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1798 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1799 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1800 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1801 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1802 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1803 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1804 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1806 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1807 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1808 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1809 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1810 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1811 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1812 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1813 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1814 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1816 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1817 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1818 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1819 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1820 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1821 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1822 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1823 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1824 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1825 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1827 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1828 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1829 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1830 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1831 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1832 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1833 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1834 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1835 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1836 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1837 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1838 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1839 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1840 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1841 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1842 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1843 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1844 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1845 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1846 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1847 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1848 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1849 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1850 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1851 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1852 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1853 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1854 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1855 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1856 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1857 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1858 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1859 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1861 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1862 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1863 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1864 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1865 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1866 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1867 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1868 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1869 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1870 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1871 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1873 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1874 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1875 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1876 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1877 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1878 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1879 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1880 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1881 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1882 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1884 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1885 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1886 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1887 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1888 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1889 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1890 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1891 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1892 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1893 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1895 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1896 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1897 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1898 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1899 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1900 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1901 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1902 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1903 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1904 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1905 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1906 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1907 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1908 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1909 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1910 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1911 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1912 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1913 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1914 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1915 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1916 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1919 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1920 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1921 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1922 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1923 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1924 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1925 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1926 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1927 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1929 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1930 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1931 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1932 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1933 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1934 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1935 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1936 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1937 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1938 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1939 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1940 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1941 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1942 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1943 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1944 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1945 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1946 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1947 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1948 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1949 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1950 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1953 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1954 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1955 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1956 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1957 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1958 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1959 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1960 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1961 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1963 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1964 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1965 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1966 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1967 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1968 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1969 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1970 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1971 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1972 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1973 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1974 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1975 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1976 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1977 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1978 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1979 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1980 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1981 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1982 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1983 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1984 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1986 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1987 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1988 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1989 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1990 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1991 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1992 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1993 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1994 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1995 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1997 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1998 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1999 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2000 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2001 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2002 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2003 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2004 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2005 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2006 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2008 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2009 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2010 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2011 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2012 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2013 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2014 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2015 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2016 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2017 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2018 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2019 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2020 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2021 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2022 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2023 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2024 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2025 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2026 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2027 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2028 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2029 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2030 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2032 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2033 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2034 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2035 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2036 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2037 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2038 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2039 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2040 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2042 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2043 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2044 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2045 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2046 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2047 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2048 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2049 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
2050 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
2051 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2053 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2055 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2056 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2057 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2058 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2059 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2060 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2061 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2062 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2063 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2066 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2067 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2068 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2069 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2070 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2071 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2072 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2073 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2074 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2076 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2077 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2078 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2079 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2080 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2081 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2082 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2083 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
2084 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2085 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2086 34, 35, 36, 37, 38, 39, 40, -1, 42, 43,
2087 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2088 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2089 -1, 65, 66, 67, 68, 69, 70, -1, -1, -1,
2090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2091 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
2092 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2093 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2094 114, 115, 3, 4, 5, 6, 7, 8, 9, 10,
2095 11, 12, -1, -1, -1, -1, 17, 18, 19, -1,
2096 -1, 22, 23, -1, 25, -1, 27, 28, 29, -1,
2097 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2098 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
2099 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2100 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2102 -1, -1, -1, 84, 85, 86, 87, 88, -1, 90,
2103 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2104 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2105 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2106 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2107 18, 19, 20, 21, 22, 23, -1, 25, 26, 27,
2108 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2109 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2110 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2111 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2112 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2113 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2114 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2115 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2116 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2117 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2118 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2119 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2121 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2122 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2123 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2125 -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
2126 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2127 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2128 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2129 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
2130 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2131 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2132 -1, -1, 44, -1, -1, 47, 48, 49, -1, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2134 -1, -1, 64, -1, 66, 67, 68, 69, 70, -1,
2135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2136 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2137 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2138 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2139 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2140 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2141 19, -1, -1, 22, 23, 24, 25, -1, 27, 28,
2142 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, -1, -1, 44, -1, -1, 47, 48,
2144 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2145 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2146 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2147 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2148 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2149 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2150 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2151 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2152 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
2153 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
2155 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2156 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2157 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2159 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2160 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2161 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2162 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2163 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
2164 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2166 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
2167 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2168 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2170 -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
2171 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2172 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2173 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2174 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
2175 -1, -1, 22, 23, -1, 25, -1, 27, 28, -1,
2176 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2179 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2180 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2181 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2182 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2183 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2184 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2185 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2186 17, 18, -1, -1, -1, 22, -1, -1, 25, -1,
2187 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2189 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2190 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2191 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2192 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2193 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2194 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2195 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2196 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2197 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2198 -1, -1, -1, -1, -1, 29, -1, -1, 32, -1,
2199 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
2200 11, -1, -1, -1, -1, 49, 17, -1, -1, -1,
2201 -1, 22, -1, -1, -1, 26, 27, -1, -1, -1,
2202 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2203 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2204 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
2205 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2206 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2207 114, 115, 3, 84, 85, 86, -1, -1, -1, -1,
2208 -1, 12, -1, -1, -1, -1, 17, 18, 31, -1,
2209 -1, 22, -1, -1, -1, -1, -1, -1, 29, 42,
2210 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2211 53, 54, 55, 56, 57, 58, 59, -1, 49, -1,
2212 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2213 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2215 -1, -1, -1, -1, -1, -1, 87, 88, -1, 90,
2216 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2217 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2218 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2219 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2220 18, -1, -1, -1, 22, -1, -1, 33, -1, -1,
2221 -1, -1, -1, -1, 32, 33, 42, 43, 44, 45,
2222 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2223 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2224 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2225 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2227 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2228 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2229 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2230 -1, -1, -1, -1, -1, -1, -1, 12, -1, 33,
2231 -1, -1, 17, 18, -1, -1, -1, 22, 42, 43,
2232 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2233 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2234 -1, 65, -1, -1, 49, -1, -1, -1, -1, -1,
2235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2236 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2238 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2239 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2240 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2241 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2242 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2243 22, -1, 33, -1, -1, -1, -1, -1, -1, -1,
2244 32, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2245 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
2246 -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
2247 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2249 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2250 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2251 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2252 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2253 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2254 -1, -1, -1, 22, -1, -1, 34, -1, -1, -1,
2255 -1, -1, -1, 32, 42, 43, 44, 45, 46, 47,
2256 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2257 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
2258 -1, -1, -1, 3, -1, -1, -1, 66, 67, 68,
2259 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
2260 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
2261 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2262 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2263 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2264 -1, -1, -1, -1, 64, -1, 66, 67, 68, 69,
2265 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2266 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2267 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2268 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2269 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2270 -1, -1, -1, -1, -1, 12, -1, -1, -1, 35,
2271 17, 18, -1, -1, -1, 22, 42, 43, 44, 45,
2272 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2273 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2274 -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, 3, -1, -1, -1, 66,
2276 67, 68, 69, 70, 12, -1, -1, -1, -1, 17,
2277 18, -1, -1, -1, 22, -1, -1, -1, -1, -1,
2278 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2279 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2280 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
2281 -1, -1, -1, -1, 3, -1, 64, -1, 66, 67,
2282 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
2283 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
2284 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2285 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2286 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
2287 -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
2288 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2289 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2290 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2291 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2292 109, 110, 111, 112, 113, 114, 115, 35, -1, -1,
2293 -1, -1, -1, -1, 42, 43, 44, 45, 46, 47,
2294 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2295 58, 59, -1, -1, -1, 39, -1, 65, 42, 43,
2296 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2297 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2298 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2299 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2300 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
2301 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2302 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2303 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2304 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2305 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
2306 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2307 58, 59, -1, -1, -1, -1, -1, 65
2310 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2311 symbol of state STATE-NUM. */
2312 static const unsigned short yystos
[] =
2314 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2315 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2316 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2317 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2318 182, 183, 188, 191, 194, 195, 199, 200, 201, 202,
2319 204, 206, 210, 212, 213, 219, 227, 241, 242, 9,
2320 11, 22, 84, 85, 86, 87, 123, 200, 210, 30,
2321 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2322 76, 77, 79, 80, 81, 82, 151, 152, 153, 154,
2323 156, 157, 158, 84, 85, 121, 171, 173, 201, 202,
2324 210, 219, 228, 229, 3, 12, 17, 18, 22, 66,
2325 67, 68, 69, 70, 88, 90, 91, 92, 93, 94,
2326 95, 97, 100, 101, 102, 103, 104, 105, 106, 107,
2327 108, 109, 110, 111, 112, 113, 114, 115, 143, 260,
2328 272, 143, 143, 230, 3, 6, 10, 12, 247, 249,
2329 26, 123, 242, 44, 280, 281, 22, 83, 89, 123,
2330 199, 0, 148, 49, 143, 176, 211, 236, 237, 238,
2331 239, 177, 4, 5, 6, 9, 22, 184, 6, 181,
2332 187, 200, 125, 189, 32, 32, 36, 36, 143, 143,
2333 143, 34, 192, 0, 3, 4, 5, 6, 7, 8,
2334 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2335 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2336 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2337 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2338 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2339 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2340 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2341 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2342 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2343 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2344 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
2345 125, 143, 144, 159, 30, 3, 12, 17, 18, 22,
2346 66, 67, 68, 69, 70, 88, 90, 91, 92, 93,
2347 94, 95, 97, 100, 101, 102, 103, 104, 105, 106,
2348 107, 108, 109, 110, 111, 112, 113, 114, 115, 144,
2349 162, 163, 162, 26, 119, 155, 144, 25, 27, 28,
2350 32, 47, 48, 60, 61, 78, 142, 143, 164, 224,
2351 143, 230, 143, 230, 173, 31, 143, 35, 233, 233,
2352 233, 233, 23, 31, 36, 23, 171, 123, 189, 29,
2353 87, 240, 38, 234, 32, 143, 124, 239, 6, 185,
2354 6, 9, 186, 184, 36, 196, 32, 31, 17, 175,
2355 203, 205, 207, 208, 209, 210, 207, 143, 220, 221,
2356 92, 93, 94, 95, 96, 98, 99, 251, 252, 253,
2357 266, 269, 275, 276, 277, 193, 211, 237, 31, 26,
2358 118, 164, 190, 162, 144, 26, 27, 32, 44, 226,
2359 164, 32, 143, 164, 32, 42, 43, 44, 45, 46,
2360 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2361 57, 58, 59, 65, 141, 35, 36, 215, 215, 31,
2362 214, 215, 214, 40, 251, 32, 31, 31, 19, 23,
2363 25, 27, 29, 32, 87, 124, 142, 211, 222, 223,
2364 224, 235, 236, 237, 234, 6, 0, 3, 4, 5,
2365 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2366 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2367 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
2368 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2369 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2370 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2371 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2372 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
2373 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2374 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2375 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
2376 124, 125, 145, 196, 197, 198, 190, 236, 32, 33,
2377 34, 34, 33, 34, 40, 34, 231, 211, 256, 222,
2378 245, 270, 271, 272, 280, 211, 143, 278, 279, 211,
2379 267, 271, 37, 252, 222, 34, 32, 26, 177, 225,
2380 226, 22, 33, 143, 164, 165, 166, 164, 164, 32,
2381 121, 172, 173, 174, 175, 216, 219, 228, 229, 211,
2382 211, 19, 20, 21, 168, 169, 190, 222, 37, 13,
2383 14, 15, 16, 17, 33, 243, 244, 246, 248, 249,
2384 250, 17, 22, 175, 222, 222, 39, 65, 141, 39,
2385 32, 143, 37, 198, 33, 32, 207, 234, 64, 209,
2386 234, 64, 222, 221, 37, 40, 31, 40, 31, 32,
2387 24, 40, 32, 31, 34, 32, 31, 31, 211, 64,
2388 143, 160, 161, 236, 33, 33, 33, 34, 35, 25,
2389 174, 35, 232, 37, 172, 233, 233, 31, 35, 33,
2390 34, 245, 33, 33, 222, 222, 236, 32, 33, 236,
2391 33, 34, 33, 33, 19, 89, 90, 109, 222, 255,
2392 257, 258, 259, 260, 281, 270, 211, 280, 193, 279,
2393 17, 193, 268, 33, 34, 164, 164, 34, 25, 35,
2394 34, 217, 232, 215, 215, 246, 35, 244, 246, 40,
2395 222, 35, 143, 207, 33, 234, 64, 234, 234, 109,
2396 257, 17, 18, 32, 260, 263, 32, 32, 255, 34,
2397 273, 211, 33, 33, 162, 64, 143, 25, 35, 32,
2398 211, 218, 31, 217, 246, 280, 168, 222, 33, 33,
2399 33, 268, 32, 222, 245, 64, 270, 274, 33, 31,
2400 97, 33, 35, 25, 232, 34, 31, 64, 32, 33,
2401 234, 33, 245, 34, 34, 261, 33, 34, 18, 271,
2402 272, 32, 34, 211, 24, 207, 32, 97, 32, 222,
2403 211, 254, 255, 256, 262, 281, 33, 270, 25, 25,
2404 232, 33, 33, 207, 263, 264, 265, 270, 33, 34,
2405 255, 34, 33, 35, 33, 33, 32, 33, 34, 254,
2406 25, 246, 32, 234, 245, 33, 270, 33, 207, 32,
2407 33, 264, 234, 33, 33
2410 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2411 static const unsigned short yyr1
[] =
2413 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2414 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2415 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2416 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2417 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
2418 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2419 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2420 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2421 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2422 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2423 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2424 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2425 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2426 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2427 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2428 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2429 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2430 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2431 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2432 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2433 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2434 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2435 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2436 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2437 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2438 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2439 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2440 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
2441 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2442 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
2443 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
2444 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
2445 158, 158, 159, 159, 159, 159, 160, 160, 160, 160,
2446 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
2447 164, 164, 164, 164, 164, 164, 164, 165, 165, 166,
2448 166, 167, 168, 168, 168, 169, 169, 169, 170, 170,
2449 171, 171, 172, 172, 173, 173, 173, 173, 173, 174,
2450 174, 174, 174, 174, 175, 175, 175, 176, 176, 177,
2451 177, 178, 178, 178, 179, 179, 179, 179, 180, 180,
2452 180, 181, 181, 182, 182, 182, 183, 183, 183, 183,
2453 184, 184, 184, 184, 184, 184, 185, 185, 186, 186,
2454 186, 186, 187, 187, 187, 188, 188, 189, 189, 190,
2455 190, 191, 192, 192, 193, 193, 194, 195, 195, 195,
2456 195, 195, 195, 196, 197, 197, 198, 198, 199, 199,
2457 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
2458 204, 205, 206, 207, 207, 207, 208, 208, 209, 209,
2459 209, 210, 210, 211, 211, 212, 213, 214, 214, 215,
2460 216, 216, 217, 217, 218, 218, 219, 220, 220, 221,
2461 221, 222, 222, 222, 222, 222, 222, 223, 223, 223,
2462 223, 223, 223, 224, 224, 225, 225, 226, 226, 226,
2463 227, 228, 229, 230, 230, 231, 231, 232, 232, 232,
2464 232, 233, 233, 234, 234, 234, 235, 235, 235, 235,
2465 236, 236, 237, 237, 238, 238, 239, 239, 240, 240,
2466 241, 241, 242, 242, 242, 243, 243, 244, 244, 245,
2467 246, 247, 248, 248, 249, 249, 249, 249, 250, 250,
2468 250, 250, 250, 251, 251, 252, 252, 252, 252, 252,
2469 253, 253, 254, 254, 254, 255, 255, 255, 255, 255,
2470 255, 256, 256, 257, 258, 258, 259, 260, 260, 260,
2471 260, 260, 260, 260, 260, 260, 260, 261, 261, 262,
2472 262, 263, 263, 264, 264, 265, 265, 266, 267, 267,
2473 268, 268, 268, 269, 270, 270, 270, 271, 271, 272,
2474 272, 272, 272, 272, 272, 272, 272, 273, 273, 274,
2475 274, 275, 276, 276, 277, 278, 278, 279, 280, 280,
2479 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2480 static const unsigned char yyr2
[] =
2482 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2484 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2487 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2495 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2509 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
2510 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2511 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
2512 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
2513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2514 1, 1, 2, 6, 2, 2, 0, 1, 1, 3,
2515 1, 3, 0, 1, 1, 2, 3, 2, 3, 5,
2516 2, 4, 1, 1, 1, 1, 4, 0, 1, 1,
2517 3, 6, 1, 1, 1, 1, 1, 1, 3, 4,
2518 1, 2, 1, 2, 1, 1, 2, 4, 4, 1,
2519 1, 1, 3, 3, 1, 2, 2, 1, 1, 1,
2520 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
2521 2, 1, 1, 1, 1, 2, 1, 1, 2, 2,
2522 0, 1, 1, 2, 1, 2, 0, 1, 0, 1,
2523 1, 2, 0, 1, 2, 3, 4, 0, 4, 1,
2524 2, 4, 0, 2, 1, 3, 3, 1, 2, 2,
2525 3, 1, 2, 3, 1, 2, 1, 1, 1, 2,
2526 1, 1, 5, 7, 5, 7, 13, 16, 5, 7,
2527 6, 5, 1, 0, 1, 1, 1, 3, 1, 1,
2528 2, 1, 2, 3, 2, 4, 4, 1, 1, 3,
2529 4, 5, 0, 2, 2, 4, 5, 1, 3, 1,
2530 3, 1, 4, 3, 3, 2, 5, 1, 1, 1,
2531 1, 1, 1, 4, 2, 1, 2, 2, 1, 1,
2532 2, 2, 2, 0, 1, 0, 1, 0, 2, 7,
2533 9, 0, 7, 0, 3, 3, 0, 1, 1, 1,
2534 0, 1, 1, 2, 1, 2, 1, 2, 1, 1,
2535 4, 5, 7, 8, 13, 1, 3, 2, 4, 2,
2536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2537 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
2538 3, 6, 1, 2, 1, 1, 1, 1, 2, 1,
2539 1, 3, 4, 6, 8, 12, 5, 1, 1, 1,
2540 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
2541 3, 1, 1, 0, 1, 1, 3, 3, 6, 1,
2542 0, 1, 1, 3, 1, 1, 3, 5, 6, 1,
2543 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
2544 3, 3, 1, 1, 3, 1, 3, 4, 0, 1,
2549 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2550 static const unsigned char yydprec
[] =
2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2584 0, 0, 1, 2, 2, 2, 0, 0, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
2589 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2597 0, 0, 0, 0, 2, 1, 0, 0, 0, 2,
2598 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2608 0, 0, 0, 0, 0, 2, 1, 0, 0, 0,
2609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2619 static const unsigned char yymerger
[] =
2621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2688 in the case of predicates. */
2689 static const yybool yyimmediate
[] =
2691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2758 list of conflicting reductions corresponding to action entry for
2759 state STATE-NUM in yytable. 0 means no conflicts. The list in
2760 yyconfl is terminated by a rule number of 0. */
2761 static const unsigned short yyconflp
[] =
2763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 3209, 0, 3211, 3213, 0, 3215, 0, 0, 0,
2770 0, 0, 0, 3217, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 3197, 0, 0, 0,
2773 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 0, 0, 0, 0, 3199, 0, 0, 0, 0, 0,
2776 0, 0, 0, 0, 0, 0, 3201, 3203, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 13, 0, 0, 0, 9, 0, 157, 0, 11,
2779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2782 0, 0, 0, 0, 0, 0, 3219, 0, 3221, 3223,
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2796 0, 0, 3205, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 3207, 0, 0, 0, 0, 0,
2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2804 0, 3225, 0, 0, 0, 0, 0, 0, 0, 0,
2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
2819 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2820 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 0, 0, 0, 0, 159, 0, 0, 0, 0, 0,
2912 0, 0, 0, 161, 0, 0, 0, 0, 163, 165,
2913 0, 0, 0, 167, 0, 0, 169, 171, 173, 175,
2914 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 179, 181,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 0, 183, 185, 0, 0, 0, 0, 187, 189, 191,
2918 193, 195, 0, 0, 0, 0, 0, 0, 0, 197,
2919 0, 0, 0, 0, 0, 0, 0, 0, 0, 199,
2920 0, 201, 203, 205, 207, 209, 211, 0, 213, 0,
2921 0, 215, 217, 219, 221, 223, 225, 227, 229, 231,
2922 233, 235, 237, 239, 241, 243, 245, 247, 0, 0,
2923 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
2924 0, 251, 253, 0, 0, 0, 255, 0, 0, 257,
2925 259, 261, 263, 0, 0, 0, 265, 0, 0, 0,
2926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2927 0, 267, 269, 0, 0, 0, 0, 0, 0, 0,
2928 0, 0, 0, 0, 271, 273, 0, 0, 0, 0,
2929 275, 277, 279, 281, 283, 0, 0, 0, 0, 0,
2930 0, 0, 285, 0, 0, 0, 0, 0, 0, 0,
2931 0, 0, 287, 0, 289, 291, 293, 295, 297, 299,
2932 0, 301, 0, 0, 303, 305, 307, 309, 311, 313,
2933 315, 317, 319, 321, 323, 325, 327, 329, 331, 333,
2934 335, 0, 0, 0, 0, 0, 0, 0, 0, 337,
2935 0, 0, 0, 0, 339, 341, 0, 0, 0, 343,
2936 0, 0, 345, 347, 349, 351, 0, 0, 0, 353,
2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 355, 357, 0, 0, 0, 0,
2939 0, 0, 0, 0, 0, 0, 0, 359, 361, 0,
2940 0, 0, 0, 363, 365, 367, 369, 371, 0, 0,
2941 0, 0, 0, 0, 0, 373, 0, 0, 0, 0,
2942 0, 0, 0, 0, 0, 375, 0, 377, 379, 381,
2943 383, 385, 387, 0, 389, 0, 0, 391, 393, 395,
2944 397, 399, 401, 403, 405, 407, 409, 411, 413, 415,
2945 417, 419, 421, 423, 0, 0, 0, 0, 0, 0,
2946 0, 0, 426, 0, 0, 0, 0, 429, 432, 0,
2947 0, 0, 435, 0, 0, 438, 441, 444, 447, 0,
2948 0, 0, 450, 0, 0, 0, 0, 0, 0, 0,
2949 0, 0, 0, 0, 0, 0, 0, 453, 456, 0,
2950 0, 0, 149, 0, 0, 0, 0, 151, 0, 0,
2951 459, 462, 0, 0, 153, 0, 465, 468, 471, 474,
2952 477, 0, 0, 0, 0, 0, 0, 0, 480, 0,
2953 0, 0, 0, 0, 0, 0, 0, 0, 483, 0,
2954 486, 489, 492, 495, 498, 501, 0, 504, 0, 0,
2955 507, 510, 513, 516, 519, 522, 525, 528, 531, 534,
2956 537, 540, 543, 546, 549, 552, 557, 0, 555, 0,
2957 0, 0, 155, 0, 0, 559, 0, 0, 0, 0,
2958 561, 563, 0, 0, 0, 565, 0, 0, 567, 569,
2959 571, 573, 0, 0, 0, 575, 0, 0, 0, 0,
2960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2961 577, 579, 0, 0, 0, 0, 0, 0, 0, 0,
2962 0, 0, 0, 581, 583, 0, 0, 0, 0, 585,
2963 587, 589, 591, 593, 0, 0, 0, 0, 0, 0,
2964 0, 595, 0, 0, 0, 0, 0, 0, 0, 0,
2965 0, 597, 0, 599, 601, 603, 605, 607, 609, 0,
2966 611, 0, 0, 613, 615, 617, 619, 621, 623, 625,
2967 627, 629, 631, 633, 635, 637, 639, 641, 643, 645,
2968 0, 0, 0, 0, 0, 0, 0, 0, 647, 0,
2969 0, 0, 0, 649, 651, 0, 0, 0, 653, 0,
2970 0, 655, 657, 659, 661, 0, 0, 0, 663, 0,
2971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2972 0, 0, 0, 665, 667, 0, 0, 0, 0, 0,
2973 0, 0, 0, 0, 0, 0, 669, 671, 0, 0,
2974 0, 0, 673, 675, 677, 679, 681, 0, 0, 0,
2975 0, 0, 0, 0, 683, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 685, 0, 687, 689, 691, 693,
2977 695, 697, 0, 699, 0, 0, 701, 703, 705, 707,
2978 709, 711, 713, 715, 717, 719, 721, 723, 725, 727,
2979 729, 731, 733, 0, 0, 0, 0, 0, 0, 0,
2980 0, 735, 0, 0, 0, 0, 737, 739, 0, 0,
2981 0, 741, 0, 0, 743, 745, 747, 749, 0, 0,
2982 0, 751, 0, 0, 0, 0, 0, 0, 0, 0,
2983 0, 0, 0, 0, 0, 0, 753, 755, 0, 0,
2984 0, 0, 0, 0, 0, 0, 0, 0, 0, 757,
2985 759, 0, 0, 0, 0, 761, 763, 765, 767, 769,
2986 0, 0, 0, 0, 0, 0, 0, 771, 0, 0,
2987 0, 0, 0, 0, 0, 0, 0, 773, 0, 775,
2988 777, 779, 781, 783, 785, 0, 787, 0, 0, 789,
2989 791, 793, 795, 797, 799, 801, 803, 805, 807, 809,
2990 811, 813, 815, 817, 819, 821, 0, 0, 0, 0,
2991 0, 0, 0, 0, 823, 0, 0, 0, 0, 825,
2992 827, 0, 0, 0, 829, 0, 0, 831, 833, 835,
2993 837, 0, 0, 0, 839, 0, 0, 0, 0, 0,
2994 0, 0, 0, 0, 0, 0, 0, 0, 0, 841,
2995 843, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2996 0, 0, 845, 847, 0, 0, 0, 0, 849, 851,
2997 853, 855, 857, 0, 0, 0, 0, 0, 0, 0,
2998 859, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999 861, 0, 863, 865, 867, 869, 871, 873, 0, 875,
3000 0, 0, 877, 879, 881, 883, 885, 887, 889, 891,
3001 893, 895, 897, 899, 901, 903, 905, 907, 909, 0,
3002 0, 0, 0, 0, 0, 0, 0, 911, 0, 0,
3003 0, 0, 913, 915, 0, 0, 0, 917, 0, 0,
3004 919, 921, 923, 925, 0, 0, 0, 927, 0, 0,
3005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3006 0, 0, 929, 931, 0, 0, 0, 0, 0, 0,
3007 0, 0, 0, 0, 0, 933, 935, 0, 0, 0,
3008 0, 937, 939, 941, 943, 945, 0, 0, 0, 0,
3009 0, 0, 0, 947, 0, 0, 0, 0, 0, 0,
3010 0, 0, 0, 949, 0, 951, 953, 955, 957, 959,
3011 961, 0, 963, 0, 0, 965, 967, 969, 971, 973,
3012 975, 977, 979, 981, 983, 985, 987, 989, 991, 993,
3013 995, 997, 0, 0, 0, 0, 0, 0, 0, 0,
3014 999, 0, 0, 0, 0, 1001, 1003, 0, 0, 0,
3015 1005, 0, 0, 1007, 1009, 1011, 1013, 0, 0, 0,
3016 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3017 0, 0, 0, 0, 0, 1017, 1019, 0, 0, 0,
3018 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1023,
3019 0, 0, 0, 0, 1025, 1027, 1029, 1031, 1033, 0,
3020 0, 0, 0, 0, 0, 0, 1035, 0, 0, 0,
3021 0, 0, 0, 0, 0, 0, 1037, 0, 1039, 1041,
3022 1043, 1045, 1047, 1049, 0, 1051, 0, 0, 1053, 1055,
3023 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075,
3024 1077, 1079, 1081, 1083, 1085, 0, 0, 0, 0, 0,
3025 0, 0, 0, 1087, 0, 0, 0, 0, 1089, 1091,
3026 0, 0, 0, 1093, 0, 0, 1095, 1097, 1099, 1101,
3027 0, 0, 0, 1103, 0, 0, 0, 0, 0, 0,
3028 0, 0, 0, 0, 0, 0, 0, 0, 1105, 1107,
3029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3030 0, 1109, 1111, 0, 0, 0, 0, 1113, 1115, 1117,
3031 1119, 1121, 0, 0, 0, 0, 0, 0, 0, 1123,
3032 0, 0, 0, 0, 0, 0, 0, 0, 0, 1125,
3033 0, 1127, 1129, 1131, 1133, 1135, 1137, 0, 1139, 0,
3034 0, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157,
3035 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 0, 0,
3036 0, 0, 0, 0, 0, 0, 1175, 0, 0, 0,
3037 0, 1177, 1179, 0, 0, 0, 1181, 0, 0, 1183,
3038 1185, 1187, 1189, 0, 0, 0, 1191, 0, 0, 0,
3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3040 0, 1193, 1195, 0, 0, 0, 0, 0, 0, 0,
3041 0, 0, 0, 0, 1197, 1199, 0, 0, 0, 0,
3042 1201, 1203, 1205, 1207, 1209, 0, 0, 0, 0, 0,
3043 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0,
3044 0, 0, 1213, 0, 1215, 1217, 1219, 1221, 1223, 1225,
3045 0, 1227, 0, 0, 1229, 1231, 1233, 1235, 1237, 1239,
3046 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259,
3047 1261, 0, 0, 0, 0, 0, 0, 0, 0, 1263,
3048 0, 0, 0, 0, 1265, 1267, 0, 0, 0, 1269,
3049 0, 0, 1271, 1273, 1275, 1277, 0, 0, 0, 1279,
3050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3051 0, 0, 0, 0, 1281, 1283, 0, 0, 0, 0,
3052 0, 0, 0, 0, 0, 0, 0, 1285, 1287, 0,
3053 0, 0, 0, 1289, 1291, 1293, 1295, 1297, 0, 0,
3054 0, 0, 0, 0, 0, 1299, 0, 0, 0, 0,
3055 0, 0, 0, 0, 0, 1301, 0, 1303, 1305, 1307,
3056 1309, 1311, 1313, 0, 1315, 0, 0, 1317, 1319, 1321,
3057 1323, 1325, 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341,
3058 1343, 1345, 1347, 1349, 0, 0, 0, 0, 0, 0,
3059 0, 0, 1351, 0, 0, 0, 0, 1353, 1355, 0,
3060 0, 0, 1357, 0, 0, 1359, 1361, 1363, 1365, 0,
3061 0, 0, 1367, 0, 0, 0, 0, 0, 0, 0,
3062 0, 0, 0, 0, 0, 0, 0, 1369, 1371, 0,
3063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3064 1373, 1375, 0, 0, 0, 0, 1377, 1379, 1381, 1383,
3065 1385, 0, 0, 0, 0, 0, 0, 0, 1387, 0,
3066 0, 0, 0, 0, 0, 0, 0, 0, 1389, 0,
3067 1391, 1393, 1395, 1397, 1399, 1401, 0, 1403, 0, 0,
3068 1405, 1407, 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1423,
3069 1425, 1427, 1429, 1431, 1433, 1435, 1437, 0, 0, 0,
3070 0, 0, 0, 0, 0, 1439, 0, 0, 0, 0,
3071 1441, 1443, 0, 0, 0, 1445, 0, 0, 1447, 1449,
3072 1451, 1453, 0, 0, 0, 1455, 0, 0, 0, 0,
3073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3074 1457, 1459, 0, 0, 0, 0, 0, 0, 0, 0,
3075 0, 0, 0, 1461, 1463, 0, 0, 0, 0, 1465,
3076 1467, 1469, 1471, 1473, 0, 0, 0, 0, 0, 0,
3077 0, 1475, 0, 0, 0, 0, 0, 0, 0, 0,
3078 0, 1477, 0, 1479, 1481, 1483, 1485, 1487, 1489, 0,
3079 1491, 0, 0, 1493, 1495, 1497, 1499, 1501, 1503, 1505,
3080 1507, 1509, 1511, 1513, 1515, 1517, 1519, 1521, 1523, 1525,
3081 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0,
3082 0, 0, 0, 1529, 1531, 0, 0, 0, 1533, 0,
3083 0, 1535, 1537, 1539, 1541, 0, 0, 0, 1543, 0,
3084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3085 0, 0, 0, 1545, 1547, 0, 0, 0, 0, 0,
3086 0, 0, 0, 0, 0, 0, 1549, 1551, 0, 0,
3087 0, 0, 1553, 1555, 1557, 1559, 1561, 0, 0, 0,
3088 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0,
3089 0, 0, 0, 0, 1565, 0, 1567, 1569, 1571, 1573,
3090 1575, 1577, 0, 1579, 0, 0, 1581, 1583, 1585, 1587,
3091 1589, 1591, 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607,
3092 1609, 1611, 1613, 0, 0, 0, 0, 0, 0, 0,
3093 0, 1615, 0, 0, 0, 0, 1617, 1619, 0, 0,
3094 0, 1621, 0, 0, 1623, 1625, 1627, 1629, 0, 0,
3095 0, 1631, 0, 0, 0, 0, 0, 0, 0, 0,
3096 0, 0, 0, 0, 0, 0, 1633, 1635, 0, 0,
3097 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637,
3098 1639, 0, 0, 0, 0, 1641, 1643, 1645, 1647, 1649,
3099 0, 0, 0, 0, 0, 0, 0, 1651, 0, 0,
3100 0, 0, 0, 0, 0, 0, 0, 1653, 0, 1655,
3101 1657, 1659, 1661, 1663, 1665, 0, 1667, 0, 0, 1669,
3102 1671, 1673, 1675, 1677, 1679, 1681, 1683, 1685, 1687, 1689,
3103 1691, 1693, 1695, 1697, 1699, 1701, 0, 0, 0, 0,
3104 0, 0, 0, 0, 1703, 0, 0, 0, 0, 1705,
3105 1707, 0, 0, 0, 1709, 0, 0, 1711, 1713, 1715,
3106 1717, 0, 0, 0, 1719, 0, 0, 0, 0, 0,
3107 0, 0, 0, 0, 0, 0, 0, 0, 0, 1721,
3108 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3109 0, 0, 1725, 1727, 0, 0, 0, 0, 1729, 1731,
3110 1733, 1735, 1737, 0, 0, 0, 0, 0, 0, 0,
3111 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3112 1741, 0, 1743, 1745, 1747, 1749, 1751, 1753, 0, 1755,
3113 0, 0, 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771,
3114 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, 1789, 0,
3115 0, 0, 0, 0, 0, 0, 0, 1791, 0, 0,
3116 0, 0, 1793, 1795, 0, 0, 0, 1797, 0, 0,
3117 1799, 1801, 1803, 1805, 0, 0, 0, 1807, 0, 0,
3118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3119 0, 0, 1809, 1811, 0, 0, 0, 0, 0, 0,
3120 0, 0, 0, 0, 0, 1813, 1815, 0, 0, 0,
3121 0, 1817, 1819, 1821, 1823, 1825, 0, 0, 0, 0,
3122 0, 0, 0, 1827, 0, 0, 0, 0, 0, 0,
3123 0, 0, 0, 1829, 0, 1831, 1833, 1835, 1837, 1839,
3124 1841, 0, 1843, 0, 0, 1845, 1847, 1849, 1851, 1853,
3125 1855, 1857, 1859, 1861, 1863, 1865, 1867, 1869, 1871, 1873,
3126 1875, 1877, 0, 0, 0, 0, 0, 0, 0, 0,
3127 1879, 0, 0, 0, 0, 1881, 1883, 0, 0, 0,
3128 1885, 0, 0, 1887, 1889, 1891, 1893, 0, 0, 0,
3129 1895, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3130 0, 0, 0, 0, 0, 1897, 1899, 0, 0, 0,
3131 0, 0, 0, 0, 0, 0, 0, 0, 1901, 1903,
3132 0, 0, 0, 0, 1905, 1907, 1909, 1911, 1913, 0,
3133 0, 0, 0, 0, 0, 0, 1915, 0, 0, 0,
3134 0, 0, 0, 0, 0, 0, 1917, 0, 1919, 1921,
3135 1923, 1925, 1927, 1929, 0, 1931, 0, 0, 1933, 1935,
3136 1937, 1939, 1941, 1943, 1945, 1947, 1949, 1951, 1953, 1955,
3137 1957, 1959, 1961, 1963, 1965, 0, 0, 0, 0, 0,
3138 0, 0, 0, 1967, 0, 0, 0, 0, 1969, 1971,
3139 0, 0, 0, 1973, 0, 0, 1975, 1977, 1979, 1981,
3140 0, 0, 0, 1983, 0, 0, 0, 0, 0, 0,
3141 0, 0, 0, 0, 0, 0, 0, 0, 1985, 1987,
3142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3143 0, 1989, 1991, 0, 0, 0, 0, 1993, 1995, 1997,
3144 1999, 2001, 0, 0, 0, 0, 0, 0, 0, 2003,
3145 0, 0, 0, 0, 0, 0, 0, 0, 0, 2005,
3146 0, 2007, 2009, 2011, 2013, 2015, 2017, 0, 2019, 0,
3147 0, 2021, 2023, 2025, 2027, 2029, 2031, 2033, 2035, 2037,
3148 2039, 2041, 2043, 2045, 2047, 2049, 2051, 2053, 0, 0,
3149 0, 0, 0, 0, 0, 0, 2055, 0, 0, 0,
3150 0, 2057, 2059, 0, 0, 0, 2061, 0, 0, 2063,
3151 2065, 2067, 2069, 0, 0, 0, 2071, 0, 0, 0,
3152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3153 0, 2073, 2075, 0, 0, 0, 0, 0, 0, 0,
3154 0, 0, 0, 0, 2077, 2079, 0, 0, 0, 0,
3155 2081, 2083, 2085, 2087, 2089, 0, 0, 0, 0, 0,
3156 0, 0, 2091, 0, 0, 0, 0, 0, 0, 0,
3157 0, 0, 2093, 0, 2095, 2097, 2099, 2101, 2103, 2105,
3158 0, 2107, 0, 0, 2109, 2111, 2113, 2115, 2117, 2119,
3159 2121, 2123, 2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139,
3160 2141, 0, 0, 0, 0, 0, 0, 0, 0, 2143,
3161 0, 0, 0, 0, 2145, 2147, 0, 0, 0, 2149,
3162 0, 0, 2151, 2153, 2155, 2157, 0, 0, 0, 2159,
3163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3164 0, 0, 0, 0, 2161, 2163, 0, 0, 0, 0,
3165 0, 0, 0, 0, 0, 0, 0, 2165, 2167, 0,
3166 0, 0, 0, 2169, 2171, 2173, 2175, 2177, 0, 0,
3167 0, 0, 0, 0, 0, 2179, 0, 0, 0, 0,
3168 0, 0, 0, 0, 0, 2181, 0, 2183, 2185, 2187,
3169 2189, 2191, 2193, 0, 2195, 0, 0, 2197, 2199, 2201,
3170 2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2221,
3171 2223, 2225, 2227, 2229, 0, 0, 0, 0, 0, 0,
3172 0, 0, 2231, 0, 0, 0, 0, 2233, 2235, 0,
3173 0, 0, 2237, 0, 0, 2239, 2241, 2243, 2245, 0,
3174 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0,
3175 0, 0, 0, 0, 0, 0, 0, 2249, 2251, 0,
3176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3177 2253, 2255, 0, 0, 0, 0, 2257, 2259, 2261, 2263,
3178 2265, 0, 0, 0, 0, 0, 0, 0, 2267, 0,
3179 0, 0, 0, 0, 0, 0, 0, 0, 2269, 0,
3180 2271, 2273, 2275, 2277, 2279, 2281, 0, 2283, 0, 0,
3181 2285, 2287, 2289, 2291, 2293, 2295, 2297, 2299, 2301, 2303,
3182 2305, 2307, 2309, 2311, 2313, 2315, 2317, 0, 0, 0,
3183 0, 0, 0, 0, 0, 2319, 0, 0, 0, 0,
3184 2321, 2323, 0, 0, 0, 2325, 0, 0, 2327, 2329,
3185 2331, 2333, 0, 0, 0, 2335, 0, 0, 0, 0,
3186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3187 2337, 2339, 0, 0, 0, 0, 0, 0, 0, 0,
3188 0, 0, 0, 2341, 2343, 0, 0, 0, 0, 2345,
3189 2347, 2349, 2351, 2353, 0, 0, 0, 0, 0, 0,
3190 0, 2355, 0, 0, 0, 0, 0, 0, 0, 0,
3191 0, 2357, 0, 2359, 2361, 2363, 2365, 2367, 2369, 0,
3192 2371, 0, 0, 2373, 2375, 2377, 2379, 2381, 2383, 2385,
3193 2387, 2389, 2391, 2393, 2395, 2397, 2399, 2401, 2403, 2405,
3194 0, 0, 0, 0, 0, 0, 0, 0, 2407, 0,
3195 0, 0, 0, 2409, 2411, 0, 0, 0, 2413, 0,
3196 0, 2415, 2417, 2419, 2421, 0, 0, 0, 2423, 0,
3197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3198 0, 0, 0, 2425, 2427, 0, 0, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 2429, 2431, 0, 0,
3200 0, 0, 2433, 2435, 2437, 2439, 2441, 0, 0, 0,
3201 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0,
3202 0, 0, 0, 0, 2445, 0, 2447, 2449, 2451, 2453,
3203 2455, 2457, 0, 2459, 0, 0, 2461, 2463, 2465, 2467,
3204 2469, 2471, 2473, 2475, 2477, 2479, 2481, 2483, 2485, 2487,
3205 2489, 2491, 2493, 0, 0, 0, 0, 0, 0, 0,
3206 0, 2495, 0, 0, 0, 0, 2497, 2499, 0, 0,
3207 0, 2501, 0, 0, 2503, 2505, 2507, 2509, 0, 0,
3208 0, 2511, 0, 0, 0, 0, 0, 0, 0, 0,
3209 0, 0, 0, 0, 0, 0, 2513, 2515, 0, 0,
3210 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517,
3211 2519, 0, 0, 0, 0, 2521, 2523, 2525, 2527, 2529,
3212 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0,
3213 0, 0, 0, 0, 0, 0, 0, 2533, 0, 2535,
3214 2537, 2539, 2541, 2543, 2545, 0, 2547, 0, 0, 2549,
3215 2551, 2553, 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569,
3216 2571, 2573, 2575, 2577, 2579, 2581, 0, 0, 0, 0,
3217 0, 0, 0, 0, 2583, 0, 0, 0, 0, 2585,
3218 2587, 0, 0, 0, 2589, 0, 0, 2591, 2593, 2595,
3219 2597, 0, 0, 0, 2599, 0, 0, 0, 0, 0,
3220 0, 0, 0, 0, 0, 0, 0, 0, 0, 2601,
3221 2603, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3222 0, 0, 2605, 2607, 0, 0, 0, 0, 2609, 2611,
3223 2613, 2615, 2617, 0, 0, 0, 0, 0, 0, 0,
3224 2619, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3225 2621, 0, 2623, 2625, 2627, 2629, 2631, 2633, 0, 2635,
3226 0, 0, 2637, 2639, 2641, 2643, 2645, 2647, 2649, 2651,
3227 2653, 2655, 2657, 2659, 2661, 2663, 2665, 2667, 2669, 0,
3228 0, 0, 0, 0, 0, 0, 0, 2671, 0, 0,
3229 0, 0, 2673, 2675, 0, 0, 0, 2677, 0, 0,
3230 2679, 2681, 2683, 2685, 0, 0, 0, 2687, 0, 0,
3231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3232 0, 0, 2689, 2691, 0, 0, 0, 0, 0, 0,
3233 0, 0, 0, 0, 0, 2693, 2695, 0, 0, 0,
3234 0, 2697, 2699, 2701, 2703, 2705, 0, 0, 0, 0,
3235 0, 0, 0, 2707, 0, 0, 0, 0, 0, 0,
3236 0, 0, 0, 2709, 0, 2711, 2713, 2715, 2717, 2719,
3237 2721, 0, 2723, 0, 0, 2725, 2727, 2729, 2731, 2733,
3238 2735, 2737, 2739, 2741, 2743, 2745, 2747, 2749, 2751, 2753,
3239 2755, 2757, 0, 0, 0, 0, 0, 0, 0, 0,
3240 2759, 0, 0, 0, 0, 2761, 2763, 0, 0, 0,
3241 2765, 0, 0, 2767, 2769, 2771, 2773, 0, 0, 0,
3242 2775, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3243 0, 0, 0, 0, 0, 2777, 2779, 0, 0, 0,
3244 0, 0, 0, 0, 0, 0, 0, 0, 2781, 2783,
3245 0, 0, 0, 0, 2785, 2787, 2789, 2791, 2793, 0,
3246 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0,
3247 0, 0, 0, 0, 0, 0, 2797, 0, 2799, 2801,
3248 2803, 2805, 2807, 2809, 0, 2811, 0, 0, 2813, 2815,
3249 2817, 2819, 2821, 2823, 2825, 2827, 2829, 2831, 2833, 2835,
3250 2837, 2839, 2841, 2843, 2845, 0, 0, 0, 0, 0,
3251 0, 0, 0, 2847, 0, 0, 0, 0, 2849, 2851,
3252 0, 0, 0, 2853, 0, 0, 2855, 2857, 2859, 2861,
3253 0, 0, 0, 2863, 0, 0, 0, 0, 0, 0,
3254 0, 0, 0, 0, 0, 0, 0, 0, 2865, 2867,
3255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3256 0, 2869, 2871, 0, 0, 0, 0, 2873, 2875, 2877,
3257 2879, 2881, 0, 0, 0, 0, 0, 0, 0, 2883,
3258 0, 0, 0, 0, 0, 0, 0, 0, 0, 2885,
3259 0, 2887, 2889, 2891, 2893, 2895, 2897, 0, 2899, 0,
3260 0, 2901, 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917,
3261 2919, 2921, 2923, 2925, 2927, 2929, 2931, 2933, 0, 0,
3262 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0,
3263 0, 2937, 2939, 0, 0, 0, 2941, 0, 0, 2943,
3264 2945, 2947, 2949, 0, 0, 0, 2951, 0, 0, 0,
3265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3266 0, 2953, 2955, 0, 0, 0, 0, 0, 0, 0,
3267 0, 0, 0, 0, 2957, 2959, 0, 0, 0, 0,
3268 2961, 2963, 2965, 2967, 2969, 0, 0, 0, 0, 0,
3269 0, 0, 2971, 0, 0, 0, 0, 0, 0, 0,
3270 0, 0, 2973, 0, 2975, 2977, 2979, 2981, 2983, 2985,
3271 0, 2987, 0, 0, 2989, 2991, 2993, 2995, 2997, 2999,
3272 3001, 3003, 3005, 3007, 3009, 3011, 3013, 3015, 3017, 3019,
3273 3021, 0, 0, 0, 0, 0, 0, 0, 0, 3023,
3274 0, 0, 0, 0, 3025, 3027, 0, 0, 0, 3029,
3275 0, 0, 3031, 3033, 3035, 3037, 0, 0, 0, 3039,
3276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3277 0, 0, 0, 0, 3041, 3043, 0, 0, 0, 0,
3278 0, 0, 0, 0, 0, 0, 0, 3045, 3047, 0,
3279 0, 0, 0, 3049, 3051, 3053, 3055, 3057, 0, 0,
3280 0, 0, 0, 0, 0, 3059, 0, 0, 0, 0,
3281 0, 0, 0, 0, 0, 3061, 0, 3063, 3065, 3067,
3282 3069, 3071, 3073, 0, 3075, 0, 0, 3077, 3079, 3081,
3283 3083, 3085, 3087, 3089, 3091, 3093, 3095, 3097, 3099, 3101,
3284 3103, 3105, 3107, 3109, 0, 0, 0, 0, 0, 0,
3285 0, 0, 3111, 0, 0, 0, 0, 3113, 3115, 0,
3286 0, 0, 3117, 0, 0, 3119, 3121, 3123, 3125, 0,
3287 0, 0, 3127, 0, 0, 0, 0, 0, 0, 0,
3288 0, 0, 0, 0, 0, 0, 0, 3129, 3131, 0,
3289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3290 3133, 3135, 0, 0, 0, 0, 3137, 3139, 3141, 3143,
3291 3145, 0, 0, 0, 0, 0, 0, 0, 3147, 0,
3292 0, 0, 0, 0, 0, 0, 0, 0, 3149, 0,
3293 3151, 3153, 3155, 3157, 3159, 3161, 0, 3163, 0, 0,
3294 3165, 3167, 3169, 3171, 3173, 3175, 3177, 3179, 3181, 3183,
3295 3185, 3187, 3189, 3191, 3193, 3195, 0, 0, 0, 0,
3296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3306 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
3307 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
3308 0, 0, 0, 21, 23, 0, 0, 0, 25, 0,
3309 0, 0, 0, 0, 0, 27, 29, 31, 33, 35,
3310 37, 39, 41, 43, 45, 47, 49, 0, 51, 53,
3311 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
3312 75, 77, 79, 81, 83, 85, 0, 0, 0, 0,
3313 0, 87, 89, 91, 93, 95, 97, 0, 0, 0,
3314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3315 0, 0, 0, 99, 101, 0, 103, 105, 107, 109,
3316 111, 113, 0, 115, 0, 0, 117, 119, 121, 123,
3317 125, 127, 129, 131, 133, 135, 137, 139, 141, 143,
3318 145, 147, 0, 0, 0, 0, 0, 0, 0, 0,
3319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3529 0, 0, 0, 3227, 0, 0, 0, 0, 0, 0,
3530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3531 0, 0, 0, 0, 0, 0, 0, 3229
3534 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3535 0, pointed into by YYCONFLP. */
3536 static const short yyconfl
[] =
3538 0, 386, 0, 386, 0, 386, 0, 386, 0, 377,
3539 0, 377, 0, 400, 0, 461, 0, 615, 0, 615,
3540 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3541 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3542 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3543 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3544 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3545 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3546 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3547 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3548 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3549 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3550 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3551 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3552 0, 615, 0, 615, 0, 615, 0, 615, 0, 386,
3553 0, 386, 0, 386, 0, 386, 0, 400, 0, 43,
3554 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3555 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3556 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3557 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3558 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3559 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3560 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3561 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3562 0, 43, 0, 43, 0, 43, 0, 52, 0, 52,
3563 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3564 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3565 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3566 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3567 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3568 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3569 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3570 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3571 0, 52, 0, 52, 0, 616, 0, 616, 0, 616,
3572 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3573 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3574 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3575 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3576 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3577 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3578 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3579 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3580 0, 616, 0, 577, 615, 0, 577, 615, 0, 577,
3581 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3582 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3583 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3584 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3585 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3586 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3587 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3588 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3589 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3590 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3591 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3592 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3593 615, 0, 577, 615, 0, 615, 0, 62, 0, 62,
3594 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3595 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3596 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3597 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3598 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3599 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3600 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3601 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3602 0, 62, 0, 62, 0, 106, 0, 106, 0, 106,
3603 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3604 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3605 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3606 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3607 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3608 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3609 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3610 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3611 0, 106, 0, 107, 0, 107, 0, 107, 0, 107,
3612 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3613 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3614 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3615 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3616 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3617 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3618 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3619 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3620 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3621 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3622 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3623 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3624 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3625 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3626 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3627 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3628 0, 105, 0, 105, 0, 105, 0, 105, 0, 103,
3629 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3630 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3631 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3632 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3633 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3634 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3635 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3636 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3637 0, 103, 0, 103, 0, 103, 0, 104, 0, 104,
3638 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3639 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3640 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3641 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3642 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3643 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3644 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3645 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3646 0, 104, 0, 104, 0, 124, 0, 124, 0, 124,
3647 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3648 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3649 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3650 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3651 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3652 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3653 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3654 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3655 0, 124, 0, 126, 0, 126, 0, 126, 0, 126,
3656 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3657 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3658 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3659 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3660 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3661 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3662 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3663 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3664 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3665 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3666 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3667 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3668 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3669 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3670 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3671 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3672 0, 127, 0, 127, 0, 127, 0, 127, 0, 128,
3673 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3674 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3675 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3676 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3677 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3678 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3679 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3680 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3681 0, 128, 0, 128, 0, 128, 0, 129, 0, 129,
3682 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3683 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3684 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3685 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3686 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3687 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3688 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3689 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3690 0, 129, 0, 129, 0, 130, 0, 130, 0, 130,
3691 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3692 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3693 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3694 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3695 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3696 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3697 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3698 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3699 0, 130, 0, 131, 0, 131, 0, 131, 0, 131,
3700 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3701 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3702 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3703 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3704 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3705 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3706 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3707 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3708 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3709 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3710 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3711 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3712 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3713 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3714 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3715 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3716 0, 160, 0, 160, 0, 160, 0, 160, 0, 585,
3717 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3718 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3719 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3720 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3721 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3722 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3723 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3724 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3725 0, 585, 0, 585, 0, 585, 0, 584, 0, 584,
3726 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3727 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3728 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3729 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3730 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3731 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3732 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3733 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3734 0, 584, 0, 584, 0, 582, 0, 582, 0, 582,
3735 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3736 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3737 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3738 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3739 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3740 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3741 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3742 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3743 0, 582, 0, 580, 0, 580, 0, 580, 0, 580,
3744 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3745 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3746 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3747 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3748 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3749 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3750 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3751 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3752 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3753 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3754 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3755 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3756 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3757 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3758 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3759 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3760 0, 581, 0, 581, 0, 581, 0, 581, 0, 583,
3761 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3762 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3763 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3764 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3765 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3766 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3767 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3768 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3769 0, 583, 0, 583, 0, 583, 0, 579, 0, 579,
3770 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3771 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3772 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3773 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3774 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3775 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3776 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3777 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3778 0, 579, 0, 579, 0, 578, 0, 578, 0, 578,
3779 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3780 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3781 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3782 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3783 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3784 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3785 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3786 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3787 0, 578, 0, 586, 0, 586, 0, 586, 0, 586,
3788 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3789 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3790 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3791 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3792 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3793 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3794 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3795 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3796 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3797 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3798 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3799 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3800 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3801 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3802 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3803 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3804 0, 144, 0, 144, 0, 144, 0, 144, 0, 614,
3805 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3806 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3807 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3808 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3809 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3810 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3811 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3812 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3813 0, 614, 0, 614, 0, 614, 0, 612, 0, 612,
3814 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3815 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3816 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3817 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3818 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3819 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3820 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3821 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3822 0, 612, 0, 612, 0, 611, 0, 611, 0, 611,
3823 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3824 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3825 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3826 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3827 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3828 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3829 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3830 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3831 0, 611, 0, 613, 0, 613, 0, 613, 0, 613,
3832 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3833 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3834 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3835 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3836 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3837 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3838 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3839 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3840 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3841 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3842 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3843 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3844 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3845 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3846 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3847 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3848 0, 610, 0, 610, 0, 610, 0, 610, 0, 609,
3849 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3850 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3851 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3852 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3853 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3854 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3855 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3856 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3857 0, 609, 0, 609, 0, 609, 0, 504, 0, 504,
3858 0, 454, 0, 454, 0, 455, 0, 42, 0, 490,
3859 0, 490, 0, 490, 0, 616, 0, 386, 0, 565,
3860 0, 565, 0, 565, 0, 616, 0, 339, 0, 486,
3864 /* Error token number */
3871 #define yynerrs (yystackp->yyerrcnt)
3873 #define yychar (yystackp->yyrawchar)
3875 #define yylval (yystackp->yyval)
3877 #define yylloc (yystackp->yyloc)
3878 #define psi_parser_proc_nerrs yynerrs
3879 #define psi_parser_proc_char yychar
3880 #define psi_parser_proc_lval yylval
3881 #define psi_parser_proc_lloc yylloc
3883 static const int YYEOF
= 0;
3884 static const int YYEMPTY
= -2;
3886 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
3888 #define YYCHK(YYE) \
3890 YYRESULTTAG yychk_flag = YYE; \
3891 if (yychk_flag != yyok) \
3892 return yychk_flag; \
3898 # define YYFPRINTF fprintf
3901 /* This macro is provided for backward compatibility. */
3902 #ifndef YY_LOCATION_PRINT
3903 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3907 # define YYDPRINTF(Args) \
3914 /*----------------------------------------.
3915 | Print this symbol's value on YYOUTPUT. |
3916 `----------------------------------------*/
3919 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
3921 FILE *yyo
= yyoutput
;
3932 /*--------------------------------.
3933 | Print this symbol on YYOUTPUT. |
3934 `--------------------------------*/
3937 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
3939 YYFPRINTF (yyoutput
, "%s %s (",
3940 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
3942 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
3943 YYFPRINTF (yyoutput
, ")");
3946 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3950 YYFPRINTF (stderr, "%s ", Title); \
3951 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
3952 YYFPRINTF (stderr, "\n"); \
3956 /* Nonzero means print parse trace. It is left uninitialized so that
3957 multiple parsers can coexist. */
3961 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
3962 YY_ATTRIBUTE_UNUSED
;
3963 static void yypdumpstack (struct yyGLRStack
* yystackp
)
3964 YY_ATTRIBUTE_UNUSED
;
3966 #else /* !YYDEBUG */
3968 # define YYDPRINTF(Args)
3969 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3971 #endif /* !YYDEBUG */
3973 /* YYINITDEPTH -- initial size of the parser's stacks. */
3975 # define YYINITDEPTH 200
3978 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3979 if the built-in stack extension method is used).
3981 Do not make this value too large; the results are undefined if
3982 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
3983 evaluated with infinite-precision integer arithmetic. */
3986 # define YYMAXDEPTH 10000
3989 /* Minimum number of free items on the stack allowed after an
3990 allocation. This is to allow allocation and initialization
3991 to be completed by functions that call yyexpandGLRStack before the
3992 stack is expanded, thus insuring that all necessary pointers get
3993 properly redirected to new data. */
3994 #define YYHEADROOM 2
3996 #ifndef YYSTACKEXPANDABLE
3997 # define YYSTACKEXPANDABLE 1
4000 #if YYSTACKEXPANDABLE
4001 # define YY_RESERVE_GLRSTACK(Yystack) \
4003 if (Yystack->yyspaceLeft < YYHEADROOM) \
4004 yyexpandGLRStack (Yystack); \
4007 # define YY_RESERVE_GLRSTACK(Yystack) \
4009 if (Yystack->yyspaceLeft < YYHEADROOM) \
4010 yyMemoryExhausted (Yystack); \
4018 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4019 # define yystpcpy stpcpy
4021 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4024 yystpcpy (char *yydest
, const char *yysrc
)
4027 const char *yys
= yysrc
;
4029 while ((*yyd
++ = *yys
++) != '\0')
4038 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4039 quotes and backslashes, so that it's suitable for yyerror. The
4040 heuristic is that double-quoting is unnecessary unless the string
4041 contains an apostrophe, a comma, or backslash (other than
4042 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4043 null, do not copy; instead, return the length of what the result
4046 yytnamerr (char *yyres
, const char *yystr
)
4051 char const *yyp
= yystr
;
4058 goto do_not_strip_quotes
;
4062 goto do_not_strip_quotes
;
4075 do_not_strip_quotes
: ;
4079 return strlen (yystr
);
4081 return yystpcpy (yyres
, yystr
) - yyres
;
4085 #endif /* !YYERROR_VERBOSE */
4087 /** State numbers, as in LALR(1) machine */
4088 typedef int yyStateNum
;
4090 /** Rule numbers, as in LALR(1) machine */
4091 typedef int yyRuleNum
;
4093 /** Grammar symbol */
4094 typedef int yySymbol
;
4096 /** Item references, as in LALR(1) machine */
4097 typedef short yyItemNum
;
4099 typedef struct yyGLRState yyGLRState
;
4100 typedef struct yyGLRStateSet yyGLRStateSet
;
4101 typedef struct yySemanticOption yySemanticOption
;
4102 typedef union yyGLRStackItem yyGLRStackItem
;
4103 typedef struct yyGLRStack yyGLRStack
;
4106 /** Type tag: always true. */
4108 /** Type tag for yysemantics. If true, yysval applies, otherwise
4109 * yyfirstVal applies. */
4111 /** Number of corresponding LALR(1) machine state. */
4112 yyStateNum yylrState
;
4113 /** Preceding state in this stack */
4115 /** Source position of the last token produced by my symbol */
4118 /** First in a chain of alternative reductions producing the
4119 * non-terminal corresponding to this state, threaded through
4121 yySemanticOption
* yyfirstVal
;
4122 /** Semantic value for this state. */
4127 struct yyGLRStateSet
{
4128 yyGLRState
** yystates
;
4129 /** During nondeterministic operation, yylookaheadNeeds tracks which
4130 * stacks have actually needed the current lookahead. During deterministic
4131 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4132 * duplicate yychar != YYEMPTY. */
4133 yybool
* yylookaheadNeeds
;
4134 size_t yysize
, yycapacity
;
4137 struct yySemanticOption
{
4138 /** Type tag: always false. */
4140 /** Rule number for this reduction */
4142 /** The last RHS state in the list of states to be reduced. */
4143 yyGLRState
* yystate
;
4144 /** The lookahead for this reduction. */
4147 /** Next sibling in chain of options. To facilitate merging,
4148 * options are chained in decreasing order by address. */
4149 yySemanticOption
* yynext
;
4152 /** Type of the items in the GLR stack. The yyisState field
4153 * indicates which item of the union is valid. */
4154 union yyGLRStackItem
{
4156 yySemanticOption yyoption
;
4167 YYJMP_BUF yyexception_buffer
;
4168 yyGLRStackItem
* yyitems
;
4169 yyGLRStackItem
* yynextFree
;
4171 yyGLRState
* yysplitPoint
;
4172 yyGLRState
* yylastDeleted
;
4173 yyGLRStateSet yytops
;
4176 #if YYSTACKEXPANDABLE
4177 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
4180 static _Noreturn
void
4181 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
4183 if (yymsg
!= YY_NULLPTR
)
4184 yyerror (P
, tokens
, index
, yymsg
);
4185 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
4188 static _Noreturn
void
4189 yyMemoryExhausted (yyGLRStack
* yystackp
)
4191 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
4194 #if YYDEBUG || YYERROR_VERBOSE
4195 /** A printable representation of TOKEN. */
4196 static inline const char*
4197 yytokenName (yySymbol yytoken
)
4199 if (yytoken
== YYEMPTY
)
4202 return yytname
[yytoken
];
4206 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4207 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4208 * containing the pointer to the next state in the chain. */
4209 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
4211 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
4214 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
4215 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
4218 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
4220 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
4222 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
4224 /* The effect of using yysval or yyloc (in an immediate rule) is
4226 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
4227 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
4231 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4232 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4233 * For convenience, always return YYLOW1. */
4234 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
4235 YY_ATTRIBUTE_UNUSED
;
4237 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
4239 if (!yynormal
&& yylow1
< *yylow
)
4241 yyfillin (yyvsp
, *yylow
, yylow1
);
4247 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4248 * and top stack item YYVSP. YYLVALP points to place to put semantic
4249 * value ($$), and yylocp points to place for location information
4250 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4251 * yyerr for YYERROR, yyabort for YYABORT. */
4253 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
4254 yyGLRStack
* yystackp
,
4255 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4257 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
4265 # define yyerrok (yystackp->yyerrState = 0)
4267 # define YYACCEPT return yyaccept
4269 # define YYABORT return yyabort
4271 # define YYERROR return yyerrok, yyerr
4272 # undef YYRECOVERING
4273 # define YYRECOVERING() (yystackp->yyerrState != 0)
4275 # define yyclearin (yychar = YYEMPTY)
4277 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
4279 # define YYBACKUP(Token, Value) \
4280 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4285 *yyvalp
= yyval_default
;
4287 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
4291 #line 452 "src/parser_proc_grammar.y" /* glr.c:817 */
4293 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4294 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
4295 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4298 #line 4299 "src/parser_proc.c" /* glr.c:817 */
4302 #line 458 "src/parser_proc_grammar.y" /* glr.c:817 */
4304 char *libname
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4305 P
->file
.libnames
= psi_plist_add(P
->file
.libnames
, &libname
);
4307 #line 4308 "src/parser_proc.c" /* glr.c:817 */
4311 #line 462 "src/parser_proc_grammar.y" /* glr.c:817 */
4313 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4315 #line 4316 "src/parser_proc.c" /* glr.c:817 */
4319 #line 465 "src/parser_proc_grammar.y" /* glr.c:817 */
4321 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4323 #line 4324 "src/parser_proc.c" /* glr.c:817 */
4327 #line 468 "src/parser_proc_grammar.y" /* glr.c:817 */
4329 psi_parser_proc_add_decl_extvars(P
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4331 #line 4332 "src/parser_proc.c" /* glr.c:817 */
4335 #line 471 "src/parser_proc_grammar.y" /* glr.c:817 */
4337 if (P
->flags
& PSI_DEBUG
) {
4338 P
->error(PSI_DATA(P
), (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
, PSI_NOTICE
, "Ignored decl: %s", (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
);
4340 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4342 #line 4343 "src/parser_proc.c" /* glr.c:817 */
4346 #line 477 "src/parser_proc_grammar.y" /* glr.c:817 */
4348 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4350 #line 4351 "src/parser_proc.c" /* glr.c:817 */
4354 #line 480 "src/parser_proc_grammar.y" /* glr.c:817 */
4356 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4358 #line 4359 "src/parser_proc.c" /* glr.c:817 */
4362 #line 483 "src/parser_proc_grammar.y" /* glr.c:817 */
4364 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4366 #line 4367 "src/parser_proc.c" /* glr.c:817 */
4370 #line 486 "src/parser_proc_grammar.y" /* glr.c:817 */
4372 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4374 #line 4375 "src/parser_proc.c" /* glr.c:817 */
4378 #line 489 "src/parser_proc_grammar.y" /* glr.c:817 */
4380 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4382 #line 4383 "src/parser_proc.c" /* glr.c:817 */
4386 #line 495 "src/parser_proc_grammar.y" /* glr.c:817 */
4388 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4390 #line 4391 "src/parser_proc.c" /* glr.c:817 */
4394 #line 501 "src/parser_proc_grammar.y" /* glr.c:817 */
4396 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4398 #line 4399 "src/parser_proc.c" /* glr.c:817 */
4402 #line 504 "src/parser_proc_grammar.y" /* glr.c:817 */
4404 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4406 #line 4407 "src/parser_proc.c" /* glr.c:817 */
4410 #line 510 "src/parser_proc_grammar.y" /* glr.c:817 */
4412 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4413 struct psi_token
*msg
= NULL
;
4415 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
4417 struct psi_token
*next
;
4419 msg
= psi_token_copy(msg
);
4420 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
4421 struct psi_token
*old
= msg
;
4422 msg
= psi_token_cat(" ", 2, msg
, next
);
4426 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4428 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
4430 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4432 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4434 #line 4435 "src/parser_proc.c" /* glr.c:817 */
4438 #line 533 "src/parser_proc_grammar.y" /* glr.c:817 */
4440 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4441 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4443 #line 4444 "src/parser_proc.c" /* glr.c:817 */
4447 #line 537 "src/parser_proc_grammar.y" /* glr.c:817 */
4449 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4450 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4452 #line 4453 "src/parser_proc.c" /* glr.c:817 */
4456 #line 541 "src/parser_proc_grammar.y" /* glr.c:817 */
4458 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4459 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4460 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4462 #line 4463 "src/parser_proc.c" /* glr.c:817 */
4466 #line 546 "src/parser_proc_grammar.y" /* glr.c:817 */
4468 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_cpp_macro_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4469 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4471 #line 4472 "src/parser_proc.c" /* glr.c:817 */
4475 #line 550 "src/parser_proc_grammar.y" /* glr.c:817 */
4477 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4478 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4480 #line 4481 "src/parser_proc.c" /* glr.c:817 */
4484 #line 554 "src/parser_proc_grammar.y" /* glr.c:817 */
4486 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
4487 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4489 #line 4490 "src/parser_proc.c" /* glr.c:817 */
4493 #line 558 "src/parser_proc_grammar.y" /* glr.c:817 */
4495 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4496 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
4498 #line 4499 "src/parser_proc.c" /* glr.c:817 */
4502 #line 602 "src/parser_proc_grammar.y" /* glr.c:817 */
4504 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4505 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
4506 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4508 #line 4509 "src/parser_proc.c" /* glr.c:817 */
4512 #line 607 "src/parser_proc_grammar.y" /* glr.c:817 */
4514 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4515 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
4516 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4518 #line 4519 "src/parser_proc.c" /* glr.c:817 */
4522 #line 612 "src/parser_proc_grammar.y" /* glr.c:817 */
4524 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4525 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, psi_num_exp_tokens((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4526 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4528 #line 4529 "src/parser_proc.c" /* glr.c:817 */
4532 #line 617 "src/parser_proc_grammar.y" /* glr.c:817 */
4534 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_token_free
);
4535 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4536 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, psi_plist_add(list
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))), NULL
);
4537 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4539 #line 4540 "src/parser_proc.c" /* glr.c:817 */
4543 #line 626 "src/parser_proc_grammar.y" /* glr.c:817 */
4545 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
4547 #line 4548 "src/parser_proc.c" /* glr.c:817 */
4551 #line 629 "src/parser_proc_grammar.y" /* glr.c:817 */
4553 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
4555 #line 4556 "src/parser_proc.c" /* glr.c:817 */
4559 #line 633 "src/parser_proc_grammar.y" /* glr.c:817 */
4561 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4563 #line 4564 "src/parser_proc.c" /* glr.c:817 */
4567 #line 639 "src/parser_proc_grammar.y" /* glr.c:817 */
4569 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4570 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4571 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_token_free
), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4573 #line 4574 "src/parser_proc.c" /* glr.c:817 */
4577 #line 644 "src/parser_proc_grammar.y" /* glr.c:817 */
4579 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4580 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4581 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4583 #line 4584 "src/parser_proc.c" /* glr.c:817 */
4587 #line 652 "src/parser_proc_grammar.y" /* glr.c:817 */
4589 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4591 #line 4592 "src/parser_proc.c" /* glr.c:817 */
4595 #line 659 "src/parser_proc_grammar.y" /* glr.c:817 */
4597 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4598 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_token_free
), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4600 #line 4601 "src/parser_proc.c" /* glr.c:817 */
4604 #line 663 "src/parser_proc_grammar.y" /* glr.c:817 */
4606 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4607 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4609 #line 4610 "src/parser_proc.c" /* glr.c:817 */
4613 #line 670 "src/parser_proc_grammar.y" /* glr.c:817 */
4615 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_unary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4616 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4618 #line 4619 "src/parser_proc.c" /* glr.c:817 */
4622 #line 674 "src/parser_proc_grammar.y" /* glr.c:817 */
4624 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_unary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4625 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4627 #line 4628 "src/parser_proc.c" /* glr.c:817 */
4631 #line 678 "src/parser_proc_grammar.y" /* glr.c:817 */
4633 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_binary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4634 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4636 #line 4637 "src/parser_proc.c" /* glr.c:817 */
4640 #line 682 "src/parser_proc_grammar.y" /* glr.c:817 */
4642 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_ternary((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4643 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4645 #line 4646 "src/parser_proc.c" /* glr.c:817 */
4649 #line 687 "src/parser_proc_grammar.y" /* glr.c:817 */
4654 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4655 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4656 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
4657 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4658 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4661 #line 4662 "src/parser_proc.c" /* glr.c:817 */
4665 #line 698 "src/parser_proc_grammar.y" /* glr.c:817 */
4670 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4671 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4672 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
4673 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4674 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4677 #line 4678 "src/parser_proc.c" /* glr.c:817 */
4681 #line 709 "src/parser_proc_grammar.y" /* glr.c:817 */
4683 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->flags
));
4684 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4685 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4687 #line 4688 "src/parser_proc.c" /* glr.c:817 */
4691 #line 714 "src/parser_proc_grammar.y" /* glr.c:817 */
4693 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0));
4694 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4695 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4697 #line 4698 "src/parser_proc.c" /* glr.c:817 */
4701 #line 719 "src/parser_proc_grammar.y" /* glr.c:817 */
4703 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4704 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4706 #line 4707 "src/parser_proc.c" /* glr.c:817 */
4710 #line 723 "src/parser_proc_grammar.y" /* glr.c:817 */
4712 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4713 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINE
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0));
4714 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4715 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4717 #line 4718 "src/parser_proc.c" /* glr.c:817 */
4721 #line 729 "src/parser_proc_grammar.y" /* glr.c:817 */
4723 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4724 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
4725 psi_cpp_macro_call_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 0));
4726 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4727 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4729 #line 4730 "src/parser_proc.c" /* glr.c:817 */
4733 #line 739 "src/parser_proc_grammar.y" /* glr.c:817 */
4735 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4737 #line 4738 "src/parser_proc.c" /* glr.c:817 */
4741 #line 746 "src/parser_proc_grammar.y" /* glr.c:817 */
4743 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
4744 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4746 #line 4747 "src/parser_proc.c" /* glr.c:817 */
4750 #line 750 "src/parser_proc_grammar.y" /* glr.c:817 */
4752 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4754 #line 4755 "src/parser_proc.c" /* glr.c:817 */
4758 #line 756 "src/parser_proc_grammar.y" /* glr.c:817 */
4760 (*(struct psi_const
**)(&(*yyvalp
))) = psi_const_init((*(struct psi_impl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_impl_def_val
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4761 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4763 #line 4764 "src/parser_proc.c" /* glr.c:817 */
4767 #line 763 "src/parser_proc_grammar.y" /* glr.c:817 */
4769 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4770 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4772 #line 4773 "src/parser_proc.c" /* glr.c:817 */
4776 #line 767 "src/parser_proc_grammar.y" /* glr.c:817 */
4778 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_NUMBER
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4779 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4781 #line 4782 "src/parser_proc.c" /* glr.c:817 */
4785 #line 771 "src/parser_proc_grammar.y" /* glr.c:817 */
4787 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4788 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4790 #line 4791 "src/parser_proc.c" /* glr.c:817 */
4794 #line 784 "src/parser_proc_grammar.y" /* glr.c:817 */
4796 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4798 #line 4799 "src/parser_proc.c" /* glr.c:817 */
4802 #line 798 "src/parser_proc_grammar.y" /* glr.c:817 */
4804 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4806 #line 4807 "src/parser_proc.c" /* glr.c:817 */
4810 #line 804 "src/parser_proc_grammar.y" /* glr.c:817 */
4812 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4814 #line 4815 "src/parser_proc.c" /* glr.c:817 */
4818 #line 807 "src/parser_proc_grammar.y" /* glr.c:817 */
4820 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4822 #line 4823 "src/parser_proc.c" /* glr.c:817 */
4826 #line 813 "src/parser_proc_grammar.y" /* glr.c:817 */
4828 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4830 #line 4831 "src/parser_proc.c" /* glr.c:817 */
4834 #line 816 "src/parser_proc_grammar.y" /* glr.c:817 */
4836 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4838 #line 4839 "src/parser_proc.c" /* glr.c:817 */
4842 #line 823 "src/parser_proc_grammar.y" /* glr.c:817 */
4844 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4845 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
4846 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
4848 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
4849 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4851 #line 4852 "src/parser_proc.c" /* glr.c:817 */
4855 #line 831 "src/parser_proc_grammar.y" /* glr.c:817 */
4857 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4858 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4859 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
4860 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4862 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4863 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
4864 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4865 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4867 #line 4868 "src/parser_proc.c" /* glr.c:817 */
4871 #line 842 "src/parser_proc_grammar.y" /* glr.c:817 */
4873 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4874 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4875 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
= psi_decl_struct_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4876 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4877 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
4878 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
4879 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
4881 #line 4882 "src/parser_proc.c" /* glr.c:817 */
4885 #line 851 "src/parser_proc_grammar.y" /* glr.c:817 */
4887 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4888 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4889 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
= psi_decl_union_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4890 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4891 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
4892 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
4893 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
4895 #line 4896 "src/parser_proc.c" /* glr.c:817 */
4899 #line 864 "src/parser_proc_grammar.y" /* glr.c:817 */
4901 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(NULL
, 0, 0));
4902 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4904 #line 4905 "src/parser_proc.c" /* glr.c:817 */
4908 #line 868 "src/parser_proc_grammar.y" /* glr.c:817 */
4910 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4911 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
4912 psi_decl_var_init(NULL
, 0, 0)
4914 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4915 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4916 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4917 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4919 #line 4920 "src/parser_proc.c" /* glr.c:817 */
4923 #line 878 "src/parser_proc_grammar.y" /* glr.c:817 */
4925 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
), psi_decl_var_init(NULL
, 0, 0));
4926 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4927 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
= psi_decl_struct_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4928 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4929 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4930 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4931 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
4933 #line 4934 "src/parser_proc.c" /* glr.c:817 */
4937 #line 887 "src/parser_proc_grammar.y" /* glr.c:817 */
4939 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
), psi_decl_var_init(NULL
, 0, 0));
4940 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4941 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
= psi_decl_union_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4942 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4943 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4944 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4945 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
4947 #line 4948 "src/parser_proc.c" /* glr.c:817 */
4951 #line 900 "src/parser_proc_grammar.y" /* glr.c:817 */
4953 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4955 #line 4956 "src/parser_proc.c" /* glr.c:817 */
4959 #line 903 "src/parser_proc_grammar.y" /* glr.c:817 */
4961 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4963 #line 4964 "src/parser_proc.c" /* glr.c:817 */
4967 #line 914 "src/parser_proc_grammar.y" /* glr.c:817 */
4969 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4970 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4972 #line 4973 "src/parser_proc.c" /* glr.c:817 */
4976 #line 922 "src/parser_proc_grammar.y" /* glr.c:817 */
4978 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4979 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4980 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4982 #line 4983 "src/parser_proc.c" /* glr.c:817 */
4986 #line 927 "src/parser_proc_grammar.y" /* glr.c:817 */
4988 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4989 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
4990 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4992 #line 4993 "src/parser_proc.c" /* glr.c:817 */
4996 #line 932 "src/parser_proc_grammar.y" /* glr.c:817 */
4998 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4999 (*(struct psi_decl_type
**)(&(*yyvalp
))) = psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
5000 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5002 #line 5003 "src/parser_proc.c" /* glr.c:817 */
5006 #line 942 "src/parser_proc_grammar.y" /* glr.c:817 */
5008 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5010 #line 5011 "src/parser_proc.c" /* glr.c:817 */
5014 #line 945 "src/parser_proc_grammar.y" /* glr.c:817 */
5016 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5018 #line 5019 "src/parser_proc.c" /* glr.c:817 */
5022 #line 951 "src/parser_proc_grammar.y" /* glr.c:817 */
5024 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5026 #line 5027 "src/parser_proc.c" /* glr.c:817 */
5030 #line 954 "src/parser_proc_grammar.y" /* glr.c:817 */
5032 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5034 #line 5035 "src/parser_proc.c" /* glr.c:817 */
5038 #line 957 "src/parser_proc_grammar.y" /* glr.c:817 */
5040 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5042 #line 5043 "src/parser_proc.c" /* glr.c:817 */
5046 #line 968 "src/parser_proc_grammar.y" /* glr.c:817 */
5048 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5050 #line 5051 "src/parser_proc.c" /* glr.c:817 */
5054 #line 971 "src/parser_proc_grammar.y" /* glr.c:817 */
5056 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5058 #line 5059 "src/parser_proc.c" /* glr.c:817 */
5062 #line 974 "src/parser_proc_grammar.y" /* glr.c:817 */
5064 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5066 #line 5067 "src/parser_proc.c" /* glr.c:817 */
5070 #line 980 "src/parser_proc_grammar.y" /* glr.c:817 */
5072 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5074 #line 5075 "src/parser_proc.c" /* glr.c:817 */
5078 #line 983 "src/parser_proc_grammar.y" /* glr.c:817 */
5080 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5082 #line 5083 "src/parser_proc.c" /* glr.c:817 */
5086 #line 986 "src/parser_proc_grammar.y" /* glr.c:817 */
5088 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5089 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5090 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5092 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5095 #line 5096 "src/parser_proc.c" /* glr.c:817 */
5099 #line 994 "src/parser_proc_grammar.y" /* glr.c:817 */
5101 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5102 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5103 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5104 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5106 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5109 #line 5110 "src/parser_proc.c" /* glr.c:817 */
5113 #line 1006 "src/parser_proc_grammar.y" /* glr.c:817 */
5115 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5117 #line 5118 "src/parser_proc.c" /* glr.c:817 */
5121 #line 1009 "src/parser_proc_grammar.y" /* glr.c:817 */
5123 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5125 #line 5126 "src/parser_proc.c" /* glr.c:817 */
5129 #line 1012 "src/parser_proc_grammar.y" /* glr.c:817 */
5131 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5133 #line 5134 "src/parser_proc.c" /* glr.c:817 */
5137 #line 1015 "src/parser_proc_grammar.y" /* glr.c:817 */
5139 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5140 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5142 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5145 #line 5146 "src/parser_proc.c" /* glr.c:817 */
5149 #line 1022 "src/parser_proc_grammar.y" /* glr.c:817 */
5151 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5153 #line 5154 "src/parser_proc.c" /* glr.c:817 */
5157 #line 1025 "src/parser_proc_grammar.y" /* glr.c:817 */
5159 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5160 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5162 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5165 #line 5166 "src/parser_proc.c" /* glr.c:817 */
5169 #line 1035 "src/parser_proc_grammar.y" /* glr.c:817 */
5171 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5173 #line 5174 "src/parser_proc.c" /* glr.c:817 */
5177 #line 1041 "src/parser_proc_grammar.y" /* glr.c:817 */
5179 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5181 #line 5182 "src/parser_proc.c" /* glr.c:817 */
5185 #line 1050 "src/parser_proc_grammar.y" /* glr.c:817 */
5187 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5189 #line 5190 "src/parser_proc.c" /* glr.c:817 */
5193 #line 1053 "src/parser_proc_grammar.y" /* glr.c:817 */
5195 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5197 #line 5198 "src/parser_proc.c" /* glr.c:817 */
5201 #line 1056 "src/parser_proc_grammar.y" /* glr.c:817 */
5203 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5204 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5205 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5207 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5210 #line 5211 "src/parser_proc.c" /* glr.c:817 */
5214 #line 1067 "src/parser_proc_grammar.y" /* glr.c:817 */
5216 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5217 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5218 (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->redir
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5219 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5222 #line 5223 "src/parser_proc.c" /* glr.c:817 */
5226 #line 1074 "src/parser_proc_grammar.y" /* glr.c:817 */
5228 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5229 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5230 (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->redir
= strdup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5231 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5234 #line 5235 "src/parser_proc.c" /* glr.c:817 */
5238 #line 1084 "src/parser_proc_grammar.y" /* glr.c:817 */
5240 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
5242 #line 5243 "src/parser_proc.c" /* glr.c:817 */
5246 #line 1087 "src/parser_proc_grammar.y" /* glr.c:817 */
5248 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5250 #line 5251 "src/parser_proc.c" /* glr.c:817 */
5254 #line 1093 "src/parser_proc_grammar.y" /* glr.c:817 */
5256 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5258 #line 5259 "src/parser_proc.c" /* glr.c:817 */
5262 #line 1096 "src/parser_proc_grammar.y" /* glr.c:817 */
5264 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat("", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5265 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5267 #line 5268 "src/parser_proc.c" /* glr.c:817 */
5271 #line 1103 "src/parser_proc_grammar.y" /* glr.c:817 */
5273 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
5275 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5277 struct psi_decl_var
*var
;
5279 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &var
)) {
5280 if (psi_decl_extvar_is_blacklisted(var
->name
)) {
5281 psi_decl_var_free(&var
);
5283 struct psi_decl_extvar
*evar
= psi_decl_extvar_init(
5284 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
), var
));
5285 list
= psi_plist_add(list
, &evar
);
5288 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5291 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->var
->name
)) {
5292 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5294 struct psi_decl_extvar
*evar
= psi_decl_extvar_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5295 list
= psi_plist_add(list
, &evar
);
5298 (*(struct psi_plist
**)(&(*yyvalp
))) = list
;
5300 #line 5301 "src/parser_proc.c" /* glr.c:817 */
5304 #line 1134 "src/parser_proc_grammar.y" /* glr.c:817 */
5306 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5308 #line 5309 "src/parser_proc.c" /* glr.c:817 */
5312 #line 1137 "src/parser_proc_grammar.y" /* glr.c:817 */
5314 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5316 #line 5317 "src/parser_proc.c" /* glr.c:817 */
5320 #line 1143 "src/parser_proc_grammar.y" /* glr.c:817 */
5322 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_var_free
), &(*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5324 #line 5325 "src/parser_proc.c" /* glr.c:817 */
5328 #line 1146 "src/parser_proc_grammar.y" /* glr.c:817 */
5330 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5332 #line 5333 "src/parser_proc.c" /* glr.c:817 */
5336 #line 1152 "src/parser_proc_grammar.y" /* glr.c:817 */
5338 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5340 #line 5341 "src/parser_proc.c" /* glr.c:817 */
5344 #line 1182 "src/parser_proc_grammar.y" /* glr.c:817 */
5346 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5347 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
5349 #line 5350 "src/parser_proc.c" /* glr.c:817 */
5353 #line 1194 "src/parser_proc_grammar.y" /* glr.c:817 */
5355 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5356 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5357 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5358 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5361 #line 5362 "src/parser_proc.c" /* glr.c:817 */
5365 #line 1201 "src/parser_proc_grammar.y" /* glr.c:817 */
5367 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5368 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5369 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5370 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5371 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5374 #line 5375 "src/parser_proc.c" /* glr.c:817 */
5378 #line 1212 "src/parser_proc_grammar.y" /* glr.c:817 */
5380 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5381 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5382 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5383 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5386 #line 5387 "src/parser_proc.c" /* glr.c:817 */
5390 #line 1219 "src/parser_proc_grammar.y" /* glr.c:817 */
5392 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5393 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5394 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5395 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5396 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5399 #line 5400 "src/parser_proc.c" /* glr.c:817 */
5403 #line 1227 "src/parser_proc_grammar.y" /* glr.c:817 */
5405 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
));
5406 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5408 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))), 1, "rval");
5409 struct psi_decl_arg
*rval_func
= psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-12)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(type_token
->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)), 0));
5410 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5412 rval_func
->var
->token
= psi_token_copy(type_token
);
5413 rval_func
->token
= psi_token_copy(type_token
);
5414 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5415 rval_func
->var
->pointer_level
+= 1;
5416 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5419 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5420 struct psi_decl_arg
*func
= psi_decl_arg_init(type
, psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
))->text
, 1, 0));
5422 type
->real
.func
= rval_decl
;
5423 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5424 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-8)].yystate
.yysemantics
.yysval
)));
5426 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5428 #line 5429 "src/parser_proc.c" /* glr.c:817 */
5432 #line 1251 "src/parser_proc_grammar.y" /* glr.c:817 */
5434 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-12)].yystate
.yysemantics
.yysval
));
5435 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
));
5436 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5438 struct psi_token
*type_token
= psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))), 1, "rval");
5439 struct psi_decl_arg
*rval_func
= psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-15)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(type_token
->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-14)].yystate
.yysemantics
.yysval
)), 0));
5440 struct psi_decl
*rval_decl
= psi_decl_init(rval_func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5442 rval_func
->var
->token
= psi_token_copy(type_token
);
5443 rval_func
->token
= psi_token_copy(type_token
);
5444 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5445 rval_func
->var
->pointer_level
+= 1;
5446 rval_func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5449 struct psi_decl_type
*type
= psi_decl_type_init(PSI_T_FUNCTION
, type_token
->text
);
5450 struct psi_decl_arg
*func
= psi_decl_arg_init(type
, psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
))->text
, 1, 0));
5452 type
->real
.func
= rval_decl
;
5453 func
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5454 func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
5455 type
->token
= type_token
;
5457 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(func
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
5459 #line 5460 "src/parser_proc.c" /* glr.c:817 */
5463 #line 1280 "src/parser_proc_grammar.y" /* glr.c:817 */
5465 (*(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
)));
5466 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5467 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5468 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5471 #line 5472 "src/parser_proc.c" /* glr.c:817 */
5475 #line 1287 "src/parser_proc_grammar.y" /* glr.c:817 */
5477 (*(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
)));
5478 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
5479 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5480 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
5481 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5484 #line 5485 "src/parser_proc.c" /* glr.c:817 */
5488 #line 1298 "src/parser_proc_grammar.y" /* glr.c:817 */
5490 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5491 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5492 (*(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));
5493 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5494 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5496 #line 5497 "src/parser_proc.c" /* glr.c:817 */
5500 #line 1344 "src/parser_proc_grammar.y" /* glr.c:817 */
5502 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5503 (*(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));
5504 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5505 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5507 #line 5508 "src/parser_proc.c" /* glr.c:817 */
5511 #line 1400 "src/parser_proc_grammar.y" /* glr.c:817 */
5513 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5515 #line 5516 "src/parser_proc.c" /* glr.c:817 */
5519 #line 1403 "src/parser_proc_grammar.y" /* glr.c:817 */
5521 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5523 #line 5524 "src/parser_proc.c" /* glr.c:817 */
5527 #line 1406 "src/parser_proc_grammar.y" /* glr.c:817 */
5529 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5531 #line 5532 "src/parser_proc.c" /* glr.c:817 */
5535 #line 1412 "src/parser_proc_grammar.y" /* glr.c:817 */
5537 (*(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
)));
5539 #line 5540 "src/parser_proc.c" /* glr.c:817 */
5543 #line 1415 "src/parser_proc_grammar.y" /* glr.c:817 */
5545 (*(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
)));
5547 #line 5548 "src/parser_proc.c" /* glr.c:817 */
5551 #line 1421 "src/parser_proc_grammar.y" /* glr.c:817 */
5554 struct psi_token
*name
;
5556 psi_token_hash((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
, digest
);
5557 name
= psi_token_append("@", psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
), 2, "funct", digest
);
5559 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5560 psi_decl_type_init(PSI_T_FUNCTION
, name
->text
),
5561 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5563 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= name
;
5564 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5565 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5567 #line 5568 "src/parser_proc.c" /* glr.c:817 */
5571 #line 1436 "src/parser_proc_grammar.y" /* glr.c:817 */
5573 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5575 #line 5576 "src/parser_proc.c" /* glr.c:817 */
5579 #line 1439 "src/parser_proc_grammar.y" /* glr.c:817 */
5581 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5582 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
5583 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
5586 #line 5587 "src/parser_proc.c" /* glr.c:817 */
5590 #line 1468 "src/parser_proc_grammar.y" /* glr.c:817 */
5592 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
5593 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
5594 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
5596 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
5597 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5599 #line 5600 "src/parser_proc.c" /* glr.c:817 */
5603 #line 1476 "src/parser_proc_grammar.y" /* glr.c:817 */
5605 (*(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
)));
5607 #line 5608 "src/parser_proc.c" /* glr.c:817 */
5611 #line 1504 "src/parser_proc_grammar.y" /* glr.c:817 */
5613 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5614 (*(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
)));
5615 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5617 #line 5618 "src/parser_proc.c" /* glr.c:817 */
5621 #line 1509 "src/parser_proc_grammar.y" /* glr.c:817 */
5623 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5624 (*(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
)));
5625 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5627 #line 5628 "src/parser_proc.c" /* glr.c:817 */
5631 #line 1517 "src/parser_proc_grammar.y" /* glr.c:817 */
5633 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5634 (*(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
)));
5635 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5636 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5637 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5639 #line 5640 "src/parser_proc.c" /* glr.c:817 */
5643 #line 1527 "src/parser_proc_grammar.y" /* glr.c:817 */
5645 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5646 (*(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
)));
5647 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
5648 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
5649 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5651 #line 5652 "src/parser_proc.c" /* glr.c:817 */
5655 #line 1537 "src/parser_proc_grammar.y" /* glr.c:817 */
5657 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5659 #line 5660 "src/parser_proc.c" /* glr.c:817 */
5663 #line 1544 "src/parser_proc_grammar.y" /* glr.c:817 */
5665 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5667 #line 5668 "src/parser_proc.c" /* glr.c:817 */
5671 #line 1550 "src/parser_proc_grammar.y" /* glr.c:817 */
5673 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5674 (*(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
)));
5675 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5677 struct psi_decl_arg
*arg
;
5679 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5680 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5681 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5683 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5686 #line 5687 "src/parser_proc.c" /* glr.c:817 */
5690 #line 1564 "src/parser_proc_grammar.y" /* glr.c:817 */
5692 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5693 (*(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
)));
5694 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
5696 struct psi_decl_arg
*arg
;
5698 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
5699 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
5700 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
5702 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5705 #line 5706 "src/parser_proc.c" /* glr.c:817 */
5709 #line 1581 "src/parser_proc_grammar.y" /* glr.c:817 */
5711 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5713 #line 5714 "src/parser_proc.c" /* glr.c:817 */
5717 #line 1584 "src/parser_proc_grammar.y" /* glr.c:817 */
5719 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5721 #line 5722 "src/parser_proc.c" /* glr.c:817 */
5725 #line 1590 "src/parser_proc_grammar.y" /* glr.c:817 */
5728 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5729 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5730 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
5733 #line 5734 "src/parser_proc.c" /* glr.c:817 */
5737 #line 1597 "src/parser_proc_grammar.y" /* glr.c:817 */
5740 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5741 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5742 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
5745 #line 5746 "src/parser_proc.c" /* glr.c:817 */
5749 #line 1607 "src/parser_proc_grammar.y" /* glr.c:817 */
5751 (*(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
)));
5752 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
5754 #line 5755 "src/parser_proc.c" /* glr.c:817 */
5758 #line 1614 "src/parser_proc_grammar.y" /* glr.c:817 */
5760 (*(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
)));
5762 #line 5763 "src/parser_proc.c" /* glr.c:817 */
5766 #line 1617 "src/parser_proc_grammar.y" /* glr.c:817 */
5768 (*(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
)));
5770 #line 5771 "src/parser_proc.c" /* glr.c:817 */
5774 #line 1623 "src/parser_proc_grammar.y" /* glr.c:817 */
5776 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5777 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
5778 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5780 #line 5781 "src/parser_proc.c" /* glr.c:817 */
5784 #line 1628 "src/parser_proc_grammar.y" /* glr.c:817 */
5786 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5787 (*(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
)));
5788 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5790 #line 5791 "src/parser_proc.c" /* glr.c:817 */
5794 #line 1636 "src/parser_proc_grammar.y" /* glr.c:817 */
5796 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5797 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5799 #line 5800 "src/parser_proc.c" /* glr.c:817 */
5803 #line 1640 "src/parser_proc_grammar.y" /* glr.c:817 */
5805 (*(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
)));
5806 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
5808 #line 5809 "src/parser_proc.c" /* glr.c:817 */
5812 #line 1644 "src/parser_proc_grammar.y" /* glr.c:817 */
5814 (*(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
)));
5815 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5817 #line 5818 "src/parser_proc.c" /* glr.c:817 */
5821 #line 1648 "src/parser_proc_grammar.y" /* glr.c:817 */
5823 (*(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
)));
5824 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5826 #line 5827 "src/parser_proc.c" /* glr.c:817 */
5830 #line 1652 "src/parser_proc_grammar.y" /* glr.c:817 */
5832 (*(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
)));
5833 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5835 #line 5836 "src/parser_proc.c" /* glr.c:817 */
5839 #line 1656 "src/parser_proc_grammar.y" /* glr.c:817 */
5841 (*(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
)));
5842 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5844 #line 5845 "src/parser_proc.c" /* glr.c:817 */
5848 #line 1663 "src/parser_proc_grammar.y" /* glr.c:817 */
5850 (*(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
);
5851 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5853 #line 5854 "src/parser_proc.c" /* glr.c:817 */
5857 #line 1667 "src/parser_proc_grammar.y" /* glr.c:817 */
5859 (*(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);
5860 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5862 #line 5863 "src/parser_proc.c" /* glr.c:817 */
5866 #line 1671 "src/parser_proc_grammar.y" /* glr.c:817 */
5868 (*(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);
5869 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5871 #line 5872 "src/parser_proc.c" /* glr.c:817 */
5875 #line 1675 "src/parser_proc_grammar.y" /* glr.c:817 */
5877 (*(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);
5878 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5880 #line 5881 "src/parser_proc.c" /* glr.c:817 */
5884 #line 1679 "src/parser_proc_grammar.y" /* glr.c:817 */
5886 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
5887 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5889 #line 5890 "src/parser_proc.c" /* glr.c:817 */
5893 #line 1683 "src/parser_proc_grammar.y" /* glr.c:817 */
5895 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5897 #line 5898 "src/parser_proc.c" /* glr.c:817 */
5901 #line 1689 "src/parser_proc_grammar.y" /* glr.c:817 */
5903 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5904 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5906 #line 5907 "src/parser_proc.c" /* glr.c:817 */
5910 #line 1693 "src/parser_proc_grammar.y" /* glr.c:817 */
5912 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5913 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5915 #line 5916 "src/parser_proc.c" /* glr.c:817 */
5919 #line 1700 "src/parser_proc_grammar.y" /* glr.c:817 */
5921 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5923 #line 5924 "src/parser_proc.c" /* glr.c:817 */
5927 #line 1703 "src/parser_proc_grammar.y" /* glr.c:817 */
5929 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5930 int8_t sizeof_void_p
= sizeof(void *);
5931 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
5932 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5934 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
5937 #line 5938 "src/parser_proc.c" /* glr.c:817 */
5941 #line 1715 "src/parser_proc_grammar.y" /* glr.c:817 */
5943 int8_t sizeof_void_p
= sizeof(void *);
5944 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
5946 #line 5947 "src/parser_proc.c" /* glr.c:817 */
5950 #line 1719 "src/parser_proc_grammar.y" /* glr.c:817 */
5952 int8_t sizeof_a
= sizeof('a');
5953 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
5955 #line 5956 "src/parser_proc.c" /* glr.c:817 */
5959 #line 1723 "src/parser_proc_grammar.y" /* glr.c:817 */
5961 uint64_t len
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
+ 1;
5962 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_UINT64
, &len
, 0);
5964 #line 5965 "src/parser_proc.c" /* glr.c:817 */
5968 #line 1730 "src/parser_proc_grammar.y" /* glr.c:817 */
5970 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5971 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5975 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
5976 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
5979 #line 5980 "src/parser_proc.c" /* glr.c:817 */
5983 #line 1743 "src/parser_proc_grammar.y" /* glr.c:817 */
5985 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
5986 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5990 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
5991 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
5994 #line 5995 "src/parser_proc.c" /* glr.c:817 */
5998 #line 1756 "src/parser_proc_grammar.y" /* glr.c:817 */
6000 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
6001 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6005 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
6006 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
6009 #line 6010 "src/parser_proc.c" /* glr.c:817 */
6013 #line 1769 "src/parser_proc_grammar.y" /* glr.c:817 */
6015 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
6017 #line 6018 "src/parser_proc.c" /* glr.c:817 */
6021 #line 1772 "src/parser_proc_grammar.y" /* glr.c:817 */
6023 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6024 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
6026 #line 6027 "src/parser_proc.c" /* glr.c:817 */
6030 #line 1784 "src/parser_proc_grammar.y" /* glr.c:817 */
6032 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
6034 #line 6035 "src/parser_proc.c" /* glr.c:817 */
6038 #line 1787 "src/parser_proc_grammar.y" /* glr.c:817 */
6040 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(0, 0, psi_layout_init(0, atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
), NULL
));
6042 #line 6043 "src/parser_proc.c" /* glr.c:817 */
6046 #line 1790 "src/parser_proc_grammar.y" /* glr.c:817 */
6048 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
), NULL
);
6050 #line 6051 "src/parser_proc.c" /* glr.c:817 */
6054 #line 1793 "src/parser_proc_grammar.y" /* glr.c:817 */
6056 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
), psi_layout_init(0, atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
))->text
), NULL
));
6058 #line 6059 "src/parser_proc.c" /* glr.c:817 */
6062 #line 1799 "src/parser_proc_grammar.y" /* glr.c:817 */
6064 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
6065 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
6067 #line 6068 "src/parser_proc.c" /* glr.c:817 */
6071 #line 1803 "src/parser_proc_grammar.y" /* glr.c:817 */
6073 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
6074 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
6076 #line 6077 "src/parser_proc.c" /* glr.c:817 */
6080 #line 1810 "src/parser_proc_grammar.y" /* glr.c:817 */
6082 (*(size_t*)(&(*yyvalp
))) = 0;
6084 #line 6085 "src/parser_proc.c" /* glr.c:817 */
6088 #line 1813 "src/parser_proc_grammar.y" /* glr.c:817 */
6090 (*(size_t*)(&(*yyvalp
))) = 0;
6092 #line 6093 "src/parser_proc.c" /* glr.c:817 */
6096 #line 1816 "src/parser_proc_grammar.y" /* glr.c:817 */
6098 struct psi_validate_scope scope
= {0};
6099 psi_validate_scope_ctor(&scope
);
6100 scope
.defs
= &P
->preproc
->defs
;
6101 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &scope
)) {
6102 (*(size_t*)(&(*yyvalp
))) = psi_num_exp_get_long((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
6104 (*(size_t*)(&(*yyvalp
))) = 0;
6106 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6107 psi_validate_scope_dtor(&scope
);
6109 #line 6110 "src/parser_proc.c" /* glr.c:817 */
6113 #line 1838 "src/parser_proc_grammar.y" /* glr.c:817 */
6115 (*(size_t*)(&(*yyvalp
))) = 0;
6117 #line 6118 "src/parser_proc.c" /* glr.c:817 */
6121 #line 1841 "src/parser_proc_grammar.y" /* glr.c:817 */
6123 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6125 #line 6126 "src/parser_proc.c" /* glr.c:817 */
6129 #line 1848 "src/parser_proc_grammar.y" /* glr.c:817 */
6131 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6133 #line 6134 "src/parser_proc.c" /* glr.c:817 */
6137 #line 1854 "src/parser_proc_grammar.y" /* glr.c:817 */
6139 (*(size_t*)(&(*yyvalp
))) = 1;
6141 #line 6142 "src/parser_proc.c" /* glr.c:817 */
6145 #line 1857 "src/parser_proc_grammar.y" /* glr.c:817 */
6147 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
6149 #line 6150 "src/parser_proc.c" /* glr.c:817 */
6153 #line 1879 "src/parser_proc_grammar.y" /* glr.c:817 */
6155 (*(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
)));
6157 #line 6158 "src/parser_proc.c" /* glr.c:817 */
6161 #line 1882 "src/parser_proc_grammar.y" /* glr.c:817 */
6163 (*(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
)));
6164 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6166 #line 6167 "src/parser_proc.c" /* glr.c:817 */
6170 #line 1889 "src/parser_proc_grammar.y" /* glr.c:817 */
6172 (*(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
)));
6173 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6174 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
6176 #line 6177 "src/parser_proc.c" /* glr.c:817 */
6180 #line 1894 "src/parser_proc_grammar.y" /* glr.c:817 */
6182 (*(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
)));
6183 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6184 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
6186 #line 6187 "src/parser_proc.c" /* glr.c:817 */
6190 #line 1899 "src/parser_proc_grammar.y" /* glr.c:817 */
6192 (*(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
)));
6193 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
6194 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
6195 (*(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
);
6196 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6198 #line 6199 "src/parser_proc.c" /* glr.c:817 */
6202 #line 1909 "src/parser_proc_grammar.y" /* glr.c:817 */
6204 (*(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
)));
6206 #line 6207 "src/parser_proc.c" /* glr.c:817 */
6210 #line 1912 "src/parser_proc_grammar.y" /* glr.c:817 */
6212 (*(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
)));
6214 #line 6215 "src/parser_proc.c" /* glr.c:817 */
6218 #line 1918 "src/parser_proc_grammar.y" /* glr.c:817 */
6220 (*(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
);
6222 #line 6223 "src/parser_proc.c" /* glr.c:817 */
6226 #line 1921 "src/parser_proc_grammar.y" /* glr.c:817 */
6228 (*(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
)));
6230 #line 6231 "src/parser_proc.c" /* glr.c:817 */
6234 #line 1927 "src/parser_proc_grammar.y" /* glr.c:817 */
6236 (*(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
)));
6237 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6239 #line 6240 "src/parser_proc.c" /* glr.c:817 */
6243 #line 1934 "src/parser_proc_grammar.y" /* glr.c:817 */
6245 (*(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
);
6246 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6248 #line 6249 "src/parser_proc.c" /* glr.c:817 */
6252 #line 1941 "src/parser_proc_grammar.y" /* glr.c:817 */
6254 (*(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
);
6255 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6257 #line 6258 "src/parser_proc.c" /* glr.c:817 */
6261 #line 1968 "src/parser_proc_grammar.y" /* glr.c:817 */
6263 (*(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
)));
6265 #line 6266 "src/parser_proc.c" /* glr.c:817 */
6269 #line 1971 "src/parser_proc_grammar.y" /* glr.c:817 */
6271 (*(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
)));
6273 #line 6274 "src/parser_proc.c" /* glr.c:817 */
6277 #line 1977 "src/parser_proc_grammar.y" /* glr.c:817 */
6279 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6281 #line 6282 "src/parser_proc.c" /* glr.c:817 */
6285 #line 1980 "src/parser_proc_grammar.y" /* glr.c:817 */
6287 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6289 #line 6290 "src/parser_proc.c" /* glr.c:817 */
6293 #line 1983 "src/parser_proc_grammar.y" /* glr.c:817 */
6295 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6297 #line 6298 "src/parser_proc.c" /* glr.c:817 */
6301 #line 1986 "src/parser_proc_grammar.y" /* glr.c:817 */
6303 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6305 #line 6306 "src/parser_proc.c" /* glr.c:817 */
6309 #line 1989 "src/parser_proc_grammar.y" /* glr.c:817 */
6311 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6313 #line 6314 "src/parser_proc.c" /* glr.c:817 */
6317 #line 1995 "src/parser_proc_grammar.y" /* glr.c:817 */
6319 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6320 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6322 #line 6323 "src/parser_proc.c" /* glr.c:817 */
6326 #line 1999 "src/parser_proc_grammar.y" /* glr.c:817 */
6328 (*(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
))));
6329 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6330 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6332 #line 6333 "src/parser_proc.c" /* glr.c:817 */
6336 #line 2008 "src/parser_proc_grammar.y" /* glr.c:817 */
6338 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6339 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
6341 #line 6342 "src/parser_proc.c" /* glr.c:817 */
6345 #line 2012 "src/parser_proc_grammar.y" /* glr.c:817 */
6347 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6348 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
6350 #line 6351 "src/parser_proc.c" /* glr.c:817 */
6354 #line 2019 "src/parser_proc_grammar.y" /* glr.c:817 */
6356 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
6358 #line 6359 "src/parser_proc.c" /* glr.c:817 */
6362 #line 2022 "src/parser_proc_grammar.y" /* glr.c:817 */
6364 (*(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
)));
6366 #line 6367 "src/parser_proc.c" /* glr.c:817 */
6370 #line 2025 "src/parser_proc_grammar.y" /* glr.c:817 */
6372 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6374 #line 6375 "src/parser_proc.c" /* glr.c:817 */
6378 #line 2028 "src/parser_proc_grammar.y" /* glr.c:817 */
6380 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6381 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
6383 #line 6384 "src/parser_proc.c" /* glr.c:817 */
6387 #line 2032 "src/parser_proc_grammar.y" /* glr.c:817 */
6389 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6391 #line 6392 "src/parser_proc.c" /* glr.c:817 */
6395 #line 2035 "src/parser_proc_grammar.y" /* glr.c:817 */
6397 (*(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
)));
6399 #line 6400 "src/parser_proc.c" /* glr.c:817 */
6403 #line 2041 "src/parser_proc_grammar.y" /* glr.c:817 */
6405 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6406 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6408 #line 6409 "src/parser_proc.c" /* glr.c:817 */
6412 #line 2045 "src/parser_proc_grammar.y" /* glr.c:817 */
6414 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6415 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
6416 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
6418 #line 6419 "src/parser_proc.c" /* glr.c:817 */
6422 #line 2053 "src/parser_proc_grammar.y" /* glr.c:817 */
6424 (*(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
)));
6425 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6427 #line 6428 "src/parser_proc.c" /* glr.c:817 */
6431 #line 2060 "src/parser_proc_grammar.y" /* glr.c:817 */
6433 (*(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
);
6434 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6435 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
6437 #line 6438 "src/parser_proc.c" /* glr.c:817 */
6441 #line 2065 "src/parser_proc_grammar.y" /* glr.c:817 */
6443 (*(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
)));
6444 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
6445 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
6447 #line 6448 "src/parser_proc.c" /* glr.c:817 */
6451 #line 2073 "src/parser_proc_grammar.y" /* glr.c:817 */
6453 (*(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
)));
6454 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6455 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6457 #line 6458 "src/parser_proc.c" /* glr.c:817 */
6461 #line 2094 "src/parser_proc_grammar.y" /* glr.c:817 */
6463 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6465 #line 6466 "src/parser_proc.c" /* glr.c:817 */
6469 #line 2097 "src/parser_proc_grammar.y" /* glr.c:817 */
6471 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6473 #line 6474 "src/parser_proc.c" /* glr.c:817 */
6477 #line 2103 "src/parser_proc_grammar.y" /* glr.c:817 */
6479 (*(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
)));
6481 #line 6482 "src/parser_proc.c" /* glr.c:817 */
6485 #line 2106 "src/parser_proc_grammar.y" /* glr.c:817 */
6487 (*(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
)));
6489 #line 6490 "src/parser_proc.c" /* glr.c:817 */
6493 #line 2117 "src/parser_proc_grammar.y" /* glr.c:817 */
6495 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6497 #line 6498 "src/parser_proc.c" /* glr.c:817 */
6501 #line 2120 "src/parser_proc_grammar.y" /* glr.c:817 */
6503 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6505 #line 6506 "src/parser_proc.c" /* glr.c:817 */
6509 #line 2126 "src/parser_proc_grammar.y" /* glr.c:817 */
6511 (*(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
)));
6513 #line 6514 "src/parser_proc.c" /* glr.c:817 */
6517 #line 2129 "src/parser_proc_grammar.y" /* glr.c:817 */
6519 (*(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
)));
6521 #line 6522 "src/parser_proc.c" /* glr.c:817 */
6525 #line 2135 "src/parser_proc_grammar.y" /* glr.c:817 */
6527 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6528 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6530 #line 6531 "src/parser_proc.c" /* glr.c:817 */
6534 #line 2142 "src/parser_proc_grammar.y" /* glr.c:817 */
6536 (*(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
))));
6537 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
6539 #line 6540 "src/parser_proc.c" /* glr.c:817 */
6543 #line 2146 "src/parser_proc_grammar.y" /* glr.c:817 */
6545 (*(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
))));
6546 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
6548 #line 6549 "src/parser_proc.c" /* glr.c:817 */
6552 #line 2153 "src/parser_proc_grammar.y" /* glr.c:817 */
6554 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6556 #line 6557 "src/parser_proc.c" /* glr.c:817 */
6560 #line 2156 "src/parser_proc_grammar.y" /* glr.c:817 */
6562 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6564 #line 6565 "src/parser_proc.c" /* glr.c:817 */
6568 #line 2159 "src/parser_proc_grammar.y" /* glr.c:817 */
6570 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6572 #line 6573 "src/parser_proc.c" /* glr.c:817 */
6576 #line 2165 "src/parser_proc_grammar.y" /* glr.c:817 */
6578 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6579 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6581 #line 6582 "src/parser_proc.c" /* glr.c:817 */
6585 #line 2172 "src/parser_proc_grammar.y" /* glr.c:817 */
6587 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6589 #line 6590 "src/parser_proc.c" /* glr.c:817 */
6593 #line 2175 "src/parser_proc_grammar.y" /* glr.c:817 */
6595 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
6597 #line 6598 "src/parser_proc.c" /* glr.c:817 */
6601 #line 2178 "src/parser_proc_grammar.y" /* glr.c:817 */
6603 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6604 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
6606 #line 6607 "src/parser_proc.c" /* glr.c:817 */
6610 #line 2185 "src/parser_proc_grammar.y" /* glr.c:817 */
6612 (*(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
)));
6613 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
6614 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
6616 #line 6617 "src/parser_proc.c" /* glr.c:817 */
6620 #line 2190 "src/parser_proc_grammar.y" /* glr.c:817 */
6622 (*(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
)));
6623 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
6624 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
6626 #line 6627 "src/parser_proc.c" /* glr.c:817 */
6630 #line 2209 "src/parser_proc_grammar.y" /* glr.c:817 */
6632 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
6634 #line 6635 "src/parser_proc.c" /* glr.c:817 */
6638 #line 2212 "src/parser_proc_grammar.y" /* glr.c:817 */
6640 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
6642 #line 6643 "src/parser_proc.c" /* glr.c:817 */
6646 #line 2218 "src/parser_proc_grammar.y" /* glr.c:817 */
6648 (*(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
)));
6650 #line 6651 "src/parser_proc.c" /* glr.c:817 */
6654 #line 2221 "src/parser_proc_grammar.y" /* glr.c:817 */
6656 (*(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
)));
6658 #line 6659 "src/parser_proc.c" /* glr.c:817 */
6662 #line 2227 "src/parser_proc_grammar.y" /* glr.c:817 */
6664 (*(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
)));
6665 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6667 #line 6668 "src/parser_proc.c" /* glr.c:817 */
6671 #line 2239 "src/parser_proc_grammar.y" /* glr.c:817 */
6673 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
6674 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
6676 #line 6677 "src/parser_proc.c" /* glr.c:817 */
6680 #line 2246 "src/parser_proc_grammar.y" /* glr.c:817 */
6682 (*(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
)));
6684 #line 6685 "src/parser_proc.c" /* glr.c:817 */
6688 #line 2249 "src/parser_proc_grammar.y" /* glr.c:817 */
6690 (*(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
)));
6692 #line 6693 "src/parser_proc.c" /* glr.c:817 */
6696 #line 2255 "src/parser_proc_grammar.y" /* glr.c:817 */
6698 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
6699 (*(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
)));
6700 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
6702 #line 6703 "src/parser_proc.c" /* glr.c:817 */
6706 #line 2263 "src/parser_proc_grammar.y" /* glr.c:817 */
6708 (*(bool*)(&(*yyvalp
))) = false;
6710 #line 6711 "src/parser_proc.c" /* glr.c:817 */
6714 #line 2266 "src/parser_proc_grammar.y" /* glr.c:817 */
6716 (*(bool*)(&(*yyvalp
))) = true;
6718 #line 6719 "src/parser_proc.c" /* glr.c:817 */
6722 #line 6723 "src/parser_proc.c" /* glr.c:817 */
6733 # undef YYRECOVERING
6738 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
6750 /* Bison grammar-table manipulation. */
6752 /*-----------------------------------------------.
6753 | Release the memory associated to this symbol. |
6754 `-----------------------------------------------*/
6757 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6765 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
6767 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6770 case 141: /* binary_op_token */
6771 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6773 #line 6774 "src/parser_proc.c" /* glr.c:847 */
6776 case 142: /* unary_op_token */
6777 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6779 #line 6780 "src/parser_proc.c" /* glr.c:847 */
6782 case 143: /* name_token */
6783 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6785 #line 6786 "src/parser_proc.c" /* glr.c:847 */
6788 case 144: /* any_noeol_token */
6789 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6791 #line 6792 "src/parser_proc.c" /* glr.c:847 */
6795 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
6796 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6797 #line 6798 "src/parser_proc.c" /* glr.c:847 */
6801 #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */
6802 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
6803 #line 6804 "src/parser_proc.c" /* glr.c:847 */
6806 case 151: /* cpp_exp */
6807 #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */
6808 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
6809 #line 6810 "src/parser_proc.c" /* glr.c:847 */
6812 case 153: /* cpp_message_token */
6813 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6815 #line 6816 "src/parser_proc.c" /* glr.c:847 */
6818 case 154: /* cpp_include_token */
6819 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6821 #line 6822 "src/parser_proc.c" /* glr.c:847 */
6824 case 155: /* cpp_header_token */
6825 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6827 #line 6828 "src/parser_proc.c" /* glr.c:847 */
6830 case 156: /* cpp_no_arg_token */
6831 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6833 #line 6834 "src/parser_proc.c" /* glr.c:847 */
6836 case 157: /* cpp_name_arg_token */
6837 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6839 #line 6840 "src/parser_proc.c" /* glr.c:847 */
6842 case 158: /* cpp_exp_arg_token */
6843 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6845 #line 6846 "src/parser_proc.c" /* glr.c:847 */
6848 case 159: /* cpp_macro_decl */
6849 #line 326 "src/parser_proc_grammar.y" /* glr.c:847 */
6850 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
6851 #line 6852 "src/parser_proc.c" /* glr.c:847 */
6854 case 160: /* cpp_macro_sig */
6855 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6856 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6857 #line 6858 "src/parser_proc.c" /* glr.c:847 */
6860 case 161: /* cpp_macro_sig_args */
6861 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6862 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6863 #line 6864 "src/parser_proc.c" /* glr.c:847 */
6866 case 162: /* cpp_macro_decl_tokens */
6867 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6868 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6869 #line 6870 "src/parser_proc.c" /* glr.c:847 */
6872 case 163: /* cpp_macro_decl_token_list */
6873 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6874 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6875 #line 6876 "src/parser_proc.c" /* glr.c:847 */
6878 case 164: /* cpp_macro_exp */
6879 #line 330 "src/parser_proc_grammar.y" /* glr.c:847 */
6880 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
6881 #line 6882 "src/parser_proc.c" /* glr.c:847 */
6884 case 165: /* cpp_macro_call_args */
6885 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6886 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6887 #line 6888 "src/parser_proc.c" /* glr.c:847 */
6890 case 166: /* cpp_macro_call_arg_list */
6891 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6892 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
6893 #line 6894 "src/parser_proc.c" /* glr.c:847 */
6896 case 167: /* constant */
6897 #line 336 "src/parser_proc_grammar.y" /* glr.c:847 */
6898 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
6899 #line 6900 "src/parser_proc.c" /* glr.c:847 */
6902 case 168: /* impl_def_val */
6903 #line 338 "src/parser_proc_grammar.y" /* glr.c:847 */
6904 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
6905 #line 6906 "src/parser_proc.c" /* glr.c:847 */
6908 case 169: /* impl_def_val_token */
6909 #line 333 "src/parser_proc_grammar.y" /* glr.c:847 */
6911 #line 6912 "src/parser_proc.c" /* glr.c:847 */
6914 case 170: /* decl_typedef */
6915 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6916 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6917 #line 6918 "src/parser_proc.c" /* glr.c:847 */
6920 case 171: /* typedef */
6921 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6922 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6923 #line 6924 "src/parser_proc.c" /* glr.c:847 */
6926 case 172: /* typedef_anon */
6927 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6928 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6929 #line 6930 "src/parser_proc.c" /* glr.c:847 */
6932 case 173: /* typedef_decl */
6933 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6934 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6935 #line 6936 "src/parser_proc.c" /* glr.c:847 */
6938 case 174: /* typedef_anon_decl */
6939 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6940 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
6941 #line 6942 "src/parser_proc.c" /* glr.c:847 */
6944 case 175: /* qualified_decl_type */
6945 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6946 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
6947 #line 6948 "src/parser_proc.c" /* glr.c:847 */
6950 case 177: /* decl_type */
6951 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6952 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
6953 #line 6954 "src/parser_proc.c" /* glr.c:847 */
6956 case 178: /* decl_type_complex */
6957 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6958 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
6959 #line 6960 "src/parser_proc.c" /* glr.c:847 */
6962 case 179: /* decl_type_simple */
6963 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6964 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6965 #line 6966 "src/parser_proc.c" /* glr.c:847 */
6968 case 180: /* decl_real_type */
6969 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6970 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6971 #line 6972 "src/parser_proc.c" /* glr.c:847 */
6974 case 181: /* int_signed */
6975 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
6977 #line 6978 "src/parser_proc.c" /* glr.c:847 */
6980 case 182: /* int_width */
6981 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
6982 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6983 #line 6984 "src/parser_proc.c" /* glr.c:847 */
6986 case 183: /* decl_int_type */
6987 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6988 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6989 #line 6990 "src/parser_proc.c" /* glr.c:847 */
6992 case 184: /* int_signed_types */
6993 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
6994 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
6995 #line 6996 "src/parser_proc.c" /* glr.c:847 */
6998 case 185: /* signed_short_types */
6999 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
7001 #line 7002 "src/parser_proc.c" /* glr.c:847 */
7004 case 186: /* signed_long_types */
7005 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
7007 #line 7008 "src/parser_proc.c" /* glr.c:847 */
7010 case 187: /* int_width_types */
7011 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
7012 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7013 #line 7014 "src/parser_proc.c" /* glr.c:847 */
7016 case 188: /* decl_stmt */
7017 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7018 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7019 #line 7020 "src/parser_proc.c" /* glr.c:847 */
7022 case 189: /* decl_asm */
7023 #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */
7024 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7025 #line 7026 "src/parser_proc.c" /* glr.c:847 */
7028 case 190: /* quoted_strings */
7029 #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */
7030 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7031 #line 7032 "src/parser_proc.c" /* glr.c:847 */
7034 case 191: /* decl_extvar_stmt */
7035 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7036 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7037 #line 7038 "src/parser_proc.c" /* glr.c:847 */
7040 case 192: /* decl_extvar_list */
7041 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7042 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7043 #line 7044 "src/parser_proc.c" /* glr.c:847 */
7046 case 193: /* decl_vars */
7047 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7048 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7049 #line 7050 "src/parser_proc.c" /* glr.c:847 */
7052 case 194: /* ignored_decl */
7053 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7054 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7055 #line 7056 "src/parser_proc.c" /* glr.c:847 */
7058 case 199: /* decl */
7059 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7060 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7061 #line 7062 "src/parser_proc.c" /* glr.c:847 */
7064 case 200: /* decl_body */
7065 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7066 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7067 #line 7068 "src/parser_proc.c" /* glr.c:847 */
7070 case 201: /* decl_func_body */
7071 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7072 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7073 #line 7074 "src/parser_proc.c" /* glr.c:847 */
7076 case 202: /* decl_functor_body */
7077 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7078 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7079 #line 7080 "src/parser_proc.c" /* glr.c:847 */
7082 case 203: /* decl_anon_functor_body */
7083 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7084 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
7085 #line 7086 "src/parser_proc.c" /* glr.c:847 */
7088 case 204: /* decl_functor */
7089 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7090 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7091 #line 7092 "src/parser_proc.c" /* glr.c:847 */
7094 case 205: /* decl_anon_functor */
7095 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7096 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7097 #line 7098 "src/parser_proc.c" /* glr.c:847 */
7100 case 206: /* decl_func */
7101 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7102 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7103 #line 7104 "src/parser_proc.c" /* glr.c:847 */
7106 case 207: /* decl_args */
7107 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7108 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7109 #line 7110 "src/parser_proc.c" /* glr.c:847 */
7112 case 208: /* decl_arg_list */
7113 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7114 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7115 #line 7116 "src/parser_proc.c" /* glr.c:847 */
7118 case 209: /* decl_anon_arg */
7119 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7120 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7121 #line 7122 "src/parser_proc.c" /* glr.c:847 */
7124 case 210: /* decl_arg */
7125 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7126 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
7127 #line 7128 "src/parser_proc.c" /* glr.c:847 */
7130 case 211: /* decl_var */
7131 #line 353 "src/parser_proc_grammar.y" /* glr.c:847 */
7132 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
7133 #line 7134 "src/parser_proc.c" /* glr.c:847 */
7136 case 212: /* decl_union */
7137 #line 357 "src/parser_proc_grammar.y" /* glr.c:847 */
7138 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
7139 #line 7140 "src/parser_proc.c" /* glr.c:847 */
7142 case 213: /* decl_struct */
7143 #line 355 "src/parser_proc_grammar.y" /* glr.c:847 */
7144 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
7145 #line 7146 "src/parser_proc.c" /* glr.c:847 */
7148 case 214: /* decl_struct_args */
7149 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7150 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7151 #line 7152 "src/parser_proc.c" /* glr.c:847 */
7154 case 215: /* struct_args_block */
7155 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7156 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7157 #line 7158 "src/parser_proc.c" /* glr.c:847 */
7160 case 216: /* struct_args */
7161 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7162 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7163 #line 7164 "src/parser_proc.c" /* glr.c:847 */
7166 case 217: /* struct_arg_var_list */
7167 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7168 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7169 #line 7170 "src/parser_proc.c" /* glr.c:847 */
7172 case 218: /* decl_vars_with_layout */
7173 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7174 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7175 #line 7176 "src/parser_proc.c" /* glr.c:847 */
7178 case 219: /* decl_enum */
7179 #line 359 "src/parser_proc_grammar.y" /* glr.c:847 */
7180 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
7181 #line 7182 "src/parser_proc.c" /* glr.c:847 */
7184 case 220: /* decl_enum_items */
7185 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7186 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7187 #line 7188 "src/parser_proc.c" /* glr.c:847 */
7190 case 221: /* decl_enum_item */
7191 #line 361 "src/parser_proc_grammar.y" /* glr.c:847 */
7192 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
7193 #line 7194 "src/parser_proc.c" /* glr.c:847 */
7196 case 222: /* num_exp */
7197 #line 419 "src/parser_proc_grammar.y" /* glr.c:847 */
7198 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
7199 #line 7200 "src/parser_proc.c" /* glr.c:847 */
7202 case 223: /* number */
7203 #line 421 "src/parser_proc_grammar.y" /* glr.c:847 */
7204 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7205 #line 7206 "src/parser_proc.c" /* glr.c:847 */
7208 case 224: /* sizeof */
7209 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7210 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7211 #line 7212 "src/parser_proc.c" /* glr.c:847 */
7214 case 225: /* sizeof_body */
7215 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7216 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7217 #line 7218 "src/parser_proc.c" /* glr.c:847 */
7220 case 226: /* sizeof_body_notypes */
7221 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7222 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
7223 #line 7224 "src/parser_proc.c" /* glr.c:847 */
7226 case 227: /* enum_name */
7227 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7228 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7229 #line 7230 "src/parser_proc.c" /* glr.c:847 */
7232 case 228: /* union_name */
7233 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7234 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7235 #line 7236 "src/parser_proc.c" /* glr.c:847 */
7238 case 229: /* struct_name */
7239 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7240 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7241 #line 7242 "src/parser_proc.c" /* glr.c:847 */
7244 case 230: /* optional_name */
7245 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7246 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7247 #line 7248 "src/parser_proc.c" /* glr.c:847 */
7250 case 232: /* decl_layout */
7251 #line 368 "src/parser_proc_grammar.y" /* glr.c:847 */
7252 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
7253 #line 7254 "src/parser_proc.c" /* glr.c:847 */
7256 case 233: /* align_and_size */
7257 #line 366 "src/parser_proc_grammar.y" /* glr.c:847 */
7259 #line 7260 "src/parser_proc.c" /* glr.c:847 */
7262 case 234: /* array_size */
7263 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7265 #line 7266 "src/parser_proc.c" /* glr.c:847 */
7268 case 236: /* indirection */
7269 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7271 #line 7272 "src/parser_proc.c" /* glr.c:847 */
7274 case 237: /* pointers */
7275 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7277 #line 7278 "src/parser_proc.c" /* glr.c:847 */
7280 case 238: /* asterisks */
7281 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7283 #line 7284 "src/parser_proc.c" /* glr.c:847 */
7286 case 241: /* impl */
7287 #line 374 "src/parser_proc_grammar.y" /* glr.c:847 */
7288 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
7289 #line 7290 "src/parser_proc.c" /* glr.c:847 */
7292 case 242: /* impl_func */
7293 #line 376 "src/parser_proc_grammar.y" /* glr.c:847 */
7294 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
7295 #line 7296 "src/parser_proc.c" /* glr.c:847 */
7298 case 243: /* impl_args */
7299 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7300 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7301 #line 7302 "src/parser_proc.c" /* glr.c:847 */
7304 case 244: /* impl_arg */
7305 #line 378 "src/parser_proc_grammar.y" /* glr.c:847 */
7306 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
7307 #line 7308 "src/parser_proc.c" /* glr.c:847 */
7310 case 245: /* impl_var */
7311 #line 382 "src/parser_proc_grammar.y" /* glr.c:847 */
7312 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
7313 #line 7314 "src/parser_proc.c" /* glr.c:847 */
7316 case 246: /* impl_type */
7317 #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */
7318 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7319 #line 7320 "src/parser_proc.c" /* glr.c:847 */
7322 case 247: /* impl_type_restricted */
7323 #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */
7324 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
7325 #line 7326 "src/parser_proc.c" /* glr.c:847 */
7328 case 248: /* impl_type_token */
7329 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7330 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7331 #line 7332 "src/parser_proc.c" /* glr.c:847 */
7334 case 249: /* impl_type_restricted_token */
7335 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7336 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7337 #line 7338 "src/parser_proc.c" /* glr.c:847 */
7340 case 250: /* impl_type_extended_token */
7341 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7342 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7343 #line 7344 "src/parser_proc.c" /* glr.c:847 */
7346 case 251: /* impl_stmts */
7347 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7348 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7349 #line 7350 "src/parser_proc.c" /* glr.c:847 */
7352 case 252: /* impl_stmt */
7353 #line 412 "src/parser_proc_grammar.y" /* glr.c:847 */
7354 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
7355 #line 7356 "src/parser_proc.c" /* glr.c:847 */
7358 case 253: /* let_stmt */
7359 #line 385 "src/parser_proc_grammar.y" /* glr.c:847 */
7360 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
7361 #line 7362 "src/parser_proc.c" /* glr.c:847 */
7364 case 254: /* let_exp */
7365 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7366 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7367 #line 7368 "src/parser_proc.c" /* glr.c:847 */
7370 case 255: /* let_exp_byref */
7371 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7372 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7373 #line 7374 "src/parser_proc.c" /* glr.c:847 */
7376 case 256: /* let_exp_assign */
7377 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7378 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
7379 #line 7380 "src/parser_proc.c" /* glr.c:847 */
7382 case 257: /* let_calloc */
7383 #line 389 "src/parser_proc_grammar.y" /* glr.c:847 */
7384 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
7385 #line 7386 "src/parser_proc.c" /* glr.c:847 */
7388 case 258: /* let_callback */
7389 #line 391 "src/parser_proc_grammar.y" /* glr.c:847 */
7390 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
7391 #line 7392 "src/parser_proc.c" /* glr.c:847 */
7394 case 259: /* let_func */
7395 #line 393 "src/parser_proc_grammar.y" /* glr.c:847 */
7396 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
7397 #line 7398 "src/parser_proc.c" /* glr.c:847 */
7400 case 260: /* let_func_token */
7401 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7402 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7403 #line 7404 "src/parser_proc.c" /* glr.c:847 */
7406 case 261: /* let_func_exps */
7407 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7408 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7409 #line 7410 "src/parser_proc.c" /* glr.c:847 */
7412 case 262: /* let_exps */
7413 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7414 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7415 #line 7416 "src/parser_proc.c" /* glr.c:847 */
7418 case 263: /* callback_rval */
7419 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7420 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7421 #line 7422 "src/parser_proc.c" /* glr.c:847 */
7424 case 264: /* callback_arg_list */
7425 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7426 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7427 #line 7428 "src/parser_proc.c" /* glr.c:847 */
7430 case 265: /* callback_args */
7431 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7432 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7433 #line 7434 "src/parser_proc.c" /* glr.c:847 */
7436 case 266: /* return_stmt */
7437 #line 403 "src/parser_proc_grammar.y" /* glr.c:847 */
7438 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
7439 #line 7440 "src/parser_proc.c" /* glr.c:847 */
7442 case 267: /* return_exp */
7443 #line 405 "src/parser_proc_grammar.y" /* glr.c:847 */
7444 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
7445 #line 7446 "src/parser_proc.c" /* glr.c:847 */
7448 case 268: /* call_decl_vars */
7449 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7450 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7451 #line 7452 "src/parser_proc.c" /* glr.c:847 */
7454 case 269: /* set_stmt */
7455 #line 395 "src/parser_proc_grammar.y" /* glr.c:847 */
7456 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
7457 #line 7458 "src/parser_proc.c" /* glr.c:847 */
7460 case 270: /* set_exp */
7461 #line 397 "src/parser_proc_grammar.y" /* glr.c:847 */
7462 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
7463 #line 7464 "src/parser_proc.c" /* glr.c:847 */
7466 case 271: /* set_func */
7467 #line 399 "src/parser_proc_grammar.y" /* glr.c:847 */
7468 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
7469 #line 7470 "src/parser_proc.c" /* glr.c:847 */
7472 case 272: /* set_func_token */
7473 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7474 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7475 #line 7476 "src/parser_proc.c" /* glr.c:847 */
7478 case 273: /* set_func_exps */
7479 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7480 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7481 #line 7482 "src/parser_proc.c" /* glr.c:847 */
7484 case 274: /* set_exps */
7485 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7486 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7487 #line 7488 "src/parser_proc.c" /* glr.c:847 */
7490 case 275: /* assert_stmt */
7491 #line 401 "src/parser_proc_grammar.y" /* glr.c:847 */
7492 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
7493 #line 7494 "src/parser_proc.c" /* glr.c:847 */
7496 case 276: /* assert_stmt_token */
7497 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7498 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
7499 #line 7500 "src/parser_proc.c" /* glr.c:847 */
7502 case 277: /* free_stmt */
7503 #line 407 "src/parser_proc_grammar.y" /* glr.c:847 */
7504 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
7505 #line 7506 "src/parser_proc.c" /* glr.c:847 */
7508 case 278: /* free_exps */
7509 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7510 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
7511 #line 7512 "src/parser_proc.c" /* glr.c:847 */
7514 case 279: /* free_exp */
7515 #line 409 "src/parser_proc_grammar.y" /* glr.c:847 */
7516 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
7517 #line 7518 "src/parser_proc.c" /* glr.c:847 */
7520 case 280: /* reference */
7521 #line 426 "src/parser_proc_grammar.y" /* glr.c:847 */
7523 #line 7524 "src/parser_proc.c" /* glr.c:847 */
7530 YY_IGNORE_MAYBE_UNINITIALIZED_END
7533 /** Number of symbols composing the right hand side of rule #RULE. */
7535 yyrhsLength (yyRuleNum yyrule
)
7537 return yyr2
[yyrule
];
7541 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7543 if (yys
->yyresolved
)
7544 yydestruct (yymsg
, yystos
[yys
->yylrState
],
7545 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
7551 if (yys
->yysemantics
.yyfirstVal
)
7552 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
7554 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
7555 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
7559 if (yys
->yysemantics
.yyfirstVal
)
7561 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
7564 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
7566 yyrh
= yyrh
->yypred
, yyn
-= 1)
7567 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
7572 /** Left-hand-side symbol for rule #YYRULE. */
7573 static inline yySymbol
7574 yylhsNonterm (yyRuleNum yyrule
)
7576 return yyr1
[yyrule
];
7579 #define yypact_value_is_default(Yystate) \
7580 (!!((Yystate) == (-714)))
7582 /** True iff LR state YYSTATE has only a default reduction (regardless
7584 static inline yybool
7585 yyisDefaultedState (yyStateNum yystate
)
7587 return yypact_value_is_default (yypact
[yystate
]);
7590 /** The default reduction for YYSTATE, assuming it has one. */
7591 static inline yyRuleNum
7592 yydefaultAction (yyStateNum yystate
)
7594 return yydefact
[yystate
];
7597 #define yytable_value_is_error(Yytable_value) \
7600 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7602 * R < 0: Reduce on rule -R.
7604 * R > 0: Shift to state R.
7605 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7606 * of conflicting reductions.
7609 yygetLRActions (yyStateNum yystate
, int yytoken
,
7610 int* yyaction
, const short** yyconflicts
)
7612 int yyindex
= yypact
[yystate
] + yytoken
;
7613 if (yypact_value_is_default (yypact
[yystate
])
7614 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
7616 *yyaction
= -yydefact
[yystate
];
7617 *yyconflicts
= yyconfl
;
7619 else if (! yytable_value_is_error (yytable
[yyindex
]))
7621 *yyaction
= yytable
[yyindex
];
7622 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7627 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
7631 /** Compute post-reduction state.
7632 * \param yystate the current state
7633 * \param yysym the nonterminal to push on the stack
7635 static inline yyStateNum
7636 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
7638 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
7639 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
7640 return yytable
[yyr
];
7642 return yydefgoto
[yysym
- YYNTOKENS
];
7645 static inline yybool
7646 yyisShiftAction (int yyaction
)
7648 return 0 < yyaction
;
7651 static inline yybool
7652 yyisErrorAction (int yyaction
)
7654 return yyaction
== 0;
7659 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7660 * if YYISSTATE, and otherwise a semantic option. Callers should call
7661 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7664 static inline yyGLRStackItem
*
7665 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
7667 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
7668 yystackp
->yyspaceLeft
-= 1;
7669 yystackp
->yynextFree
+= 1;
7670 yynewItem
->yystate
.yyisState
= yyisState
;
7674 /** Add a new semantic action that will execute the action for rule
7675 * YYRULE on the semantic values in YYRHS to the list of
7676 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7677 * stack #YYK of *YYSTACKP. */
7679 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
7680 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
7682 yySemanticOption
* yynewOption
=
7683 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
7684 YYASSERT (!yynewOption
->yyisState
);
7685 yynewOption
->yystate
= yyrhs
;
7686 yynewOption
->yyrule
= yyrule
;
7687 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
7689 yynewOption
->yyrawchar
= yychar
;
7690 yynewOption
->yyval
= yylval
;
7693 yynewOption
->yyrawchar
= YYEMPTY
;
7694 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
7695 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
7697 YY_RESERVE_GLRSTACK (yystackp
);
7702 /** Initialize YYSET to a singleton set containing an empty stack. */
7704 yyinitStateSet (yyGLRStateSet
* yyset
)
7707 yyset
->yycapacity
= 16;
7708 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
7709 if (! yyset
->yystates
)
7711 yyset
->yystates
[0] = YY_NULLPTR
;
7712 yyset
->yylookaheadNeeds
=
7713 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
7714 if (! yyset
->yylookaheadNeeds
)
7716 YYFREE (yyset
->yystates
);
7722 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
7724 YYFREE (yyset
->yystates
);
7725 YYFREE (yyset
->yylookaheadNeeds
);
7728 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7729 * capacity for all stacks of YYSIZE. */
7731 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
7733 yystackp
->yyerrState
= 0;
7735 yystackp
->yyspaceLeft
= yysize
;
7737 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
7738 if (!yystackp
->yyitems
)
7740 yystackp
->yynextFree
= yystackp
->yyitems
;
7741 yystackp
->yysplitPoint
= YY_NULLPTR
;
7742 yystackp
->yylastDeleted
= YY_NULLPTR
;
7743 return yyinitStateSet (&yystackp
->yytops
);
7747 #if YYSTACKEXPANDABLE
7748 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7749 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
7751 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
7752 stack from outside should be considered invalid after this call.
7753 We always expand when there are 1 or fewer items left AFTER an
7754 allocation, so that we can avoid having external pointers exist
7755 across an allocation. */
7757 yyexpandGLRStack (yyGLRStack
* yystackp
)
7759 yyGLRStackItem
* yynewItems
;
7760 yyGLRStackItem
* yyp0
, *yyp1
;
7763 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
7764 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
7765 yyMemoryExhausted (yystackp
);
7766 yynewSize
= 2*yysize
;
7767 if (YYMAXDEPTH
< yynewSize
)
7768 yynewSize
= YYMAXDEPTH
;
7769 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
7771 yyMemoryExhausted (yystackp
);
7772 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
7774 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
7777 if (*(yybool
*) yyp0
)
7779 yyGLRState
* yys0
= &yyp0
->yystate
;
7780 yyGLRState
* yys1
= &yyp1
->yystate
;
7781 if (yys0
->yypred
!= YY_NULLPTR
)
7783 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
7784 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
7785 yys1
->yysemantics
.yyfirstVal
=
7786 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
7790 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
7791 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
7792 if (yyv0
->yystate
!= YY_NULLPTR
)
7793 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
7794 if (yyv0
->yynext
!= YY_NULLPTR
)
7795 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
7798 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
7799 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
7800 yystackp
->yysplitPoint
, yystate
);
7802 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
7803 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
7804 yystackp
->yytops
.yystates
[yyn
] =
7805 YYRELOC (yystackp
->yyitems
, yynewItems
,
7806 yystackp
->yytops
.yystates
[yyn
], yystate
);
7807 YYFREE (yystackp
->yyitems
);
7808 yystackp
->yyitems
= yynewItems
;
7809 yystackp
->yynextFree
= yynewItems
+ yysize
;
7810 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
7815 yyfreeGLRStack (yyGLRStack
* yystackp
)
7817 YYFREE (yystackp
->yyitems
);
7818 yyfreeStateSet (&yystackp
->yytops
);
7821 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
7822 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
7825 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
7827 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
7828 yystackp
->yysplitPoint
= yys
;
7831 /** Invalidate stack #YYK in *YYSTACKP. */
7833 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
7835 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7836 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
7837 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
7840 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
7841 only be done once after a deletion, and only when all other stacks have
7844 yyundeleteLastStack (yyGLRStack
* yystackp
)
7846 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
7848 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
7849 yystackp
->yytops
.yysize
= 1;
7850 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
7851 yystackp
->yylastDeleted
= YY_NULLPTR
;
7855 yyremoveDeletes (yyGLRStack
* yystackp
)
7859 while (yyj
< yystackp
->yytops
.yysize
)
7861 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
7865 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
7867 yystackp
->yytops
.yysize
-= 1;
7871 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
7872 /* In the current implementation, it's unnecessary to copy
7873 yystackp->yytops.yylookaheadNeeds[yyi] since, after
7874 yyremoveDeletes returns, the parser immediately either enters
7875 deterministic operation or shifts a token. However, it doesn't
7876 hurt, and the code might evolve to need it. */
7877 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
7878 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
7881 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
7882 (unsigned long) yyi
, (unsigned long) yyj
));
7890 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
7891 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
7892 * value *YYVALP and source location *YYLOCP. */
7894 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
7898 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
7900 yynewState
->yylrState
= yylrState
;
7901 yynewState
->yyposn
= yyposn
;
7902 yynewState
->yyresolved
= yytrue
;
7903 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
7904 yynewState
->yysemantics
.yysval
= *yyvalp
;
7905 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
7907 YY_RESERVE_GLRSTACK (yystackp
);
7910 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
7911 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
7912 * semantic value of YYRHS under the action for YYRULE. */
7914 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
7915 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
7917 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
7918 YYASSERT (yynewState
->yyisState
);
7920 yynewState
->yylrState
= yylrState
;
7921 yynewState
->yyposn
= yyposn
;
7922 yynewState
->yyresolved
= yyfalse
;
7923 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
7924 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
7925 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
7927 /* Invokes YY_RESERVE_GLRSTACK. */
7928 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
7932 # define YY_REDUCE_PRINT(Args)
7934 # define YY_REDUCE_PRINT(Args) \
7937 yy_reduce_print Args; \
7940 /*----------------------------------------------------------------------.
7941 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
7942 `----------------------------------------------------------------------*/
7945 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
7946 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7948 int yynrhs
= yyrhsLength (yyrule
);
7950 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
7951 (unsigned long) yyk
, yyrule
- 1,
7952 (unsigned long) yyrline
[yyrule
]);
7954 yyfillin (yyvsp
, 1, -yynrhs
);
7955 /* The symbols being reduced. */
7956 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
7958 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
7959 yy_symbol_print (stderr
,
7960 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
7961 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
7962 , P
, tokens
, index
);
7963 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
7964 YYFPRINTF (stderr
, " (unresolved)");
7965 YYFPRINTF (stderr
, "\n");
7970 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
7971 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
7972 * semantic values. Assumes that all ambiguities in semantic values
7973 * have been previously resolved. Set *YYVALP to the resulting value,
7974 * and *YYLOCP to the computed location (if any). Return value is as
7975 * for userAction. */
7976 static inline YYRESULTTAG
7977 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
7978 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7980 int yynrhs
= yyrhsLength (yyrule
);
7982 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
7984 /* Standard special case: single stack. */
7985 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
7986 YYASSERT (yyk
== 0);
7987 yystackp
->yynextFree
-= yynrhs
;
7988 yystackp
->yyspaceLeft
+= yynrhs
;
7989 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
7990 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
7991 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
7992 yyvalp
, P
, tokens
, index
);
7998 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
7999 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
8000 = yystackp
->yytops
.yystates
[yyk
];
8001 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
8006 yyupdateSplit (yystackp
, yys
);
8007 yystackp
->yytops
.yystates
[yyk
] = yys
;
8008 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
8009 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8010 yystackp
, yyvalp
, P
, tokens
, index
);
8014 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8015 * and push back on the resulting nonterminal symbol. Perform the
8016 * semantic action associated with YYRULE and store its value with the
8017 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8018 * unambiguous. Otherwise, store the deferred semantic action with
8019 * the new state. If the new state would have an identical input
8020 * position, LR state, and predecessor to an existing state on the stack,
8021 * it is identified with that existing state, eliminating stack #YYK from
8022 * *YYSTACKP. In this case, the semantic value is
8023 * added to the options for the existing state's semantic value.
8025 static inline YYRESULTTAG
8026 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
8027 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8029 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
8031 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
8035 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
8036 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
8038 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
8039 (unsigned long) yyk
, yyrule
- 1));
8043 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
8044 yyglrShift (yystackp
, yyk
,
8045 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
8046 yylhsNonterm (yyrule
)),
8053 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
8054 yyStateNum yynewLRState
;
8056 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
8062 yyupdateSplit (yystackp
, yys
);
8063 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
8065 "Reduced stack %lu by rule #%d; action deferred. "
8066 "Now in state %d.\n",
8067 (unsigned long) yyk
, yyrule
- 1, yynewLRState
));
8068 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
8069 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
8071 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
8072 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
8073 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
8075 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
8077 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
8078 yymarkStackDeleted (yystackp
, yyk
);
8079 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
8080 (unsigned long) yyk
,
8081 (unsigned long) yyi
));
8087 yystackp
->yytops
.yystates
[yyk
] = yys
;
8088 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
8094 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
8096 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
8098 YYASSERT (yyk
== 0);
8099 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
8101 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
8103 yyGLRState
** yynewStates
;
8104 yybool
* yynewLookaheadNeeds
;
8106 yynewStates
= YY_NULLPTR
;
8108 if (yystackp
->yytops
.yycapacity
8109 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
8110 yyMemoryExhausted (yystackp
);
8111 yystackp
->yytops
.yycapacity
*= 2;
8114 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
8115 (yystackp
->yytops
.yycapacity
8116 * sizeof yynewStates
[0]));
8117 if (yynewStates
== YY_NULLPTR
)
8118 yyMemoryExhausted (yystackp
);
8119 yystackp
->yytops
.yystates
= yynewStates
;
8121 yynewLookaheadNeeds
=
8122 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
8123 (yystackp
->yytops
.yycapacity
8124 * sizeof yynewLookaheadNeeds
[0]));
8125 if (yynewLookaheadNeeds
== YY_NULLPTR
)
8126 yyMemoryExhausted (yystackp
);
8127 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
8129 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
8130 = yystackp
->yytops
.yystates
[yyk
];
8131 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
8132 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
8133 yystackp
->yytops
.yysize
+= 1;
8134 return yystackp
->yytops
.yysize
-1;
8137 /** True iff YYY0 and YYY1 represent identical options at the top level.
8138 * That is, they represent the same rule applied to RHS symbols
8139 * that produce the same terminal symbols. */
8141 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8143 if (yyy0
->yyrule
== yyy1
->yyrule
)
8145 yyGLRState
*yys0
, *yys1
;
8147 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8148 yyn
= yyrhsLength (yyy0
->yyrule
);
8150 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8151 if (yys0
->yyposn
!= yys1
->yyposn
)
8159 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8160 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8162 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
8164 yyGLRState
*yys0
, *yys1
;
8166 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
8167 yyn
= yyrhsLength (yyy0
->yyrule
);
8169 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
8173 else if (yys0
->yyresolved
)
8175 yys1
->yyresolved
= yytrue
;
8176 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
8178 else if (yys1
->yyresolved
)
8180 yys0
->yyresolved
= yytrue
;
8181 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
8185 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
8186 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
8189 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
8191 else if (*yyz0p
== YY_NULLPTR
)
8196 else if (*yyz0p
< yyz1
)
8198 yySemanticOption
* yyz
= *yyz0p
;
8200 yyz1
= yyz1
->yynext
;
8201 (*yyz0p
)->yynext
= yyz
;
8203 yyz0p
= &(*yyz0p
)->yynext
;
8205 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
8210 /** Y0 and Y1 represent two possible actions to take in a given
8211 * parsing state; return 0 if no combination is possible,
8212 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8214 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
8216 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
8217 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
8221 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
8226 if (p0
== 0 || p1
== 0)
8235 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
8236 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
8239 /** Resolve the previous YYN states starting at and including state YYS
8240 * on *YYSTACKP. If result != yyok, some states may have been left
8241 * unresolved possibly with empty semantic option chains. Regardless
8242 * of whether result = yyok, each state has been left with consistent
8243 * data so that yydestroyGLRState can be invoked if necessary. */
8245 yyresolveStates (yyGLRState
* yys
, int yyn
,
8246 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8250 YYASSERT (yys
->yypred
);
8251 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
8252 if (! yys
->yyresolved
)
8253 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
8258 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8259 * user action, and return the semantic value and location in *YYVALP
8260 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8261 * have been destroyed (assuming the user action destroys all RHS
8262 * semantic values if invoked). */
8264 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
8265 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8267 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
8268 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
8269 YYRESULTTAG yyflag
=
8270 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
8274 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
8275 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
8279 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
8281 int yychar_current
= yychar
;
8282 YYSTYPE yylval_current
= yylval
;
8283 yychar
= yyopt
->yyrawchar
;
8284 yylval
= yyopt
->yyval
;
8285 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
8286 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
8287 yystackp
, yyvalp
, P
, tokens
, index
);
8288 yychar
= yychar_current
;
8289 yylval
= yylval_current
;
8296 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
8298 int yynrhs
= yyrhsLength (yyx
->yyrule
);
8301 yyGLRState
* yystates
[1 + YYMAXRHS
];
8302 yyGLRState yyleftmost_state
;
8304 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
8305 yystates
[yyi
] = yys
;
8306 if (yys
== YY_NULLPTR
)
8308 yyleftmost_state
.yyposn
= 0;
8309 yystates
[0] = &yyleftmost_state
;
8314 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
8315 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
8316 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8319 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8320 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
8321 yyx
->yyrule
- 1, (unsigned long) (yys
->yyposn
+ 1),
8322 (unsigned long) yyx
->yystate
->yyposn
);
8323 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
8325 if (yystates
[yyi
]->yyresolved
)
8327 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
8328 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
8329 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
8331 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
8332 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
8333 (unsigned long) (yystates
[yyi
-1]->yyposn
+ 1),
8334 (unsigned long) yystates
[yyi
]->yyposn
);
8337 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
8343 yyreportAmbiguity (yySemanticOption
* yyx0
,
8344 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8350 YYFPRINTF (stderr
, "Ambiguity detected.\n");
8351 YYFPRINTF (stderr
, "Option 1,\n");
8352 yyreportTree (yyx0
, 2);
8353 YYFPRINTF (stderr
, "\nOption 2,\n");
8354 yyreportTree (yyx1
, 2);
8355 YYFPRINTF (stderr
, "\n");
8358 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
8362 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8363 * perform the indicated actions, and set the semantic value of YYS.
8364 * If result != yyok, the chain of semantic options in YYS has been
8365 * cleared instead or it has been left unmodified except that
8366 * redundant options may have been removed. Regardless of whether
8367 * result = yyok, YYS has been left with consistent data so that
8368 * yydestroyGLRState can be invoked if necessary. */
8370 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8372 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
8373 yySemanticOption
* yybest
= yyoptionList
;
8374 yySemanticOption
** yypp
;
8375 yybool yymerge
= yyfalse
;
8379 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
8381 yySemanticOption
* yyp
= *yypp
;
8383 if (yyidenticalOptions (yybest
, yyp
))
8385 yymergeOptionSets (yybest
, yyp
);
8386 *yypp
= yyp
->yynext
;
8390 switch (yypreference (yybest
, yyp
))
8393 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
8405 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8406 but some compilers complain if the default case is
8410 yypp
= &yyp
->yynext
;
8416 yySemanticOption
* yyp
;
8417 int yyprec
= yydprec
[yybest
->yyrule
];
8418 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8420 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
8422 if (yyprec
== yydprec
[yyp
->yyrule
])
8424 YYSTYPE yysval_other
;
8425 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
8428 yydestruct ("Cleanup: discarding incompletely merged value for",
8429 yystos
[yys
->yylrState
],
8430 &yysval
, P
, tokens
, index
);
8433 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
8438 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
8442 yys
->yyresolved
= yytrue
;
8443 yys
->yysemantics
.yysval
= yysval
;
8446 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
8451 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8453 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
8458 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
8459 yys
!= yystackp
->yysplitPoint
;
8460 yys
= yys
->yypred
, yyn
+= 1)
8462 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
8463 , P
, tokens
, index
));
8469 yycompressStack (yyGLRStack
* yystackp
)
8471 yyGLRState
* yyp
, *yyq
, *yyr
;
8473 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
8476 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
8477 yyp
!= yystackp
->yysplitPoint
;
8478 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
8481 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
8482 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
8483 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
8484 yystackp
->yysplitPoint
= YY_NULLPTR
;
8485 yystackp
->yylastDeleted
= YY_NULLPTR
;
8487 while (yyr
!= YY_NULLPTR
)
8489 yystackp
->yynextFree
->yystate
= *yyr
;
8491 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
8492 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
8493 yystackp
->yynextFree
+= 1;
8494 yystackp
->yyspaceLeft
-= 1;
8499 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
8500 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8502 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8504 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
8505 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
8506 (unsigned long) yyk
, yystate
));
8508 YYASSERT (yystate
!= YYFINAL
);
8510 if (yyisDefaultedState (yystate
))
8513 yyRuleNum yyrule
= yydefaultAction (yystate
);
8516 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8517 (unsigned long) yyk
));
8518 yymarkStackDeleted (yystackp
, yyk
);
8521 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
8522 if (yyflag
== yyerr
)
8526 "(predicate failure or explicit user error).\n",
8527 (unsigned long) yyk
));
8528 yymarkStackDeleted (yystackp
, yyk
);
8538 const short* yyconflicts
;
8540 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
8541 if (yychar
== YYEMPTY
)
8543 YYDPRINTF ((stderr
, "Reading a token: "));
8544 yychar
= yylex (&yylval
, P
, tokens
, index
);
8547 if (yychar
<= YYEOF
)
8549 yychar
= yytoken
= YYEOF
;
8550 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8554 yytoken
= YYTRANSLATE (yychar
);
8555 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8558 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
8560 while (*yyconflicts
!= 0)
8563 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
8564 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
8565 (unsigned long) yynewStack
,
8566 (unsigned long) yyk
));
8567 yyflag
= yyglrReduce (yystackp
, yynewStack
,
8569 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
8571 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
8572 yyposn
, P
, tokens
, index
));
8573 else if (yyflag
== yyerr
)
8575 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8576 (unsigned long) yynewStack
));
8577 yymarkStackDeleted (yystackp
, yynewStack
);
8584 if (yyisShiftAction (yyaction
))
8586 else if (yyisErrorAction (yyaction
))
8588 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
8589 (unsigned long) yyk
));
8590 yymarkStackDeleted (yystackp
, yyk
);
8595 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
8596 yyimmediate
[-yyaction
], P
, tokens
, index
);
8597 if (yyflag
== yyerr
)
8601 "(predicate failure or explicit user error).\n",
8602 (unsigned long) yyk
));
8603 yymarkStackDeleted (yystackp
, yyk
);
8606 else if (yyflag
!= yyok
)
8615 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8617 if (yystackp
->yyerrState
!= 0)
8619 #if ! YYERROR_VERBOSE
8620 yyerror (P
, tokens
, index
, YY_("syntax error"));
8623 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
8624 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
8625 size_t yysize
= yysize0
;
8626 yybool yysize_overflow
= yyfalse
;
8627 char* yymsg
= YY_NULLPTR
;
8628 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
8629 /* Internationalized format string. */
8630 const char *yyformat
= YY_NULLPTR
;
8631 /* Arguments of yyformat. */
8632 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
8633 /* Number of reported tokens (one for the "unexpected", one per
8637 /* There are many possibilities here to consider:
8638 - If this state is a consistent state with a default action, then
8639 the only way this function was invoked is if the default action
8640 is an error action. In that case, don't check for expected
8641 tokens because there are none.
8642 - The only way there can be no lookahead present (in yychar) is if
8643 this state is a consistent state with a default action. Thus,
8644 detecting the absence of a lookahead is sufficient to determine
8645 that there is no unexpected or expected token to report. In that
8646 case, just report a simple "syntax error".
8647 - Don't assume there isn't a lookahead just because this state is a
8648 consistent state with a default action. There might have been a
8649 previous inconsistent state, consistent state with a non-default
8650 action, or user semantic action that manipulated yychar.
8651 - Of course, the expected token list depends on states to have
8652 correct lookahead information, and it depends on the parser not
8653 to perform extra reductions after fetching a lookahead from the
8654 scanner and before detecting a syntax error. Thus, state merging
8655 (from LALR or IELR) and default reductions corrupt the expected
8656 token list. However, the list is correct for canonical LR with
8657 one exception: it will still contain any token that will not be
8658 accepted due to an error action in a later state.
8660 if (yytoken
!= YYEMPTY
)
8662 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
8663 yyarg
[yycount
++] = yytokenName (yytoken
);
8664 if (!yypact_value_is_default (yyn
))
8666 /* Start YYX at -YYN if negative to avoid negative indexes in
8667 YYCHECK. In other words, skip the first -YYN actions for this
8668 state because they are default actions. */
8669 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
8670 /* Stay within bounds of both yycheck and yytname. */
8671 int yychecklim
= YYLAST
- yyn
+ 1;
8672 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
8674 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
8675 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
8676 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
8678 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
8684 yyarg
[yycount
++] = yytokenName (yyx
);
8686 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
8687 yysize_overflow
|= yysz
< yysize
;
8696 #define YYCASE_(N, S) \
8700 default: /* Avoid compiler warnings. */
8701 YYCASE_(0, YY_("syntax error"));
8702 YYCASE_(1, YY_("syntax error, unexpected %s"));
8703 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8704 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8705 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8706 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8711 size_t yysz
= yysize
+ strlen (yyformat
);
8712 yysize_overflow
|= yysz
< yysize
;
8716 if (!yysize_overflow
)
8717 yymsg
= (char *) YYMALLOC (yysize
);
8723 while ((*yyp
= *yyformat
))
8725 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
8727 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
8736 yyerror (P
, tokens
, index
, yymsg
);
8741 yyerror (P
, tokens
, index
, YY_("syntax error"));
8742 yyMemoryExhausted (yystackp
);
8745 #endif /* YYERROR_VERBOSE */
8749 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8750 yylval, and yylloc are the syntactic category, semantic value, and location
8751 of the lookahead. */
8753 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8758 if (yystackp
->yyerrState
== 3)
8759 /* We just shifted the error token and (perhaps) took some
8760 reductions. Skip tokens until we can proceed. */
8764 if (yychar
== YYEOF
)
8765 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
8766 if (yychar
!= YYEMPTY
)
8768 yytoken
= YYTRANSLATE (yychar
);
8769 yydestruct ("Error: discarding",
8770 yytoken
, &yylval
, P
, tokens
, index
);
8772 YYDPRINTF ((stderr
, "Reading a token: "));
8773 yychar
= yylex (&yylval
, P
, tokens
, index
);
8774 if (yychar
<= YYEOF
)
8776 yychar
= yytoken
= YYEOF
;
8777 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8781 yytoken
= YYTRANSLATE (yychar
);
8782 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8784 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
8785 if (yypact_value_is_default (yyj
))
8788 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
8790 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
8793 else if (! yytable_value_is_error (yytable
[yyj
]))
8797 /* Reduce to one stack. */
8798 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
8799 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
8801 if (yyk
>= yystackp
->yytops
.yysize
)
8802 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
8803 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
8804 yymarkStackDeleted (yystackp
, yyk
);
8805 yyremoveDeletes (yystackp
);
8806 yycompressStack (yystackp
);
8808 /* Now pop stack until we find a state that shifts the error token. */
8809 yystackp
->yyerrState
= 3;
8810 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
8812 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
8813 yyj
= yypact
[yys
->yylrState
];
8814 if (! yypact_value_is_default (yyj
))
8817 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
8818 && yyisShiftAction (yytable
[yyj
]))
8820 /* Shift the error token. */
8821 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
8822 &yylval
, &yyerrloc
);
8823 yyglrShift (yystackp
, 0, yytable
[yyj
],
8824 yys
->yyposn
, &yylval
);
8825 yys
= yystackp
->yytops
.yystates
[0];
8829 if (yys
->yypred
!= YY_NULLPTR
)
8830 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
8831 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
8832 yystackp
->yynextFree
-= 1;
8833 yystackp
->yyspaceLeft
+= 1;
8835 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
8836 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
8839 #define YYCHK1(YYE) \
8849 goto yyuser_error; \
8860 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
8864 yyGLRStack
* const yystackp
= &yystack
;
8867 YYDPRINTF ((stderr
, "Starting parse\n"));
8870 yylval
= yyval_default
;
8872 /* User initialization code. */
8873 #line 144 "src/parser_proc_grammar.y" /* glr.c:2261 */
8877 #line 8878 "src/parser_proc.c" /* glr.c:2261 */
8879 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
8880 goto yyexhaustedlab
;
8881 switch (YYSETJMP (yystack
.yyexception_buffer
))
8884 case 1: goto yyabortlab
;
8885 case 2: goto yyexhaustedlab
;
8886 default: goto yybuglab
;
8888 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
8893 /* For efficiency, we have two loops, the first of which is
8894 specialized to deterministic operation (single stack, no
8895 potential ambiguity). */
8901 const short* yyconflicts
;
8903 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
8904 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
8905 if (yystate
== YYFINAL
)
8907 if (yyisDefaultedState (yystate
))
8909 yyrule
= yydefaultAction (yystate
);
8912 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
8915 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
8920 if (yychar
== YYEMPTY
)
8922 YYDPRINTF ((stderr
, "Reading a token: "));
8923 yychar
= yylex (&yylval
, P
, tokens
, index
);
8926 if (yychar
<= YYEOF
)
8928 yychar
= yytoken
= YYEOF
;
8929 YYDPRINTF ((stderr
, "Now at end of input.\n"));
8933 yytoken
= YYTRANSLATE (yychar
);
8934 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
8937 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
8938 if (*yyconflicts
!= 0)
8940 if (yyisShiftAction (yyaction
))
8942 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
8945 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
8946 if (0 < yystack
.yyerrState
)
8947 yystack
.yyerrState
-= 1;
8949 else if (yyisErrorAction (yyaction
))
8951 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
8955 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
8961 yySymbol yytoken_to_shift
;
8964 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
8965 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
8967 /* yyprocessOneStack returns one of three things:
8969 - An error flag. If the caller is yyprocessOneStack, it
8970 immediately returns as well. When the caller is finally
8971 yyparse, it jumps to an error label via YYCHK1.
8973 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
8974 (&yystack, yys), which sets the top state of yys to NULL. Thus,
8975 yyparse's following invocation of yyremoveDeletes will remove
8978 - yyok, when ready to shift a token.
8980 Except in the first case, yyparse will invoke yyremoveDeletes and
8981 then shift the next token onto all remaining stacks. This
8982 synchronization of the shift (that is, after all preceding
8983 reductions on all stacks) helps prevent double destructor calls
8984 on yylval in the event of memory exhaustion. */
8986 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
8987 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
8988 yyremoveDeletes (&yystack
);
8989 if (yystack
.yytops
.yysize
== 0)
8991 yyundeleteLastStack (&yystack
);
8992 if (yystack
.yytops
.yysize
== 0)
8993 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
8994 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
8995 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
8996 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
9000 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9001 a copy of yylval will already be on stack 0 in the event of a
9002 failure in the following loop. Thus, yychar is set to YYEMPTY
9003 before the loop to make sure the user destructor for yylval isn't
9005 yytoken_to_shift
= YYTRANSLATE (yychar
);
9008 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
9011 const short* yyconflicts
;
9012 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
9013 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
9015 /* Note that yyconflicts were handled by yyprocessOneStack. */
9016 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long) yys
));
9017 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
9018 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
9020 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
9021 (unsigned long) yys
,
9022 yystack
.yytops
.yystates
[yys
]->yylrState
));
9025 if (yystack
.yytops
.yysize
== 1)
9027 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
9028 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
9029 yycompressStack (&yystack
);
9035 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
9036 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
9052 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
9057 if (yychar
!= YYEMPTY
)
9058 yydestruct ("Cleanup: discarding lookahead",
9059 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
9061 /* If the stack is well-formed, pop the stack until it is empty,
9062 destroying its entries as we go. But free the stack regardless
9063 of whether it is well-formed. */
9064 if (yystack
.yyitems
)
9066 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
9069 size_t yysize
= yystack
.yytops
.yysize
;
9071 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
9074 while (yystates
[yyk
])
9076 yyGLRState
*yys
= yystates
[yyk
];
9077 if (yys
->yypred
!= YY_NULLPTR
)
9078 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
9079 yystates
[yyk
] = yys
->yypred
;
9080 yystack
.yynextFree
-= 1;
9081 yystack
.yyspaceLeft
+= 1;
9086 yyfreeGLRStack (&yystack
);
9092 /* DEBUGGING ONLY */
9095 yy_yypstack (yyGLRState
* yys
)
9099 yy_yypstack (yys
->yypred
);
9100 YYFPRINTF (stderr
, " -> ");
9102 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
9103 (unsigned long) yys
->yyposn
);
9107 yypstates (yyGLRState
* yyst
)
9109 if (yyst
== YY_NULLPTR
)
9110 YYFPRINTF (stderr
, "<null>");
9113 YYFPRINTF (stderr
, "\n");
9117 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
9119 yypstates (yystackp
->yytops
.yystates
[yyk
]);
9122 #define YYINDEX(YYX) \
9123 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9127 yypdumpstack (yyGLRStack
* yystackp
)
9129 yyGLRStackItem
* yyp
;
9131 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
9133 YYFPRINTF (stderr
, "%3lu. ",
9134 (unsigned long) (yyp
- yystackp
->yyitems
));
9135 if (*(yybool
*) yyp
)
9137 YYASSERT (yyp
->yystate
.yyisState
);
9138 YYASSERT (yyp
->yyoption
.yyisState
);
9139 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9140 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
9141 (unsigned long) yyp
->yystate
.yyposn
,
9142 (long) YYINDEX (yyp
->yystate
.yypred
));
9143 if (! yyp
->yystate
.yyresolved
)
9144 YYFPRINTF (stderr
, ", firstVal: %ld",
9145 (long) YYINDEX (yyp
->yystate
9146 .yysemantics
.yyfirstVal
));
9150 YYASSERT (!yyp
->yystate
.yyisState
);
9151 YYASSERT (!yyp
->yyoption
.yyisState
);
9152 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
9153 yyp
->yyoption
.yyrule
- 1,
9154 (long) YYINDEX (yyp
->yyoption
.yystate
),
9155 (long) YYINDEX (yyp
->yyoption
.yynext
));
9157 YYFPRINTF (stderr
, "\n");
9159 YYFPRINTF (stderr
, "Tops:");
9160 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
9161 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long) yyi
,
9162 (long) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
9163 YYFPRINTF (stderr
, "\n");
9171 /* Substitute the variable and function names. */
9172 #define yyparse psi_parser_proc_parse
9173 #define yylex psi_parser_proc_lex
9174 #define yyerror psi_parser_proc_error
9175 #define yylval psi_parser_proc_lval
9176 #define yychar psi_parser_proc_char
9177 #define yydebug psi_parser_proc_debug
9178 #define yynerrs psi_parser_proc_nerrs
9180 #line 2275 "src/parser_proc_grammar.y" /* glr.c:2575 */
9185 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
9187 struct psi_token
*token
;
9189 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
9190 if (P
->flags
& PSI_DEBUG
) {
9191 psi_token_dump(2, token
);
9194 *((struct psi_token
**)lvalp
) = token
;
9198 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
9204 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
9206 struct psi_token
*T
= NULL
;
9215 psi_plist_get(tokens
, last
, &T
);
9217 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
9219 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);