1 /* A Bison parser, made by GNU Bison 3.0.4. */
3 /* Skeleton implementation for Bison GLR parsers in C
5 Copyright (C) 2002-2015 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.0.4"
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 */
107 #define PSI_PARSER_PROC_DEBUG 1
109 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
110 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
112 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
116 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
118 P
->structs
= psi_plist_add(P
->structs
, &strct
);
120 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
124 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
126 P
->unions
= psi_plist_add(P
->unions
, &u
);
128 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
132 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
134 P
->enums
= psi_plist_add(P
->enums
, &e
);
136 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
140 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
142 P
->types
= psi_plist_add(P
->types
, &def
);
144 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
147 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
149 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
152 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
158 while (psi_plist_get(PSI_G(blacklist
).decls
, i
++, &blacklisted
)) {
159 if (!fnmatch(blacklisted
, decl
->func
->var
->name
, 0)) {
160 psi_decl_free(&decl
);
166 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
168 P
->decls
= psi_plist_add(P
->decls
, &decl
);
170 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
173 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
175 P
->impls
= psi_plist_add(P
->impls
, &impl
);
180 #line 181 "src/parser_proc.c" /* glr.c:264 */
187 # if defined YYENABLE_NLS && YYENABLE_NLS
189 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
190 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
194 # define YY_(Msgid) Msgid
202 # define YYMALLOC malloc
205 # define YYREALLOC realloc
208 #define YYSIZEMAX ((size_t) -1)
213 typedef unsigned char yybool
;
220 # define YYJMP_BUF jmp_buf
221 # define YYSETJMP(Env) setjmp (Env)
223 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
227 # if (defined __GNUC__ \
228 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
229 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
230 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
232 # define YY_ATTRIBUTE(Spec) /* empty */
236 #ifndef YY_ATTRIBUTE_PURE
237 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
240 #ifndef YY_ATTRIBUTE_UNUSED
241 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
244 #if !defined _Noreturn \
245 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
246 # if defined _MSC_VER && 1200 <= _MSC_VER
247 # define _Noreturn __declspec (noreturn)
249 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
253 /* Suppress unused-variable warnings by "using" E. */
254 #if ! defined lint || defined __GNUC__
255 # define YYUSE(E) ((void) (E))
257 # define YYUSE(E) /* empty */
260 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
261 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
262 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
263 _Pragma ("GCC diagnostic push") \
264 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
265 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
266 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
267 _Pragma ("GCC diagnostic pop")
269 # define YY_INITIAL_VALUE(Value) Value
271 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
272 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
273 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
275 #ifndef YY_INITIAL_VALUE
276 # define YY_INITIAL_VALUE(Value) /* Nothing. */
281 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
284 /* YYFINAL -- State number of the termination state. */
286 /* YYLAST -- Last index in YYTABLE. */
289 /* YYNTOKENS -- Number of terminals. */
290 #define YYNTOKENS 135
291 /* YYNNTS -- Number of nonterminals. */
293 /* YYNRULES -- Number of rules. */
295 /* YYNRULES -- Number of states. */
296 #define YYNSTATES 893
297 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
299 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
300 accessed by $0, $-1, etc., in any rule. */
303 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
305 #define YYMAXUTOK 389
307 #define YYTRANSLATE(YYX) \
308 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
310 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
311 static const unsigned char yytranslate
[] =
313 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
339 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
340 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
341 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
342 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
343 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
344 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
345 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
346 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
347 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
348 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
349 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
350 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
351 125, 126, 127, 128, 129, 130, 131, 132, 133, 134
355 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
356 static const unsigned short int yyrline
[] =
358 0, 395, 395, 395, 395, 395, 395, 395, 395, 395,
359 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
360 396, 396, 396, 396, 397, 397, 397, 397, 397, 397,
361 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
362 397, 397, 398, 398, 398, 398, 398, 398, 398, 398,
363 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
364 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
365 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
366 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
367 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
368 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
369 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
370 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
371 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
372 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
373 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
374 398, 398, 398, 398, 398, 398, 398, 399, 399, 399,
375 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
376 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
377 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
378 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
379 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
380 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
381 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
382 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
383 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
384 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
385 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
386 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
387 403, 404, 407, 408, 411, 412, 413, 414, 420, 428,
388 431, 434, 435, 436, 439, 442, 445, 448, 454, 460,
389 463, 469, 492, 496, 500, 505, 509, 513, 517, 524,
390 525, 529, 530, 534, 535, 536, 540, 541, 545, 546,
391 550, 551, 552, 556, 557, 561, 562, 563, 564, 565,
392 566, 567, 571, 576, 584, 587, 590, 591, 597, 602,
393 610, 613, 617, 621, 628, 632, 636, 640, 645, 655,
394 665, 670, 675, 679, 685, 694, 697, 701, 705, 711,
395 718, 724, 725, 726, 727, 731, 734, 765, 772, 773,
396 774, 775, 779, 782, 791, 797, 800, 806, 809, 815,
397 816, 824, 835, 844, 853, 861, 862, 866, 876, 885,
398 897, 900, 903, 907, 911, 915, 920, 925, 933, 934,
399 935, 938, 944, 947, 950, 956, 957, 958, 959, 960,
400 961, 962, 963, 967, 968, 972, 975, 978, 984, 987,
401 990, 998, 1010, 1013, 1016, 1023, 1026, 1036, 1039, 1042,
402 1045, 1046, 1047, 1051, 1054, 1057, 1068, 1071, 1077, 1078,
403 1082, 1083, 1087, 1091, 1097, 1098, 1104, 1107, 1113, 1116,
404 1119, 1125, 1129, 1130, 1134, 1135, 1139, 1140, 1147, 1148,
405 1152, 1159, 1170, 1177, 1188, 1195, 1206, 1217, 1231, 1232,
406 1244, 1247, 1250, 1253, 1260, 1263, 1269, 1278, 1290, 1298,
407 1301, 1311, 1324, 1329, 1337, 1347, 1357, 1360, 1364, 1370,
408 1384, 1401, 1404, 1410, 1417, 1427, 1434, 1437, 1443, 1448,
409 1456, 1460, 1464, 1468, 1472, 1476, 1483, 1487, 1491, 1495,
410 1499, 1505, 1509, 1516, 1519, 1530, 1534, 1538, 1544, 1557,
411 1570, 1583, 1586, 1593, 1596, 1599, 1602, 1608, 1612, 1619,
412 1622, 1625, 1635, 1638, 1644, 1645, 1651, 1654, 1660, 1661,
413 1671, 1674, 1681, 1686, 1691, 1701, 1704, 1710, 1713, 1719,
414 1726, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741,
415 1745, 1748, 1754, 1757, 1760, 1763, 1766, 1772, 1776, 1784,
416 1785, 1789, 1796, 1799, 1802, 1806, 1809, 1812, 1818, 1822,
417 1830, 1837, 1845, 1853, 1854, 1855, 1856, 1857, 1858, 1859,
418 1860, 1861, 1862, 1866, 1869, 1875, 1878, 1884, 1885, 1889,
419 1892, 1898, 1901, 1907, 1914, 1921, 1924, 1927, 1934, 1939,
420 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1958, 1961,
421 1967, 1970, 1976, 1983, 1984, 1988, 1995, 1998, 2004, 2012,
426 #if YYDEBUG || YYERROR_VERBOSE || 1
427 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
428 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
429 static const char *const yytname
[] =
431 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
432 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
433 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "INT8", "UINT8",
434 "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "NULL", "TRUE",
435 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
436 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
437 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
438 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
439 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
440 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
441 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
442 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
443 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
444 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
445 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "PRE_ASSERT",
446 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
447 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
448 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
449 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
450 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
451 "BINARY", "UNARY", "$accept", "binary_op_token", "unary_op_token",
452 "name_token", "any_noeol_token", "any_nobrace_token", "file", "blocks",
453 "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
454 "cpp_message_token", "cpp_include_token", "cpp_header_token",
455 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
456 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
457 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
458 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
459 "cpp_macro_call_arg_list", "constant", "constant_type",
460 "constant_type_token", "impl_def_val", "impl_def_val_token",
461 "decl_typedef", "typedef", "typedef_anon", "typedef_decl",
462 "typedef_anon_decl", "qualified_decl_type", "decl_type",
463 "decl_type_complex", "decl_type_simple", "decl_real_type",
464 "decl_stdint_type", "int_signed", "int_width", "decl_int_type",
465 "int_signed_types", "signed_short_types", "signed_long_types",
466 "int_width_types", "decl_stmt", "decl_asm", "ignored_quoted_strings",
467 "decl_ext_var_stmt", "decl_ext_var", "decl_ext_var_list", "decl_vars",
468 "ignored_decl", "ignored_decl_body", "ignored_decl_body_stmts",
469 "ignored_decl_body_stmt", "decl", "decl_body", "decl_func_body",
470 "decl_functor_body", "decl_functor", "decl_func", "decl_args",
471 "decl_anon_arg", "decl_arg", "decl_var", "decl_union", "decl_struct",
472 "decl_struct_args", "struct_args_block", "struct_args",
473 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
474 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
475 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
476 "struct_name", "optional_name", "decl_layout", "align_and_size",
477 "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl",
478 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
479 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
480 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
481 "let_func", "let_func_token", "let_func_exps", "let_exps",
482 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
483 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
484 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
485 "free_exp", "reference", "byref", YY_NULLPTR
489 #define YYPACT_NINF -722
490 #define YYTABLE_NINF -640
492 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
494 static const short int yypact
[] =
496 481, -722, -722, -722, -722, -722, 47, -722, -722, 3033,
497 -722, -722, -722, -722, -722, -722, -722, -722, 3652, 726,
498 -722, -722, 477, 1491, 3454, 3454, 3454, 1825, 48, 278,
499 12, -722, 1620, 3686, 93, 481, -722, -722, -722, -722,
500 -722, 3109, -722, -722, -722, -722, -722, 91, 147, -722,
501 -722, -722, 64, -722, -21, -722, -722, 70, 84, 122,
502 -722, -722, -722, -722, 120, -722, 126, -722, -722, -722,
503 -722, -722, 837, -722, 115, 80, -722, -722, -722, -722,
504 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
505 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
506 -722, -722, -722, -722, -722, 685, -18, -722, -722, -722,
507 -722, 3454, 3454, 3454, 2065, -722, 59, -722, -722, -722,
508 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
509 1357, -722, -722, -722, -722, 158, 970, 970, 14, -722,
510 1357, 2864, 3033, 3454, 3454, 3731, 160, -722, 2984, -722,
511 -722, 162, 3454, 163, 163, 82, 82, 161, -722, -722,
512 178, 179, -722, 115, 181, -722, -722, 174, 3686, 171,
513 172, -722, 187, -722, 3765, 1528, -21, 171, -722, -722,
514 173, -722, 180, 3454, -722, 217, -722, 68, -722, -722,
515 91, -722, -722, 184, 186, 3810, 3810, 3454, 258, 3454,
516 -722, -722, 115, -722, -722, -722, -722, -722, -722, 3109,
517 -722, -722, -722, -722, -722, -722, -722, 102, 970, -722,
518 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
519 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
520 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
521 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
522 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
523 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
524 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
525 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
526 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
527 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
528 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
529 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
530 -722, -722, -722, -722, -722, -722, -722, -722, 970, -722,
531 -722, -722, -722, -722, -722, -722, -722, 19, 2864, -722,
532 -722, -722, -722, 3158, 2864, 188, 4043, -722, 190, 98,
533 -722, 103, -722, -722, -722, -722, -722, 191, 189, 189,
534 36, 36, 3278, 192, -722, 171, 1236, -722, 258, 195,
535 198, 199, -722, 2384, -722, 115, 173, -722, -722, -722,
536 233, -722, -722, 208, -722, 15, 2665, 3109, 116, -722,
537 -722, 136, 197, 77, -722, 3109, 2504, 3109, 3454, 132,
538 -722, -722, 159, -722, -722, -722, -722, -722, 2624, -722,
539 202, 3454, 213, -722, 3454, 234, -722, -722, -722, -722,
540 3844, 227, -722, 3889, 3454, -722, -722, 2864, -722, -722,
541 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
542 -722, -722, -722, -722, -722, -722, 2864, 2864, -722, 236,
543 1570, 3109, 3109, -722, -722, -722, -722, 115, -722, 1784,
544 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
545 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
546 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
547 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
548 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
549 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
550 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
551 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
552 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
553 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
554 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
555 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
556 -722, -722, -722, -722, -722, -722, 1103, -722, 166, 73,
557 -722, -722, -722, -722, -722, 1664, -722, 2624, -722, 2965,
558 -722, -722, 3454, -722, -722, -722, 26, 685, 115, 180,
559 173, 3573, 173, 3607, 2624, 3454, -722, 225, 238, 4067,
560 230, 240, -722, 241, 248, 242, 251, 76, -722, -722,
561 253, 241, -722, -722, 3856, -722, 252, 3109, 3329, 115,
562 255, -722, -722, -722, 264, 4043, 265, 267, 3994, -722,
563 261, 3731, 268, -722, -722, 2744, 1399, 3454, 163, 163,
564 -722, -722, 3454, -722, -722, -722, -722, 271, -722, 4067,
565 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
566 -722, -722, 269, 138, -722, 12, -722, 266, 726, 273,
567 3916, -722, -722, 2624, 2624, 277, -722, -722, 3278, -722,
568 15, 279, -722, -722, 290, 4067, -722, 1904, -722, 2504,
569 -722, 3109, -722, 12, 3109, -722, 3454, -722, -722, -722,
570 -722, -722, -722, 292, 293, -722, -722, -722, -722, 2864,
571 2864, 294, -722, 30, 295, -722, 268, 189, 189, 299,
572 -722, 519, 291, 519, 297, 2624, -722, 4019, -722, -722,
573 173, 173, -722, 231, 214, 301, 4067, -722, -722, -722,
574 -722, 303, 2024, -722, 304, 3109, 142, -722, 970, 3405,
575 4043, 4091, 315, 309, 313, 3109, 326, 295, 3109, 3109,
576 -722, -722, 519, -722, 12, 1784, -722, 2624, -722, -722,
577 301, -722, -722, -722, -722, 327, 2624, 12, -722, 2144,
578 328, 339, -722, -722, -722, -722, 338, 337, 348, 268,
579 340, -722, 344, -722, 20, -722, 4115, 12, 3969, 342,
580 347, -722, 343, -722, -722, -722, 349, 350, -722, 3109,
581 -722, 358, 353, 2624, 1904, 354, -722, 2504, 363, 364,
582 268, 357, 2264, 3943, 225, -722, -722, -722, 360, 2024,
583 -722, -722, 362, 359, -722, 356, 366, 370, -722, -722,
584 1904, -722, 372, -722, 519, 374, 2504, -722, 375, -722,
588 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
589 Performed when YYTABLE does not specify something else to do. Zero
590 means the default is an error. */
591 static const unsigned short int yydefact
[] =
593 290, 428, 425, 429, 423, 424, 426, 412, 413, 0,
594 415, 416, 417, 418, 419, 420, 421, 422, 411, 0,
595 295, 294, 0, 0, 0, 0, 531, 0, 0, 0,
596 639, 296, 0, 0, 0, 291, 292, 298, 297, 299,
597 303, 542, 402, 404, 403, 409, 410, 432, 443, 408,
598 300, 302, 0, 301, 448, 466, 468, 469, 0, 0,
599 478, 305, 304, 306, 0, 307, 0, 427, 414, 33,
600 34, 627, 593, 24, 542, 548, 39, 38, 37, 35,
601 36, 32, 31, 25, 29, 28, 26, 27, 601, 600,
602 598, 596, 597, 599, 595, 594, 602, 30, 625, 623,
603 622, 624, 621, 620, 479, 0, 544, 546, 40, 41,
604 411, 0, 0, 0, 0, 467, 454, 401, 309, 320,
605 317, 319, 321, 322, 333, 330, 331, 328, 334, 329,
606 0, 332, 323, 324, 325, 0, 350, 350, 0, 313,
607 0, 0, 0, 531, 531, 0, 0, 385, 542, 390,
608 488, 389, 0, 537, 537, 405, 406, 407, 528, 371,
609 429, 412, 374, 0, 0, 370, 400, 0, 0, 0,
610 0, 641, 0, 640, 411, 0, 448, 0, 1, 293,
611 539, 489, 0, 543, 433, 437, 435, 439, 430, 444,
612 432, 431, 452, 0, 0, 480, 480, 0, 0, 0,
613 543, 549, 542, 491, 545, 547, 405, 406, 407, 0,
614 453, 336, 337, 338, 340, 341, 339, 335, 350, 315,
615 310, 75, 42, 43, 44, 45, 46, 47, 48, 49,
616 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
617 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
618 70, 71, 72, 73, 74, 165, 166, 76, 77, 78,
619 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
620 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
621 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
622 109, 115, 113, 114, 112, 110, 111, 116, 117, 118,
623 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
624 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
625 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
626 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
627 159, 163, 160, 161, 162, 164, 352, 318, 351, 311,
628 326, 327, 312, 335, 314, 360, 361, 0, 0, 22,
629 23, 20, 21, 0, 0, 363, 316, 362, 479, 405,
630 530, 406, 529, 386, 382, 394, 391, 0, 0, 0,
631 0, 0, 0, 0, 308, 0, 0, 458, 0, 0,
632 0, 0, 459, 0, 493, 542, 539, 438, 434, 440,
633 441, 436, 445, 0, 446, 481, 0, 542, 0, 482,
634 484, 0, 508, 0, 506, 0, 639, 0, 0, 0,
635 633, 634, 0, 570, 573, 572, 574, 575, 0, 576,
636 0, 0, 455, 456, 0, 0, 343, 353, 527, 526,
637 0, 0, 522, 0, 0, 358, 355, 365, 2, 3,
638 4, 5, 6, 7, 8, 9, 10, 11, 13, 12,
639 14, 15, 16, 17, 18, 19, 0, 0, 383, 0,
640 0, 0, 0, 496, 495, 497, 494, 542, 490, 375,
641 460, 200, 167, 168, 169, 170, 171, 172, 173, 174,
642 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
643 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
644 195, 196, 197, 198, 199, 288, 289, 201, 202, 203,
645 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
646 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
647 224, 225, 226, 227, 228, 229, 230, 231, 232, 238,
648 236, 237, 235, 233, 234, 239, 240, 241, 242, 243,
649 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
650 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
651 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
652 274, 275, 276, 277, 278, 279, 280, 281, 282, 286,
653 283, 284, 285, 287, 464, 465, 0, 462, 0, 0,
654 384, 447, 517, 516, 518, 0, 540, 0, 519, 0,
655 510, 520, 0, 492, 442, 450, 0, 487, 0, 485,
656 539, 0, 539, 0, 0, 0, 505, 0, 0, 616,
657 0, 0, 615, 41, 0, 0, 0, 0, 636, 626,
658 0, 0, 550, 571, 0, 477, 0, 0, 344, 542,
659 0, 523, 525, 354, 0, 367, 0, 366, 0, 356,
660 0, 0, 533, 395, 387, 396, 0, 397, 537, 537,
661 393, 392, 0, 378, 379, 380, 381, 0, 377, 376,
662 461, 463, 551, 563, 564, 565, 566, 562, 567, 568,
663 569, 561, 0, 0, 555, 639, 560, 24, 0, 0,
664 0, 514, 541, 0, 0, 0, 451, 449, 486, 472,
665 0, 0, 483, 470, 0, 509, 507, 0, 577, 639,
666 614, 0, 559, 639, 0, 635, 0, 613, 632, 476,
667 457, 345, 348, 0, 346, 524, 521, 359, 364, 0,
668 0, 0, 388, 0, 501, 498, 533, 0, 0, 0,
669 369, 0, 0, 0, 557, 0, 512, 0, 513, 474,
670 539, 539, 582, 0, 31, 30, 587, 588, 583, 585,
671 586, 40, 0, 617, 628, 0, 0, 637, 350, 0,
672 368, 357, 0, 534, 0, 0, 0, 501, 399, 398,
673 475, 552, 0, 556, 639, 375, 511, 0, 473, 471,
674 0, 584, 607, 593, 608, 0, 0, 639, 589, 639,
675 0, 0, 638, 342, 347, 349, 0, 0, 0, 533,
676 502, 499, 0, 553, 0, 558, 515, 639, 0, 603,
677 0, 630, 629, 618, 578, 538, 0, 0, 503, 0,
678 500, 0, 0, 0, 0, 0, 619, 639, 0, 0,
679 533, 0, 609, 0, 519, 605, 581, 579, 604, 0,
680 592, 631, 0, 0, 504, 0, 0, 610, 611, 590,
681 0, 580, 0, 535, 0, 0, 639, 606, 0, 554,
685 /* YYPGOTO[NTERM-NUM]. */
686 static const short int yypgoto
[] =
688 -722, -352, -128, -7, 65, -722, -722, -722, 382, -722,
689 -722, -722, -722, -722, -722, -722, -722, -722, -722, 280,
690 -722, -722, -722, -134, -722, -315, -722, -722, -722, -722,
691 -722, -386, -722, -722, 243, -255, 22, -249, -2, -12,
692 -722, -722, -722, -138, 377, -722, -722, 239, -722, -722,
693 -722, -722, 250, -722, -722, -722, -722, -301, -722, -141,
694 -722, -170, 409, 17, -15, 33, -722, -722, 246, -504,
695 -14, -41, -722, -722, 62, -348, -722, -353, -722, 6,
696 -722, -190, -359, -722, -117, -722, 7, -722, -454, -450,
697 43, -712, -129, -384, -63, -4, -722, 345, -722, 420,
698 -722, -313, -648, -721, -722, 66, -400, -722, -428, -704,
699 38, -312, -722, -722, -666, -722, -722, -722, -722, -722,
700 -722, -722, -691, 39, -387, -722, -722, -722, -722, -722,
701 -722, -274, -29, -680
704 /* YYDEFGOTO[NTERM-NUM]. */
705 static const short int yydefgoto
[] =
707 -1, 714, 617, 180, 346, 604, 34, 35, 36, 37,
708 38, 135, 136, 137, 138, 352, 139, 140, 141, 218,
709 219, 743, 744, 347, 348, 366, 666, 667, 39, 164,
710 165, 687, 688, 40, 146, 672, 673, 674, 41, 42,
711 43, 44, 45, 46, 47, 48, 49, 188, 398, 401,
712 191, 50, 194, 626, 51, 52, 210, 432, 53, 605,
713 606, 607, 54, 55, 56, 150, 58, 59, 408, 409,
714 60, 618, 61, 62, 474, 475, 676, 796, 830, 152,
715 413, 414, 639, 620, 621, 660, 442, 64, 153, 154,
716 158, 754, 378, 394, 182, 434, 106, 107, 65, 66,
717 703, 704, 640, 705, 706, 422, 423, 424, 865, 866,
718 867, 778, 779, 780, 108, 855, 868, 815, 876, 877,
719 425, 426, 641, 642, 109, 820, 842, 427, 428, 429,
723 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
724 positive, shift that token. If negative, reduce the rule whose
725 number is the opposite. If YYTABLE_NINF, syntax error. */
726 static const short int yytable
[] =
728 181, 172, 104, 349, 116, 105, 63, 117, 149, 151,
729 375, 199, 623, 364, 467, 166, 678, 155, 156, 157,
730 679, 148, 653, 777, 367, 379, 380, 381, 387, 643,
731 471, 472, 651, 57, 619, 115, 392, 183, 783, 75,
732 801, 63, 804, 443, 797, 147, 169, 782, 350, 446,
733 177, 57, 732, 438, 439, 74, 67, 764, 68, 440,
734 716, 781, 57, 793, 171, 57, 57, 717, 57, 654,
735 200, 441, 75, 794, 399, 473, 693, 400, 818, 694,
736 470, 833, 167, 695, 436, 696, 697, 698, 699, 700,
737 701, 467, 851, 178, 467, 184, 185, 186, 203, -478,
738 187, 209, 166, 192, 206, 207, 208, 181, 814, -469,
739 -488, 193, -488, 204, 702, 735, 781, 848, 736, 635,
740 689, -537, 636, 217, 195, 377, -537, 722, 841, 722,
741 149, 151, 665, 353, 365, 368, 369, 371, 105, 431,
742 351, -405, -532, 148, 183, 376, -406, -532, 874, 71,
743 649, 668, 669, 189, 4, 5, 764, 630, 631, 382,
744 149, 151, 196, 889, 197, 881, 871, 373, 433, 839,
745 198, 878, 75, 148, 869, 201, 396, 632, 633, 762,
746 763, 410, 410, 822, 657, 385, 370, 372, 781, 852,
747 412, 115, 430, 407, 407, 891, 220, 147, 200, 374,
748 869, 57, -478, 781, 652, -532, 377, 57, 653, -372,
749 -373, 692, 383, 384, 781, 386, 388, 678, 389, 393,
750 395, 679, 678, 397, 403, 404, 679, 435, 447, 468,
751 364, 812, 813, 470, 469, 609, 364, 610, 611, 624,
752 479, 367, 625, 655, 480, 634, 719, 367, 723, 98,
753 99, 100, 101, 102, 103, 657, 710, 662, 711, 415,
754 416, 417, 418, 419, 420, 421, 415, 416, 417, 418,
755 419, 420, 421, 727, 658, 725, 670, 728, 729, 730,
756 732, 731, 1, 2, 3, 4, 5, 6, 7, 8,
757 733, 734, 737, 739, 751, 9, 746, 10, 11, 12,
758 13, 14, 15, 16, 17, 747, 748, -24, 110, 749,
759 760, 753, 761, 467, 765, 19, 467, 467, 769, 364,
760 770, 88, 89, 90, 91, 92, 93, 94, 95, 96,
761 367, 771, 622, 788, 802, 789, 792, 795, 364, 364,
762 800, 816, 643, 817, 629, 805, 819, 810, 826, 367,
763 367, 365, 827, 828, 767, 768, 445, 365, 415, 416,
764 417, 418, 419, 420, 421, 831, 181, 837, 776, 843,
765 111, 112, 113, 114, 637, 478, 645, 30, 844, 845,
766 846, 847, 849, 850, 854, 857, 808, 809, 856, 858,
767 861, 200, 859, 862, 166, 870, 872, 873, 875, 884,
768 883, 627, 880, 183, 882, 888, 806, 885, 168, 798,
769 799, 646, 886, 437, 682, 890, 892, 179, 390, 835,
770 354, 756, 752, 776, 656, 190, 391, 396, 659, 402,
771 680, 681, 643, 786, 790, 791, 691, 664, 467, 467,
772 365, 176, 411, 476, 832, 726, 689, 661, 836, 170,
773 803, 205, 887, 638, 608, 149, 151, 838, 650, 365,
774 365, 811, 787, 0, 0, 0, 0, 0, 675, 0,
775 643, 0, 0, 200, 0, 643, 677, 0, 0, 0,
776 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
777 6, 7, 8, 0, 863, 776, 0, 0, 9, 643,
778 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
779 776, 18, 0, 0, 0, 118, 0, 0, 19, 20,
780 21, 776, 693, 0, 0, 694, 0, 0, 0, 695,
781 22, 696, 697, 698, 699, 700, 701, 375, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 757,
783 758, 119, 120, 121, 122, 123, 124, 125, 126, 127,
784 128, 129, 130, 0, 131, 132, 133, 134, 0, 0,
785 0, 0, 23, 24, 25, 26, 27, 28, 29, 0,
786 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 745, 0, 0, 0,
788 0, 0, 0, 0, 31, 0, 0, 0, 0, 32,
789 0, 33, 0, 709, 0, 715, 740, 410, 0, 410,
790 203, 364, 364, 0, 718, 0, 0, 0, 412, 407,
791 0, 407, 367, 367, 181, 0, 0, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 742, 0, 0, 823, 200, 149, 151, 0, 0,
794 0, 149, 151, 0, 0, 0, 0, 0, 0, 675,
795 376, 183, 0, 0, 675, 759, 0, 677, 0, 0,
796 0, 0, 677, 0, 0, 0, 0, 0, 69, 0,
797 784, 0, 0, 433, 0, 0, 166, 70, 0, 0,
798 0, 0, 71, 72, 785, 0, 0, 0, 0, 0,
799 0, 478, 0, 0, 0, 73, 627, 0, 0, 0,
800 0, 0, 0, 0, 0, 202, 0, 0, 0, 646,
801 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
802 0, 0, 365, 365, 821, 10, 11, 12, 13, 14,
803 15, 16, 17, 0, 829, 0, 110, 680, 681, 76,
804 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 834, 0, 0, 0, 0,
806 0, 81, 825, 82, 83, 84, 85, 86, 87, 0,
807 0, 0, 88, 89, 90, 91, 92, 93, 94, 95,
808 96, 97, 98, 99, 100, 101, 102, 103, 860, 0,
809 0, 0, 0, 864, 0, 0, 0, 0, 111, 112,
810 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
811 0, 0, 0, 0, 0, 0, 0, -593, 0, 864,
812 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
813 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
814 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
815 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
816 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
817 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
818 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
819 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
820 -593, -593, -593, -593, -593, 0, -593, 0, -593, -593,
821 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
822 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
823 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
824 -593, 0, -593, -593, 0, -593, -593, -593, -593, -593,
825 221, 0, 0, 222, 223, 224, 225, 226, 227, 228,
826 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
827 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
828 249, 250, 251, 252, 253, 254, 255, 256, 0, 257,
829 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
830 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
831 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
832 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
833 298, 299, 300, 301, 302, 303, 304, 305, 0, 306,
834 0, 307, 308, 309, 310, 311, 312, 313, 314, 315,
835 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
836 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
837 336, 337, 338, 339, 0, 0, 340, 0, 341, 342,
838 343, 344, 345, 481, 0, 0, 482, 483, 484, 485,
839 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
840 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
841 506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
842 516, 0, 517, 518, 519, 520, 521, 386, 690, 522,
843 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
844 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
845 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
846 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
847 563, 0, 564, 0, 565, 566, 567, 568, 569, 570,
848 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
849 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
850 591, 592, 593, 594, 595, 596, 597, 0, 0, 598,
851 0, 599, 600, 601, 602, 603, 481, 0, 0, 482,
852 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
853 493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
854 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
855 513, 514, 515, 516, 0, 517, 518, 519, 520, 521,
856 386, 0, 522, 523, 524, 525, 526, 527, 528, 529,
857 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
858 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
859 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
860 560, 561, 562, 563, 0, 564, 0, 565, 566, 567,
861 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
862 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
863 588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
864 69, 0, 598, 0, 599, 600, 601, 602, 603, 70,
865 0, 0, 0, 0, 71, 72, 0, 0, 0, 0,
866 0, 0, 0, 0, 211, 212, 213, 73, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
869 8, 0, 0, 0, 0, 0, 9, 0, 10, 11,
870 12, 13, 14, 15, 16, 17, 0, 0, 0, 110,
871 0, 76, 77, 78, 79, 80, 19, 0, 0, 0,
872 0, 0, 0, 0, 755, 0, 0, 0, 0, 0,
873 0, 0, 0, 81, 0, 82, 83, 84, 85, 86,
874 87, 0, 0, 0, 88, 89, 90, 91, 92, 93,
875 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
876 0, 0, 0, 0, 0, 214, 0, 215, 216, 0,
877 0, 143, 144, 26, 114, 1, 2, 3, 4, 5,
878 6, 7, 8, 0, 0, 0, 0, 0, 142, 0,
879 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
880 0, 110, 0, 0, 0, 0, 0, 671, 19, 0,
881 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
882 0, 0, 0, 0, 0, 9, 0, 10, 11, 12,
883 13, 14, 15, 16, 17, 0, 0, 0, 110, 0,
884 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
885 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
886 7, 8, 0, 143, 144, 26, 114, 9, 0, 10,
887 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
888 110, 0, 0, 0, 0, 0, 0, 19, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
890 143, 144, 26, 114, 1, 2, 3, 4, 5, 6,
891 7, 8, 0, 0, 0, 0, 0, 9, 0, 10,
892 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
893 174, 0, 0, 0, 0, 0, 145, 19, 0, 0,
894 0, 0, 143, 144, 26, 114, 0, 69, 1, 2,
895 3, 4, 5, 6, 7, 8, 70, 0, 0, 0,
896 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
897 17, 0, 0, 0, 707, 612, 0, 613, 671, 614,
898 357, 19, 0, 0, 615, 0, 0, 0, 0, 0,
899 0, 175, 111, 112, 113, 114, 0, 0, 0, 359,
900 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
901 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
902 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 111, 112, 113, 708,
904 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
905 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
906 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
907 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
908 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
909 0, 683, 684, 685, 73, 612, 0, 613, 686, 614,
910 357, 0, 0, 0, 615, 0, 0, 0, 159, 1,
911 2, 160, 4, 5, 6, 161, 8, 162, 0, 359,
912 360, 75, 163, 0, 10, 11, 12, 13, 14, 15,
913 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
914 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
917 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
918 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
919 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
920 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
921 0, 772, 0, 0, 73, 612, 0, 613, 0, 614,
922 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
923 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
924 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
926 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
928 81, 773, 774, 83, 84, 85, 86, 87, 0, 0,
929 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
930 775, 98, 99, 100, 101, 102, 103, 69, 0, 0,
931 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
932 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
933 0, 772, 0, 0, 73, 612, 0, 613, 0, 614,
934 357, 0, 0, 0, 615, 0, 0, 0, 0, 1,
935 2, 3, 4, 5, 6, 7, 8, 0, 0, 359,
936 360, 75, 163, 0, 10, 11, 12, 13, 14, 15,
937 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
938 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 81, 773, 774, 83, 84, 85, 86, 87, 0, 0,
941 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
942 775, 98, 99, 100, 101, 102, 103, 69, 0, 0,
943 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
944 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
946 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
948 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 361, 362, 0, 0, 840, 0, 76, 77,
950 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
952 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
953 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
954 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
955 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
956 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
957 0, 0, 0, 0, 73, 612, -639, 613, 0, 614,
958 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
960 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
961 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
962 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
964 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
965 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
966 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
967 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
968 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
969 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
970 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
971 0, 616, 0, 0, 0, 0, 0, 0, 0, 359,
972 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
973 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
974 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
977 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
978 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
979 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
980 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
982 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
983 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
984 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
986 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
988 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
989 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
990 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
991 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
992 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
994 357, 0, 0, 0, 615, 0, 0, 0, 0, 1,
995 2, 3, 4, 5, 6, 7, 8, 0, 0, 359,
996 360, 75, 628, 0, 10, 11, 12, 13, 14, 15,
997 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
998 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1000 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1001 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1002 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1003 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
1004 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
1005 17, 0, 0, 0, 73, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, -542, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1008 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 76, 77,
1010 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1013 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1014 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1015 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1016 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 0, 0, 73, 0, 0, 355, 0, 356,
1018 357, 0, 0, 0, 358, 0, 0, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 359,
1020 360, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
1022 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1023 363, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1025 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1026 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1027 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1028 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
1029 17, 0, 712, 0, 73, 448, 449, 450, 451, 452,
1030 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1031 463, 464, 465, 0, 0, 0, 69, 0, 713, 0,
1032 0, 75, 0, 0, 0, 70, 0, 0, 0, 0,
1033 71, 72, 0, 0, 0, 0, 0, 0, 76, 77,
1034 78, 79, 80, 73, 0, 0, 0, 0, 0, 0,
1035 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
1036 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1037 75, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1038 97, 98, 99, 100, 101, 102, 103, 76, 77, 78,
1039 79, 80, 69, 0, 0, 0, 0, 0, 0, 0,
1040 0, 70, 0, 0, 0, 0, 71, 72, 0, 81,
1041 0, 82, 83, 84, 85, 86, 87, 0, 0, 73,
1042 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1043 98, 99, 100, 101, 102, 103, 0, 0, 0, 0,
1044 0, 69, 0, 0, 0, 0, 75, 0, 0, 0,
1045 70, 0, 0, 0, 0, 71, 72, 0, 0, 0,
1046 0, 0, 0, 76, 77, 78, 79, 80, 73, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0, 444, 0,
1048 0, 0, 0, 0, 0, 81, 0, 82, 83, 84,
1049 85, 86, 87, 0, 0, 0, 88, 89, 90, 91,
1050 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1051 102, 103, 76, 77, 78, 79, 80, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
1054 86, 87, 0, 0, 0, 88, 89, 90, 91, 92,
1055 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1056 103, 69, 0, 0, 0, 0, 0, 0, 0, 0,
1057 70, 0, 0, 0, 0, 71, 72, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 73, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 477, 0,
1060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1061 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
1062 0, 70, 0, 0, 0, 0, 71, 72, 0, 0,
1063 0, 0, 76, 77, 78, 79, 80, 0, 0, 73,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
1066 86, 87, 0, 0, 0, 88, 89, 90, 91, 92,
1067 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1068 103, 741, 0, 76, 77, 78, 79, 80, 69, 0,
1069 0, 0, 0, 0, 0, 0, 0, 70, 0, 0,
1070 0, 0, 71, 72, 0, 81, 0, 82, 83, 84,
1071 85, 86, 87, 0, 0, 73, 88, 89, 90, 91,
1072 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1073 102, 103, 0, 0, 0, 0, 0, 69, 0, 0,
1074 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1075 0, 71, 72, 0, 0, 0, 0, 824, 0, 76,
1076 77, 78, 79, 80, 73, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 81, 0, 82, 83, 84, 85, 86, 87, 0,
1079 0, 0, 88, 89, 90, 91, 92, 93, 94, 95,
1080 96, 97, 98, 99, 100, 101, 102, 103, 76, 77,
1081 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1083 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1084 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1085 97, 98, 99, 100, 101, 102, 103, 1, 2, 3,
1086 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
1087 720, 0, 10, 11, 12, 13, 14, 15, 16, 17,
1088 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
1089 19, 1, 2, 3, 4, 5, 6, 7, 8, 0,
1090 0, 0, 0, 0, 720, 0, 10, 11, 12, 13,
1091 14, 15, 16, 17, 0, 0, 0, 110, 0, 0,
1092 0, 0, 0, 0, 19, 721, 0, 0, 0, 0,
1093 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
1094 5, 6, 7, 8, 0, 111, 112, 113, 406, 9,
1095 0, 10, 11, 12, 13, 14, 15, 16, 17, 724,
1096 0, 0, 110, 0, 0, 0, 0, 0, 0, 19,
1097 1, 2, 3, 4, 5, 6, 7, 8, 0, 111,
1098 112, 113, 406, 9, 0, 10, 11, 12, 13, 14,
1099 15, 16, 17, 0, 0, 0, 110, 0, 0, 0,
1100 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
1101 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
1102 6, 7, 8, 0, 111, 112, 113, 114, 9, 0,
1103 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
1104 0, 110, 0, 0, 0, 0, 0, 0, 19, 1,
1105 2, 3, 4, 5, 6, 7, 8, 0, 111, 112,
1106 113, 114, 9, 0, 10, 11, 12, 13, 14, 15,
1107 16, 17, 0, 0, 0, 110, 0, 0, 0, 0,
1108 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
1109 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
1110 7, 8, 0, 143, 144, 26, 114, 405, 0, 10,
1111 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
1112 110, 0, 0, 0, 0, 0, 0, 19, 1, 2,
1113 3, 4, 5, 6, 7, 8, 0, 111, 112, 113,
1114 114, 0, 0, 10, 11, 12, 13, 14, 15, 16,
1115 17, 0, 0, 0, 110, 0, 0, 0, 438, 439,
1116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1117 0, 0, 0, 0, 0, 738, 441, 0, 0, 0,
1118 0, 0, 111, 112, 113, 406, 448, 449, 450, 451,
1119 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1120 462, 463, 464, 465, 0, 0, 0, 0, 0, 713,
1121 663, 0, 0, 0, 0, 0, 111, 112, 113, 448,
1122 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1123 459, 460, 461, 462, 463, 464, 465, 766, 0, 0,
1124 0, 0, 466, 0, 0, 0, 448, 449, 450, 451,
1125 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1126 462, 463, 464, 465, 879, 0, 0, 0, 0, 713,
1127 0, 0, 0, 448, 449, 450, 451, 452, 453, 454,
1128 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1129 465, 853, 0, 0, 0, 0, 713, 0, 0, 448,
1130 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1131 459, 460, 461, 462, 463, 464, 465, 750, 0, 0,
1132 0, 0, 713, 0, 448, 449, 450, 451, 452, 453,
1133 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1134 464, 465, 807, 0, 0, 0, 0, 466, 0, 448,
1135 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1136 459, 460, 461, 462, 463, 464, 465, 0, 0, 0,
1137 0, 0, 713, 448, 449, 450, 451, 452, 453, 454,
1138 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1139 465, 0, 0, 0, 0, 0, 466, 448, 449, 450,
1140 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
1141 461, 462, 463, 464, 465, 0, 0, 0, 0, 0,
1142 713, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1143 457, 458, 459, 460, 461, 462, 463, 464, 465, 0,
1144 0, 0, 0, 0, 466, 448, 449, 450, 451, 452,
1145 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1146 463, 464, 465, 0, 0, 0, 0, 0, 713
1149 static const short int yycheck
[] =
1151 41, 30, 9, 137, 18, 9, 0, 19, 23, 23,
1152 148, 74, 396, 141, 366, 27, 470, 24, 25, 26,
1153 470, 23, 422, 727, 141, 154, 155, 156, 169, 416,
1154 378, 379, 419, 0, 393, 18, 177, 41, 729, 57,
1155 761, 35, 763, 358, 756, 23, 29, 727, 34, 364,
1156 33, 18, 32, 34, 35, 40, 9, 705, 11, 40,
1157 34, 727, 29, 33, 52, 32, 33, 41, 35, 428,
1158 74, 52, 57, 43, 6, 39, 3, 9, 782, 6,
1159 44, 802, 34, 10, 218, 12, 13, 14, 15, 16,
1160 17, 443, 72, 0, 446, 4, 5, 6, 105, 40,
1161 9, 42, 114, 39, 111, 112, 113, 148, 774, 39,
1162 40, 132, 42, 131, 41, 39, 782, 829, 42, 42,
1163 479, 39, 45, 130, 40, 43, 44, 631, 819, 633,
1164 145, 145, 447, 140, 141, 142, 143, 144, 142, 202,
1165 126, 43, 44, 145, 148, 152, 43, 44, 860, 17,
1166 18, 466, 467, 6, 7, 8, 804, 41, 42, 163,
1167 175, 175, 40, 884, 44, 869, 857, 145, 209, 817,
1168 44, 862, 57, 175, 854, 95, 183, 41, 42, 41,
1169 42, 195, 196, 41, 42, 168, 143, 144, 854, 837,
1170 197, 174, 199, 195, 196, 886, 38, 175, 202, 39,
1171 880, 168, 40, 869, 45, 44, 43, 174, 608, 31,
1172 31, 45, 31, 39, 880, 44, 44, 671, 31, 46,
1173 40, 671, 676, 6, 40, 39, 676, 125, 40, 39,
1174 358, 17, 18, 44, 43, 40, 364, 39, 39, 6,
1175 48, 358, 34, 41, 385, 48, 630, 364, 632, 117,
1176 118, 119, 120, 121, 122, 42, 615, 30, 617, 100,
1177 101, 102, 103, 104, 105, 106, 100, 101, 102, 103,
1178 104, 105, 106, 48, 40, 634, 40, 39, 48, 39,
1179 32, 40, 4, 5, 6, 7, 8, 9, 10, 11,
1180 48, 40, 39, 41, 33, 17, 41, 19, 20, 21,
1181 22, 23, 24, 25, 26, 41, 41, 41, 30, 42,
1182 39, 43, 43, 665, 41, 37, 668, 669, 41, 447,
1183 41, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1184 447, 41, 395, 41, 43, 42, 42, 42, 466, 467,
1185 41, 40, 729, 40, 407, 48, 42, 116, 33, 466,
1186 467, 358, 43, 40, 713, 714, 363, 364, 100, 101,
1187 102, 103, 104, 105, 106, 39, 407, 40, 727, 41,
1188 92, 93, 94, 95, 415, 382, 417, 99, 39, 41,
1189 43, 33, 42, 39, 42, 42, 770, 771, 41, 40,
1190 32, 395, 42, 40, 406, 41, 33, 33, 41, 43,
1191 41, 405, 42, 407, 42, 33, 765, 41, 130, 757,
1192 758, 418, 42, 348, 477, 41, 41, 35, 175, 805,
1193 140, 676, 671, 782, 431, 48, 176, 434, 440, 190,
1194 471, 472, 819, 734, 749, 750, 606, 444, 790, 791,
1195 447, 32, 196, 381, 797, 635, 805, 440, 807, 29,
1196 763, 106, 880, 415, 388, 470, 470, 816, 419, 466,
1197 467, 773, 736, -1, -1, -1, -1, -1, 470, -1,
1198 857, -1, -1, 477, -1, 862, 470, -1, -1, -1,
1199 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1200 9, 10, 11, -1, 853, 854, -1, -1, 17, 886,
1201 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1202 869, 30, -1, -1, -1, 38, -1, -1, 37, 38,
1203 39, 880, 3, -1, -1, 6, -1, -1, -1, 10,
1204 49, 12, 13, 14, 15, 16, 17, 675, -1, -1,
1205 -1, -1, -1, -1, -1, -1, -1, -1, -1, 678,
1206 679, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1207 83, 84, 85, -1, 87, 88, 89, 90, -1, -1,
1208 -1, -1, 91, 92, 93, 94, 95, 96, 97, -1,
1209 99, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1210 -1, -1, -1, -1, -1, -1, 659, -1, -1, -1,
1211 -1, -1, -1, -1, 123, -1, -1, -1, -1, 128,
1212 -1, 130, -1, 615, -1, 622, 657, 631, -1, 633,
1213 627, 749, 750, -1, 628, -1, -1, -1, 635, 631,
1214 -1, 633, 749, 750, 675, -1, -1, -1, -1, -1,
1215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1216 -1, 658, -1, -1, 788, 659, 671, 671, -1, -1,
1217 -1, 676, 676, -1, -1, -1, -1, -1, -1, 671,
1218 677, 675, -1, -1, 676, 682, -1, 671, -1, -1,
1219 -1, -1, 676, -1, -1, -1, -1, -1, 3, -1,
1220 731, -1, -1, 734, -1, -1, 708, 12, -1, -1,
1221 -1, -1, 17, 18, 733, -1, -1, -1, -1, -1,
1222 -1, 718, -1, -1, -1, 30, 720, -1, -1, -1,
1223 -1, -1, -1, -1, -1, 40, -1, -1, -1, 736,
1224 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1225 -1, -1, 749, 750, 785, 19, 20, 21, 22, 23,
1226 24, 25, 26, -1, 795, -1, 30, 798, 799, 74,
1227 75, 76, 77, 78, -1, -1, -1, -1, -1, -1,
1228 -1, -1, -1, -1, -1, 804, -1, -1, -1, -1,
1229 -1, 96, 789, 98, 99, 100, 101, 102, 103, -1,
1230 -1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
1231 115, 116, 117, 118, 119, 120, 121, 122, 849, -1,
1232 -1, -1, -1, 854, -1, -1, -1, -1, 92, 93,
1233 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, -1, 0, -1, 880,
1235 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1236 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1237 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1238 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1239 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1240 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1241 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1242 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1243 83, 84, 85, 86, 87, -1, 89, -1, 91, 92,
1244 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1245 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1246 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1247 123, -1, 125, 126, -1, 128, 129, 130, 131, 132,
1248 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1249 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1250 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1251 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
1252 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1253 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1254 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1255 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1256 80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
1257 -1, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1258 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1259 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1260 120, 121, 122, 123, -1, -1, 126, -1, 128, 129,
1261 130, 131, 132, 0, -1, -1, 3, 4, 5, 6,
1262 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1263 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1264 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1265 37, -1, 39, 40, 41, 42, 43, 44, 45, 46,
1266 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1267 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1268 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1269 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1270 87, -1, 89, -1, 91, 92, 93, 94, 95, 96,
1271 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1272 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1273 117, 118, 119, 120, 121, 122, 123, -1, -1, 126,
1274 -1, 128, 129, 130, 131, 132, 0, -1, -1, 3,
1275 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1276 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1277 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1278 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
1279 44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
1280 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1281 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1282 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1283 84, 85, 86, 87, -1, 89, -1, 91, 92, 93,
1284 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1285 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1286 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1287 3, -1, 126, -1, 128, 129, 130, 131, 132, 12,
1288 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1289 -1, -1, -1, -1, 27, 28, 29, 30, -1, -1,
1290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1291 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1292 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1293 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1294 -1, 74, 75, 76, 77, 78, 37, -1, -1, -1,
1295 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
1296 -1, -1, -1, 96, -1, 98, 99, 100, 101, 102,
1297 103, -1, -1, -1, 107, 108, 109, 110, 111, 112,
1298 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1299 -1, -1, -1, -1, -1, 128, -1, 130, 131, -1,
1300 -1, 92, 93, 94, 95, 4, 5, 6, 7, 8,
1301 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1302 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1303 -1, 30, -1, -1, -1, -1, -1, 128, 37, -1,
1304 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1305 -1, -1, -1, -1, -1, 17, -1, 19, 20, 21,
1306 22, 23, 24, 25, 26, -1, -1, -1, 30, -1,
1307 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
1308 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1309 10, 11, -1, 92, 93, 94, 95, 17, -1, 19,
1310 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1311 30, -1, -1, -1, -1, -1, -1, 37, -1, -1,
1312 -1, -1, -1, -1, -1, -1, -1, -1, -1, 128,
1313 92, 93, 94, 95, 4, 5, 6, 7, 8, 9,
1314 10, 11, -1, -1, -1, -1, -1, 17, -1, 19,
1315 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1316 30, -1, -1, -1, -1, -1, 128, 37, -1, -1,
1317 -1, -1, 92, 93, 94, 95, -1, 3, 4, 5,
1318 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
1319 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1320 26, -1, -1, -1, 30, 31, -1, 33, 128, 35,
1321 36, 37, -1, -1, 40, -1, -1, -1, -1, -1,
1322 -1, 91, 92, 93, 94, 95, -1, -1, -1, 55,
1323 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1324 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1325 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1326 -1, -1, -1, -1, -1, -1, 92, 93, 94, 95,
1327 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1328 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1329 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1330 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1331 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1332 -1, 27, 28, 29, 30, 31, -1, 33, 34, 35,
1333 36, -1, -1, -1, 40, -1, -1, -1, 3, 4,
1334 5, 6, 7, 8, 9, 10, 11, 12, -1, 55,
1335 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1336 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1337 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1338 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1339 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1340 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1341 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1342 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1343 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1344 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1345 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1346 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1347 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1348 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1349 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1351 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
1352 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1353 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1354 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1355 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1356 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1357 36, -1, -1, -1, 40, -1, -1, -1, -1, 4,
1358 5, 6, 7, 8, 9, 10, 11, -1, -1, 55,
1359 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1360 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1361 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1363 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
1364 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1365 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1366 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1367 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1368 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1369 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1370 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1371 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1372 -1, -1, 68, 69, -1, -1, 72, -1, 74, 75,
1373 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1375 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1376 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1377 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1378 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1379 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1380 -1, -1, -1, -1, 30, 31, 32, 33, -1, 35,
1381 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1382 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1383 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1384 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1385 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1387 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1388 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1389 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1390 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1391 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1392 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1393 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1394 -1, 47, -1, -1, -1, -1, -1, -1, -1, 55,
1395 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1396 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1397 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1398 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1399 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1400 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1401 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1402 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1403 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1404 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1405 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1406 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1407 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1408 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1409 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1411 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1412 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1413 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1414 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1415 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1416 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1417 36, -1, -1, -1, 40, -1, -1, -1, -1, 4,
1418 5, 6, 7, 8, 9, 10, 11, -1, -1, 55,
1419 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1420 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1421 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1422 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1423 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1424 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1425 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1426 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1427 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1428 26, -1, -1, -1, 30, -1, -1, -1, -1, -1,
1429 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1432 -1, -1, -1, -1, -1, -1, -1, -1, 74, 75,
1433 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1434 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1435 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1436 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1437 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1438 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1439 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1440 -1, -1, -1, -1, 30, -1, -1, 33, -1, 35,
1441 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1442 -1, -1, -1, -1, -1, -1, -1, -1, -1, 55,
1443 56, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1444 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1445 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1446 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1447 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1448 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1449 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1450 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1451 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1452 26, -1, 47, -1, 30, 50, 51, 52, 53, 54,
1453 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1454 65, 66, 67, -1, -1, -1, 3, -1, 73, -1,
1455 -1, 57, -1, -1, -1, 12, -1, -1, -1, -1,
1456 17, 18, -1, -1, -1, -1, -1, -1, 74, 75,
1457 76, 77, 78, 30, -1, -1, -1, -1, -1, -1,
1458 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
1459 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1460 57, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1461 116, 117, 118, 119, 120, 121, 122, 74, 75, 76,
1462 77, 78, 3, -1, -1, -1, -1, -1, -1, -1,
1463 -1, 12, -1, -1, -1, -1, 17, 18, -1, 96,
1464 -1, 98, 99, 100, 101, 102, 103, -1, -1, 30,
1465 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1466 117, 118, 119, 120, 121, 122, -1, -1, -1, -1,
1467 -1, 3, -1, -1, -1, -1, 57, -1, -1, -1,
1468 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1469 -1, -1, -1, 74, 75, 76, 77, 78, 30, -1,
1470 -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
1471 -1, -1, -1, -1, -1, 96, -1, 98, 99, 100,
1472 101, 102, 103, -1, -1, -1, 107, 108, 109, 110,
1473 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1474 121, 122, 74, 75, 76, 77, 78, -1, -1, -1,
1475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1476 -1, -1, -1, -1, 96, -1, 98, 99, 100, 101,
1477 102, 103, -1, -1, -1, 107, 108, 109, 110, 111,
1478 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1479 122, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1480 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1481 -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
1482 -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
1483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1484 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
1485 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1486 -1, -1, 74, 75, 76, 77, 78, -1, -1, 30,
1487 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1488 -1, -1, -1, -1, 96, -1, 98, 99, 100, 101,
1489 102, 103, -1, -1, -1, 107, 108, 109, 110, 111,
1490 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1491 122, 72, -1, 74, 75, 76, 77, 78, 3, -1,
1492 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1493 -1, -1, 17, 18, -1, 96, -1, 98, 99, 100,
1494 101, 102, 103, -1, -1, 30, 107, 108, 109, 110,
1495 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1496 121, 122, -1, -1, -1, -1, -1, 3, -1, -1,
1497 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1498 -1, 17, 18, -1, -1, -1, -1, 72, -1, 74,
1499 75, 76, 77, 78, 30, -1, -1, -1, -1, -1,
1500 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1501 -1, 96, -1, 98, 99, 100, 101, 102, 103, -1,
1502 -1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
1503 115, 116, 117, 118, 119, 120, 121, 122, 74, 75,
1504 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1506 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1507 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1508 116, 117, 118, 119, 120, 121, 122, 4, 5, 6,
1509 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1510 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1511 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1512 37, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1513 -1, -1, -1, -1, 17, -1, 19, 20, 21, 22,
1514 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
1515 -1, -1, -1, -1, 37, 72, -1, -1, -1, -1,
1516 -1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1517 8, 9, 10, 11, -1, 92, 93, 94, 95, 17,
1518 -1, 19, 20, 21, 22, 23, 24, 25, 26, 72,
1519 -1, -1, 30, -1, -1, -1, -1, -1, -1, 37,
1520 4, 5, 6, 7, 8, 9, 10, 11, -1, 92,
1521 93, 94, 95, 17, -1, 19, 20, 21, 22, 23,
1522 24, 25, 26, -1, -1, -1, 30, -1, -1, -1,
1523 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
1524 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1525 9, 10, 11, -1, 92, 93, 94, 95, 17, -1,
1526 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1527 -1, 30, -1, -1, -1, -1, -1, -1, 37, 4,
1528 5, 6, 7, 8, 9, 10, 11, -1, 92, 93,
1529 94, 95, 17, -1, 19, 20, 21, 22, 23, 24,
1530 25, 26, -1, -1, -1, 30, -1, -1, -1, -1,
1531 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
1532 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1533 10, 11, -1, 92, 93, 94, 95, 17, -1, 19,
1534 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1535 30, -1, -1, -1, -1, -1, -1, 37, 4, 5,
1536 6, 7, 8, 9, 10, 11, -1, 92, 93, 94,
1537 95, -1, -1, 19, 20, 21, 22, 23, 24, 25,
1538 26, -1, -1, -1, 30, -1, -1, -1, 34, 35,
1539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1540 -1, -1, -1, -1, -1, 39, 52, -1, -1, -1,
1541 -1, -1, 92, 93, 94, 95, 50, 51, 52, 53,
1542 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1543 64, 65, 66, 67, -1, -1, -1, -1, -1, 73,
1544 41, -1, -1, -1, -1, -1, 92, 93, 94, 50,
1545 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1546 61, 62, 63, 64, 65, 66, 67, 41, -1, -1,
1547 -1, -1, 73, -1, -1, -1, 50, 51, 52, 53,
1548 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1549 64, 65, 66, 67, 41, -1, -1, -1, -1, 73,
1550 -1, -1, -1, 50, 51, 52, 53, 54, 55, 56,
1551 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1552 67, 42, -1, -1, -1, -1, 73, -1, -1, 50,
1553 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1554 61, 62, 63, 64, 65, 66, 67, 43, -1, -1,
1555 -1, -1, 73, -1, 50, 51, 52, 53, 54, 55,
1556 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1557 66, 67, 43, -1, -1, -1, -1, 73, -1, 50,
1558 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1559 61, 62, 63, 64, 65, 66, 67, -1, -1, -1,
1560 -1, -1, 73, 50, 51, 52, 53, 54, 55, 56,
1561 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1562 67, -1, -1, -1, -1, -1, 73, 50, 51, 52,
1563 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1564 63, 64, 65, 66, 67, -1, -1, -1, -1, -1,
1565 73, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1566 59, 60, 61, 62, 63, 64, 65, 66, 67, -1,
1567 -1, -1, -1, -1, 73, 50, 51, 52, 53, 54,
1568 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1569 65, 66, 67, -1, -1, -1, -1, -1, 73
1572 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1573 symbol of state STATE-NUM. */
1574 static const unsigned short int yystos
[] =
1576 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1577 19, 20, 21, 22, 23, 24, 25, 26, 30, 37,
1578 38, 39, 49, 91, 92, 93, 94, 95, 96, 97,
1579 99, 123, 128, 130, 141, 142, 143, 144, 145, 163,
1580 168, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1581 186, 189, 190, 193, 197, 198, 199, 200, 201, 202,
1582 205, 207, 208, 214, 222, 233, 234, 9, 11, 3,
1583 12, 17, 18, 30, 40, 57, 74, 75, 76, 77,
1584 78, 96, 98, 99, 100, 101, 102, 103, 107, 108,
1585 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1586 119, 120, 121, 122, 138, 230, 231, 232, 249, 259,
1587 30, 92, 93, 94, 95, 198, 205, 174, 38, 74,
1588 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1589 85, 87, 88, 89, 90, 146, 147, 148, 149, 151,
1590 152, 153, 17, 92, 93, 128, 169, 171, 173, 199,
1591 200, 205, 214, 223, 224, 138, 138, 138, 225, 3,
1592 6, 10, 12, 17, 164, 165, 174, 34, 130, 198,
1593 234, 52, 267, 268, 30, 91, 197, 198, 0, 143,
1594 138, 206, 229, 230, 4, 5, 6, 9, 182, 6,
1595 179, 185, 39, 132, 187, 40, 40, 44, 44, 229,
1596 230, 95, 40, 138, 131, 232, 138, 138, 138, 42,
1597 191, 27, 28, 29, 128, 130, 131, 138, 154, 155,
1598 38, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1599 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1600 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1601 31, 32, 33, 34, 35, 36, 37, 39, 40, 41,
1602 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1603 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1604 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1605 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1606 82, 83, 84, 85, 86, 87, 89, 91, 92, 93,
1607 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1608 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1609 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1610 126, 128, 129, 130, 131, 132, 139, 158, 159, 158,
1611 34, 126, 150, 138, 154, 33, 35, 36, 40, 55,
1612 56, 68, 69, 86, 137, 138, 160, 219, 138, 138,
1613 225, 138, 225, 171, 39, 178, 138, 43, 227, 227,
1614 227, 227, 230, 31, 39, 198, 44, 194, 44, 31,
1615 169, 187, 194, 46, 228, 40, 138, 6, 183, 6,
1616 9, 184, 182, 40, 39, 17, 95, 173, 203, 204,
1617 205, 203, 138, 215, 216, 100, 101, 102, 103, 104,
1618 105, 106, 240, 241, 242, 255, 256, 262, 263, 264,
1619 138, 229, 192, 206, 230, 125, 158, 139, 34, 35,
1620 40, 52, 221, 160, 40, 138, 160, 40, 50, 51,
1621 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1622 62, 63, 64, 65, 66, 67, 73, 136, 39, 43,
1623 44, 210, 210, 39, 209, 210, 209, 40, 138, 48,
1624 194, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1625 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1626 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1627 31, 32, 33, 34, 35, 36, 37, 39, 40, 41,
1628 42, 43, 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, 80, 81, 82, 83,
1632 84, 85, 86, 87, 89, 91, 92, 93, 94, 95,
1633 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1634 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1635 116, 117, 118, 119, 120, 121, 122, 123, 126, 128,
1636 129, 130, 131, 132, 140, 194, 195, 196, 240, 40,
1637 39, 39, 31, 33, 35, 40, 47, 137, 206, 217,
1638 218, 219, 229, 228, 6, 34, 188, 230, 17, 229,
1639 41, 42, 41, 42, 48, 42, 45, 206, 245, 217,
1640 237, 257, 258, 259, 267, 206, 138, 265, 266, 18,
1641 258, 259, 45, 241, 217, 41, 138, 42, 40, 174,
1642 220, 221, 30, 41, 138, 160, 161, 162, 160, 160,
1643 40, 128, 170, 171, 172, 173, 211, 214, 223, 224,
1644 206, 206, 229, 27, 28, 29, 34, 166, 167, 217,
1645 45, 196, 45, 3, 6, 10, 12, 13, 14, 15,
1646 16, 17, 41, 235, 236, 238, 239, 30, 95, 173,
1647 217, 217, 47, 73, 136, 138, 34, 41, 230, 228,
1648 17, 72, 204, 228, 72, 217, 216, 48, 39, 48,
1649 39, 40, 32, 48, 40, 39, 42, 39, 39, 41,
1650 206, 72, 138, 156, 157, 229, 41, 41, 41, 42,
1651 43, 33, 172, 43, 226, 45, 170, 227, 227, 138,
1652 39, 43, 41, 42, 237, 41, 41, 217, 217, 41,
1653 41, 41, 27, 97, 98, 116, 217, 244, 246, 247,
1654 248, 249, 268, 257, 206, 267, 192, 266, 41, 42,
1655 160, 160, 42, 33, 43, 42, 212, 226, 210, 210,
1656 41, 238, 43, 236, 238, 48, 217, 43, 228, 228,
1657 116, 246, 17, 18, 249, 252, 40, 40, 244, 42,
1658 260, 206, 41, 158, 72, 138, 33, 43, 40, 206,
1659 213, 39, 212, 238, 267, 166, 217, 40, 217, 237,
1660 72, 257, 261, 41, 39, 41, 43, 33, 226, 42,
1661 39, 72, 237, 42, 42, 250, 41, 42, 40, 42,
1662 206, 32, 40, 217, 206, 243, 244, 245, 251, 268,
1663 41, 257, 33, 33, 226, 41, 253, 254, 257, 41,
1664 42, 244, 42, 41, 43, 41, 42, 243, 33, 238,
1668 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1669 static const unsigned short int yyr1
[] =
1671 0, 135, 136, 136, 136, 136, 136, 136, 136, 136,
1672 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1673 137, 137, 137, 137, 138, 138, 138, 138, 138, 138,
1674 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
1675 138, 138, 139, 139, 139, 139, 139, 139, 139, 139,
1676 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1677 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1678 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1679 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1680 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1681 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1682 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1683 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1684 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1685 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1686 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1687 139, 139, 139, 139, 139, 139, 139, 140, 140, 140,
1688 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1689 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1690 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1691 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1692 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1693 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1694 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1695 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1696 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1697 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1698 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1699 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1700 141, 141, 142, 142, 143, 143, 143, 143, 143, 143,
1701 143, 143, 143, 143, 143, 143, 143, 143, 144, 145,
1702 145, 146, 146, 146, 146, 146, 146, 146, 146, 147,
1703 147, 148, 148, 149, 149, 149, 150, 150, 151, 151,
1704 152, 152, 152, 153, 153, 154, 154, 154, 154, 154,
1705 154, 154, 155, 155, 156, 156, 156, 156, 157, 157,
1706 158, 158, 159, 159, 160, 160, 160, 160, 160, 160,
1707 160, 160, 160, 160, 160, 161, 161, 162, 162, 163,
1708 164, 165, 165, 165, 165, 166, 166, 166, 167, 167,
1709 167, 167, 168, 168, 168, 169, 169, 170, 170, 171,
1710 171, 171, 171, 171, 171, 172, 172, 172, 172, 172,
1711 173, 173, 173, 174, 174, 175, 175, 175, 176, 176,
1712 176, 176, 177, 177, 177, 178, 178, 178, 178, 178,
1713 178, 178, 178, 179, 179, 180, 180, 180, 181, 181,
1714 181, 181, 182, 182, 182, 182, 182, 183, 183, 184,
1715 184, 184, 184, 185, 185, 185, 186, 186, 187, 187,
1716 188, 188, 189, 190, 191, 191, 192, 192, 193, 193,
1717 193, 194, 195, 195, 196, 196, 197, 197, 198, 198,
1718 199, 199, 200, 200, 201, 201, 201, 201, 202, 202,
1719 203, 203, 203, 203, 204, 204, 204, 204, 205, 205,
1720 205, 205, 206, 206, 207, 208, 209, 209, 210, 211,
1721 211, 212, 212, 213, 213, 214, 215, 215, 216, 216,
1722 217, 217, 217, 217, 217, 217, 218, 218, 218, 218,
1723 218, 219, 219, 220, 220, 221, 221, 221, 222, 223,
1724 224, 225, 225, 226, 226, 226, 226, 227, 227, 228,
1725 228, 228, 229, 229, 230, 230, 231, 231, 232, 232,
1726 233, 233, 234, 234, 234, 235, 235, 236, 236, 237,
1727 238, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1728 240, 240, 241, 241, 241, 241, 241, 242, 242, 243,
1729 243, 243, 244, 244, 244, 244, 244, 244, 245, 245,
1730 246, 247, 248, 249, 249, 249, 249, 249, 249, 249,
1731 249, 249, 249, 250, 250, 251, 251, 252, 252, 253,
1732 253, 254, 254, 255, 256, 257, 257, 257, 258, 258,
1733 259, 259, 259, 259, 259, 259, 259, 259, 260, 260,
1734 261, 261, 262, 263, 263, 264, 265, 265, 266, 267,
1738 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1739 static const unsigned char yyr2
[] =
1741 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1749 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1755 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1756 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1757 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1758 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1760 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1761 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1763 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1764 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1765 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1766 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1767 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1768 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1769 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1770 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
1771 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
1772 3, 2, 2, 1, 2, 2, 2, 1, 2, 1,
1773 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1774 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1775 1, 1, 6, 2, 0, 1, 1, 3, 1, 3,
1776 0, 1, 1, 2, 3, 2, 3, 5, 2, 4,
1777 1, 1, 1, 1, 4, 0, 1, 1, 3, 6,
1778 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1779 1, 1, 3, 4, 4, 1, 2, 1, 2, 1,
1780 1, 2, 4, 4, 2, 1, 1, 1, 3, 3,
1781 2, 2, 1, 1, 1, 2, 2, 2, 1, 1,
1782 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1783 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
1784 2, 2, 0, 1, 2, 1, 2, 0, 1, 0,
1785 1, 1, 2, 0, 1, 2, 3, 4, 0, 4,
1786 1, 2, 2, 3, 0, 2, 1, 3, 3, 3,
1787 4, 3, 1, 2, 1, 1, 1, 2, 1, 1,
1788 5, 7, 5, 7, 6, 7, 6, 5, 1, 2,
1789 0, 1, 1, 3, 1, 2, 3, 2, 1, 2,
1790 4, 3, 3, 2, 4, 4, 1, 1, 3, 4,
1791 5, 0, 2, 2, 4, 4, 1, 3, 1, 3,
1792 1, 4, 3, 3, 2, 5, 1, 1, 1, 1,
1793 1, 4, 2, 1, 2, 2, 1, 1, 2, 2,
1794 2, 0, 1, 0, 2, 7, 9, 0, 7, 0,
1795 2, 3, 0, 1, 1, 2, 1, 2, 1, 2,
1796 4, 5, 7, 8, 13, 1, 3, 2, 4, 2,
1797 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1798 1, 2, 1, 1, 1, 1, 1, 3, 6, 1,
1799 2, 1, 1, 1, 2, 1, 1, 1, 3, 4,
1800 6, 8, 5, 1, 1, 1, 1, 1, 1, 1,
1801 1, 1, 1, 0, 2, 1, 3, 1, 1, 0,
1802 1, 1, 3, 3, 3, 1, 1, 3, 5, 6,
1803 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
1804 1, 3, 3, 1, 1, 3, 1, 3, 4, 0,
1809 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1810 static const unsigned char yydprec
[] =
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1880 static const unsigned char yymerger
[] =
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1950 in the case of predicates. */
1951 static const yybool yyimmediate
[] =
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2021 list of conflicting reductions corresponding to action entry for
2022 state STATE-NUM in yytable. 0 means no conflicts. The list in
2023 yyconfl is terminated by a rule number of 0. */
2024 static const unsigned short int yyconflp
[] =
2026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
2037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 265, 0, 0, 0, 0, 267, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2056 0, 0, 0, 0, 0, 0, 0, 269, 0, 0,
2057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
2110 9, 11, 13, 15, 17, 19, 21, 23, 25, 27,
2111 29, 31, 33, 35, 37, 39, 41, 43, 45, 47,
2112 49, 51, 53, 55, 57, 59, 61, 63, 65, 67,
2113 69, 71, 73, 75, 77, 79, 81, 83, 85, 87,
2114 89, 91, 93, 95, 97, 99, 101, 103, 105, 107,
2115 109, 111, 113, 115, 117, 119, 121, 123, 125, 127,
2116 129, 131, 133, 135, 137, 139, 141, 143, 145, 147,
2117 149, 151, 153, 155, 157, 159, 161, 163, 165, 167,
2118 169, 171, 173, 175, 177, 0, 179, 0, 181, 183,
2119 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
2120 205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
2121 225, 227, 229, 231, 233, 235, 237, 239, 241, 243,
2122 245, 0, 247, 249, 0, 251, 253, 255, 257, 259,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2394 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
2395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2404 0, 0, 261, 0, 0, 0, 0, 0, 0, 0,
2405 0, 0, 0, 0, 0, 263, 0, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2442 0, 0, 0, 0, 271, 0, 0, 0, 0, 0,
2443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2444 0, 0, 0, 0, 0, 0, 0, 0, 273
2447 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2448 0, pointed into by YYCONFLP. */
2449 static const short int yyconfl
[] =
2451 0, 411, 0, 411, 0, 488, 0, 626, 0, 626,
2452 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2453 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2454 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2455 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2456 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2457 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2458 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2459 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2460 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2461 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2462 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2463 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2464 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2465 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2466 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2467 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2468 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2469 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2470 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2471 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2472 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2473 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2474 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2475 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2476 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2477 0, 411, 0, 411, 0, 532, 0, 532, 0, 411,
2481 /* Error token number */
2488 #define yynerrs (yystackp->yyerrcnt)
2490 #define yychar (yystackp->yyrawchar)
2492 #define yylval (yystackp->yyval)
2494 #define yylloc (yystackp->yyloc)
2495 #define psi_parser_proc_nerrs yynerrs
2496 #define psi_parser_proc_char yychar
2497 #define psi_parser_proc_lval yylval
2498 #define psi_parser_proc_lloc yylloc
2500 static const int YYEOF
= 0;
2501 static const int YYEMPTY
= -2;
2503 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2505 #define YYCHK(YYE) \
2507 YYRESULTTAG yychk_flag = YYE; \
2508 if (yychk_flag != yyok) \
2509 return yychk_flag; \
2515 # define YYFPRINTF fprintf
2518 /* This macro is provided for backward compatibility. */
2519 #ifndef YY_LOCATION_PRINT
2520 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2524 # define YYDPRINTF(Args) \
2531 /*----------------------------------------.
2532 | Print this symbol's value on YYOUTPUT. |
2533 `----------------------------------------*/
2536 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2538 FILE *yyo
= yyoutput
;
2549 /*--------------------------------.
2550 | Print this symbol on YYOUTPUT. |
2551 `--------------------------------*/
2554 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2556 YYFPRINTF (yyoutput
, "%s %s (",
2557 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2559 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2560 YYFPRINTF (yyoutput
, ")");
2563 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2567 YYFPRINTF (stderr, "%s ", Title); \
2568 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2569 YYFPRINTF (stderr, "\n"); \
2573 /* Nonzero means print parse trace. It is left uninitialized so that
2574 multiple parsers can coexist. */
2578 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2579 YY_ATTRIBUTE_UNUSED
;
2580 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2581 YY_ATTRIBUTE_UNUSED
;
2583 #else /* !YYDEBUG */
2585 # define YYDPRINTF(Args)
2586 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2588 #endif /* !YYDEBUG */
2590 /* YYINITDEPTH -- initial size of the parser's stacks. */
2592 # define YYINITDEPTH 200
2595 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2596 if the built-in stack extension method is used).
2598 Do not make this value too large; the results are undefined if
2599 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2600 evaluated with infinite-precision integer arithmetic. */
2603 # define YYMAXDEPTH 10000
2606 /* Minimum number of free items on the stack allowed after an
2607 allocation. This is to allow allocation and initialization
2608 to be completed by functions that call yyexpandGLRStack before the
2609 stack is expanded, thus insuring that all necessary pointers get
2610 properly redirected to new data. */
2611 #define YYHEADROOM 2
2613 #ifndef YYSTACKEXPANDABLE
2614 # define YYSTACKEXPANDABLE 1
2617 #if YYSTACKEXPANDABLE
2618 # define YY_RESERVE_GLRSTACK(Yystack) \
2620 if (Yystack->yyspaceLeft < YYHEADROOM) \
2621 yyexpandGLRStack (Yystack); \
2624 # define YY_RESERVE_GLRSTACK(Yystack) \
2626 if (Yystack->yyspaceLeft < YYHEADROOM) \
2627 yyMemoryExhausted (Yystack); \
2635 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2636 # define yystpcpy stpcpy
2638 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2641 yystpcpy (char *yydest
, const char *yysrc
)
2644 const char *yys
= yysrc
;
2646 while ((*yyd
++ = *yys
++) != '\0')
2655 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2656 quotes and backslashes, so that it's suitable for yyerror. The
2657 heuristic is that double-quoting is unnecessary unless the string
2658 contains an apostrophe, a comma, or backslash (other than
2659 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2660 null, do not copy; instead, return the length of what the result
2663 yytnamerr (char *yyres
, const char *yystr
)
2668 char const *yyp
= yystr
;
2675 goto do_not_strip_quotes
;
2679 goto do_not_strip_quotes
;
2692 do_not_strip_quotes
: ;
2696 return strlen (yystr
);
2698 return yystpcpy (yyres
, yystr
) - yyres
;
2702 #endif /* !YYERROR_VERBOSE */
2704 /** State numbers, as in LALR(1) machine */
2705 typedef int yyStateNum
;
2707 /** Rule numbers, as in LALR(1) machine */
2708 typedef int yyRuleNum
;
2710 /** Grammar symbol */
2711 typedef int yySymbol
;
2713 /** Item references, as in LALR(1) machine */
2714 typedef short int yyItemNum
;
2716 typedef struct yyGLRState yyGLRState
;
2717 typedef struct yyGLRStateSet yyGLRStateSet
;
2718 typedef struct yySemanticOption yySemanticOption
;
2719 typedef union yyGLRStackItem yyGLRStackItem
;
2720 typedef struct yyGLRStack yyGLRStack
;
2723 /** Type tag: always true. */
2725 /** Type tag for yysemantics. If true, yysval applies, otherwise
2726 * yyfirstVal applies. */
2728 /** Number of corresponding LALR(1) machine state. */
2729 yyStateNum yylrState
;
2730 /** Preceding state in this stack */
2732 /** Source position of the last token produced by my symbol */
2735 /** First in a chain of alternative reductions producing the
2736 * non-terminal corresponding to this state, threaded through
2738 yySemanticOption
* yyfirstVal
;
2739 /** Semantic value for this state. */
2744 struct yyGLRStateSet
{
2745 yyGLRState
** yystates
;
2746 /** During nondeterministic operation, yylookaheadNeeds tracks which
2747 * stacks have actually needed the current lookahead. During deterministic
2748 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2749 * duplicate yychar != YYEMPTY. */
2750 yybool
* yylookaheadNeeds
;
2751 size_t yysize
, yycapacity
;
2754 struct yySemanticOption
{
2755 /** Type tag: always false. */
2757 /** Rule number for this reduction */
2759 /** The last RHS state in the list of states to be reduced. */
2760 yyGLRState
* yystate
;
2761 /** The lookahead for this reduction. */
2764 /** Next sibling in chain of options. To facilitate merging,
2765 * options are chained in decreasing order by address. */
2766 yySemanticOption
* yynext
;
2769 /** Type of the items in the GLR stack. The yyisState field
2770 * indicates which item of the union is valid. */
2771 union yyGLRStackItem
{
2773 yySemanticOption yyoption
;
2784 YYJMP_BUF yyexception_buffer
;
2785 yyGLRStackItem
* yyitems
;
2786 yyGLRStackItem
* yynextFree
;
2788 yyGLRState
* yysplitPoint
;
2789 yyGLRState
* yylastDeleted
;
2790 yyGLRStateSet yytops
;
2793 #if YYSTACKEXPANDABLE
2794 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2797 static _Noreturn
void
2798 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2800 if (yymsg
!= YY_NULLPTR
)
2801 yyerror (P
, tokens
, index
, yymsg
);
2802 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2805 static _Noreturn
void
2806 yyMemoryExhausted (yyGLRStack
* yystackp
)
2808 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2811 #if YYDEBUG || YYERROR_VERBOSE
2812 /** A printable representation of TOKEN. */
2813 static inline const char*
2814 yytokenName (yySymbol yytoken
)
2816 if (yytoken
== YYEMPTY
)
2819 return yytname
[yytoken
];
2823 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2824 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2825 * containing the pointer to the next state in the chain. */
2826 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2828 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2831 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2832 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2835 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2837 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2839 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2841 /* The effect of using yysval or yyloc (in an immediate rule) is
2843 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2844 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2848 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2849 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2850 * For convenience, always return YYLOW1. */
2851 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2852 YY_ATTRIBUTE_UNUSED
;
2854 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2856 if (!yynormal
&& yylow1
< *yylow
)
2858 yyfillin (yyvsp
, *yylow
, yylow1
);
2864 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2865 * and top stack item YYVSP. YYLVALP points to place to put semantic
2866 * value ($$), and yylocp points to place for location information
2867 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2868 * yyerr for YYERROR, yyabort for YYABORT. */
2870 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2871 yyGLRStack
* yystackp
,
2872 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2874 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2882 # define yyerrok (yystackp->yyerrState = 0)
2884 # define YYACCEPT return yyaccept
2886 # define YYABORT return yyabort
2888 # define YYERROR return yyerrok, yyerr
2889 # undef YYRECOVERING
2890 # define YYRECOVERING() (yystackp->yyerrState != 0)
2892 # define yyclearin (yychar = YYEMPTY)
2894 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2896 # define YYBACKUP(Token, Value) \
2897 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2902 *yyvalp
= yyval_default
;
2904 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2908 #line 414 "src/parser_proc_grammar.y" /* glr.c:816 */
2910 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2911 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2912 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2915 #line 2916 "src/parser_proc.c" /* glr.c:816 */
2919 #line 420 "src/parser_proc_grammar.y" /* glr.c:816 */
2922 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2923 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2925 P
->file
.ln
= strndup((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
);
2928 #line 2929 "src/parser_proc.c" /* glr.c:816 */
2932 #line 428 "src/parser_proc_grammar.y" /* glr.c:816 */
2934 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2936 #line 2937 "src/parser_proc.c" /* glr.c:816 */
2940 #line 431 "src/parser_proc_grammar.y" /* glr.c:816 */
2942 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2944 #line 2945 "src/parser_proc.c" /* glr.c:816 */
2948 #line 436 "src/parser_proc_grammar.y" /* glr.c:816 */
2950 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2952 #line 2953 "src/parser_proc.c" /* glr.c:816 */
2956 #line 439 "src/parser_proc_grammar.y" /* glr.c:816 */
2958 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2960 #line 2961 "src/parser_proc.c" /* glr.c:816 */
2964 #line 442 "src/parser_proc_grammar.y" /* glr.c:816 */
2966 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2968 #line 2969 "src/parser_proc.c" /* glr.c:816 */
2972 #line 445 "src/parser_proc_grammar.y" /* glr.c:816 */
2974 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2976 #line 2977 "src/parser_proc.c" /* glr.c:816 */
2980 #line 448 "src/parser_proc_grammar.y" /* glr.c:816 */
2982 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2984 #line 2985 "src/parser_proc.c" /* glr.c:816 */
2988 #line 454 "src/parser_proc_grammar.y" /* glr.c:816 */
2990 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2992 #line 2993 "src/parser_proc.c" /* glr.c:816 */
2996 #line 460 "src/parser_proc_grammar.y" /* glr.c:816 */
2998 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
3000 #line 3001 "src/parser_proc.c" /* glr.c:816 */
3004 #line 463 "src/parser_proc_grammar.y" /* glr.c:816 */
3006 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3008 #line 3009 "src/parser_proc.c" /* glr.c:816 */
3012 #line 469 "src/parser_proc_grammar.y" /* glr.c:816 */
3014 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3015 struct psi_token
*msg
= NULL
;
3017 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
3019 struct psi_token
*next
;
3021 msg
= psi_token_copy(msg
);
3022 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
3023 struct psi_token
*old
= msg
;
3024 msg
= psi_token_cat(" ", 2, msg
, next
);
3028 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3030 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
3032 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3034 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3036 #line 3037 "src/parser_proc.c" /* glr.c:816 */
3040 #line 492 "src/parser_proc_grammar.y" /* glr.c:816 */
3042 (*(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
))));
3043 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3045 #line 3046 "src/parser_proc.c" /* glr.c:816 */
3049 #line 496 "src/parser_proc_grammar.y" /* glr.c:816 */
3051 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3052 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3054 #line 3055 "src/parser_proc.c" /* glr.c:816 */
3058 #line 500 "src/parser_proc_grammar.y" /* glr.c:816 */
3060 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3061 (*(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
))));
3062 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3064 #line 3065 "src/parser_proc.c" /* glr.c:816 */
3068 #line 505 "src/parser_proc_grammar.y" /* glr.c:816 */
3070 (*(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
)));
3071 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3073 #line 3074 "src/parser_proc.c" /* glr.c:816 */
3077 #line 509 "src/parser_proc_grammar.y" /* glr.c:816 */
3079 (*(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
)));
3080 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3082 #line 3083 "src/parser_proc.c" /* glr.c:816 */
3086 #line 513 "src/parser_proc_grammar.y" /* glr.c:816 */
3088 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3089 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3091 #line 3092 "src/parser_proc.c" /* glr.c:816 */
3095 #line 517 "src/parser_proc_grammar.y" /* glr.c:816 */
3097 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3098 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
3100 #line 3101 "src/parser_proc.c" /* glr.c:816 */
3104 #line 571 "src/parser_proc_grammar.y" /* glr.c:816 */
3106 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3107 (*(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
);
3108 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3110 #line 3111 "src/parser_proc.c" /* glr.c:816 */
3114 #line 576 "src/parser_proc_grammar.y" /* glr.c:816 */
3116 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3117 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
3118 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3120 #line 3121 "src/parser_proc.c" /* glr.c:816 */
3124 #line 584 "src/parser_proc_grammar.y" /* glr.c:816 */
3126 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
3128 #line 3129 "src/parser_proc.c" /* glr.c:816 */
3132 #line 587 "src/parser_proc_grammar.y" /* glr.c:816 */
3134 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
3136 #line 3137 "src/parser_proc.c" /* glr.c:816 */
3140 #line 591 "src/parser_proc_grammar.y" /* glr.c:816 */
3142 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3144 #line 3145 "src/parser_proc.c" /* glr.c:816 */
3148 #line 597 "src/parser_proc_grammar.y" /* glr.c:816 */
3150 (*(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
)));
3151 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3152 (*(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
)));
3154 #line 3155 "src/parser_proc.c" /* glr.c:816 */
3158 #line 602 "src/parser_proc_grammar.y" /* glr.c:816 */
3160 (*(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
)));
3161 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3162 (*(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
)));
3164 #line 3165 "src/parser_proc.c" /* glr.c:816 */
3168 #line 610 "src/parser_proc_grammar.y" /* glr.c:816 */
3170 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3172 #line 3173 "src/parser_proc.c" /* glr.c:816 */
3176 #line 617 "src/parser_proc_grammar.y" /* glr.c:816 */
3178 (*(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
)));
3179 (*(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
)));
3181 #line 3182 "src/parser_proc.c" /* glr.c:816 */
3185 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
3187 (*(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
)));
3188 (*(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
)));
3190 #line 3191 "src/parser_proc.c" /* glr.c:816 */
3194 #line 628 "src/parser_proc_grammar.y" /* glr.c:816 */
3196 (*(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
)));
3197 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3199 #line 3200 "src/parser_proc.c" /* glr.c:816 */
3203 #line 632 "src/parser_proc_grammar.y" /* glr.c:816 */
3205 (*(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
)));
3206 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3208 #line 3209 "src/parser_proc.c" /* glr.c:816 */
3212 #line 636 "src/parser_proc_grammar.y" /* glr.c:816 */
3214 (*(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
)));
3215 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3217 #line 3218 "src/parser_proc.c" /* glr.c:816 */
3221 #line 640 "src/parser_proc_grammar.y" /* glr.c:816 */
3223 (*(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
)));
3224 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3226 #line 3227 "src/parser_proc.c" /* glr.c:816 */
3230 #line 645 "src/parser_proc_grammar.y" /* glr.c:816 */
3235 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3236 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3237 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3238 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3241 #line 3242 "src/parser_proc.c" /* glr.c:816 */
3245 #line 655 "src/parser_proc_grammar.y" /* glr.c:816 */
3250 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3251 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3252 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3253 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3256 #line 3257 "src/parser_proc.c" /* glr.c:816 */
3260 #line 665 "src/parser_proc_grammar.y" /* glr.c:816 */
3262 (*(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
));
3263 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3264 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3266 #line 3267 "src/parser_proc.c" /* glr.c:816 */
3270 #line 670 "src/parser_proc_grammar.y" /* glr.c:816 */
3272 (*(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));
3273 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3274 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3276 #line 3277 "src/parser_proc.c" /* glr.c:816 */
3280 #line 675 "src/parser_proc_grammar.y" /* glr.c:816 */
3282 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3283 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3285 #line 3286 "src/parser_proc.c" /* glr.c:816 */
3289 #line 679 "src/parser_proc_grammar.y" /* glr.c:816 */
3291 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3292 (*(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));
3293 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3294 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3296 #line 3297 "src/parser_proc.c" /* glr.c:816 */
3300 #line 685 "src/parser_proc_grammar.y" /* glr.c:816 */
3302 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3303 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3304 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));
3305 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3307 #line 3308 "src/parser_proc.c" /* glr.c:816 */
3311 #line 694 "src/parser_proc_grammar.y" /* glr.c:816 */
3313 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3315 #line 3316 "src/parser_proc.c" /* glr.c:816 */
3319 #line 701 "src/parser_proc_grammar.y" /* glr.c:816 */
3321 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3322 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3324 #line 3325 "src/parser_proc.c" /* glr.c:816 */
3328 #line 705 "src/parser_proc_grammar.y" /* glr.c:816 */
3330 (*(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
)));
3332 #line 3333 "src/parser_proc.c" /* glr.c:816 */
3336 #line 711 "src/parser_proc_grammar.y" /* glr.c:816 */
3338 (*(struct psi_const
**)(&(*yyvalp
))) = psi_const_init((*(struct psi_const_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
)));
3339 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3341 #line 3342 "src/parser_proc.c" /* glr.c:816 */
3345 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
3347 (*(struct psi_const_type
**)(&(*yyvalp
))) = psi_const_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
);
3349 #line 3350 "src/parser_proc.c" /* glr.c:816 */
3353 #line 731 "src/parser_proc_grammar.y" /* glr.c:816 */
3355 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3357 #line 3358 "src/parser_proc.c" /* glr.c:816 */
3361 #line 734 "src/parser_proc_grammar.y" /* glr.c:816 */
3363 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
, NULL
, NULL
, NULL
, NULL
)) {
3365 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3367 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3368 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3370 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3374 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3375 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3376 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3377 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3378 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3379 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3380 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3381 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3382 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3383 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3389 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3391 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3393 #line 3394 "src/parser_proc.c" /* glr.c:816 */
3397 #line 765 "src/parser_proc_grammar.y" /* glr.c:816 */
3399 (*(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
);
3400 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3402 #line 3403 "src/parser_proc.c" /* glr.c:816 */
3406 #line 779 "src/parser_proc_grammar.y" /* glr.c:816 */
3408 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3410 #line 3411 "src/parser_proc.c" /* glr.c:816 */
3414 #line 782 "src/parser_proc_grammar.y" /* glr.c:816 */
3416 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3417 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3418 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3420 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3421 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3422 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3424 #line 3425 "src/parser_proc.c" /* glr.c:816 */
3428 #line 791 "src/parser_proc_grammar.y" /* glr.c:816 */
3430 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3432 #line 3433 "src/parser_proc.c" /* glr.c:816 */
3436 #line 797 "src/parser_proc_grammar.y" /* glr.c:816 */
3438 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3440 #line 3441 "src/parser_proc.c" /* glr.c:816 */
3444 #line 800 "src/parser_proc_grammar.y" /* glr.c:816 */
3446 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3448 #line 3449 "src/parser_proc.c" /* glr.c:816 */
3452 #line 806 "src/parser_proc_grammar.y" /* glr.c:816 */
3454 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3456 #line 3457 "src/parser_proc.c" /* glr.c:816 */
3460 #line 809 "src/parser_proc_grammar.y" /* glr.c:816 */
3462 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3464 #line 3465 "src/parser_proc.c" /* glr.c:816 */
3468 #line 816 "src/parser_proc_grammar.y" /* glr.c:816 */
3470 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3471 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3472 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3474 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3475 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3477 #line 3478 "src/parser_proc.c" /* glr.c:816 */
3481 #line 824 "src/parser_proc_grammar.y" /* glr.c:816 */
3483 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3484 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3485 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3486 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3488 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3489 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3490 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3491 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3493 #line 3494 "src/parser_proc.c" /* glr.c:816 */
3497 #line 835 "src/parser_proc_grammar.y" /* glr.c:816 */
3499 (*(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
)));
3500 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3501 (*(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
)));
3502 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3503 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3504 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3505 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3507 #line 3508 "src/parser_proc.c" /* glr.c:816 */
3511 #line 844 "src/parser_proc_grammar.y" /* glr.c:816 */
3513 (*(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
)));
3514 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3515 (*(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
)));
3516 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3517 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3518 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3519 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3521 #line 3522 "src/parser_proc.c" /* glr.c:816 */
3525 #line 853 "src/parser_proc_grammar.y" /* glr.c:816 */
3527 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3528 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0));
3529 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3531 #line 3532 "src/parser_proc.c" /* glr.c:816 */
3535 #line 862 "src/parser_proc_grammar.y" /* glr.c:816 */
3537 (*(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));
3538 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3540 #line 3541 "src/parser_proc.c" /* glr.c:816 */
3544 #line 866 "src/parser_proc_grammar.y" /* glr.c:816 */
3546 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3547 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3548 psi_decl_var_init(NULL
, 0, 0)
3550 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3551 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3552 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3553 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3555 #line 3556 "src/parser_proc.c" /* glr.c:816 */
3559 #line 876 "src/parser_proc_grammar.y" /* glr.c:816 */
3561 (*(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));
3562 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3563 (*(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
)));
3564 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3565 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3566 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3567 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3569 #line 3570 "src/parser_proc.c" /* glr.c:816 */
3573 #line 885 "src/parser_proc_grammar.y" /* glr.c:816 */
3575 (*(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));
3576 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3577 (*(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
)));
3578 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3579 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3580 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3581 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3583 #line 3584 "src/parser_proc.c" /* glr.c:816 */
3587 #line 897 "src/parser_proc_grammar.y" /* glr.c:816 */
3589 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3591 #line 3592 "src/parser_proc.c" /* glr.c:816 */
3595 #line 900 "src/parser_proc_grammar.y" /* glr.c:816 */
3597 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3599 #line 3600 "src/parser_proc.c" /* glr.c:816 */
3603 #line 907 "src/parser_proc_grammar.y" /* glr.c:816 */
3605 (*(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
);
3606 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3608 #line 3609 "src/parser_proc.c" /* glr.c:816 */
3612 #line 915 "src/parser_proc_grammar.y" /* glr.c:816 */
3614 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3615 (*(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
);
3616 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3618 #line 3619 "src/parser_proc.c" /* glr.c:816 */
3622 #line 920 "src/parser_proc_grammar.y" /* glr.c:816 */
3624 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3625 (*(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
);
3626 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3628 #line 3629 "src/parser_proc.c" /* glr.c:816 */
3632 #line 925 "src/parser_proc_grammar.y" /* glr.c:816 */
3634 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3635 (*(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
);
3636 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3638 #line 3639 "src/parser_proc.c" /* glr.c:816 */
3642 #line 935 "src/parser_proc_grammar.y" /* glr.c:816 */
3644 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3646 #line 3647 "src/parser_proc.c" /* glr.c:816 */
3650 #line 938 "src/parser_proc_grammar.y" /* glr.c:816 */
3652 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3654 #line 3655 "src/parser_proc.c" /* glr.c:816 */
3658 #line 944 "src/parser_proc_grammar.y" /* glr.c:816 */
3660 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3662 #line 3663 "src/parser_proc.c" /* glr.c:816 */
3666 #line 947 "src/parser_proc_grammar.y" /* glr.c:816 */
3668 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3670 #line 3671 "src/parser_proc.c" /* glr.c:816 */
3674 #line 950 "src/parser_proc_grammar.y" /* glr.c:816 */
3676 (*(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
)));
3678 #line 3679 "src/parser_proc.c" /* glr.c:816 */
3682 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3684 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3686 #line 3687 "src/parser_proc.c" /* glr.c:816 */
3690 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3692 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3694 #line 3695 "src/parser_proc.c" /* glr.c:816 */
3698 #line 978 "src/parser_proc_grammar.y" /* glr.c:816 */
3700 (*(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
)));
3702 #line 3703 "src/parser_proc.c" /* glr.c:816 */
3706 #line 984 "src/parser_proc_grammar.y" /* glr.c:816 */
3708 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3710 #line 3711 "src/parser_proc.c" /* glr.c:816 */
3714 #line 987 "src/parser_proc_grammar.y" /* glr.c:816 */
3716 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3718 #line 3719 "src/parser_proc.c" /* glr.c:816 */
3722 #line 990 "src/parser_proc_grammar.y" /* glr.c:816 */
3724 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3725 (*(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
)));
3726 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3728 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3731 #line 3732 "src/parser_proc.c" /* glr.c:816 */
3735 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3737 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3738 (*(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
)));
3739 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3740 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3742 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3745 #line 3746 "src/parser_proc.c" /* glr.c:816 */
3749 #line 1010 "src/parser_proc_grammar.y" /* glr.c:816 */
3751 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3753 #line 3754 "src/parser_proc.c" /* glr.c:816 */
3757 #line 1013 "src/parser_proc_grammar.y" /* glr.c:816 */
3759 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3761 #line 3762 "src/parser_proc.c" /* glr.c:816 */
3765 #line 1016 "src/parser_proc_grammar.y" /* glr.c:816 */
3767 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3768 (*(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
)));
3770 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3773 #line 3774 "src/parser_proc.c" /* glr.c:816 */
3777 #line 1023 "src/parser_proc_grammar.y" /* glr.c:816 */
3779 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3781 #line 3782 "src/parser_proc.c" /* glr.c:816 */
3785 #line 1026 "src/parser_proc_grammar.y" /* glr.c:816 */
3787 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3788 (*(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
)));
3790 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3793 #line 3794 "src/parser_proc.c" /* glr.c:816 */
3797 #line 1036 "src/parser_proc_grammar.y" /* glr.c:816 */
3799 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3801 #line 3802 "src/parser_proc.c" /* glr.c:816 */
3805 #line 1042 "src/parser_proc_grammar.y" /* glr.c:816 */
3807 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3809 #line 3810 "src/parser_proc.c" /* glr.c:816 */
3813 #line 1051 "src/parser_proc_grammar.y" /* glr.c:816 */
3815 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3817 #line 3818 "src/parser_proc.c" /* glr.c:816 */
3821 #line 1054 "src/parser_proc_grammar.y" /* glr.c:816 */
3823 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3825 #line 3826 "src/parser_proc.c" /* glr.c:816 */
3829 #line 1057 "src/parser_proc_grammar.y" /* glr.c:816 */
3831 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3832 (*(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
)));
3833 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3835 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3838 #line 3839 "src/parser_proc.c" /* glr.c:816 */
3842 #line 1068 "src/parser_proc_grammar.y" /* glr.c:816 */
3844 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3846 #line 3847 "src/parser_proc.c" /* glr.c:816 */
3850 #line 1071 "src/parser_proc_grammar.y" /* glr.c:816 */
3852 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3854 #line 3855 "src/parser_proc.c" /* glr.c:816 */
3858 #line 1091 "src/parser_proc_grammar.y" /* glr.c:816 */
3860 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3862 #line 3863 "src/parser_proc.c" /* glr.c:816 */
3866 #line 1098 "src/parser_proc_grammar.y" /* glr.c:816 */
3868 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3870 #line 3871 "src/parser_proc.c" /* glr.c:816 */
3874 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3876 (*(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
)));
3878 #line 3879 "src/parser_proc.c" /* glr.c:816 */
3882 #line 1107 "src/parser_proc_grammar.y" /* glr.c:816 */
3884 (*(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
)));
3886 #line 3887 "src/parser_proc.c" /* glr.c:816 */
3890 #line 1113 "src/parser_proc_grammar.y" /* glr.c:816 */
3892 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3894 #line 3895 "src/parser_proc.c" /* glr.c:816 */
3898 #line 1116 "src/parser_proc_grammar.y" /* glr.c:816 */
3900 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3902 #line 3903 "src/parser_proc.c" /* glr.c:816 */
3906 #line 1119 "src/parser_proc_grammar.y" /* glr.c:816 */
3908 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3910 #line 3911 "src/parser_proc.c" /* glr.c:816 */
3914 #line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */
3916 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3917 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3919 #line 3920 "src/parser_proc.c" /* glr.c:816 */
3923 #line 1152 "src/parser_proc_grammar.y" /* glr.c:816 */
3925 (*(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
)));
3926 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3927 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3928 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3931 #line 3932 "src/parser_proc.c" /* glr.c:816 */
3935 #line 1159 "src/parser_proc_grammar.y" /* glr.c:816 */
3937 (*(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
)));
3938 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3939 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3940 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3941 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3944 #line 3945 "src/parser_proc.c" /* glr.c:816 */
3948 #line 1170 "src/parser_proc_grammar.y" /* glr.c:816 */
3950 (*(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
)));
3951 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3952 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3953 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3956 #line 3957 "src/parser_proc.c" /* glr.c:816 */
3960 #line 1177 "src/parser_proc_grammar.y" /* glr.c:816 */
3962 (*(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
)));
3963 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3964 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3965 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3966 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3969 #line 3970 "src/parser_proc.c" /* glr.c:816 */
3973 #line 1188 "src/parser_proc_grammar.y" /* glr.c:816 */
3975 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3976 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3977 (*(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));
3978 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3979 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3981 #line 3982 "src/parser_proc.c" /* glr.c:816 */
3985 #line 1195 "src/parser_proc_grammar.y" /* glr.c:816 */
3987 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3988 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3989 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3990 psi_decl_type_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
),
3991 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)
3993 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3994 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3995 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3997 #line 3998 "src/parser_proc.c" /* glr.c:816 */
4001 #line 1206 "src/parser_proc_grammar.y" /* glr.c:816 */
4003 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4004 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4005 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4006 psi_decl_type_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
),
4007 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)
4009 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4010 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4011 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4013 #line 4014 "src/parser_proc.c" /* glr.c:816 */
4017 #line 1217 "src/parser_proc_grammar.y" /* glr.c:816 */
4019 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4020 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4021 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4022 psi_decl_type_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
),
4023 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4025 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4026 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4027 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4029 #line 4030 "src/parser_proc.c" /* glr.c:816 */
4033 #line 1232 "src/parser_proc_grammar.y" /* glr.c:816 */
4035 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4036 psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
),
4037 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4039 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4040 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4041 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4043 #line 4044 "src/parser_proc.c" /* glr.c:816 */
4047 #line 1244 "src/parser_proc_grammar.y" /* glr.c:816 */
4049 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4051 #line 4052 "src/parser_proc.c" /* glr.c:816 */
4055 #line 1247 "src/parser_proc_grammar.y" /* glr.c:816 */
4057 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4059 #line 4060 "src/parser_proc.c" /* glr.c:816 */
4063 #line 1250 "src/parser_proc_grammar.y" /* glr.c:816 */
4065 (*(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
)));
4067 #line 4068 "src/parser_proc.c" /* glr.c:816 */
4071 #line 1253 "src/parser_proc_grammar.y" /* glr.c:816 */
4073 (*(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
)));
4075 #line 4076 "src/parser_proc.c" /* glr.c:816 */
4079 #line 1260 "src/parser_proc_grammar.y" /* glr.c:816 */
4081 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4083 #line 4084 "src/parser_proc.c" /* glr.c:816 */
4087 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
4089 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4090 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
4091 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4094 #line 4095 "src/parser_proc.c" /* glr.c:816 */
4098 #line 1269 "src/parser_proc_grammar.y" /* glr.c:816 */
4100 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4101 psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
),
4102 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4104 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4105 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4106 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4108 #line 4109 "src/parser_proc.c" /* glr.c:816 */
4112 #line 1278 "src/parser_proc_grammar.y" /* glr.c:816 */
4114 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4115 psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
),
4116 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4118 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4119 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4120 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4122 #line 4123 "src/parser_proc.c" /* glr.c:816 */
4126 #line 1290 "src/parser_proc_grammar.y" /* glr.c:816 */
4128 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4129 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
4130 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
4132 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
4133 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4135 #line 4136 "src/parser_proc.c" /* glr.c:816 */
4139 #line 1298 "src/parser_proc_grammar.y" /* glr.c:816 */
4141 (*(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
)));
4143 #line 4144 "src/parser_proc.c" /* glr.c:816 */
4147 #line 1301 "src/parser_proc_grammar.y" /* glr.c:816 */
4149 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4150 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4151 psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
4152 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0)
4154 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4155 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4156 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4158 #line 4159 "src/parser_proc.c" /* glr.c:816 */
4162 #line 1311 "src/parser_proc_grammar.y" /* glr.c:816 */
4164 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4165 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4166 psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
4167 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0)
4169 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4170 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4171 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4173 #line 4174 "src/parser_proc.c" /* glr.c:816 */
4177 #line 1324 "src/parser_proc_grammar.y" /* glr.c:816 */
4179 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4180 (*(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
)));
4181 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4183 #line 4184 "src/parser_proc.c" /* glr.c:816 */
4187 #line 1329 "src/parser_proc_grammar.y" /* glr.c:816 */
4189 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4190 (*(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
)));
4191 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4193 #line 4194 "src/parser_proc.c" /* glr.c:816 */
4197 #line 1337 "src/parser_proc_grammar.y" /* glr.c:816 */
4199 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4200 (*(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
)));
4201 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4202 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4203 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4205 #line 4206 "src/parser_proc.c" /* glr.c:816 */
4209 #line 1347 "src/parser_proc_grammar.y" /* glr.c:816 */
4211 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4212 (*(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
)));
4213 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4214 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4215 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4217 #line 4218 "src/parser_proc.c" /* glr.c:816 */
4221 #line 1357 "src/parser_proc_grammar.y" /* glr.c:816 */
4223 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4225 #line 4226 "src/parser_proc.c" /* glr.c:816 */
4229 #line 1364 "src/parser_proc_grammar.y" /* glr.c:816 */
4231 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4233 #line 4234 "src/parser_proc.c" /* glr.c:816 */
4237 #line 1370 "src/parser_proc_grammar.y" /* glr.c:816 */
4239 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4240 (*(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
)));
4241 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4243 struct psi_decl_arg
*arg
;
4245 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4246 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4247 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4249 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4252 #line 4253 "src/parser_proc.c" /* glr.c:816 */
4256 #line 1384 "src/parser_proc_grammar.y" /* glr.c:816 */
4258 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4259 (*(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
)));
4260 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4262 struct psi_decl_arg
*arg
;
4264 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4265 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4266 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4268 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4271 #line 4272 "src/parser_proc.c" /* glr.c:816 */
4275 #line 1401 "src/parser_proc_grammar.y" /* glr.c:816 */
4277 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4279 #line 4280 "src/parser_proc.c" /* glr.c:816 */
4283 #line 1404 "src/parser_proc_grammar.y" /* glr.c:816 */
4285 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4287 #line 4288 "src/parser_proc.c" /* glr.c:816 */
4291 #line 1410 "src/parser_proc_grammar.y" /* glr.c:816 */
4294 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4295 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4296 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4299 #line 4300 "src/parser_proc.c" /* glr.c:816 */
4303 #line 1417 "src/parser_proc_grammar.y" /* glr.c:816 */
4306 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4307 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4308 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4311 #line 4312 "src/parser_proc.c" /* glr.c:816 */
4315 #line 1427 "src/parser_proc_grammar.y" /* glr.c:816 */
4317 (*(struct psi_decl_enum
**)(&(*yyvalp
))) = psi_decl_enum_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4318 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4320 #line 4321 "src/parser_proc.c" /* glr.c:816 */
4324 #line 1434 "src/parser_proc_grammar.y" /* glr.c:816 */
4326 (*(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
)));
4328 #line 4329 "src/parser_proc.c" /* glr.c:816 */
4332 #line 1437 "src/parser_proc_grammar.y" /* glr.c:816 */
4334 (*(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
)));
4336 #line 4337 "src/parser_proc.c" /* glr.c:816 */
4340 #line 1443 "src/parser_proc_grammar.y" /* glr.c:816 */
4342 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4343 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4344 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4346 #line 4347 "src/parser_proc.c" /* glr.c:816 */
4350 #line 1448 "src/parser_proc_grammar.y" /* glr.c:816 */
4352 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4353 (*(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
)));
4354 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4356 #line 4357 "src/parser_proc.c" /* glr.c:816 */
4360 #line 1456 "src/parser_proc_grammar.y" /* glr.c:816 */
4362 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4363 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4365 #line 4366 "src/parser_proc.c" /* glr.c:816 */
4369 #line 1460 "src/parser_proc_grammar.y" /* glr.c:816 */
4371 (*(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
)));
4372 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4374 #line 4375 "src/parser_proc.c" /* glr.c:816 */
4378 #line 1464 "src/parser_proc_grammar.y" /* glr.c:816 */
4380 (*(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
)));
4381 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4383 #line 4384 "src/parser_proc.c" /* glr.c:816 */
4387 #line 1468 "src/parser_proc_grammar.y" /* glr.c:816 */
4389 (*(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
)));
4390 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4392 #line 4393 "src/parser_proc.c" /* glr.c:816 */
4396 #line 1472 "src/parser_proc_grammar.y" /* glr.c:816 */
4398 (*(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
)));
4399 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4401 #line 4402 "src/parser_proc.c" /* glr.c:816 */
4405 #line 1476 "src/parser_proc_grammar.y" /* glr.c:816 */
4407 (*(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
)));
4408 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4410 #line 4411 "src/parser_proc.c" /* glr.c:816 */
4414 #line 1483 "src/parser_proc_grammar.y" /* glr.c:816 */
4416 (*(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
);
4417 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4419 #line 4420 "src/parser_proc.c" /* glr.c:816 */
4423 #line 1487 "src/parser_proc_grammar.y" /* glr.c:816 */
4425 (*(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);
4426 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4428 #line 4429 "src/parser_proc.c" /* glr.c:816 */
4432 #line 1491 "src/parser_proc_grammar.y" /* glr.c:816 */
4434 (*(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);
4435 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4437 #line 4438 "src/parser_proc.c" /* glr.c:816 */
4441 #line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */
4443 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4444 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4446 #line 4447 "src/parser_proc.c" /* glr.c:816 */
4450 #line 1499 "src/parser_proc_grammar.y" /* glr.c:816 */
4452 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4454 #line 4455 "src/parser_proc.c" /* glr.c:816 */
4458 #line 1505 "src/parser_proc_grammar.y" /* glr.c:816 */
4460 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4461 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4463 #line 4464 "src/parser_proc.c" /* glr.c:816 */
4467 #line 1509 "src/parser_proc_grammar.y" /* glr.c:816 */
4469 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4470 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4472 #line 4473 "src/parser_proc.c" /* glr.c:816 */
4476 #line 1516 "src/parser_proc_grammar.y" /* glr.c:816 */
4478 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4480 #line 4481 "src/parser_proc.c" /* glr.c:816 */
4484 #line 1519 "src/parser_proc_grammar.y" /* glr.c:816 */
4486 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4487 int8_t sizeof_void_p
= sizeof(void *);
4488 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4490 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4493 #line 4494 "src/parser_proc.c" /* glr.c:816 */
4497 #line 1530 "src/parser_proc_grammar.y" /* glr.c:816 */
4499 int8_t sizeof_void_p
= sizeof(void *);
4500 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4502 #line 4503 "src/parser_proc.c" /* glr.c:816 */
4506 #line 1534 "src/parser_proc_grammar.y" /* glr.c:816 */
4508 int8_t sizeof_a
= sizeof('a');
4509 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4511 #line 4512 "src/parser_proc.c" /* glr.c:816 */
4515 #line 1538 "src/parser_proc_grammar.y" /* glr.c:816 */
4517 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4519 #line 4520 "src/parser_proc.c" /* glr.c:816 */
4523 #line 1544 "src/parser_proc_grammar.y" /* glr.c:816 */
4525 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4526 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4530 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4531 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4534 #line 4535 "src/parser_proc.c" /* glr.c:816 */
4538 #line 1557 "src/parser_proc_grammar.y" /* glr.c:816 */
4540 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4541 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4545 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4546 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4549 #line 4550 "src/parser_proc.c" /* glr.c:816 */
4553 #line 1570 "src/parser_proc_grammar.y" /* glr.c:816 */
4555 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4556 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4560 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4561 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4564 #line 4565 "src/parser_proc.c" /* glr.c:816 */
4568 #line 1583 "src/parser_proc_grammar.y" /* glr.c:816 */
4570 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4572 #line 4573 "src/parser_proc.c" /* glr.c:816 */
4576 #line 1586 "src/parser_proc_grammar.y" /* glr.c:816 */
4578 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4579 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4581 #line 4582 "src/parser_proc.c" /* glr.c:816 */
4585 #line 1593 "src/parser_proc_grammar.y" /* glr.c:816 */
4587 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4589 #line 4590 "src/parser_proc.c" /* glr.c:816 */
4593 #line 1596 "src/parser_proc_grammar.y" /* glr.c:816 */
4595 (*(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
));
4597 #line 4598 "src/parser_proc.c" /* glr.c:816 */
4601 #line 1599 "src/parser_proc_grammar.y" /* glr.c:816 */
4603 (*(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
);
4605 #line 4606 "src/parser_proc.c" /* glr.c:816 */
4609 #line 1602 "src/parser_proc_grammar.y" /* glr.c:816 */
4611 (*(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
));
4613 #line 4614 "src/parser_proc.c" /* glr.c:816 */
4617 #line 1608 "src/parser_proc_grammar.y" /* glr.c:816 */
4619 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4620 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4622 #line 4623 "src/parser_proc.c" /* glr.c:816 */
4626 #line 1612 "src/parser_proc_grammar.y" /* glr.c:816 */
4628 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4629 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4631 #line 4632 "src/parser_proc.c" /* glr.c:816 */
4635 #line 1619 "src/parser_proc_grammar.y" /* glr.c:816 */
4637 (*(size_t*)(&(*yyvalp
))) = 0;
4639 #line 4640 "src/parser_proc.c" /* glr.c:816 */
4643 #line 1622 "src/parser_proc_grammar.y" /* glr.c:816 */
4645 (*(size_t*)(&(*yyvalp
))) = 0;
4647 #line 4648 "src/parser_proc.c" /* glr.c:816 */
4651 #line 1625 "src/parser_proc_grammar.y" /* glr.c:816 */
4653 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, NULL
, NULL
, NULL
, NULL
)) {
4654 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4656 (*(size_t*)(&(*yyvalp
))) = 0;
4659 #line 4660 "src/parser_proc.c" /* glr.c:816 */
4663 #line 1635 "src/parser_proc_grammar.y" /* glr.c:816 */
4665 (*(size_t*)(&(*yyvalp
))) = 0;
4667 #line 4668 "src/parser_proc.c" /* glr.c:816 */
4671 #line 1638 "src/parser_proc_grammar.y" /* glr.c:816 */
4673 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4675 #line 4676 "src/parser_proc.c" /* glr.c:816 */
4679 #line 1645 "src/parser_proc_grammar.y" /* glr.c:816 */
4681 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4683 #line 4684 "src/parser_proc.c" /* glr.c:816 */
4687 #line 1651 "src/parser_proc_grammar.y" /* glr.c:816 */
4689 (*(size_t*)(&(*yyvalp
))) = 1;
4691 #line 4692 "src/parser_proc.c" /* glr.c:816 */
4695 #line 1654 "src/parser_proc_grammar.y" /* glr.c:816 */
4697 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4699 #line 4700 "src/parser_proc.c" /* glr.c:816 */
4703 #line 1671 "src/parser_proc_grammar.y" /* glr.c:816 */
4705 (*(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
)));
4707 #line 4708 "src/parser_proc.c" /* glr.c:816 */
4711 #line 1674 "src/parser_proc_grammar.y" /* glr.c:816 */
4713 (*(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
)));
4714 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4716 #line 4717 "src/parser_proc.c" /* glr.c:816 */
4720 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
4722 (*(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
)));
4723 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4724 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4726 #line 4727 "src/parser_proc.c" /* glr.c:816 */
4730 #line 1686 "src/parser_proc_grammar.y" /* glr.c:816 */
4732 (*(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
)));
4733 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4734 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4736 #line 4737 "src/parser_proc.c" /* glr.c:816 */
4740 #line 1691 "src/parser_proc_grammar.y" /* glr.c:816 */
4742 (*(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
)));
4743 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4744 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4745 (*(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
);
4746 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4748 #line 4749 "src/parser_proc.c" /* glr.c:816 */
4752 #line 1701 "src/parser_proc_grammar.y" /* glr.c:816 */
4754 (*(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
)));
4756 #line 4757 "src/parser_proc.c" /* glr.c:816 */
4760 #line 1704 "src/parser_proc_grammar.y" /* glr.c:816 */
4762 (*(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
)));
4764 #line 4765 "src/parser_proc.c" /* glr.c:816 */
4768 #line 1710 "src/parser_proc_grammar.y" /* glr.c:816 */
4770 (*(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
);
4772 #line 4773 "src/parser_proc.c" /* glr.c:816 */
4776 #line 1713 "src/parser_proc_grammar.y" /* glr.c:816 */
4778 (*(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
)));
4780 #line 4781 "src/parser_proc.c" /* glr.c:816 */
4784 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4786 (*(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
)));
4787 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4789 #line 4790 "src/parser_proc.c" /* glr.c:816 */
4793 #line 1726 "src/parser_proc_grammar.y" /* glr.c:816 */
4795 (*(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
);
4796 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4798 #line 4799 "src/parser_proc.c" /* glr.c:816 */
4802 #line 1745 "src/parser_proc_grammar.y" /* glr.c:816 */
4804 (*(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
)));
4806 #line 4807 "src/parser_proc.c" /* glr.c:816 */
4810 #line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */
4812 (*(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
)));
4814 #line 4815 "src/parser_proc.c" /* glr.c:816 */
4818 #line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */
4820 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4822 #line 4823 "src/parser_proc.c" /* glr.c:816 */
4826 #line 1757 "src/parser_proc_grammar.y" /* glr.c:816 */
4828 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4830 #line 4831 "src/parser_proc.c" /* glr.c:816 */
4834 #line 1760 "src/parser_proc_grammar.y" /* glr.c:816 */
4836 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4838 #line 4839 "src/parser_proc.c" /* glr.c:816 */
4842 #line 1763 "src/parser_proc_grammar.y" /* glr.c:816 */
4844 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4846 #line 4847 "src/parser_proc.c" /* glr.c:816 */
4850 #line 1766 "src/parser_proc_grammar.y" /* glr.c:816 */
4852 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4854 #line 4855 "src/parser_proc.c" /* glr.c:816 */
4858 #line 1772 "src/parser_proc_grammar.y" /* glr.c:816 */
4860 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4861 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4863 #line 4864 "src/parser_proc.c" /* glr.c:816 */
4867 #line 1776 "src/parser_proc_grammar.y" /* glr.c:816 */
4869 (*(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
))));
4870 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4871 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4873 #line 4874 "src/parser_proc.c" /* glr.c:816 */
4877 #line 1785 "src/parser_proc_grammar.y" /* glr.c:816 */
4879 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4880 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4882 #line 4883 "src/parser_proc.c" /* glr.c:816 */
4886 #line 1789 "src/parser_proc_grammar.y" /* glr.c:816 */
4888 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4889 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4891 #line 4892 "src/parser_proc.c" /* glr.c:816 */
4895 #line 1796 "src/parser_proc_grammar.y" /* glr.c:816 */
4897 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4899 #line 4900 "src/parser_proc.c" /* glr.c:816 */
4903 #line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */
4905 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4907 #line 4908 "src/parser_proc.c" /* glr.c:816 */
4911 #line 1802 "src/parser_proc_grammar.y" /* glr.c:816 */
4913 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4914 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4916 #line 4917 "src/parser_proc.c" /* glr.c:816 */
4920 #line 1806 "src/parser_proc_grammar.y" /* glr.c:816 */
4922 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4924 #line 4925 "src/parser_proc.c" /* glr.c:816 */
4928 #line 1809 "src/parser_proc_grammar.y" /* glr.c:816 */
4930 (*(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
)));
4932 #line 4933 "src/parser_proc.c" /* glr.c:816 */
4936 #line 1812 "src/parser_proc_grammar.y" /* glr.c:816 */
4938 (*(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
)));
4940 #line 4941 "src/parser_proc.c" /* glr.c:816 */
4944 #line 1818 "src/parser_proc_grammar.y" /* glr.c:816 */
4946 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4947 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4949 #line 4950 "src/parser_proc.c" /* glr.c:816 */
4953 #line 1822 "src/parser_proc_grammar.y" /* glr.c:816 */
4955 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4956 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4957 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4959 #line 4960 "src/parser_proc.c" /* glr.c:816 */
4963 #line 1830 "src/parser_proc_grammar.y" /* glr.c:816 */
4965 (*(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
)));
4966 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4968 #line 4969 "src/parser_proc.c" /* glr.c:816 */
4972 #line 1837 "src/parser_proc_grammar.y" /* glr.c:816 */
4974 (*(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
)));
4975 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4976 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4978 #line 4979 "src/parser_proc.c" /* glr.c:816 */
4982 #line 1845 "src/parser_proc_grammar.y" /* glr.c:816 */
4984 (*(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
)));
4985 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4986 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4988 #line 4989 "src/parser_proc.c" /* glr.c:816 */
4992 #line 1866 "src/parser_proc_grammar.y" /* glr.c:816 */
4994 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4996 #line 4997 "src/parser_proc.c" /* glr.c:816 */
5000 #line 1869 "src/parser_proc_grammar.y" /* glr.c:816 */
5002 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5004 #line 5005 "src/parser_proc.c" /* glr.c:816 */
5008 #line 1875 "src/parser_proc_grammar.y" /* glr.c:816 */
5010 (*(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
)));
5012 #line 5013 "src/parser_proc.c" /* glr.c:816 */
5016 #line 1878 "src/parser_proc_grammar.y" /* glr.c:816 */
5018 (*(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
)));
5020 #line 5021 "src/parser_proc.c" /* glr.c:816 */
5024 #line 1889 "src/parser_proc_grammar.y" /* glr.c:816 */
5026 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5028 #line 5029 "src/parser_proc.c" /* glr.c:816 */
5032 #line 1892 "src/parser_proc_grammar.y" /* glr.c:816 */
5034 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5036 #line 5037 "src/parser_proc.c" /* glr.c:816 */
5040 #line 1898 "src/parser_proc_grammar.y" /* glr.c:816 */
5042 (*(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
)));
5044 #line 5045 "src/parser_proc.c" /* glr.c:816 */
5048 #line 1901 "src/parser_proc_grammar.y" /* glr.c:816 */
5050 (*(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
)));
5052 #line 5053 "src/parser_proc.c" /* glr.c:816 */
5056 #line 1907 "src/parser_proc_grammar.y" /* glr.c:816 */
5058 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init(psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))));
5059 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5061 #line 5062 "src/parser_proc.c" /* glr.c:816 */
5065 #line 1914 "src/parser_proc_grammar.y" /* glr.c:816 */
5067 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5068 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5070 #line 5071 "src/parser_proc.c" /* glr.c:816 */
5074 #line 1921 "src/parser_proc_grammar.y" /* glr.c:816 */
5076 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5078 #line 5079 "src/parser_proc.c" /* glr.c:816 */
5082 #line 1924 "src/parser_proc_grammar.y" /* glr.c:816 */
5084 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5086 #line 5087 "src/parser_proc.c" /* glr.c:816 */
5090 #line 1927 "src/parser_proc_grammar.y" /* glr.c:816 */
5092 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5093 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5095 #line 5096 "src/parser_proc.c" /* glr.c:816 */
5099 #line 1934 "src/parser_proc_grammar.y" /* glr.c:816 */
5101 (*(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
)));
5102 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5103 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5105 #line 5106 "src/parser_proc.c" /* glr.c:816 */
5109 #line 1939 "src/parser_proc_grammar.y" /* glr.c:816 */
5111 (*(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
)));
5112 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5113 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5115 #line 5116 "src/parser_proc.c" /* glr.c:816 */
5119 #line 1958 "src/parser_proc_grammar.y" /* glr.c:816 */
5121 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5123 #line 5124 "src/parser_proc.c" /* glr.c:816 */
5127 #line 1961 "src/parser_proc_grammar.y" /* glr.c:816 */
5129 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5131 #line 5132 "src/parser_proc.c" /* glr.c:816 */
5135 #line 1967 "src/parser_proc_grammar.y" /* glr.c:816 */
5137 (*(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
)));
5139 #line 5140 "src/parser_proc.c" /* glr.c:816 */
5143 #line 1970 "src/parser_proc_grammar.y" /* glr.c:816 */
5145 (*(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
)));
5147 #line 5148 "src/parser_proc.c" /* glr.c:816 */
5151 #line 1976 "src/parser_proc_grammar.y" /* glr.c:816 */
5153 (*(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
)));
5154 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5156 #line 5157 "src/parser_proc.c" /* glr.c:816 */
5160 #line 1988 "src/parser_proc_grammar.y" /* glr.c:816 */
5162 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5163 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5165 #line 5166 "src/parser_proc.c" /* glr.c:816 */
5169 #line 1995 "src/parser_proc_grammar.y" /* glr.c:816 */
5171 (*(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
)));
5173 #line 5174 "src/parser_proc.c" /* glr.c:816 */
5177 #line 1998 "src/parser_proc_grammar.y" /* glr.c:816 */
5179 (*(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
)));
5181 #line 5182 "src/parser_proc.c" /* glr.c:816 */
5185 #line 2004 "src/parser_proc_grammar.y" /* glr.c:816 */
5187 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5188 (*(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
)));
5189 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5191 #line 5192 "src/parser_proc.c" /* glr.c:816 */
5195 #line 2012 "src/parser_proc_grammar.y" /* glr.c:816 */
5197 (*(bool*)(&(*yyvalp
))) = false;
5199 #line 5200 "src/parser_proc.c" /* glr.c:816 */
5203 #line 2015 "src/parser_proc_grammar.y" /* glr.c:816 */
5205 (*(bool*)(&(*yyvalp
))) = true;
5207 #line 5208 "src/parser_proc.c" /* glr.c:816 */
5211 #line 5212 "src/parser_proc.c" /* glr.c:816 */
5222 # undef YYRECOVERING
5227 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5239 /* Bison grammar-table manipulation. */
5241 /*-----------------------------------------------.
5242 | Release the memory associated to this symbol. |
5243 `-----------------------------------------------*/
5246 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5254 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5256 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5259 case 136: /* binary_op_token */
5260 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
5262 #line 5263 "src/parser_proc.c" /* glr.c:846 */
5265 case 137: /* unary_op_token */
5266 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
5268 #line 5269 "src/parser_proc.c" /* glr.c:846 */
5271 case 138: /* name_token */
5272 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
5274 #line 5275 "src/parser_proc.c" /* glr.c:846 */
5277 case 139: /* any_noeol_token */
5278 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
5280 #line 5281 "src/parser_proc.c" /* glr.c:846 */
5284 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5285 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5286 #line 5287 "src/parser_proc.c" /* glr.c:846 */
5290 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
5291 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5292 #line 5293 "src/parser_proc.c" /* glr.c:846 */
5295 case 146: /* cpp_exp */
5296 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
5297 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5298 #line 5299 "src/parser_proc.c" /* glr.c:846 */
5301 case 148: /* cpp_message_token */
5302 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5304 #line 5305 "src/parser_proc.c" /* glr.c:846 */
5307 case 149: /* cpp_include_token */
5308 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5310 #line 5311 "src/parser_proc.c" /* glr.c:846 */
5313 case 150: /* cpp_header_token */
5314 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5316 #line 5317 "src/parser_proc.c" /* glr.c:846 */
5319 case 151: /* cpp_no_arg_token */
5320 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5322 #line 5323 "src/parser_proc.c" /* glr.c:846 */
5325 case 152: /* cpp_name_arg_token */
5326 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5328 #line 5329 "src/parser_proc.c" /* glr.c:846 */
5331 case 153: /* cpp_exp_arg_token */
5332 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5334 #line 5335 "src/parser_proc.c" /* glr.c:846 */
5337 case 154: /* cpp_special_name_token */
5338 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5340 #line 5341 "src/parser_proc.c" /* glr.c:846 */
5343 case 155: /* cpp_macro_decl */
5344 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5345 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5346 #line 5347 "src/parser_proc.c" /* glr.c:846 */
5349 case 156: /* cpp_macro_sig */
5350 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5351 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5352 #line 5353 "src/parser_proc.c" /* glr.c:846 */
5355 case 157: /* cpp_macro_sig_args */
5356 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5357 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5358 #line 5359 "src/parser_proc.c" /* glr.c:846 */
5361 case 158: /* cpp_macro_decl_tokens */
5362 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5363 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5364 #line 5365 "src/parser_proc.c" /* glr.c:846 */
5367 case 159: /* cpp_macro_decl_token_list */
5368 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5369 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5370 #line 5371 "src/parser_proc.c" /* glr.c:846 */
5373 case 160: /* cpp_macro_exp */
5374 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
5375 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5376 #line 5377 "src/parser_proc.c" /* glr.c:846 */
5379 case 161: /* cpp_macro_call_args */
5380 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5381 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5382 #line 5383 "src/parser_proc.c" /* glr.c:846 */
5385 case 162: /* cpp_macro_call_arg_list */
5386 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5387 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5388 #line 5389 "src/parser_proc.c" /* glr.c:846 */
5391 case 163: /* constant */
5392 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
5393 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5394 #line 5395 "src/parser_proc.c" /* glr.c:846 */
5397 case 164: /* constant_type */
5398 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5399 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5400 #line 5401 "src/parser_proc.c" /* glr.c:846 */
5403 case 165: /* constant_type_token */
5404 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5406 #line 5407 "src/parser_proc.c" /* glr.c:846 */
5409 case 166: /* impl_def_val */
5410 #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */
5411 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5412 #line 5413 "src/parser_proc.c" /* glr.c:846 */
5415 case 167: /* impl_def_val_token */
5416 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5418 #line 5419 "src/parser_proc.c" /* glr.c:846 */
5421 case 168: /* decl_typedef */
5422 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5423 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5424 #line 5425 "src/parser_proc.c" /* glr.c:846 */
5427 case 169: /* typedef */
5428 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5429 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5430 #line 5431 "src/parser_proc.c" /* glr.c:846 */
5433 case 170: /* typedef_anon */
5434 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5435 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5436 #line 5437 "src/parser_proc.c" /* glr.c:846 */
5439 case 171: /* typedef_decl */
5440 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5441 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5442 #line 5443 "src/parser_proc.c" /* glr.c:846 */
5445 case 172: /* typedef_anon_decl */
5446 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5447 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5448 #line 5449 "src/parser_proc.c" /* glr.c:846 */
5451 case 173: /* qualified_decl_type */
5452 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
5453 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5454 #line 5455 "src/parser_proc.c" /* glr.c:846 */
5457 case 174: /* decl_type */
5458 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
5459 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5460 #line 5461 "src/parser_proc.c" /* glr.c:846 */
5463 case 175: /* decl_type_complex */
5464 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
5465 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5466 #line 5467 "src/parser_proc.c" /* glr.c:846 */
5469 case 176: /* decl_type_simple */
5470 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5471 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5472 #line 5473 "src/parser_proc.c" /* glr.c:846 */
5475 case 177: /* decl_real_type */
5476 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5477 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5478 #line 5479 "src/parser_proc.c" /* glr.c:846 */
5481 case 178: /* decl_stdint_type */
5482 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5484 #line 5485 "src/parser_proc.c" /* glr.c:846 */
5487 case 179: /* int_signed */
5488 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
5490 #line 5491 "src/parser_proc.c" /* glr.c:846 */
5493 case 180: /* int_width */
5494 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5495 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5496 #line 5497 "src/parser_proc.c" /* glr.c:846 */
5499 case 181: /* decl_int_type */
5500 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5501 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5502 #line 5503 "src/parser_proc.c" /* glr.c:846 */
5505 case 182: /* int_signed_types */
5506 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5507 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5508 #line 5509 "src/parser_proc.c" /* glr.c:846 */
5511 case 183: /* signed_short_types */
5512 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
5514 #line 5515 "src/parser_proc.c" /* glr.c:846 */
5517 case 184: /* signed_long_types */
5518 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
5520 #line 5521 "src/parser_proc.c" /* glr.c:846 */
5523 case 185: /* int_width_types */
5524 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5525 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5526 #line 5527 "src/parser_proc.c" /* glr.c:846 */
5529 case 186: /* decl_stmt */
5530 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5531 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5532 #line 5533 "src/parser_proc.c" /* glr.c:846 */
5535 case 192: /* decl_vars */
5536 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5537 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5538 #line 5539 "src/parser_proc.c" /* glr.c:846 */
5541 case 197: /* decl */
5542 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5543 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5544 #line 5545 "src/parser_proc.c" /* glr.c:846 */
5547 case 198: /* decl_body */
5548 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5549 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5550 #line 5551 "src/parser_proc.c" /* glr.c:846 */
5553 case 199: /* decl_func_body */
5554 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5555 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5556 #line 5557 "src/parser_proc.c" /* glr.c:846 */
5559 case 200: /* decl_functor_body */
5560 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5561 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5562 #line 5563 "src/parser_proc.c" /* glr.c:846 */
5565 case 201: /* decl_functor */
5566 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5567 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5568 #line 5569 "src/parser_proc.c" /* glr.c:846 */
5571 case 202: /* decl_func */
5572 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5573 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5574 #line 5575 "src/parser_proc.c" /* glr.c:846 */
5577 case 203: /* decl_args */
5578 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5579 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5580 #line 5581 "src/parser_proc.c" /* glr.c:846 */
5583 case 204: /* decl_anon_arg */
5584 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5585 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5586 #line 5587 "src/parser_proc.c" /* glr.c:846 */
5589 case 205: /* decl_arg */
5590 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5591 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5592 #line 5593 "src/parser_proc.c" /* glr.c:846 */
5595 case 206: /* decl_var */
5596 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5597 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5598 #line 5599 "src/parser_proc.c" /* glr.c:846 */
5601 case 207: /* decl_union */
5602 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5603 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5604 #line 5605 "src/parser_proc.c" /* glr.c:846 */
5607 case 208: /* decl_struct */
5608 #line 319 "src/parser_proc_grammar.y" /* glr.c:846 */
5609 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5610 #line 5611 "src/parser_proc.c" /* glr.c:846 */
5613 case 209: /* decl_struct_args */
5614 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5615 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5616 #line 5617 "src/parser_proc.c" /* glr.c:846 */
5619 case 210: /* struct_args_block */
5620 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5621 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5622 #line 5623 "src/parser_proc.c" /* glr.c:846 */
5625 case 211: /* struct_args */
5626 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5627 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5628 #line 5629 "src/parser_proc.c" /* glr.c:846 */
5631 case 212: /* struct_arg_var_list */
5632 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5633 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5634 #line 5635 "src/parser_proc.c" /* glr.c:846 */
5637 case 213: /* decl_vars_with_layout */
5638 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5639 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5640 #line 5641 "src/parser_proc.c" /* glr.c:846 */
5643 case 214: /* decl_enum */
5644 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
5645 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5646 #line 5647 "src/parser_proc.c" /* glr.c:846 */
5649 case 215: /* decl_enum_items */
5650 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5651 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5652 #line 5653 "src/parser_proc.c" /* glr.c:846 */
5655 case 216: /* decl_enum_item */
5656 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5657 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5658 #line 5659 "src/parser_proc.c" /* glr.c:846 */
5661 case 217: /* num_exp */
5662 #line 381 "src/parser_proc_grammar.y" /* glr.c:846 */
5663 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5664 #line 5665 "src/parser_proc.c" /* glr.c:846 */
5667 case 218: /* number */
5668 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
5669 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5670 #line 5671 "src/parser_proc.c" /* glr.c:846 */
5673 case 219: /* sizeof */
5674 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5675 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5676 #line 5677 "src/parser_proc.c" /* glr.c:846 */
5679 case 220: /* sizeof_body */
5680 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5681 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5682 #line 5683 "src/parser_proc.c" /* glr.c:846 */
5685 case 221: /* sizeof_body_notypes */
5686 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5687 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5688 #line 5689 "src/parser_proc.c" /* glr.c:846 */
5691 case 222: /* enum_name */
5692 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5693 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5694 #line 5695 "src/parser_proc.c" /* glr.c:846 */
5697 case 223: /* union_name */
5698 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5699 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5700 #line 5701 "src/parser_proc.c" /* glr.c:846 */
5703 case 224: /* struct_name */
5704 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5705 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5706 #line 5707 "src/parser_proc.c" /* glr.c:846 */
5709 case 225: /* optional_name */
5710 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5711 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5712 #line 5713 "src/parser_proc.c" /* glr.c:846 */
5715 case 226: /* decl_layout */
5716 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5717 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5718 #line 5719 "src/parser_proc.c" /* glr.c:846 */
5721 case 227: /* align_and_size */
5722 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
5724 #line 5725 "src/parser_proc.c" /* glr.c:846 */
5727 case 228: /* array_size */
5728 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5730 #line 5731 "src/parser_proc.c" /* glr.c:846 */
5733 case 229: /* indirection */
5734 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5736 #line 5737 "src/parser_proc.c" /* glr.c:846 */
5739 case 230: /* pointers */
5740 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5742 #line 5743 "src/parser_proc.c" /* glr.c:846 */
5745 case 231: /* asterisks */
5746 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5748 #line 5749 "src/parser_proc.c" /* glr.c:846 */
5751 case 233: /* impl */
5752 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5753 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5754 #line 5755 "src/parser_proc.c" /* glr.c:846 */
5757 case 234: /* impl_func */
5758 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5759 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5760 #line 5761 "src/parser_proc.c" /* glr.c:846 */
5763 case 235: /* impl_args */
5764 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5765 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5766 #line 5767 "src/parser_proc.c" /* glr.c:846 */
5769 case 236: /* impl_arg */
5770 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5771 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5772 #line 5773 "src/parser_proc.c" /* glr.c:846 */
5775 case 237: /* impl_var */
5776 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5777 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5778 #line 5779 "src/parser_proc.c" /* glr.c:846 */
5781 case 238: /* impl_type */
5782 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5783 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5784 #line 5785 "src/parser_proc.c" /* glr.c:846 */
5787 case 239: /* impl_type_token */
5788 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
5789 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5790 #line 5791 "src/parser_proc.c" /* glr.c:846 */
5793 case 240: /* impl_stmts */
5794 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5795 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5796 #line 5797 "src/parser_proc.c" /* glr.c:846 */
5799 case 241: /* impl_stmt */
5800 #line 374 "src/parser_proc_grammar.y" /* glr.c:846 */
5801 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5802 #line 5803 "src/parser_proc.c" /* glr.c:846 */
5805 case 242: /* let_stmt */
5806 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
5807 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5808 #line 5809 "src/parser_proc.c" /* glr.c:846 */
5811 case 243: /* let_exp */
5812 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5813 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5814 #line 5815 "src/parser_proc.c" /* glr.c:846 */
5817 case 244: /* let_exp_byref */
5818 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5819 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5820 #line 5821 "src/parser_proc.c" /* glr.c:846 */
5823 case 245: /* let_exp_assign */
5824 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5825 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5826 #line 5827 "src/parser_proc.c" /* glr.c:846 */
5829 case 246: /* let_calloc */
5830 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5831 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5832 #line 5833 "src/parser_proc.c" /* glr.c:846 */
5835 case 247: /* let_callback */
5836 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
5837 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5838 #line 5839 "src/parser_proc.c" /* glr.c:846 */
5841 case 248: /* let_func */
5842 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5843 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5844 #line 5845 "src/parser_proc.c" /* glr.c:846 */
5847 case 249: /* let_func_token */
5848 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
5849 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5850 #line 5851 "src/parser_proc.c" /* glr.c:846 */
5853 case 250: /* let_func_exps */
5854 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5855 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5856 #line 5857 "src/parser_proc.c" /* glr.c:846 */
5859 case 251: /* let_exps */
5860 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5861 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5862 #line 5863 "src/parser_proc.c" /* glr.c:846 */
5865 case 252: /* callback_rval */
5866 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
5867 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5868 #line 5869 "src/parser_proc.c" /* glr.c:846 */
5871 case 253: /* callback_arg_list */
5872 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5873 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5874 #line 5875 "src/parser_proc.c" /* glr.c:846 */
5877 case 254: /* callback_args */
5878 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5879 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5880 #line 5881 "src/parser_proc.c" /* glr.c:846 */
5883 case 255: /* return_stmt */
5884 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5885 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5886 #line 5887 "src/parser_proc.c" /* glr.c:846 */
5889 case 256: /* set_stmt */
5890 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5891 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5892 #line 5893 "src/parser_proc.c" /* glr.c:846 */
5895 case 257: /* set_exp */
5896 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5897 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5898 #line 5899 "src/parser_proc.c" /* glr.c:846 */
5901 case 258: /* set_func */
5902 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5903 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5904 #line 5905 "src/parser_proc.c" /* glr.c:846 */
5907 case 259: /* set_func_token */
5908 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
5909 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5910 #line 5911 "src/parser_proc.c" /* glr.c:846 */
5913 case 260: /* set_func_exps */
5914 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5915 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5916 #line 5917 "src/parser_proc.c" /* glr.c:846 */
5919 case 261: /* set_exps */
5920 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5921 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5922 #line 5923 "src/parser_proc.c" /* glr.c:846 */
5925 case 262: /* assert_stmt */
5926 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5927 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5928 #line 5929 "src/parser_proc.c" /* glr.c:846 */
5931 case 263: /* assert_stmt_token */
5932 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
5933 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5934 #line 5935 "src/parser_proc.c" /* glr.c:846 */
5937 case 264: /* free_stmt */
5938 #line 369 "src/parser_proc_grammar.y" /* glr.c:846 */
5939 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5940 #line 5941 "src/parser_proc.c" /* glr.c:846 */
5943 case 265: /* free_exps */
5944 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5945 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5946 #line 5947 "src/parser_proc.c" /* glr.c:846 */
5949 case 266: /* free_exp */
5950 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5951 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5952 #line 5953 "src/parser_proc.c" /* glr.c:846 */
5955 case 267: /* reference */
5956 #line 388 "src/parser_proc_grammar.y" /* glr.c:846 */
5958 #line 5959 "src/parser_proc.c" /* glr.c:846 */
5965 YY_IGNORE_MAYBE_UNINITIALIZED_END
5968 /** Number of symbols composing the right hand side of rule #RULE. */
5970 yyrhsLength (yyRuleNum yyrule
)
5972 return yyr2
[yyrule
];
5976 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5978 if (yys
->yyresolved
)
5979 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5980 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5986 if (yys
->yysemantics
.yyfirstVal
)
5987 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5989 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5990 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5994 if (yys
->yysemantics
.yyfirstVal
)
5996 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5999 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
6001 yyrh
= yyrh
->yypred
, yyn
-= 1)
6002 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
6007 /** Left-hand-side symbol for rule #YYRULE. */
6008 static inline yySymbol
6009 yylhsNonterm (yyRuleNum yyrule
)
6011 return yyr1
[yyrule
];
6014 #define yypact_value_is_default(Yystate) \
6015 (!!((Yystate) == (-722)))
6017 /** True iff LR state YYSTATE has only a default reduction (regardless
6019 static inline yybool
6020 yyisDefaultedState (yyStateNum yystate
)
6022 return yypact_value_is_default (yypact
[yystate
]);
6025 /** The default reduction for YYSTATE, assuming it has one. */
6026 static inline yyRuleNum
6027 yydefaultAction (yyStateNum yystate
)
6029 return yydefact
[yystate
];
6032 #define yytable_value_is_error(Yytable_value) \
6035 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
6037 * R < 0: Reduce on rule -R.
6039 * R > 0: Shift to state R.
6040 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
6041 * of conflicting reductions.
6044 yygetLRActions (yyStateNum yystate
, int yytoken
,
6045 int* yyaction
, const short int** yyconflicts
)
6047 int yyindex
= yypact
[yystate
] + yytoken
;
6048 if (yypact_value_is_default (yypact
[yystate
])
6049 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
6051 *yyaction
= -yydefact
[yystate
];
6052 *yyconflicts
= yyconfl
;
6054 else if (! yytable_value_is_error (yytable
[yyindex
]))
6056 *yyaction
= yytable
[yyindex
];
6057 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6062 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6066 /** Compute post-reduction state.
6067 * \param yystate the current state
6068 * \param yysym the nonterminal to push on the stack
6070 static inline yyStateNum
6071 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
6073 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
6074 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
6075 return yytable
[yyr
];
6077 return yydefgoto
[yysym
- YYNTOKENS
];
6080 static inline yybool
6081 yyisShiftAction (int yyaction
)
6083 return 0 < yyaction
;
6086 static inline yybool
6087 yyisErrorAction (int yyaction
)
6089 return yyaction
== 0;
6094 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
6095 * if YYISSTATE, and otherwise a semantic option. Callers should call
6096 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6099 static inline yyGLRStackItem
*
6100 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6102 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6103 yystackp
->yyspaceLeft
-= 1;
6104 yystackp
->yynextFree
+= 1;
6105 yynewItem
->yystate
.yyisState
= yyisState
;
6109 /** Add a new semantic action that will execute the action for rule
6110 * YYRULE on the semantic values in YYRHS to the list of
6111 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6112 * stack #YYK of *YYSTACKP. */
6114 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6115 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6117 yySemanticOption
* yynewOption
=
6118 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6119 YYASSERT (!yynewOption
->yyisState
);
6120 yynewOption
->yystate
= yyrhs
;
6121 yynewOption
->yyrule
= yyrule
;
6122 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6124 yynewOption
->yyrawchar
= yychar
;
6125 yynewOption
->yyval
= yylval
;
6128 yynewOption
->yyrawchar
= YYEMPTY
;
6129 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6130 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6132 YY_RESERVE_GLRSTACK (yystackp
);
6137 /** Initialize YYSET to a singleton set containing an empty stack. */
6139 yyinitStateSet (yyGLRStateSet
* yyset
)
6142 yyset
->yycapacity
= 16;
6143 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6144 if (! yyset
->yystates
)
6146 yyset
->yystates
[0] = YY_NULLPTR
;
6147 yyset
->yylookaheadNeeds
=
6148 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6149 if (! yyset
->yylookaheadNeeds
)
6151 YYFREE (yyset
->yystates
);
6157 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6159 YYFREE (yyset
->yystates
);
6160 YYFREE (yyset
->yylookaheadNeeds
);
6163 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6164 * capacity for all stacks of YYSIZE. */
6166 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6168 yystackp
->yyerrState
= 0;
6170 yystackp
->yyspaceLeft
= yysize
;
6172 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6173 if (!yystackp
->yyitems
)
6175 yystackp
->yynextFree
= yystackp
->yyitems
;
6176 yystackp
->yysplitPoint
= YY_NULLPTR
;
6177 yystackp
->yylastDeleted
= YY_NULLPTR
;
6178 return yyinitStateSet (&yystackp
->yytops
);
6182 #if YYSTACKEXPANDABLE
6183 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6184 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6186 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6187 stack from outside should be considered invalid after this call.
6188 We always expand when there are 1 or fewer items left AFTER an
6189 allocation, so that we can avoid having external pointers exist
6190 across an allocation. */
6192 yyexpandGLRStack (yyGLRStack
* yystackp
)
6194 yyGLRStackItem
* yynewItems
;
6195 yyGLRStackItem
* yyp0
, *yyp1
;
6198 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6199 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6200 yyMemoryExhausted (yystackp
);
6201 yynewSize
= 2*yysize
;
6202 if (YYMAXDEPTH
< yynewSize
)
6203 yynewSize
= YYMAXDEPTH
;
6204 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6206 yyMemoryExhausted (yystackp
);
6207 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6209 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6212 if (*(yybool
*) yyp0
)
6214 yyGLRState
* yys0
= &yyp0
->yystate
;
6215 yyGLRState
* yys1
= &yyp1
->yystate
;
6216 if (yys0
->yypred
!= YY_NULLPTR
)
6218 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6219 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6220 yys1
->yysemantics
.yyfirstVal
=
6221 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6225 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6226 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6227 if (yyv0
->yystate
!= YY_NULLPTR
)
6228 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6229 if (yyv0
->yynext
!= YY_NULLPTR
)
6230 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6233 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6234 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6235 yystackp
->yysplitPoint
, yystate
);
6237 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6238 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6239 yystackp
->yytops
.yystates
[yyn
] =
6240 YYRELOC (yystackp
->yyitems
, yynewItems
,
6241 yystackp
->yytops
.yystates
[yyn
], yystate
);
6242 YYFREE (yystackp
->yyitems
);
6243 yystackp
->yyitems
= yynewItems
;
6244 yystackp
->yynextFree
= yynewItems
+ yysize
;
6245 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6250 yyfreeGLRStack (yyGLRStack
* yystackp
)
6252 YYFREE (yystackp
->yyitems
);
6253 yyfreeStateSet (&yystackp
->yytops
);
6256 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6257 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6260 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6262 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6263 yystackp
->yysplitPoint
= yys
;
6266 /** Invalidate stack #YYK in *YYSTACKP. */
6268 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6270 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6271 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6272 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6275 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6276 only be done once after a deletion, and only when all other stacks have
6279 yyundeleteLastStack (yyGLRStack
* yystackp
)
6281 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6283 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6284 yystackp
->yytops
.yysize
= 1;
6285 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6286 yystackp
->yylastDeleted
= YY_NULLPTR
;
6290 yyremoveDeletes (yyGLRStack
* yystackp
)
6294 while (yyj
< yystackp
->yytops
.yysize
)
6296 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6300 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6302 yystackp
->yytops
.yysize
-= 1;
6306 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6307 /* In the current implementation, it's unnecessary to copy
6308 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6309 yyremoveDeletes returns, the parser immediately either enters
6310 deterministic operation or shifts a token. However, it doesn't
6311 hurt, and the code might evolve to need it. */
6312 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6313 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6316 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6317 (unsigned long int) yyi
, (unsigned long int) yyj
));
6325 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6326 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6327 * value *YYVALP and source location *YYLOCP. */
6329 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6333 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6335 yynewState
->yylrState
= yylrState
;
6336 yynewState
->yyposn
= yyposn
;
6337 yynewState
->yyresolved
= yytrue
;
6338 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6339 yynewState
->yysemantics
.yysval
= *yyvalp
;
6340 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6342 YY_RESERVE_GLRSTACK (yystackp
);
6345 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6346 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6347 * semantic value of YYRHS under the action for YYRULE. */
6349 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6350 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6352 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6353 YYASSERT (yynewState
->yyisState
);
6355 yynewState
->yylrState
= yylrState
;
6356 yynewState
->yyposn
= yyposn
;
6357 yynewState
->yyresolved
= yyfalse
;
6358 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6359 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6360 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6362 /* Invokes YY_RESERVE_GLRSTACK. */
6363 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6367 # define YY_REDUCE_PRINT(Args)
6369 # define YY_REDUCE_PRINT(Args) \
6372 yy_reduce_print Args; \
6375 /*----------------------------------------------------------------------.
6376 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6377 `----------------------------------------------------------------------*/
6380 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6381 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6383 int yynrhs
= yyrhsLength (yyrule
);
6385 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6386 (unsigned long int) yyk
, yyrule
- 1,
6387 (unsigned long int) yyrline
[yyrule
]);
6389 yyfillin (yyvsp
, 1, -yynrhs
);
6390 /* The symbols being reduced. */
6391 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6393 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6394 yy_symbol_print (stderr
,
6395 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6396 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6397 , P
, tokens
, index
);
6398 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6399 YYFPRINTF (stderr
, " (unresolved)");
6400 YYFPRINTF (stderr
, "\n");
6405 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6406 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6407 * semantic values. Assumes that all ambiguities in semantic values
6408 * have been previously resolved. Set *YYVALP to the resulting value,
6409 * and *YYLOCP to the computed location (if any). Return value is as
6410 * for userAction. */
6411 static inline YYRESULTTAG
6412 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6413 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6415 int yynrhs
= yyrhsLength (yyrule
);
6417 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6419 /* Standard special case: single stack. */
6420 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6421 YYASSERT (yyk
== 0);
6422 yystackp
->yynextFree
-= yynrhs
;
6423 yystackp
->yyspaceLeft
+= yynrhs
;
6424 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6425 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6426 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6427 yyvalp
, P
, tokens
, index
);
6433 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6434 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6435 = yystackp
->yytops
.yystates
[yyk
];
6436 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6441 yyupdateSplit (yystackp
, yys
);
6442 yystackp
->yytops
.yystates
[yyk
] = yys
;
6443 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6444 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6445 yystackp
, yyvalp
, P
, tokens
, index
);
6449 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6450 * and push back on the resulting nonterminal symbol. Perform the
6451 * semantic action associated with YYRULE and store its value with the
6452 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6453 * unambiguous. Otherwise, store the deferred semantic action with
6454 * the new state. If the new state would have an identical input
6455 * position, LR state, and predecessor to an existing state on the stack,
6456 * it is identified with that existing state, eliminating stack #YYK from
6457 * *YYSTACKP. In this case, the semantic value is
6458 * added to the options for the existing state's semantic value.
6460 static inline YYRESULTTAG
6461 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6462 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6464 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6466 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6470 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6471 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6473 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6474 (unsigned long int) yyk
, yyrule
- 1));
6478 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6479 yyglrShift (yystackp
, yyk
,
6480 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6481 yylhsNonterm (yyrule
)),
6488 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6489 yyStateNum yynewLRState
;
6491 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6497 yyupdateSplit (yystackp
, yys
);
6498 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6500 "Reduced stack %lu by rule #%d; action deferred. "
6501 "Now in state %d.\n",
6502 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6503 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6504 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6506 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6507 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6508 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6510 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6512 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6513 yymarkStackDeleted (yystackp
, yyk
);
6514 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6515 (unsigned long int) yyk
,
6516 (unsigned long int) yyi
));
6522 yystackp
->yytops
.yystates
[yyk
] = yys
;
6523 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6529 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6531 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6533 YYASSERT (yyk
== 0);
6534 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6536 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6538 yyGLRState
** yynewStates
;
6539 yybool
* yynewLookaheadNeeds
;
6541 yynewStates
= YY_NULLPTR
;
6543 if (yystackp
->yytops
.yycapacity
6544 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6545 yyMemoryExhausted (yystackp
);
6546 yystackp
->yytops
.yycapacity
*= 2;
6549 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6550 (yystackp
->yytops
.yycapacity
6551 * sizeof yynewStates
[0]));
6552 if (yynewStates
== YY_NULLPTR
)
6553 yyMemoryExhausted (yystackp
);
6554 yystackp
->yytops
.yystates
= yynewStates
;
6556 yynewLookaheadNeeds
=
6557 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6558 (yystackp
->yytops
.yycapacity
6559 * sizeof yynewLookaheadNeeds
[0]));
6560 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6561 yyMemoryExhausted (yystackp
);
6562 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6564 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6565 = yystackp
->yytops
.yystates
[yyk
];
6566 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6567 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6568 yystackp
->yytops
.yysize
+= 1;
6569 return yystackp
->yytops
.yysize
-1;
6572 /** True iff YYY0 and YYY1 represent identical options at the top level.
6573 * That is, they represent the same rule applied to RHS symbols
6574 * that produce the same terminal symbols. */
6576 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6578 if (yyy0
->yyrule
== yyy1
->yyrule
)
6580 yyGLRState
*yys0
, *yys1
;
6582 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6583 yyn
= yyrhsLength (yyy0
->yyrule
);
6585 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6586 if (yys0
->yyposn
!= yys1
->yyposn
)
6594 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6595 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6597 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6599 yyGLRState
*yys0
, *yys1
;
6601 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6602 yyn
= yyrhsLength (yyy0
->yyrule
);
6604 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6608 else if (yys0
->yyresolved
)
6610 yys1
->yyresolved
= yytrue
;
6611 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6613 else if (yys1
->yyresolved
)
6615 yys0
->yyresolved
= yytrue
;
6616 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6620 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6621 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6624 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6626 else if (*yyz0p
== YY_NULLPTR
)
6631 else if (*yyz0p
< yyz1
)
6633 yySemanticOption
* yyz
= *yyz0p
;
6635 yyz1
= yyz1
->yynext
;
6636 (*yyz0p
)->yynext
= yyz
;
6638 yyz0p
= &(*yyz0p
)->yynext
;
6640 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6645 /** Y0 and Y1 represent two possible actions to take in a given
6646 * parsing state; return 0 if no combination is possible,
6647 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6649 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6651 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6652 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6656 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6661 if (p0
== 0 || p1
== 0)
6670 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6671 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6674 /** Resolve the previous YYN states starting at and including state YYS
6675 * on *YYSTACKP. If result != yyok, some states may have been left
6676 * unresolved possibly with empty semantic option chains. Regardless
6677 * of whether result = yyok, each state has been left with consistent
6678 * data so that yydestroyGLRState can be invoked if necessary. */
6680 yyresolveStates (yyGLRState
* yys
, int yyn
,
6681 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6685 YYASSERT (yys
->yypred
);
6686 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6687 if (! yys
->yyresolved
)
6688 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6693 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6694 * user action, and return the semantic value and location in *YYVALP
6695 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6696 * have been destroyed (assuming the user action destroys all RHS
6697 * semantic values if invoked). */
6699 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6700 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6702 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6703 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6704 YYRESULTTAG yyflag
=
6705 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6709 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6710 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6714 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6716 int yychar_current
= yychar
;
6717 YYSTYPE yylval_current
= yylval
;
6718 yychar
= yyopt
->yyrawchar
;
6719 yylval
= yyopt
->yyval
;
6720 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6721 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6722 yystackp
, yyvalp
, P
, tokens
, index
);
6723 yychar
= yychar_current
;
6724 yylval
= yylval_current
;
6731 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6733 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6736 yyGLRState
* yystates
[1 + YYMAXRHS
];
6737 yyGLRState yyleftmost_state
;
6739 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6740 yystates
[yyi
] = yys
;
6741 if (yys
== YY_NULLPTR
)
6743 yyleftmost_state
.yyposn
= 0;
6744 yystates
[0] = &yyleftmost_state
;
6749 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6750 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6751 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6754 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6755 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6756 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6757 (unsigned long int) yyx
->yystate
->yyposn
);
6758 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6760 if (yystates
[yyi
]->yyresolved
)
6762 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6763 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6764 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6766 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6767 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6768 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6769 (unsigned long int) yystates
[yyi
]->yyposn
);
6772 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6778 yyreportAmbiguity (yySemanticOption
* yyx0
,
6779 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6785 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6786 YYFPRINTF (stderr
, "Option 1,\n");
6787 yyreportTree (yyx0
, 2);
6788 YYFPRINTF (stderr
, "\nOption 2,\n");
6789 yyreportTree (yyx1
, 2);
6790 YYFPRINTF (stderr
, "\n");
6793 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6797 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6798 * perform the indicated actions, and set the semantic value of YYS.
6799 * If result != yyok, the chain of semantic options in YYS has been
6800 * cleared instead or it has been left unmodified except that
6801 * redundant options may have been removed. Regardless of whether
6802 * result = yyok, YYS has been left with consistent data so that
6803 * yydestroyGLRState can be invoked if necessary. */
6805 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6807 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6808 yySemanticOption
* yybest
= yyoptionList
;
6809 yySemanticOption
** yypp
;
6810 yybool yymerge
= yyfalse
;
6814 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6816 yySemanticOption
* yyp
= *yypp
;
6818 if (yyidenticalOptions (yybest
, yyp
))
6820 yymergeOptionSets (yybest
, yyp
);
6821 *yypp
= yyp
->yynext
;
6825 switch (yypreference (yybest
, yyp
))
6828 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6840 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6841 but some compilers complain if the default case is
6845 yypp
= &yyp
->yynext
;
6851 yySemanticOption
* yyp
;
6852 int yyprec
= yydprec
[yybest
->yyrule
];
6853 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6855 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6857 if (yyprec
== yydprec
[yyp
->yyrule
])
6859 YYSTYPE yysval_other
;
6860 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6863 yydestruct ("Cleanup: discarding incompletely merged value for",
6864 yystos
[yys
->yylrState
],
6865 &yysval
, P
, tokens
, index
);
6868 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6873 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6877 yys
->yyresolved
= yytrue
;
6878 yys
->yysemantics
.yysval
= yysval
;
6881 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6886 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6888 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6893 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6894 yys
!= yystackp
->yysplitPoint
;
6895 yys
= yys
->yypred
, yyn
+= 1)
6897 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6898 , P
, tokens
, index
));
6904 yycompressStack (yyGLRStack
* yystackp
)
6906 yyGLRState
* yyp
, *yyq
, *yyr
;
6908 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6911 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6912 yyp
!= yystackp
->yysplitPoint
;
6913 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6916 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6917 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6918 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6919 yystackp
->yysplitPoint
= YY_NULLPTR
;
6920 yystackp
->yylastDeleted
= YY_NULLPTR
;
6922 while (yyr
!= YY_NULLPTR
)
6924 yystackp
->yynextFree
->yystate
= *yyr
;
6926 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6927 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6928 yystackp
->yynextFree
+= 1;
6929 yystackp
->yyspaceLeft
-= 1;
6934 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6935 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6937 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6939 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6940 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6941 (unsigned long int) yyk
, yystate
));
6943 YYASSERT (yystate
!= YYFINAL
);
6945 if (yyisDefaultedState (yystate
))
6948 yyRuleNum yyrule
= yydefaultAction (yystate
);
6951 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6952 (unsigned long int) yyk
));
6953 yymarkStackDeleted (yystackp
, yyk
);
6956 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6957 if (yyflag
== yyerr
)
6961 "(predicate failure or explicit user error).\n",
6962 (unsigned long int) yyk
));
6963 yymarkStackDeleted (yystackp
, yyk
);
6973 const short int* yyconflicts
;
6975 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6976 if (yychar
== YYEMPTY
)
6978 YYDPRINTF ((stderr
, "Reading a token: "));
6979 yychar
= yylex (&yylval
, P
, tokens
, index
);
6982 if (yychar
<= YYEOF
)
6984 yychar
= yytoken
= YYEOF
;
6985 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6989 yytoken
= YYTRANSLATE (yychar
);
6990 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6993 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6995 while (*yyconflicts
!= 0)
6998 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6999 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
7000 (unsigned long int) yynewStack
,
7001 (unsigned long int) yyk
));
7002 yyflag
= yyglrReduce (yystackp
, yynewStack
,
7004 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
7006 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
7007 yyposn
, P
, tokens
, index
));
7008 else if (yyflag
== yyerr
)
7010 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
7011 (unsigned long int) yynewStack
));
7012 yymarkStackDeleted (yystackp
, yynewStack
);
7019 if (yyisShiftAction (yyaction
))
7021 else if (yyisErrorAction (yyaction
))
7023 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
7024 (unsigned long int) yyk
));
7025 yymarkStackDeleted (yystackp
, yyk
);
7030 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
7031 yyimmediate
[-yyaction
], P
, tokens
, index
);
7032 if (yyflag
== yyerr
)
7036 "(predicate failure or explicit user error).\n",
7037 (unsigned long int) yyk
));
7038 yymarkStackDeleted (yystackp
, yyk
);
7041 else if (yyflag
!= yyok
)
7050 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7052 if (yystackp
->yyerrState
!= 0)
7054 #if ! YYERROR_VERBOSE
7055 yyerror (P
, tokens
, index
, YY_("syntax error"));
7058 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
7059 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
7060 size_t yysize
= yysize0
;
7061 yybool yysize_overflow
= yyfalse
;
7062 char* yymsg
= YY_NULLPTR
;
7063 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
7064 /* Internationalized format string. */
7065 const char *yyformat
= YY_NULLPTR
;
7066 /* Arguments of yyformat. */
7067 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
7068 /* Number of reported tokens (one for the "unexpected", one per
7072 /* There are many possibilities here to consider:
7073 - If this state is a consistent state with a default action, then
7074 the only way this function was invoked is if the default action
7075 is an error action. In that case, don't check for expected
7076 tokens because there are none.
7077 - The only way there can be no lookahead present (in yychar) is if
7078 this state is a consistent state with a default action. Thus,
7079 detecting the absence of a lookahead is sufficient to determine
7080 that there is no unexpected or expected token to report. In that
7081 case, just report a simple "syntax error".
7082 - Don't assume there isn't a lookahead just because this state is a
7083 consistent state with a default action. There might have been a
7084 previous inconsistent state, consistent state with a non-default
7085 action, or user semantic action that manipulated yychar.
7086 - Of course, the expected token list depends on states to have
7087 correct lookahead information, and it depends on the parser not
7088 to perform extra reductions after fetching a lookahead from the
7089 scanner and before detecting a syntax error. Thus, state merging
7090 (from LALR or IELR) and default reductions corrupt the expected
7091 token list. However, the list is correct for canonical LR with
7092 one exception: it will still contain any token that will not be
7093 accepted due to an error action in a later state.
7095 if (yytoken
!= YYEMPTY
)
7097 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7098 yyarg
[yycount
++] = yytokenName (yytoken
);
7099 if (!yypact_value_is_default (yyn
))
7101 /* Start YYX at -YYN if negative to avoid negative indexes in
7102 YYCHECK. In other words, skip the first -YYN actions for this
7103 state because they are default actions. */
7104 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7105 /* Stay within bounds of both yycheck and yytname. */
7106 int yychecklim
= YYLAST
- yyn
+ 1;
7107 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7109 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7110 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7111 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7113 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7119 yyarg
[yycount
++] = yytokenName (yyx
);
7121 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7122 yysize_overflow
|= yysz
< yysize
;
7131 #define YYCASE_(N, S) \
7135 YYCASE_(0, YY_("syntax error"));
7136 YYCASE_(1, YY_("syntax error, unexpected %s"));
7137 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7138 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7139 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7140 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7145 size_t yysz
= yysize
+ strlen (yyformat
);
7146 yysize_overflow
|= yysz
< yysize
;
7150 if (!yysize_overflow
)
7151 yymsg
= (char *) YYMALLOC (yysize
);
7157 while ((*yyp
= *yyformat
))
7159 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7161 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7170 yyerror (P
, tokens
, index
, yymsg
);
7175 yyerror (P
, tokens
, index
, YY_("syntax error"));
7176 yyMemoryExhausted (yystackp
);
7179 #endif /* YYERROR_VERBOSE */
7183 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7184 yylval, and yylloc are the syntactic category, semantic value, and location
7185 of the lookahead. */
7187 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7192 if (yystackp
->yyerrState
== 3)
7193 /* We just shifted the error token and (perhaps) took some
7194 reductions. Skip tokens until we can proceed. */
7198 if (yychar
== YYEOF
)
7199 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7200 if (yychar
!= YYEMPTY
)
7202 yytoken
= YYTRANSLATE (yychar
);
7203 yydestruct ("Error: discarding",
7204 yytoken
, &yylval
, P
, tokens
, index
);
7206 YYDPRINTF ((stderr
, "Reading a token: "));
7207 yychar
= yylex (&yylval
, P
, tokens
, index
);
7208 if (yychar
<= YYEOF
)
7210 yychar
= yytoken
= YYEOF
;
7211 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7215 yytoken
= YYTRANSLATE (yychar
);
7216 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7218 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7219 if (yypact_value_is_default (yyj
))
7222 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7224 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7227 else if (! yytable_value_is_error (yytable
[yyj
]))
7231 /* Reduce to one stack. */
7232 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7233 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7235 if (yyk
>= yystackp
->yytops
.yysize
)
7236 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7237 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7238 yymarkStackDeleted (yystackp
, yyk
);
7239 yyremoveDeletes (yystackp
);
7240 yycompressStack (yystackp
);
7242 /* Now pop stack until we find a state that shifts the error token. */
7243 yystackp
->yyerrState
= 3;
7244 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7246 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7247 yyj
= yypact
[yys
->yylrState
];
7248 if (! yypact_value_is_default (yyj
))
7251 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7252 && yyisShiftAction (yytable
[yyj
]))
7254 /* Shift the error token. */
7255 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7256 &yylval
, &yyerrloc
);
7257 yyglrShift (yystackp
, 0, yytable
[yyj
],
7258 yys
->yyposn
, &yylval
);
7259 yys
= yystackp
->yytops
.yystates
[0];
7263 if (yys
->yypred
!= YY_NULLPTR
)
7264 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7265 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7266 yystackp
->yynextFree
-= 1;
7267 yystackp
->yyspaceLeft
+= 1;
7269 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7270 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7273 #define YYCHK1(YYE) \
7283 goto yyuser_error; \
7294 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7298 yyGLRStack
* const yystackp
= &yystack
;
7301 YYDPRINTF ((stderr
, "Starting parse\n"));
7304 yylval
= yyval_default
;
7306 /* User initialization code. */
7307 #line 114 "src/parser_proc_grammar.y" /* glr.c:2270 */
7311 #line 7312 "src/parser_proc.c" /* glr.c:2270 */
7313 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7314 goto yyexhaustedlab
;
7315 switch (YYSETJMP (yystack
.yyexception_buffer
))
7318 case 1: goto yyabortlab
;
7319 case 2: goto yyexhaustedlab
;
7320 default: goto yybuglab
;
7322 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7327 /* For efficiency, we have two loops, the first of which is
7328 specialized to deterministic operation (single stack, no
7329 potential ambiguity). */
7335 const short int* yyconflicts
;
7337 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7338 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7339 if (yystate
== YYFINAL
)
7341 if (yyisDefaultedState (yystate
))
7343 yyrule
= yydefaultAction (yystate
);
7347 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7350 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7355 if (yychar
== YYEMPTY
)
7357 YYDPRINTF ((stderr
, "Reading a token: "));
7358 yychar
= yylex (&yylval
, P
, tokens
, index
);
7361 if (yychar
<= YYEOF
)
7363 yychar
= yytoken
= YYEOF
;
7364 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7368 yytoken
= YYTRANSLATE (yychar
);
7369 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7372 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7373 if (*yyconflicts
!= 0)
7375 if (yyisShiftAction (yyaction
))
7377 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7380 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7381 if (0 < yystack
.yyerrState
)
7382 yystack
.yyerrState
-= 1;
7384 else if (yyisErrorAction (yyaction
))
7387 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7391 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7397 yySymbol yytoken_to_shift
;
7400 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7401 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7403 /* yyprocessOneStack returns one of three things:
7405 - An error flag. If the caller is yyprocessOneStack, it
7406 immediately returns as well. When the caller is finally
7407 yyparse, it jumps to an error label via YYCHK1.
7409 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7410 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7411 yyparse's following invocation of yyremoveDeletes will remove
7414 - yyok, when ready to shift a token.
7416 Except in the first case, yyparse will invoke yyremoveDeletes and
7417 then shift the next token onto all remaining stacks. This
7418 synchronization of the shift (that is, after all preceding
7419 reductions on all stacks) helps prevent double destructor calls
7420 on yylval in the event of memory exhaustion. */
7422 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7423 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7424 yyremoveDeletes (&yystack
);
7425 if (yystack
.yytops
.yysize
== 0)
7427 yyundeleteLastStack (&yystack
);
7428 if (yystack
.yytops
.yysize
== 0)
7429 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7430 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7431 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7433 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7437 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7438 a copy of yylval will already be on stack 0 in the event of a
7439 failure in the following loop. Thus, yychar is set to YYEMPTY
7440 before the loop to make sure the user destructor for yylval isn't
7442 yytoken_to_shift
= YYTRANSLATE (yychar
);
7445 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7448 const short int* yyconflicts
;
7449 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7450 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7452 /* Note that yyconflicts were handled by yyprocessOneStack. */
7453 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7454 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7455 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7457 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7458 (unsigned long int) yys
,
7459 yystack
.yytops
.yystates
[yys
]->yylrState
));
7462 if (yystack
.yytops
.yysize
== 1)
7464 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7465 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7466 yycompressStack (&yystack
);
7472 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7473 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7489 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7494 if (yychar
!= YYEMPTY
)
7495 yydestruct ("Cleanup: discarding lookahead",
7496 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7498 /* If the stack is well-formed, pop the stack until it is empty,
7499 destroying its entries as we go. But free the stack regardless
7500 of whether it is well-formed. */
7501 if (yystack
.yyitems
)
7503 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7506 size_t yysize
= yystack
.yytops
.yysize
;
7508 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7511 while (yystates
[yyk
])
7513 yyGLRState
*yys
= yystates
[yyk
];
7514 if (yys
->yypred
!= YY_NULLPTR
)
7515 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7516 yystates
[yyk
] = yys
->yypred
;
7517 yystack
.yynextFree
-= 1;
7518 yystack
.yyspaceLeft
+= 1;
7523 yyfreeGLRStack (&yystack
);
7529 /* DEBUGGING ONLY */
7532 yy_yypstack (yyGLRState
* yys
)
7536 yy_yypstack (yys
->yypred
);
7537 YYFPRINTF (stderr
, " -> ");
7539 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7540 (unsigned long int) yys
->yyposn
);
7544 yypstates (yyGLRState
* yyst
)
7546 if (yyst
== YY_NULLPTR
)
7547 YYFPRINTF (stderr
, "<null>");
7550 YYFPRINTF (stderr
, "\n");
7554 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7556 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7559 #define YYINDEX(YYX) \
7560 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7564 yypdumpstack (yyGLRStack
* yystackp
)
7566 yyGLRStackItem
* yyp
;
7568 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7570 YYFPRINTF (stderr
, "%3lu. ",
7571 (unsigned long int) (yyp
- yystackp
->yyitems
));
7572 if (*(yybool
*) yyp
)
7574 YYASSERT (yyp
->yystate
.yyisState
);
7575 YYASSERT (yyp
->yyoption
.yyisState
);
7576 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7577 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7578 (unsigned long int) yyp
->yystate
.yyposn
,
7579 (long int) YYINDEX (yyp
->yystate
.yypred
));
7580 if (! yyp
->yystate
.yyresolved
)
7581 YYFPRINTF (stderr
, ", firstVal: %ld",
7582 (long int) YYINDEX (yyp
->yystate
7583 .yysemantics
.yyfirstVal
));
7587 YYASSERT (!yyp
->yystate
.yyisState
);
7588 YYASSERT (!yyp
->yyoption
.yyisState
);
7589 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7590 yyp
->yyoption
.yyrule
- 1,
7591 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7592 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7594 YYFPRINTF (stderr
, "\n");
7596 YYFPRINTF (stderr
, "Tops:");
7597 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7598 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7599 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7600 YYFPRINTF (stderr
, "\n");
7608 /* Substitute the variable and function names. */
7609 #define yyparse psi_parser_proc_parse
7610 #define yylex psi_parser_proc_lex
7611 #define yyerror psi_parser_proc_error
7612 #define yylval psi_parser_proc_lval
7613 #define yychar psi_parser_proc_char
7614 #define yydebug psi_parser_proc_debug
7615 #define yynerrs psi_parser_proc_nerrs
7617 #line 2024 "src/parser_proc_grammar.y" /* glr.c:2584 */
7622 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7624 struct psi_token
*token
;
7626 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7627 if (P
->flags
& PSI_DEBUG
) {
7628 psi_token_dump(2, token
);
7631 *((struct psi_token
**)lvalp
) = token
;
7635 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7641 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7643 struct psi_token
*T
= NULL
;
7652 psi_plist_get(tokens
, last
, &T
);
7654 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7656 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);