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 */
103 #define PSI_PARSER_PROC_DEBUG 1
105 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
106 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
108 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
112 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
114 P
->structs
= psi_plist_add(P
->structs
, &strct
);
116 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
120 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
122 P
->unions
= psi_plist_add(P
->unions
, &u
);
124 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
128 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
130 P
->enums
= psi_plist_add(P
->enums
, &e
);
132 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
136 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
138 P
->types
= psi_plist_add(P
->types
, &def
);
140 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
143 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
145 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
148 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
151 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
153 P
->decls
= psi_plist_add(P
->decls
, &decl
);
155 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
158 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
160 P
->impls
= psi_plist_add(P
->impls
, &impl
);
165 #line 166 "src/parser_proc.c" /* glr.c:264 */
172 # if defined YYENABLE_NLS && YYENABLE_NLS
174 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
175 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
179 # define YY_(Msgid) Msgid
187 # define YYMALLOC malloc
190 # define YYREALLOC realloc
193 #define YYSIZEMAX ((size_t) -1)
198 typedef unsigned char yybool
;
205 # define YYJMP_BUF jmp_buf
206 # define YYSETJMP(Env) setjmp (Env)
208 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
212 # if (defined __GNUC__ \
213 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
214 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
215 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
217 # define YY_ATTRIBUTE(Spec) /* empty */
221 #ifndef YY_ATTRIBUTE_PURE
222 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
225 #ifndef YY_ATTRIBUTE_UNUSED
226 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
229 #if !defined _Noreturn \
230 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
231 # if defined _MSC_VER && 1200 <= _MSC_VER
232 # define _Noreturn __declspec (noreturn)
234 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
238 /* Suppress unused-variable warnings by "using" E. */
239 #if ! defined lint || defined __GNUC__
240 # define YYUSE(E) ((void) (E))
242 # define YYUSE(E) /* empty */
245 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
246 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
247 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
248 _Pragma ("GCC diagnostic push") \
249 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
250 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
251 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
252 _Pragma ("GCC diagnostic pop")
254 # define YY_INITIAL_VALUE(Value) Value
256 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
257 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
258 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
260 #ifndef YY_INITIAL_VALUE
261 # define YY_INITIAL_VALUE(Value) /* Nothing. */
266 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
269 /* YYFINAL -- State number of the termination state. */
271 /* YYLAST -- Last index in YYTABLE. */
274 /* YYNTOKENS -- Number of terminals. */
275 #define YYNTOKENS 135
276 /* YYNNTS -- Number of nonterminals. */
278 /* YYNRULES -- Number of rules. */
280 /* YYNRULES -- Number of states. */
281 #define YYNSTATES 893
282 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
284 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
285 accessed by $0, $-1, etc., in any rule. */
288 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
290 #define YYMAXUTOK 389
292 #define YYTRANSLATE(YYX) \
293 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
295 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
296 static const unsigned char yytranslate
[] =
298 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
303 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
304 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
305 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
312 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
313 2, 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, 1, 2, 3, 4,
324 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
325 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
326 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
327 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
328 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
329 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
330 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
331 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
332 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
333 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
334 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
335 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
336 125, 126, 127, 128, 129, 130, 131, 132, 133, 134
340 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
341 static const unsigned short int yyrline
[] =
343 0, 380, 380, 380, 380, 380, 380, 380, 380, 380,
344 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
345 381, 381, 381, 381, 382, 382, 382, 382, 382, 382,
346 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
347 382, 382, 383, 383, 383, 383, 383, 383, 383, 383,
348 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
349 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
350 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
351 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
352 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
353 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
354 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
355 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
356 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
357 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
358 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
359 383, 383, 383, 383, 383, 383, 383, 384, 384, 384,
360 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
361 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
362 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
363 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
364 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
365 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
366 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
367 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
368 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
369 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
370 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
371 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
372 388, 389, 392, 393, 396, 397, 398, 399, 405, 413,
373 416, 419, 420, 421, 424, 427, 430, 433, 439, 445,
374 448, 454, 477, 481, 485, 490, 494, 498, 502, 509,
375 510, 514, 515, 519, 520, 521, 525, 526, 530, 531,
376 535, 536, 537, 541, 542, 546, 547, 548, 549, 550,
377 551, 552, 556, 561, 569, 572, 575, 576, 582, 587,
378 595, 598, 602, 606, 613, 617, 621, 625, 630, 640,
379 650, 655, 660, 664, 670, 679, 682, 686, 690, 696,
380 703, 709, 710, 711, 712, 716, 719, 750, 757, 758,
381 759, 760, 764, 767, 776, 782, 785, 791, 794, 800,
382 801, 809, 820, 829, 838, 846, 847, 851, 861, 870,
383 882, 885, 888, 892, 896, 900, 905, 910, 918, 919,
384 920, 923, 929, 932, 935, 941, 942, 943, 944, 945,
385 946, 947, 948, 952, 953, 957, 960, 963, 969, 972,
386 975, 983, 995, 998, 1001, 1008, 1011, 1021, 1024, 1027,
387 1030, 1031, 1032, 1036, 1039, 1042, 1053, 1056, 1062, 1063,
388 1067, 1068, 1072, 1076, 1082, 1083, 1089, 1092, 1098, 1101,
389 1104, 1110, 1114, 1115, 1119, 1120, 1124, 1125, 1132, 1133,
390 1137, 1144, 1155, 1162, 1173, 1180, 1191, 1202, 1216, 1217,
391 1229, 1232, 1235, 1238, 1245, 1248, 1254, 1263, 1275, 1283,
392 1286, 1296, 1309, 1314, 1331, 1341, 1351, 1354, 1358, 1364,
393 1378, 1395, 1398, 1404, 1411, 1421, 1428, 1431, 1437, 1442,
394 1450, 1454, 1458, 1462, 1466, 1470, 1477, 1481, 1485, 1489,
395 1493, 1499, 1503, 1510, 1513, 1524, 1528, 1532, 1538, 1551,
396 1564, 1577, 1580, 1587, 1590, 1593, 1596, 1602, 1606, 1613,
397 1616, 1619, 1629, 1632, 1638, 1639, 1645, 1648, 1654, 1655,
398 1665, 1668, 1675, 1680, 1685, 1695, 1698, 1704, 1707, 1713,
399 1720, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735,
400 1739, 1742, 1748, 1751, 1754, 1757, 1760, 1766, 1770, 1778,
401 1779, 1783, 1790, 1793, 1796, 1800, 1803, 1806, 1812, 1816,
402 1824, 1831, 1839, 1847, 1848, 1849, 1850, 1851, 1852, 1853,
403 1854, 1855, 1856, 1860, 1863, 1869, 1872, 1878, 1879, 1883,
404 1886, 1892, 1895, 1901, 1908, 1915, 1918, 1921, 1928, 1933,
405 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1952, 1955,
406 1961, 1964, 1970, 1977, 1978, 1982, 1989, 1992, 1998, 2006,
411 #if YYDEBUG || YYERROR_VERBOSE || 1
412 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
413 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
414 static const char *const yytname
[] =
416 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
417 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
418 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "INT8", "UINT8",
419 "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "NULL", "TRUE",
420 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
421 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
422 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
423 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
424 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
425 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
426 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
427 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
428 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
429 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
430 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "PRE_ASSERT",
431 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
432 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
433 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
434 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
435 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
436 "BINARY", "UNARY", "$accept", "binary_op_token", "unary_op_token",
437 "name_token", "any_noeol_token", "any_nobrace_token", "file", "blocks",
438 "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
439 "cpp_message_token", "cpp_include_token", "cpp_header_token",
440 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
441 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
442 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
443 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
444 "cpp_macro_call_arg_list", "constant", "constant_type",
445 "constant_type_token", "impl_def_val", "impl_def_val_token",
446 "decl_typedef", "typedef", "typedef_anon", "typedef_decl",
447 "typedef_anon_decl", "qualified_decl_type", "decl_type",
448 "decl_type_complex", "decl_type_simple", "decl_real_type",
449 "decl_stdint_type", "int_signed", "int_width", "decl_int_type",
450 "int_signed_types", "signed_short_types", "signed_long_types",
451 "int_width_types", "decl_stmt", "decl_asm", "ignored_quoted_strings",
452 "decl_ext_var_stmt", "decl_ext_var", "decl_ext_var_list", "decl_vars",
453 "ignored_decl", "ignored_decl_body", "ignored_decl_body_stmts",
454 "ignored_decl_body_stmt", "decl", "decl_body", "decl_func_body",
455 "decl_functor_body", "decl_functor", "decl_func", "decl_args",
456 "decl_anon_arg", "decl_arg", "decl_var", "decl_union", "decl_struct",
457 "decl_struct_args", "struct_args_block", "struct_args",
458 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
459 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
460 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
461 "struct_name", "optional_name", "decl_layout", "align_and_size",
462 "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl",
463 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
464 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
465 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
466 "let_func", "let_func_token", "let_func_exps", "let_exps",
467 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
468 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
469 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
470 "free_exp", "reference", "byref", YY_NULLPTR
474 #define YYPACT_NINF -722
475 #define YYTABLE_NINF -640
477 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
479 static const short int yypact
[] =
481 481, -722, -722, -722, -722, -722, 47, -722, -722, 3033,
482 -722, -722, -722, -722, -722, -722, -722, -722, 3652, 726,
483 -722, -722, 477, 1491, 3454, 3454, 3454, 1825, 48, 278,
484 12, -722, 1620, 3686, 93, 481, -722, -722, -722, -722,
485 -722, 3109, -722, -722, -722, -722, -722, 91, 147, -722,
486 -722, -722, 64, -722, -21, -722, -722, 70, 84, 122,
487 -722, -722, -722, -722, 120, -722, 126, -722, -722, -722,
488 -722, -722, 837, -722, 115, 80, -722, -722, -722, -722,
489 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
490 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
491 -722, -722, -722, -722, -722, 685, -18, -722, -722, -722,
492 -722, 3454, 3454, 3454, 2065, -722, 59, -722, -722, -722,
493 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
494 1357, -722, -722, -722, -722, 158, 970, 970, 14, -722,
495 1357, 2864, 3033, 3454, 3454, 3731, 160, -722, 2984, -722,
496 -722, 162, 3454, 163, 163, 82, 82, 161, -722, -722,
497 178, 179, -722, 115, 181, -722, -722, 174, 3686, 171,
498 172, -722, 187, -722, 3765, 1528, -21, 171, -722, -722,
499 173, -722, 180, 3454, -722, 217, -722, 68, -722, -722,
500 91, -722, -722, 184, 186, 3810, 3810, 3454, 258, 3454,
501 -722, -722, 115, -722, -722, -722, -722, -722, -722, 3109,
502 -722, -722, -722, -722, -722, -722, -722, 102, 970, -722,
503 -722, -722, -722, -722, -722, -722, -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, -722, -722, -722, -722, -722,
507 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
508 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
509 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
510 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
511 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
512 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
513 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
514 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
515 -722, -722, -722, -722, -722, -722, -722, -722, 970, -722,
516 -722, -722, -722, -722, -722, -722, -722, 19, 2864, -722,
517 -722, -722, -722, 3158, 2864, 188, 4043, -722, 190, 98,
518 -722, 103, -722, -722, -722, -722, -722, 191, 189, 189,
519 36, 36, 3278, 192, -722, 171, 1236, -722, 258, 195,
520 198, 199, -722, 2384, -722, 115, 173, -722, -722, -722,
521 233, -722, -722, 208, -722, 15, 2665, 3109, 116, -722,
522 -722, 136, 197, 77, -722, 3109, 2504, 3109, 3454, 132,
523 -722, -722, 159, -722, -722, -722, -722, -722, 2624, -722,
524 202, 3454, 213, -722, 3454, 234, -722, -722, -722, -722,
525 3844, 227, -722, 3889, 3454, -722, -722, 2864, -722, -722,
526 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
527 -722, -722, -722, -722, -722, -722, 2864, 2864, -722, 236,
528 1570, 3109, 3109, -722, -722, -722, -722, 115, -722, 1784,
529 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
530 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
531 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
532 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
533 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
534 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
535 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
536 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
537 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
538 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
539 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
540 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
541 -722, -722, -722, -722, -722, -722, 1103, -722, 166, 73,
542 -722, -722, -722, -722, -722, 1664, -722, 2624, -722, 2965,
543 -722, -722, 3454, -722, -722, -722, 26, 685, 115, 180,
544 173, 3573, 173, 3607, 2624, 3454, -722, 225, 238, 4067,
545 230, 240, -722, 241, 248, 242, 251, 76, -722, -722,
546 253, 241, -722, -722, 3856, -722, 252, 3109, 3329, 115,
547 255, -722, -722, -722, 264, 4043, 265, 267, 3994, -722,
548 261, 3731, 268, -722, -722, 2744, 1399, 3454, 163, 163,
549 -722, -722, 3454, -722, -722, -722, -722, 271, -722, 4067,
550 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
551 -722, -722, 269, 138, -722, 12, -722, 266, 726, 273,
552 3916, -722, -722, 2624, 2624, 277, -722, -722, 3278, -722,
553 15, 279, -722, -722, 290, 4067, -722, 1904, -722, 2504,
554 -722, 3109, -722, 12, 3109, -722, 3454, -722, -722, -722,
555 -722, -722, -722, 292, 293, -722, -722, -722, -722, 2864,
556 2864, 294, -722, 30, 295, -722, 268, 189, 189, 299,
557 -722, 519, 291, 519, 297, 2624, -722, 4019, -722, -722,
558 173, 173, -722, 231, 214, 301, 4067, -722, -722, -722,
559 -722, 303, 2024, -722, 304, 3109, 142, -722, 970, 3405,
560 4043, 4091, 315, 309, 313, 3109, 326, 295, 3109, 3109,
561 -722, -722, 519, -722, 12, 1784, -722, 2624, -722, -722,
562 301, -722, -722, -722, -722, 327, 2624, 12, -722, 2144,
563 328, 339, -722, -722, -722, -722, 338, 337, 348, 268,
564 340, -722, 344, -722, 20, -722, 4115, 12, 3969, 342,
565 347, -722, 343, -722, -722, -722, 349, 350, -722, 3109,
566 -722, 358, 353, 2624, 1904, 354, -722, 2504, 363, 364,
567 268, 357, 2264, 3943, 225, -722, -722, -722, 360, 2024,
568 -722, -722, 362, 359, -722, 356, 366, 370, -722, -722,
569 1904, -722, 372, -722, 519, 374, 2504, -722, 375, -722,
573 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
574 Performed when YYTABLE does not specify something else to do. Zero
575 means the default is an error. */
576 static const unsigned short int yydefact
[] =
578 290, 428, 425, 429, 423, 424, 426, 412, 413, 0,
579 415, 416, 417, 418, 419, 420, 421, 422, 411, 0,
580 295, 294, 0, 0, 0, 0, 531, 0, 0, 0,
581 639, 296, 0, 0, 0, 291, 292, 298, 297, 299,
582 303, 542, 402, 404, 403, 409, 410, 432, 443, 408,
583 300, 302, 0, 301, 448, 466, 468, 469, 0, 0,
584 478, 305, 304, 306, 0, 307, 0, 427, 414, 33,
585 34, 627, 593, 24, 542, 548, 39, 38, 37, 35,
586 36, 32, 31, 25, 29, 28, 26, 27, 601, 600,
587 598, 596, 597, 599, 595, 594, 602, 30, 625, 623,
588 622, 624, 621, 620, 479, 0, 544, 546, 40, 41,
589 411, 0, 0, 0, 0, 467, 454, 401, 309, 320,
590 317, 319, 321, 322, 333, 330, 331, 328, 334, 329,
591 0, 332, 323, 324, 325, 0, 350, 350, 0, 313,
592 0, 0, 0, 531, 531, 0, 0, 385, 542, 390,
593 488, 389, 0, 537, 537, 405, 406, 407, 528, 371,
594 429, 412, 374, 0, 0, 370, 400, 0, 0, 0,
595 0, 641, 0, 640, 411, 0, 448, 0, 1, 293,
596 539, 489, 0, 543, 433, 437, 435, 439, 430, 444,
597 432, 431, 452, 0, 0, 480, 480, 0, 0, 0,
598 543, 549, 542, 491, 545, 547, 405, 406, 407, 0,
599 453, 336, 337, 338, 340, 341, 339, 335, 350, 315,
600 310, 75, 42, 43, 44, 45, 46, 47, 48, 49,
601 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
602 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
603 70, 71, 72, 73, 74, 165, 166, 76, 77, 78,
604 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
605 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
606 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
607 109, 115, 113, 114, 112, 110, 111, 116, 117, 118,
608 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
609 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
610 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
611 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
612 159, 163, 160, 161, 162, 164, 352, 318, 351, 311,
613 326, 327, 312, 335, 314, 360, 361, 0, 0, 22,
614 23, 20, 21, 0, 0, 363, 316, 362, 479, 405,
615 530, 406, 529, 386, 382, 394, 391, 0, 0, 0,
616 0, 0, 0, 0, 308, 0, 0, 458, 0, 0,
617 0, 0, 459, 0, 493, 542, 539, 438, 434, 440,
618 441, 436, 445, 0, 446, 481, 0, 542, 0, 482,
619 484, 0, 508, 0, 506, 0, 639, 0, 0, 0,
620 633, 634, 0, 570, 573, 572, 574, 575, 0, 576,
621 0, 0, 455, 456, 0, 0, 343, 353, 527, 526,
622 0, 0, 522, 0, 0, 358, 355, 365, 2, 3,
623 4, 5, 6, 7, 8, 9, 10, 11, 13, 12,
624 14, 15, 16, 17, 18, 19, 0, 0, 383, 0,
625 0, 0, 0, 496, 495, 497, 494, 542, 490, 375,
626 460, 200, 167, 168, 169, 170, 171, 172, 173, 174,
627 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
628 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
629 195, 196, 197, 198, 199, 288, 289, 201, 202, 203,
630 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
631 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
632 224, 225, 226, 227, 228, 229, 230, 231, 232, 238,
633 236, 237, 235, 233, 234, 239, 240, 241, 242, 243,
634 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
635 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
636 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
637 274, 275, 276, 277, 278, 279, 280, 281, 282, 286,
638 283, 284, 285, 287, 464, 465, 0, 462, 0, 0,
639 384, 447, 517, 516, 518, 0, 540, 0, 519, 0,
640 510, 520, 0, 492, 442, 450, 0, 487, 0, 485,
641 539, 0, 539, 0, 0, 0, 505, 0, 0, 616,
642 0, 0, 615, 41, 0, 0, 0, 0, 636, 626,
643 0, 0, 550, 571, 0, 477, 0, 0, 344, 542,
644 0, 523, 525, 354, 0, 367, 0, 366, 0, 356,
645 0, 0, 533, 395, 387, 396, 0, 397, 537, 537,
646 393, 392, 0, 378, 379, 380, 381, 0, 377, 376,
647 461, 463, 551, 563, 564, 565, 566, 562, 567, 568,
648 569, 561, 0, 0, 555, 639, 560, 24, 0, 0,
649 0, 514, 541, 0, 0, 0, 451, 449, 486, 472,
650 0, 0, 483, 470, 0, 509, 507, 0, 577, 639,
651 614, 0, 559, 639, 0, 635, 0, 613, 632, 476,
652 457, 345, 348, 0, 346, 524, 521, 359, 364, 0,
653 0, 0, 388, 0, 501, 498, 533, 0, 0, 0,
654 369, 0, 0, 0, 557, 0, 512, 0, 513, 474,
655 539, 539, 582, 0, 31, 30, 587, 588, 583, 585,
656 586, 40, 0, 617, 628, 0, 0, 637, 350, 0,
657 368, 357, 0, 534, 0, 0, 0, 501, 399, 398,
658 475, 552, 0, 556, 639, 375, 511, 0, 473, 471,
659 0, 584, 607, 593, 608, 0, 0, 639, 589, 639,
660 0, 0, 638, 342, 347, 349, 0, 0, 0, 533,
661 502, 499, 0, 553, 0, 558, 515, 639, 0, 603,
662 0, 630, 629, 618, 578, 538, 0, 0, 503, 0,
663 500, 0, 0, 0, 0, 0, 619, 639, 0, 0,
664 533, 0, 609, 0, 519, 605, 581, 579, 604, 0,
665 592, 631, 0, 0, 504, 0, 0, 610, 611, 590,
666 0, 580, 0, 535, 0, 0, 639, 606, 0, 554,
670 /* YYPGOTO[NTERM-NUM]. */
671 static const short int yypgoto
[] =
673 -722, -352, -128, -7, 65, -722, -722, -722, 382, -722,
674 -722, -722, -722, -722, -722, -722, -722, -722, -722, 280,
675 -722, -722, -722, -134, -722, -315, -722, -722, -722, -722,
676 -722, -386, -722, -722, 243, -255, 22, -249, -2, -12,
677 -722, -722, -722, -138, 377, -722, -722, 239, -722, -722,
678 -722, -722, 250, -722, -722, -722, -722, -301, -722, -141,
679 -722, -170, 409, 17, -15, 33, -722, -722, 246, -504,
680 -14, -41, -722, -722, 62, -348, -722, -353, -722, 6,
681 -722, -190, -359, -722, -117, -722, 7, -722, -454, -450,
682 43, -712, -129, -384, -63, -4, -722, 345, -722, 420,
683 -722, -313, -648, -721, -722, 66, -400, -722, -428, -704,
684 38, -312, -722, -722, -666, -722, -722, -722, -722, -722,
685 -722, -722, -691, 39, -387, -722, -722, -722, -722, -722,
686 -722, -274, -29, -680
689 /* YYDEFGOTO[NTERM-NUM]. */
690 static const short int yydefgoto
[] =
692 -1, 714, 617, 180, 346, 604, 34, 35, 36, 37,
693 38, 135, 136, 137, 138, 352, 139, 140, 141, 218,
694 219, 743, 744, 347, 348, 366, 666, 667, 39, 164,
695 165, 687, 688, 40, 146, 672, 673, 674, 41, 42,
696 43, 44, 45, 46, 47, 48, 49, 188, 398, 401,
697 191, 50, 194, 626, 51, 52, 210, 432, 53, 605,
698 606, 607, 54, 55, 56, 150, 58, 59, 408, 409,
699 60, 618, 61, 62, 474, 475, 676, 796, 830, 152,
700 413, 414, 639, 620, 621, 660, 442, 64, 153, 154,
701 158, 754, 378, 394, 182, 434, 106, 107, 65, 66,
702 703, 704, 640, 705, 706, 422, 423, 424, 865, 866,
703 867, 778, 779, 780, 108, 855, 868, 815, 876, 877,
704 425, 426, 641, 642, 109, 820, 842, 427, 428, 429,
708 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
709 positive, shift that token. If negative, reduce the rule whose
710 number is the opposite. If YYTABLE_NINF, syntax error. */
711 static const short int yytable
[] =
713 181, 172, 104, 349, 116, 105, 63, 117, 149, 151,
714 375, 199, 623, 364, 467, 166, 678, 155, 156, 157,
715 679, 148, 653, 777, 367, 379, 380, 381, 387, 643,
716 471, 472, 651, 57, 619, 115, 392, 183, 783, 75,
717 801, 63, 804, 443, 797, 147, 169, 782, 350, 446,
718 177, 57, 732, 438, 439, 74, 67, 764, 68, 440,
719 716, 781, 57, 793, 171, 57, 57, 717, 57, 654,
720 200, 441, 75, 794, 399, 473, 693, 400, 818, 694,
721 470, 833, 167, 695, 436, 696, 697, 698, 699, 700,
722 701, 467, 851, 178, 467, 184, 185, 186, 203, -478,
723 187, 209, 166, 192, 206, 207, 208, 181, 814, -469,
724 -488, 193, -488, 204, 702, 735, 781, 848, 736, 635,
725 689, -537, 636, 217, 195, 377, -537, 722, 841, 722,
726 149, 151, 665, 353, 365, 368, 369, 371, 105, 431,
727 351, -405, -532, 148, 183, 376, -406, -532, 874, 71,
728 649, 668, 669, 189, 4, 5, 764, 630, 631, 382,
729 149, 151, 196, 889, 197, 881, 871, 373, 433, 839,
730 198, 878, 75, 148, 869, 201, 396, 632, 633, 762,
731 763, 410, 410, 822, 657, 385, 370, 372, 781, 852,
732 412, 115, 430, 407, 407, 891, 220, 147, 200, 374,
733 869, 57, -478, 781, 652, -532, 377, 57, 653, -372,
734 -373, 692, 383, 384, 781, 386, 388, 678, 389, 393,
735 395, 679, 678, 397, 403, 404, 679, 435, 447, 468,
736 364, 812, 813, 470, 469, 609, 364, 610, 611, 624,
737 479, 367, 625, 655, 480, 634, 719, 367, 723, 98,
738 99, 100, 101, 102, 103, 657, 710, 662, 711, 415,
739 416, 417, 418, 419, 420, 421, 415, 416, 417, 418,
740 419, 420, 421, 727, 658, 725, 670, 728, 729, 730,
741 732, 731, 1, 2, 3, 4, 5, 6, 7, 8,
742 733, 734, 737, 739, 751, 9, 746, 10, 11, 12,
743 13, 14, 15, 16, 17, 747, 748, -24, 110, 749,
744 760, 753, 761, 467, 765, 19, 467, 467, 769, 364,
745 770, 88, 89, 90, 91, 92, 93, 94, 95, 96,
746 367, 771, 622, 788, 802, 789, 792, 795, 364, 364,
747 800, 816, 643, 817, 629, 805, 819, 810, 826, 367,
748 367, 365, 827, 828, 767, 768, 445, 365, 415, 416,
749 417, 418, 419, 420, 421, 831, 181, 837, 776, 843,
750 111, 112, 113, 114, 637, 478, 645, 30, 844, 845,
751 846, 847, 849, 850, 854, 857, 808, 809, 856, 858,
752 861, 200, 859, 862, 166, 870, 872, 873, 875, 884,
753 883, 627, 880, 183, 882, 888, 806, 885, 168, 798,
754 799, 646, 886, 437, 682, 890, 892, 179, 390, 835,
755 354, 756, 752, 776, 656, 190, 391, 396, 659, 402,
756 680, 681, 643, 786, 790, 791, 691, 664, 467, 467,
757 365, 176, 411, 476, 832, 726, 689, 661, 836, 170,
758 803, 205, 887, 638, 608, 149, 151, 838, 650, 365,
759 365, 811, 787, 0, 0, 0, 0, 0, 675, 0,
760 643, 0, 0, 200, 0, 643, 677, 0, 0, 0,
761 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
762 6, 7, 8, 0, 863, 776, 0, 0, 9, 643,
763 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
764 776, 18, 0, 0, 0, 118, 0, 0, 19, 20,
765 21, 776, 693, 0, 0, 694, 0, 0, 0, 695,
766 22, 696, 697, 698, 699, 700, 701, 375, 0, 0,
767 0, 0, 0, 0, 0, 0, 0, 0, 0, 757,
768 758, 119, 120, 121, 122, 123, 124, 125, 126, 127,
769 128, 129, 130, 0, 131, 132, 133, 134, 0, 0,
770 0, 0, 23, 24, 25, 26, 27, 28, 29, 0,
771 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 0, 0, 0, 745, 0, 0, 0,
773 0, 0, 0, 0, 31, 0, 0, 0, 0, 32,
774 0, 33, 0, 709, 0, 715, 740, 410, 0, 410,
775 203, 364, 364, 0, 718, 0, 0, 0, 412, 407,
776 0, 407, 367, 367, 181, 0, 0, 0, 0, 0,
777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 742, 0, 0, 823, 200, 149, 151, 0, 0,
779 0, 149, 151, 0, 0, 0, 0, 0, 0, 675,
780 376, 183, 0, 0, 675, 759, 0, 677, 0, 0,
781 0, 0, 677, 0, 0, 0, 0, 0, 69, 0,
782 784, 0, 0, 433, 0, 0, 166, 70, 0, 0,
783 0, 0, 71, 72, 785, 0, 0, 0, 0, 0,
784 0, 478, 0, 0, 0, 73, 627, 0, 0, 0,
785 0, 0, 0, 0, 0, 202, 0, 0, 0, 646,
786 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
787 0, 0, 365, 365, 821, 10, 11, 12, 13, 14,
788 15, 16, 17, 0, 829, 0, 110, 680, 681, 76,
789 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 834, 0, 0, 0, 0,
791 0, 81, 825, 82, 83, 84, 85, 86, 87, 0,
792 0, 0, 88, 89, 90, 91, 92, 93, 94, 95,
793 96, 97, 98, 99, 100, 101, 102, 103, 860, 0,
794 0, 0, 0, 864, 0, 0, 0, 0, 111, 112,
795 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, -593, 0, 864,
797 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
798 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
799 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
800 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
801 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
802 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
803 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
804 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
805 -593, -593, -593, -593, -593, 0, -593, 0, -593, -593,
806 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
807 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
808 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
809 -593, 0, -593, -593, 0, -593, -593, -593, -593, -593,
810 221, 0, 0, 222, 223, 224, 225, 226, 227, 228,
811 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
812 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
813 249, 250, 251, 252, 253, 254, 255, 256, 0, 257,
814 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
815 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
816 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
817 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
818 298, 299, 300, 301, 302, 303, 304, 305, 0, 306,
819 0, 307, 308, 309, 310, 311, 312, 313, 314, 315,
820 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
821 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
822 336, 337, 338, 339, 0, 0, 340, 0, 341, 342,
823 343, 344, 345, 481, 0, 0, 482, 483, 484, 485,
824 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
825 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
826 506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
827 516, 0, 517, 518, 519, 520, 521, 386, 690, 522,
828 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
829 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
830 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
831 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
832 563, 0, 564, 0, 565, 566, 567, 568, 569, 570,
833 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
834 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
835 591, 592, 593, 594, 595, 596, 597, 0, 0, 598,
836 0, 599, 600, 601, 602, 603, 481, 0, 0, 482,
837 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
838 493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
839 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
840 513, 514, 515, 516, 0, 517, 518, 519, 520, 521,
841 386, 0, 522, 523, 524, 525, 526, 527, 528, 529,
842 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
843 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
844 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
845 560, 561, 562, 563, 0, 564, 0, 565, 566, 567,
846 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
847 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
848 588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
849 69, 0, 598, 0, 599, 600, 601, 602, 603, 70,
850 0, 0, 0, 0, 71, 72, 0, 0, 0, 0,
851 0, 0, 0, 0, 211, 212, 213, 73, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
854 8, 0, 0, 0, 0, 0, 9, 0, 10, 11,
855 12, 13, 14, 15, 16, 17, 0, 0, 0, 110,
856 0, 76, 77, 78, 79, 80, 19, 0, 0, 0,
857 0, 0, 0, 0, 755, 0, 0, 0, 0, 0,
858 0, 0, 0, 81, 0, 82, 83, 84, 85, 86,
859 87, 0, 0, 0, 88, 89, 90, 91, 92, 93,
860 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
861 0, 0, 0, 0, 0, 214, 0, 215, 216, 0,
862 0, 143, 144, 26, 114, 1, 2, 3, 4, 5,
863 6, 7, 8, 0, 0, 0, 0, 0, 142, 0,
864 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
865 0, 110, 0, 0, 0, 0, 0, 671, 19, 0,
866 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
867 0, 0, 0, 0, 0, 9, 0, 10, 11, 12,
868 13, 14, 15, 16, 17, 0, 0, 0, 110, 0,
869 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
870 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
871 7, 8, 0, 143, 144, 26, 114, 9, 0, 10,
872 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
873 110, 0, 0, 0, 0, 0, 0, 19, 0, 0,
874 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
875 143, 144, 26, 114, 1, 2, 3, 4, 5, 6,
876 7, 8, 0, 0, 0, 0, 0, 9, 0, 10,
877 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
878 174, 0, 0, 0, 0, 0, 145, 19, 0, 0,
879 0, 0, 143, 144, 26, 114, 0, 69, 1, 2,
880 3, 4, 5, 6, 7, 8, 70, 0, 0, 0,
881 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
882 17, 0, 0, 0, 707, 612, 0, 613, 671, 614,
883 357, 19, 0, 0, 615, 0, 0, 0, 0, 0,
884 0, 175, 111, 112, 113, 114, 0, 0, 0, 359,
885 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
887 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
888 0, 0, 0, 0, 0, 0, 111, 112, 113, 708,
889 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
890 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
891 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
892 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
893 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
894 0, 683, 684, 685, 73, 612, 0, 613, 686, 614,
895 357, 0, 0, 0, 615, 0, 0, 0, 159, 1,
896 2, 160, 4, 5, 6, 161, 8, 162, 0, 359,
897 360, 75, 163, 0, 10, 11, 12, 13, 14, 15,
898 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
899 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
901 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
902 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
903 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
904 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
905 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
906 0, 772, 0, 0, 73, 612, 0, 613, 0, 614,
907 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
909 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
911 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 81, 773, 774, 83, 84, 85, 86, 87, 0, 0,
914 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
915 775, 98, 99, 100, 101, 102, 103, 69, 0, 0,
916 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
917 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
918 0, 772, 0, 0, 73, 612, 0, 613, 0, 614,
919 357, 0, 0, 0, 615, 0, 0, 0, 0, 1,
920 2, 3, 4, 5, 6, 7, 8, 0, 0, 359,
921 360, 75, 163, 0, 10, 11, 12, 13, 14, 15,
922 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
923 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 81, 773, 774, 83, 84, 85, 86, 87, 0, 0,
926 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
927 775, 98, 99, 100, 101, 102, 103, 69, 0, 0,
928 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
929 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
931 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
932 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
933 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 361, 362, 0, 0, 840, 0, 76, 77,
935 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
938 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
939 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
940 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
941 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
942 0, 0, 0, 0, 73, 612, -639, 613, 0, 614,
943 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
945 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
947 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
950 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
951 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
952 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
953 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
955 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
956 0, 616, 0, 0, 0, 0, 0, 0, 0, 359,
957 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
958 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
959 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
961 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
962 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
963 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
964 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
965 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
966 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
967 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
968 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
969 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
970 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
971 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
973 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
974 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
975 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
976 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
977 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
979 357, 0, 0, 0, 615, 0, 0, 0, 0, 1,
980 2, 3, 4, 5, 6, 7, 8, 0, 0, 359,
981 360, 75, 628, 0, 10, 11, 12, 13, 14, 15,
982 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
983 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
985 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
986 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
987 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
988 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
989 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
990 17, 0, 0, 0, 73, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, -542, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
993 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0, 76, 77,
995 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
998 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
999 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1000 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1001 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
1002 0, 0, 0, 0, 73, 0, 0, 355, 0, 356,
1003 357, 0, 0, 0, 358, 0, 0, 0, 0, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, 0, 359,
1005 360, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
1007 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1008 363, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1010 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1011 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1012 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1013 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
1014 17, 0, 712, 0, 73, 448, 449, 450, 451, 452,
1015 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1016 463, 464, 465, 0, 0, 0, 69, 0, 713, 0,
1017 0, 75, 0, 0, 0, 70, 0, 0, 0, 0,
1018 71, 72, 0, 0, 0, 0, 0, 0, 76, 77,
1019 78, 79, 80, 73, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
1021 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1022 75, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1023 97, 98, 99, 100, 101, 102, 103, 76, 77, 78,
1024 79, 80, 69, 0, 0, 0, 0, 0, 0, 0,
1025 0, 70, 0, 0, 0, 0, 71, 72, 0, 81,
1026 0, 82, 83, 84, 85, 86, 87, 0, 0, 73,
1027 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1028 98, 99, 100, 101, 102, 103, 0, 0, 0, 0,
1029 0, 69, 0, 0, 0, 0, 75, 0, 0, 0,
1030 70, 0, 0, 0, 0, 71, 72, 0, 0, 0,
1031 0, 0, 0, 76, 77, 78, 79, 80, 73, 0,
1032 0, 0, 0, 0, 0, 0, 0, 0, 444, 0,
1033 0, 0, 0, 0, 0, 81, 0, 82, 83, 84,
1034 85, 86, 87, 0, 0, 0, 88, 89, 90, 91,
1035 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1036 102, 103, 76, 77, 78, 79, 80, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
1039 86, 87, 0, 0, 0, 88, 89, 90, 91, 92,
1040 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1041 103, 69, 0, 0, 0, 0, 0, 0, 0, 0,
1042 70, 0, 0, 0, 0, 71, 72, 0, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0, 73, 0,
1044 0, 0, 0, 0, 0, 0, 0, 0, 477, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1046 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
1047 0, 70, 0, 0, 0, 0, 71, 72, 0, 0,
1048 0, 0, 76, 77, 78, 79, 80, 0, 0, 73,
1049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
1051 86, 87, 0, 0, 0, 88, 89, 90, 91, 92,
1052 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1053 103, 741, 0, 76, 77, 78, 79, 80, 69, 0,
1054 0, 0, 0, 0, 0, 0, 0, 70, 0, 0,
1055 0, 0, 71, 72, 0, 81, 0, 82, 83, 84,
1056 85, 86, 87, 0, 0, 73, 88, 89, 90, 91,
1057 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1058 102, 103, 0, 0, 0, 0, 0, 69, 0, 0,
1059 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1060 0, 71, 72, 0, 0, 0, 0, 824, 0, 76,
1061 77, 78, 79, 80, 73, 0, 0, 0, 0, 0,
1062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 81, 0, 82, 83, 84, 85, 86, 87, 0,
1064 0, 0, 88, 89, 90, 91, 92, 93, 94, 95,
1065 96, 97, 98, 99, 100, 101, 102, 103, 76, 77,
1066 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1068 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1069 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1070 97, 98, 99, 100, 101, 102, 103, 1, 2, 3,
1071 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
1072 720, 0, 10, 11, 12, 13, 14, 15, 16, 17,
1073 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
1074 19, 1, 2, 3, 4, 5, 6, 7, 8, 0,
1075 0, 0, 0, 0, 720, 0, 10, 11, 12, 13,
1076 14, 15, 16, 17, 0, 0, 0, 110, 0, 0,
1077 0, 0, 0, 0, 19, 721, 0, 0, 0, 0,
1078 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
1079 5, 6, 7, 8, 0, 111, 112, 113, 406, 9,
1080 0, 10, 11, 12, 13, 14, 15, 16, 17, 724,
1081 0, 0, 110, 0, 0, 0, 0, 0, 0, 19,
1082 1, 2, 3, 4, 5, 6, 7, 8, 0, 111,
1083 112, 113, 406, 9, 0, 10, 11, 12, 13, 14,
1084 15, 16, 17, 0, 0, 0, 110, 0, 0, 0,
1085 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
1086 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
1087 6, 7, 8, 0, 111, 112, 113, 114, 9, 0,
1088 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
1089 0, 110, 0, 0, 0, 0, 0, 0, 19, 1,
1090 2, 3, 4, 5, 6, 7, 8, 0, 111, 112,
1091 113, 114, 9, 0, 10, 11, 12, 13, 14, 15,
1092 16, 17, 0, 0, 0, 110, 0, 0, 0, 0,
1093 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
1094 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
1095 7, 8, 0, 143, 144, 26, 114, 405, 0, 10,
1096 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
1097 110, 0, 0, 0, 0, 0, 0, 19, 1, 2,
1098 3, 4, 5, 6, 7, 8, 0, 111, 112, 113,
1099 114, 0, 0, 10, 11, 12, 13, 14, 15, 16,
1100 17, 0, 0, 0, 110, 0, 0, 0, 438, 439,
1101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1102 0, 0, 0, 0, 0, 738, 441, 0, 0, 0,
1103 0, 0, 111, 112, 113, 406, 448, 449, 450, 451,
1104 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1105 462, 463, 464, 465, 0, 0, 0, 0, 0, 713,
1106 663, 0, 0, 0, 0, 0, 111, 112, 113, 448,
1107 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1108 459, 460, 461, 462, 463, 464, 465, 766, 0, 0,
1109 0, 0, 466, 0, 0, 0, 448, 449, 450, 451,
1110 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1111 462, 463, 464, 465, 879, 0, 0, 0, 0, 713,
1112 0, 0, 0, 448, 449, 450, 451, 452, 453, 454,
1113 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1114 465, 853, 0, 0, 0, 0, 713, 0, 0, 448,
1115 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1116 459, 460, 461, 462, 463, 464, 465, 750, 0, 0,
1117 0, 0, 713, 0, 448, 449, 450, 451, 452, 453,
1118 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1119 464, 465, 807, 0, 0, 0, 0, 466, 0, 448,
1120 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1121 459, 460, 461, 462, 463, 464, 465, 0, 0, 0,
1122 0, 0, 713, 448, 449, 450, 451, 452, 453, 454,
1123 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1124 465, 0, 0, 0, 0, 0, 466, 448, 449, 450,
1125 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
1126 461, 462, 463, 464, 465, 0, 0, 0, 0, 0,
1127 713, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1128 457, 458, 459, 460, 461, 462, 463, 464, 465, 0,
1129 0, 0, 0, 0, 466, 448, 449, 450, 451, 452,
1130 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1131 463, 464, 465, 0, 0, 0, 0, 0, 713
1134 static const short int yycheck
[] =
1136 41, 30, 9, 137, 18, 9, 0, 19, 23, 23,
1137 148, 74, 396, 141, 366, 27, 470, 24, 25, 26,
1138 470, 23, 422, 727, 141, 154, 155, 156, 169, 416,
1139 378, 379, 419, 0, 393, 18, 177, 41, 729, 57,
1140 761, 35, 763, 358, 756, 23, 29, 727, 34, 364,
1141 33, 18, 32, 34, 35, 40, 9, 705, 11, 40,
1142 34, 727, 29, 33, 52, 32, 33, 41, 35, 428,
1143 74, 52, 57, 43, 6, 39, 3, 9, 782, 6,
1144 44, 802, 34, 10, 218, 12, 13, 14, 15, 16,
1145 17, 443, 72, 0, 446, 4, 5, 6, 105, 40,
1146 9, 42, 114, 39, 111, 112, 113, 148, 774, 39,
1147 40, 132, 42, 131, 41, 39, 782, 829, 42, 42,
1148 479, 39, 45, 130, 40, 43, 44, 631, 819, 633,
1149 145, 145, 447, 140, 141, 142, 143, 144, 142, 202,
1150 126, 43, 44, 145, 148, 152, 43, 44, 860, 17,
1151 18, 466, 467, 6, 7, 8, 804, 41, 42, 163,
1152 175, 175, 40, 884, 44, 869, 857, 145, 209, 817,
1153 44, 862, 57, 175, 854, 95, 183, 41, 42, 41,
1154 42, 195, 196, 41, 42, 168, 143, 144, 854, 837,
1155 197, 174, 199, 195, 196, 886, 38, 175, 202, 39,
1156 880, 168, 40, 869, 45, 44, 43, 174, 608, 31,
1157 31, 45, 31, 39, 880, 44, 44, 671, 31, 46,
1158 40, 671, 676, 6, 40, 39, 676, 125, 40, 39,
1159 358, 17, 18, 44, 43, 40, 364, 39, 39, 6,
1160 48, 358, 34, 41, 385, 48, 630, 364, 632, 117,
1161 118, 119, 120, 121, 122, 42, 615, 30, 617, 100,
1162 101, 102, 103, 104, 105, 106, 100, 101, 102, 103,
1163 104, 105, 106, 48, 40, 634, 40, 39, 48, 39,
1164 32, 40, 4, 5, 6, 7, 8, 9, 10, 11,
1165 48, 40, 39, 41, 33, 17, 41, 19, 20, 21,
1166 22, 23, 24, 25, 26, 41, 41, 41, 30, 42,
1167 39, 43, 43, 665, 41, 37, 668, 669, 41, 447,
1168 41, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1169 447, 41, 395, 41, 43, 42, 42, 42, 466, 467,
1170 41, 40, 729, 40, 407, 48, 42, 116, 33, 466,
1171 467, 358, 43, 40, 713, 714, 363, 364, 100, 101,
1172 102, 103, 104, 105, 106, 39, 407, 40, 727, 41,
1173 92, 93, 94, 95, 415, 382, 417, 99, 39, 41,
1174 43, 33, 42, 39, 42, 42, 770, 771, 41, 40,
1175 32, 395, 42, 40, 406, 41, 33, 33, 41, 43,
1176 41, 405, 42, 407, 42, 33, 765, 41, 130, 757,
1177 758, 418, 42, 348, 477, 41, 41, 35, 175, 805,
1178 140, 676, 671, 782, 431, 48, 176, 434, 440, 190,
1179 471, 472, 819, 734, 749, 750, 606, 444, 790, 791,
1180 447, 32, 196, 381, 797, 635, 805, 440, 807, 29,
1181 763, 106, 880, 415, 388, 470, 470, 816, 419, 466,
1182 467, 773, 736, -1, -1, -1, -1, -1, 470, -1,
1183 857, -1, -1, 477, -1, 862, 470, -1, -1, -1,
1184 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1185 9, 10, 11, -1, 853, 854, -1, -1, 17, 886,
1186 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1187 869, 30, -1, -1, -1, 38, -1, -1, 37, 38,
1188 39, 880, 3, -1, -1, 6, -1, -1, -1, 10,
1189 49, 12, 13, 14, 15, 16, 17, 675, -1, -1,
1190 -1, -1, -1, -1, -1, -1, -1, -1, -1, 678,
1191 679, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1192 83, 84, 85, -1, 87, 88, 89, 90, -1, -1,
1193 -1, -1, 91, 92, 93, 94, 95, 96, 97, -1,
1194 99, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1195 -1, -1, -1, -1, -1, -1, 659, -1, -1, -1,
1196 -1, -1, -1, -1, 123, -1, -1, -1, -1, 128,
1197 -1, 130, -1, 615, -1, 622, 657, 631, -1, 633,
1198 627, 749, 750, -1, 628, -1, -1, -1, 635, 631,
1199 -1, 633, 749, 750, 675, -1, -1, -1, -1, -1,
1200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1201 -1, 658, -1, -1, 788, 659, 671, 671, -1, -1,
1202 -1, 676, 676, -1, -1, -1, -1, -1, -1, 671,
1203 677, 675, -1, -1, 676, 682, -1, 671, -1, -1,
1204 -1, -1, 676, -1, -1, -1, -1, -1, 3, -1,
1205 731, -1, -1, 734, -1, -1, 708, 12, -1, -1,
1206 -1, -1, 17, 18, 733, -1, -1, -1, -1, -1,
1207 -1, 718, -1, -1, -1, 30, 720, -1, -1, -1,
1208 -1, -1, -1, -1, -1, 40, -1, -1, -1, 736,
1209 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1210 -1, -1, 749, 750, 785, 19, 20, 21, 22, 23,
1211 24, 25, 26, -1, 795, -1, 30, 798, 799, 74,
1212 75, 76, 77, 78, -1, -1, -1, -1, -1, -1,
1213 -1, -1, -1, -1, -1, 804, -1, -1, -1, -1,
1214 -1, 96, 789, 98, 99, 100, 101, 102, 103, -1,
1215 -1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
1216 115, 116, 117, 118, 119, 120, 121, 122, 849, -1,
1217 -1, -1, -1, 854, -1, -1, -1, -1, 92, 93,
1218 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1219 -1, -1, -1, -1, -1, -1, -1, 0, -1, 880,
1220 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1221 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1222 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1223 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1224 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1225 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1226 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1227 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1228 83, 84, 85, 86, 87, -1, 89, -1, 91, 92,
1229 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1230 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1231 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1232 123, -1, 125, 126, -1, 128, 129, 130, 131, 132,
1233 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1234 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1235 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1236 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
1237 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1238 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1239 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1240 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1241 80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
1242 -1, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1243 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1244 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1245 120, 121, 122, 123, -1, -1, 126, -1, 128, 129,
1246 130, 131, 132, 0, -1, -1, 3, 4, 5, 6,
1247 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1248 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1249 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1250 37, -1, 39, 40, 41, 42, 43, 44, 45, 46,
1251 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1252 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1253 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1254 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1255 87, -1, 89, -1, 91, 92, 93, 94, 95, 96,
1256 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1257 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1258 117, 118, 119, 120, 121, 122, 123, -1, -1, 126,
1259 -1, 128, 129, 130, 131, 132, 0, -1, -1, 3,
1260 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1261 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1262 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1263 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
1264 44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
1265 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1266 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1267 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1268 84, 85, 86, 87, -1, 89, -1, 91, 92, 93,
1269 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1270 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1271 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1272 3, -1, 126, -1, 128, 129, 130, 131, 132, 12,
1273 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1274 -1, -1, -1, -1, 27, 28, 29, 30, -1, -1,
1275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1276 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1277 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1278 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1279 -1, 74, 75, 76, 77, 78, 37, -1, -1, -1,
1280 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
1281 -1, -1, -1, 96, -1, 98, 99, 100, 101, 102,
1282 103, -1, -1, -1, 107, 108, 109, 110, 111, 112,
1283 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1284 -1, -1, -1, -1, -1, 128, -1, 130, 131, -1,
1285 -1, 92, 93, 94, 95, 4, 5, 6, 7, 8,
1286 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1287 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1288 -1, 30, -1, -1, -1, -1, -1, 128, 37, -1,
1289 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1290 -1, -1, -1, -1, -1, 17, -1, 19, 20, 21,
1291 22, 23, 24, 25, 26, -1, -1, -1, 30, -1,
1292 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
1293 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1294 10, 11, -1, 92, 93, 94, 95, 17, -1, 19,
1295 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1296 30, -1, -1, -1, -1, -1, -1, 37, -1, -1,
1297 -1, -1, -1, -1, -1, -1, -1, -1, -1, 128,
1298 92, 93, 94, 95, 4, 5, 6, 7, 8, 9,
1299 10, 11, -1, -1, -1, -1, -1, 17, -1, 19,
1300 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1301 30, -1, -1, -1, -1, -1, 128, 37, -1, -1,
1302 -1, -1, 92, 93, 94, 95, -1, 3, 4, 5,
1303 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
1304 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1305 26, -1, -1, -1, 30, 31, -1, 33, 128, 35,
1306 36, 37, -1, -1, 40, -1, -1, -1, -1, -1,
1307 -1, 91, 92, 93, 94, 95, -1, -1, -1, 55,
1308 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1309 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1310 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1311 -1, -1, -1, -1, -1, -1, 92, 93, 94, 95,
1312 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1313 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1314 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1315 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1316 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1317 -1, 27, 28, 29, 30, 31, -1, 33, 34, 35,
1318 36, -1, -1, -1, 40, -1, -1, -1, 3, 4,
1319 5, 6, 7, 8, 9, 10, 11, 12, -1, 55,
1320 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1321 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1322 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1324 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1325 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1326 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1327 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1328 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1329 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1330 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1331 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1332 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1333 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1334 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1335 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1336 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
1337 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1338 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1339 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1340 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1341 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1342 36, -1, -1, -1, 40, -1, -1, -1, -1, 4,
1343 5, 6, 7, 8, 9, 10, 11, -1, -1, 55,
1344 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1345 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1346 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1347 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1348 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
1349 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1350 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1351 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1352 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1353 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1354 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1355 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1356 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1357 -1, -1, 68, 69, -1, -1, 72, -1, 74, 75,
1358 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1359 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1360 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1361 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1362 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1363 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1364 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1365 -1, -1, -1, -1, 30, 31, 32, 33, -1, 35,
1366 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1367 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1368 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1369 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1370 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1371 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1372 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1373 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1374 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1375 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1376 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1377 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1378 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1379 -1, 47, -1, -1, -1, -1, -1, -1, -1, 55,
1380 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1381 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1382 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1384 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1385 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1386 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1387 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1388 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1389 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1390 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1391 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1392 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1393 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1394 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1396 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1397 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1398 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1399 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1400 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1401 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1402 36, -1, -1, -1, 40, -1, -1, -1, -1, 4,
1403 5, 6, 7, 8, 9, 10, 11, -1, -1, 55,
1404 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1405 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1406 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1407 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1408 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1409 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1410 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1411 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1412 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1413 26, -1, -1, -1, 30, -1, -1, -1, -1, -1,
1414 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1416 -1, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1417 -1, -1, -1, -1, -1, -1, -1, -1, 74, 75,
1418 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1420 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1421 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1422 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1423 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1424 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1425 -1, -1, -1, -1, 30, -1, -1, 33, -1, 35,
1426 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1427 -1, -1, -1, -1, -1, -1, -1, -1, -1, 55,
1428 56, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1429 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1430 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1431 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1432 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1433 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1434 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1435 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1436 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1437 26, -1, 47, -1, 30, 50, 51, 52, 53, 54,
1438 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1439 65, 66, 67, -1, -1, -1, 3, -1, 73, -1,
1440 -1, 57, -1, -1, -1, 12, -1, -1, -1, -1,
1441 17, 18, -1, -1, -1, -1, -1, -1, 74, 75,
1442 76, 77, 78, 30, -1, -1, -1, -1, -1, -1,
1443 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
1444 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1445 57, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1446 116, 117, 118, 119, 120, 121, 122, 74, 75, 76,
1447 77, 78, 3, -1, -1, -1, -1, -1, -1, -1,
1448 -1, 12, -1, -1, -1, -1, 17, 18, -1, 96,
1449 -1, 98, 99, 100, 101, 102, 103, -1, -1, 30,
1450 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1451 117, 118, 119, 120, 121, 122, -1, -1, -1, -1,
1452 -1, 3, -1, -1, -1, -1, 57, -1, -1, -1,
1453 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1454 -1, -1, -1, 74, 75, 76, 77, 78, 30, -1,
1455 -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
1456 -1, -1, -1, -1, -1, 96, -1, 98, 99, 100,
1457 101, 102, 103, -1, -1, -1, 107, 108, 109, 110,
1458 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1459 121, 122, 74, 75, 76, 77, 78, -1, -1, -1,
1460 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1461 -1, -1, -1, -1, 96, -1, 98, 99, 100, 101,
1462 102, 103, -1, -1, -1, 107, 108, 109, 110, 111,
1463 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1464 122, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1465 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1466 -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
1467 -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
1468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1469 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
1470 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1471 -1, -1, 74, 75, 76, 77, 78, -1, -1, 30,
1472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1473 -1, -1, -1, -1, 96, -1, 98, 99, 100, 101,
1474 102, 103, -1, -1, -1, 107, 108, 109, 110, 111,
1475 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1476 122, 72, -1, 74, 75, 76, 77, 78, 3, -1,
1477 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1478 -1, -1, 17, 18, -1, 96, -1, 98, 99, 100,
1479 101, 102, 103, -1, -1, 30, 107, 108, 109, 110,
1480 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1481 121, 122, -1, -1, -1, -1, -1, 3, -1, -1,
1482 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1483 -1, 17, 18, -1, -1, -1, -1, 72, -1, 74,
1484 75, 76, 77, 78, 30, -1, -1, -1, -1, -1,
1485 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1486 -1, 96, -1, 98, 99, 100, 101, 102, 103, -1,
1487 -1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
1488 115, 116, 117, 118, 119, 120, 121, 122, 74, 75,
1489 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1490 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1491 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1492 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1493 116, 117, 118, 119, 120, 121, 122, 4, 5, 6,
1494 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1495 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1496 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1497 37, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1498 -1, -1, -1, -1, 17, -1, 19, 20, 21, 22,
1499 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
1500 -1, -1, -1, -1, 37, 72, -1, -1, -1, -1,
1501 -1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1502 8, 9, 10, 11, -1, 92, 93, 94, 95, 17,
1503 -1, 19, 20, 21, 22, 23, 24, 25, 26, 72,
1504 -1, -1, 30, -1, -1, -1, -1, -1, -1, 37,
1505 4, 5, 6, 7, 8, 9, 10, 11, -1, 92,
1506 93, 94, 95, 17, -1, 19, 20, 21, 22, 23,
1507 24, 25, 26, -1, -1, -1, 30, -1, -1, -1,
1508 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
1509 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1510 9, 10, 11, -1, 92, 93, 94, 95, 17, -1,
1511 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1512 -1, 30, -1, -1, -1, -1, -1, -1, 37, 4,
1513 5, 6, 7, 8, 9, 10, 11, -1, 92, 93,
1514 94, 95, 17, -1, 19, 20, 21, 22, 23, 24,
1515 25, 26, -1, -1, -1, 30, -1, -1, -1, -1,
1516 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
1517 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1518 10, 11, -1, 92, 93, 94, 95, 17, -1, 19,
1519 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1520 30, -1, -1, -1, -1, -1, -1, 37, 4, 5,
1521 6, 7, 8, 9, 10, 11, -1, 92, 93, 94,
1522 95, -1, -1, 19, 20, 21, 22, 23, 24, 25,
1523 26, -1, -1, -1, 30, -1, -1, -1, 34, 35,
1524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1525 -1, -1, -1, -1, -1, 39, 52, -1, -1, -1,
1526 -1, -1, 92, 93, 94, 95, 50, 51, 52, 53,
1527 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1528 64, 65, 66, 67, -1, -1, -1, -1, -1, 73,
1529 41, -1, -1, -1, -1, -1, 92, 93, 94, 50,
1530 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1531 61, 62, 63, 64, 65, 66, 67, 41, -1, -1,
1532 -1, -1, 73, -1, -1, -1, 50, 51, 52, 53,
1533 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1534 64, 65, 66, 67, 41, -1, -1, -1, -1, 73,
1535 -1, -1, -1, 50, 51, 52, 53, 54, 55, 56,
1536 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1537 67, 42, -1, -1, -1, -1, 73, -1, -1, 50,
1538 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1539 61, 62, 63, 64, 65, 66, 67, 43, -1, -1,
1540 -1, -1, 73, -1, 50, 51, 52, 53, 54, 55,
1541 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1542 66, 67, 43, -1, -1, -1, -1, 73, -1, 50,
1543 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1544 61, 62, 63, 64, 65, 66, 67, -1, -1, -1,
1545 -1, -1, 73, 50, 51, 52, 53, 54, 55, 56,
1546 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1547 67, -1, -1, -1, -1, -1, 73, 50, 51, 52,
1548 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1549 63, 64, 65, 66, 67, -1, -1, -1, -1, -1,
1550 73, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1551 59, 60, 61, 62, 63, 64, 65, 66, 67, -1,
1552 -1, -1, -1, -1, 73, 50, 51, 52, 53, 54,
1553 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1554 65, 66, 67, -1, -1, -1, -1, -1, 73
1557 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1558 symbol of state STATE-NUM. */
1559 static const unsigned short int yystos
[] =
1561 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1562 19, 20, 21, 22, 23, 24, 25, 26, 30, 37,
1563 38, 39, 49, 91, 92, 93, 94, 95, 96, 97,
1564 99, 123, 128, 130, 141, 142, 143, 144, 145, 163,
1565 168, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1566 186, 189, 190, 193, 197, 198, 199, 200, 201, 202,
1567 205, 207, 208, 214, 222, 233, 234, 9, 11, 3,
1568 12, 17, 18, 30, 40, 57, 74, 75, 76, 77,
1569 78, 96, 98, 99, 100, 101, 102, 103, 107, 108,
1570 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1571 119, 120, 121, 122, 138, 230, 231, 232, 249, 259,
1572 30, 92, 93, 94, 95, 198, 205, 174, 38, 74,
1573 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1574 85, 87, 88, 89, 90, 146, 147, 148, 149, 151,
1575 152, 153, 17, 92, 93, 128, 169, 171, 173, 199,
1576 200, 205, 214, 223, 224, 138, 138, 138, 225, 3,
1577 6, 10, 12, 17, 164, 165, 174, 34, 130, 198,
1578 234, 52, 267, 268, 30, 91, 197, 198, 0, 143,
1579 138, 206, 229, 230, 4, 5, 6, 9, 182, 6,
1580 179, 185, 39, 132, 187, 40, 40, 44, 44, 229,
1581 230, 95, 40, 138, 131, 232, 138, 138, 138, 42,
1582 191, 27, 28, 29, 128, 130, 131, 138, 154, 155,
1583 38, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1584 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1585 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1586 31, 32, 33, 34, 35, 36, 37, 39, 40, 41,
1587 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1588 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1589 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1590 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1591 82, 83, 84, 85, 86, 87, 89, 91, 92, 93,
1592 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1593 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1594 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1595 126, 128, 129, 130, 131, 132, 139, 158, 159, 158,
1596 34, 126, 150, 138, 154, 33, 35, 36, 40, 55,
1597 56, 68, 69, 86, 137, 138, 160, 219, 138, 138,
1598 225, 138, 225, 171, 39, 178, 138, 43, 227, 227,
1599 227, 227, 230, 31, 39, 198, 44, 194, 44, 31,
1600 169, 187, 194, 46, 228, 40, 138, 6, 183, 6,
1601 9, 184, 182, 40, 39, 17, 95, 173, 203, 204,
1602 205, 203, 138, 215, 216, 100, 101, 102, 103, 104,
1603 105, 106, 240, 241, 242, 255, 256, 262, 263, 264,
1604 138, 229, 192, 206, 230, 125, 158, 139, 34, 35,
1605 40, 52, 221, 160, 40, 138, 160, 40, 50, 51,
1606 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1607 62, 63, 64, 65, 66, 67, 73, 136, 39, 43,
1608 44, 210, 210, 39, 209, 210, 209, 40, 138, 48,
1609 194, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1610 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1611 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1612 31, 32, 33, 34, 35, 36, 37, 39, 40, 41,
1613 42, 43, 46, 47, 48, 49, 50, 51, 52, 53,
1614 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1615 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1616 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1617 84, 85, 86, 87, 89, 91, 92, 93, 94, 95,
1618 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1619 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1620 116, 117, 118, 119, 120, 121, 122, 123, 126, 128,
1621 129, 130, 131, 132, 140, 194, 195, 196, 240, 40,
1622 39, 39, 31, 33, 35, 40, 47, 137, 206, 217,
1623 218, 219, 229, 228, 6, 34, 188, 230, 17, 229,
1624 41, 42, 41, 42, 48, 42, 45, 206, 245, 217,
1625 237, 257, 258, 259, 267, 206, 138, 265, 266, 18,
1626 258, 259, 45, 241, 217, 41, 138, 42, 40, 174,
1627 220, 221, 30, 41, 138, 160, 161, 162, 160, 160,
1628 40, 128, 170, 171, 172, 173, 211, 214, 223, 224,
1629 206, 206, 229, 27, 28, 29, 34, 166, 167, 217,
1630 45, 196, 45, 3, 6, 10, 12, 13, 14, 15,
1631 16, 17, 41, 235, 236, 238, 239, 30, 95, 173,
1632 217, 217, 47, 73, 136, 138, 34, 41, 230, 228,
1633 17, 72, 204, 228, 72, 217, 216, 48, 39, 48,
1634 39, 40, 32, 48, 40, 39, 42, 39, 39, 41,
1635 206, 72, 138, 156, 157, 229, 41, 41, 41, 42,
1636 43, 33, 172, 43, 226, 45, 170, 227, 227, 138,
1637 39, 43, 41, 42, 237, 41, 41, 217, 217, 41,
1638 41, 41, 27, 97, 98, 116, 217, 244, 246, 247,
1639 248, 249, 268, 257, 206, 267, 192, 266, 41, 42,
1640 160, 160, 42, 33, 43, 42, 212, 226, 210, 210,
1641 41, 238, 43, 236, 238, 48, 217, 43, 228, 228,
1642 116, 246, 17, 18, 249, 252, 40, 40, 244, 42,
1643 260, 206, 41, 158, 72, 138, 33, 43, 40, 206,
1644 213, 39, 212, 238, 267, 166, 217, 40, 217, 237,
1645 72, 257, 261, 41, 39, 41, 43, 33, 226, 42,
1646 39, 72, 237, 42, 42, 250, 41, 42, 40, 42,
1647 206, 32, 40, 217, 206, 243, 244, 245, 251, 268,
1648 41, 257, 33, 33, 226, 41, 253, 254, 257, 41,
1649 42, 244, 42, 41, 43, 41, 42, 243, 33, 238,
1653 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1654 static const unsigned short int yyr1
[] =
1656 0, 135, 136, 136, 136, 136, 136, 136, 136, 136,
1657 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1658 137, 137, 137, 137, 138, 138, 138, 138, 138, 138,
1659 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
1660 138, 138, 139, 139, 139, 139, 139, 139, 139, 139,
1661 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1662 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1663 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1664 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1665 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1666 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1667 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1668 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1669 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1670 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1671 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1672 139, 139, 139, 139, 139, 139, 139, 140, 140, 140,
1673 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1674 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1675 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1676 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1677 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1678 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1679 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1680 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1681 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1682 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1683 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1684 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1685 141, 141, 142, 142, 143, 143, 143, 143, 143, 143,
1686 143, 143, 143, 143, 143, 143, 143, 143, 144, 145,
1687 145, 146, 146, 146, 146, 146, 146, 146, 146, 147,
1688 147, 148, 148, 149, 149, 149, 150, 150, 151, 151,
1689 152, 152, 152, 153, 153, 154, 154, 154, 154, 154,
1690 154, 154, 155, 155, 156, 156, 156, 156, 157, 157,
1691 158, 158, 159, 159, 160, 160, 160, 160, 160, 160,
1692 160, 160, 160, 160, 160, 161, 161, 162, 162, 163,
1693 164, 165, 165, 165, 165, 166, 166, 166, 167, 167,
1694 167, 167, 168, 168, 168, 169, 169, 170, 170, 171,
1695 171, 171, 171, 171, 171, 172, 172, 172, 172, 172,
1696 173, 173, 173, 174, 174, 175, 175, 175, 176, 176,
1697 176, 176, 177, 177, 177, 178, 178, 178, 178, 178,
1698 178, 178, 178, 179, 179, 180, 180, 180, 181, 181,
1699 181, 181, 182, 182, 182, 182, 182, 183, 183, 184,
1700 184, 184, 184, 185, 185, 185, 186, 186, 187, 187,
1701 188, 188, 189, 190, 191, 191, 192, 192, 193, 193,
1702 193, 194, 195, 195, 196, 196, 197, 197, 198, 198,
1703 199, 199, 200, 200, 201, 201, 201, 201, 202, 202,
1704 203, 203, 203, 203, 204, 204, 204, 204, 205, 205,
1705 205, 205, 206, 206, 207, 208, 209, 209, 210, 211,
1706 211, 212, 212, 213, 213, 214, 215, 215, 216, 216,
1707 217, 217, 217, 217, 217, 217, 218, 218, 218, 218,
1708 218, 219, 219, 220, 220, 221, 221, 221, 222, 223,
1709 224, 225, 225, 226, 226, 226, 226, 227, 227, 228,
1710 228, 228, 229, 229, 230, 230, 231, 231, 232, 232,
1711 233, 233, 234, 234, 234, 235, 235, 236, 236, 237,
1712 238, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1713 240, 240, 241, 241, 241, 241, 241, 242, 242, 243,
1714 243, 243, 244, 244, 244, 244, 244, 244, 245, 245,
1715 246, 247, 248, 249, 249, 249, 249, 249, 249, 249,
1716 249, 249, 249, 250, 250, 251, 251, 252, 252, 253,
1717 253, 254, 254, 255, 256, 257, 257, 257, 258, 258,
1718 259, 259, 259, 259, 259, 259, 259, 259, 260, 260,
1719 261, 261, 262, 263, 263, 264, 265, 265, 266, 267,
1723 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1724 static const unsigned char yyr2
[] =
1726 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1727 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1728 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1729 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1730 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1731 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1732 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1733 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1734 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1741 1, 1, 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 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
1756 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
1757 3, 2, 2, 1, 2, 2, 2, 1, 2, 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, 6, 2, 0, 1, 1, 3, 1, 3,
1761 0, 1, 1, 2, 3, 2, 3, 5, 2, 4,
1762 1, 1, 1, 1, 4, 0, 1, 1, 3, 6,
1763 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1764 1, 1, 3, 4, 4, 1, 2, 1, 2, 1,
1765 1, 2, 4, 4, 2, 1, 1, 1, 3, 3,
1766 2, 2, 1, 1, 1, 2, 2, 2, 1, 1,
1767 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1768 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
1769 2, 2, 0, 1, 2, 1, 2, 0, 1, 0,
1770 1, 1, 2, 0, 1, 2, 3, 4, 0, 4,
1771 1, 2, 2, 3, 0, 2, 1, 3, 3, 3,
1772 4, 3, 1, 2, 1, 1, 1, 2, 1, 1,
1773 5, 7, 5, 7, 6, 7, 6, 5, 1, 2,
1774 0, 1, 1, 3, 1, 2, 3, 2, 1, 2,
1775 4, 3, 3, 2, 4, 4, 1, 1, 3, 4,
1776 5, 0, 2, 2, 4, 4, 1, 3, 1, 3,
1777 1, 4, 3, 3, 2, 5, 1, 1, 1, 1,
1778 1, 4, 2, 1, 2, 2, 1, 1, 2, 2,
1779 2, 0, 1, 0, 2, 7, 9, 0, 7, 0,
1780 2, 3, 0, 1, 1, 2, 1, 2, 1, 2,
1781 4, 5, 7, 8, 13, 1, 3, 2, 4, 2,
1782 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1783 1, 2, 1, 1, 1, 1, 1, 3, 6, 1,
1784 2, 1, 1, 1, 2, 1, 1, 1, 3, 4,
1785 6, 8, 5, 1, 1, 1, 1, 1, 1, 1,
1786 1, 1, 1, 0, 2, 1, 3, 1, 1, 0,
1787 1, 1, 3, 3, 3, 1, 1, 3, 5, 6,
1788 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
1789 1, 3, 3, 1, 1, 3, 1, 3, 4, 0,
1794 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1795 static const unsigned char yydprec
[] =
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1864 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1865 static const unsigned char yymerger
[] =
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,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1934 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1935 in the case of predicates. */
1936 static const yybool yyimmediate
[] =
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,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2005 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2006 list of conflicting reductions corresponding to action entry for
2007 state STATE-NUM in yytable. 0 means no conflicts. The list in
2008 yyconfl is terminated by a rule number of 0. */
2009 static const unsigned short int yyconflp
[] =
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,
2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2025 0, 265, 0, 0, 0, 0, 267, 0, 0, 0,
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, 0,
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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 269, 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, 0, 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, 7, 0, 0,
2095 9, 11, 13, 15, 17, 19, 21, 23, 25, 27,
2096 29, 31, 33, 35, 37, 39, 41, 43, 45, 47,
2097 49, 51, 53, 55, 57, 59, 61, 63, 65, 67,
2098 69, 71, 73, 75, 77, 79, 81, 83, 85, 87,
2099 89, 91, 93, 95, 97, 99, 101, 103, 105, 107,
2100 109, 111, 113, 115, 117, 119, 121, 123, 125, 127,
2101 129, 131, 133, 135, 137, 139, 141, 143, 145, 147,
2102 149, 151, 153, 155, 157, 159, 161, 163, 165, 167,
2103 169, 171, 173, 175, 177, 0, 179, 0, 181, 183,
2104 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
2105 205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
2106 225, 227, 229, 231, 233, 235, 237, 239, 241, 243,
2107 245, 0, 247, 249, 0, 251, 253, 255, 257, 259,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 1,
2378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2379 0, 0, 3, 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, 261, 0, 0, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 263, 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, 0,
2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2394 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
2405 0, 0, 0, 0, 0, 0, 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, 271, 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, 273
2432 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2433 0, pointed into by YYCONFLP. */
2434 static const short int yyconfl
[] =
2436 0, 411, 0, 411, 0, 488, 0, 626, 0, 626,
2437 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2438 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2439 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2440 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2441 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2442 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2443 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2444 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2445 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2446 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2447 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2448 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2449 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2450 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2451 0, 626, 0, 626, 0, 626, 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, 411, 0, 411, 0, 532, 0, 532, 0, 411,
2466 /* Error token number */
2473 #define yynerrs (yystackp->yyerrcnt)
2475 #define yychar (yystackp->yyrawchar)
2477 #define yylval (yystackp->yyval)
2479 #define yylloc (yystackp->yyloc)
2480 #define psi_parser_proc_nerrs yynerrs
2481 #define psi_parser_proc_char yychar
2482 #define psi_parser_proc_lval yylval
2483 #define psi_parser_proc_lloc yylloc
2485 static const int YYEOF
= 0;
2486 static const int YYEMPTY
= -2;
2488 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2490 #define YYCHK(YYE) \
2492 YYRESULTTAG yychk_flag = YYE; \
2493 if (yychk_flag != yyok) \
2494 return yychk_flag; \
2500 # define YYFPRINTF fprintf
2503 /* This macro is provided for backward compatibility. */
2504 #ifndef YY_LOCATION_PRINT
2505 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2509 # define YYDPRINTF(Args) \
2516 /*----------------------------------------.
2517 | Print this symbol's value on YYOUTPUT. |
2518 `----------------------------------------*/
2521 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2523 FILE *yyo
= yyoutput
;
2534 /*--------------------------------.
2535 | Print this symbol on YYOUTPUT. |
2536 `--------------------------------*/
2539 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2541 YYFPRINTF (yyoutput
, "%s %s (",
2542 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2544 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2545 YYFPRINTF (yyoutput
, ")");
2548 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2552 YYFPRINTF (stderr, "%s ", Title); \
2553 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2554 YYFPRINTF (stderr, "\n"); \
2558 /* Nonzero means print parse trace. It is left uninitialized so that
2559 multiple parsers can coexist. */
2563 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2564 YY_ATTRIBUTE_UNUSED
;
2565 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2566 YY_ATTRIBUTE_UNUSED
;
2568 #else /* !YYDEBUG */
2570 # define YYDPRINTF(Args)
2571 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2573 #endif /* !YYDEBUG */
2575 /* YYINITDEPTH -- initial size of the parser's stacks. */
2577 # define YYINITDEPTH 200
2580 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2581 if the built-in stack extension method is used).
2583 Do not make this value too large; the results are undefined if
2584 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2585 evaluated with infinite-precision integer arithmetic. */
2588 # define YYMAXDEPTH 10000
2591 /* Minimum number of free items on the stack allowed after an
2592 allocation. This is to allow allocation and initialization
2593 to be completed by functions that call yyexpandGLRStack before the
2594 stack is expanded, thus insuring that all necessary pointers get
2595 properly redirected to new data. */
2596 #define YYHEADROOM 2
2598 #ifndef YYSTACKEXPANDABLE
2599 # define YYSTACKEXPANDABLE 1
2602 #if YYSTACKEXPANDABLE
2603 # define YY_RESERVE_GLRSTACK(Yystack) \
2605 if (Yystack->yyspaceLeft < YYHEADROOM) \
2606 yyexpandGLRStack (Yystack); \
2609 # define YY_RESERVE_GLRSTACK(Yystack) \
2611 if (Yystack->yyspaceLeft < YYHEADROOM) \
2612 yyMemoryExhausted (Yystack); \
2620 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2621 # define yystpcpy stpcpy
2623 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2626 yystpcpy (char *yydest
, const char *yysrc
)
2629 const char *yys
= yysrc
;
2631 while ((*yyd
++ = *yys
++) != '\0')
2640 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2641 quotes and backslashes, so that it's suitable for yyerror. The
2642 heuristic is that double-quoting is unnecessary unless the string
2643 contains an apostrophe, a comma, or backslash (other than
2644 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2645 null, do not copy; instead, return the length of what the result
2648 yytnamerr (char *yyres
, const char *yystr
)
2653 char const *yyp
= yystr
;
2660 goto do_not_strip_quotes
;
2664 goto do_not_strip_quotes
;
2677 do_not_strip_quotes
: ;
2681 return strlen (yystr
);
2683 return yystpcpy (yyres
, yystr
) - yyres
;
2687 #endif /* !YYERROR_VERBOSE */
2689 /** State numbers, as in LALR(1) machine */
2690 typedef int yyStateNum
;
2692 /** Rule numbers, as in LALR(1) machine */
2693 typedef int yyRuleNum
;
2695 /** Grammar symbol */
2696 typedef int yySymbol
;
2698 /** Item references, as in LALR(1) machine */
2699 typedef short int yyItemNum
;
2701 typedef struct yyGLRState yyGLRState
;
2702 typedef struct yyGLRStateSet yyGLRStateSet
;
2703 typedef struct yySemanticOption yySemanticOption
;
2704 typedef union yyGLRStackItem yyGLRStackItem
;
2705 typedef struct yyGLRStack yyGLRStack
;
2708 /** Type tag: always true. */
2710 /** Type tag for yysemantics. If true, yysval applies, otherwise
2711 * yyfirstVal applies. */
2713 /** Number of corresponding LALR(1) machine state. */
2714 yyStateNum yylrState
;
2715 /** Preceding state in this stack */
2717 /** Source position of the last token produced by my symbol */
2720 /** First in a chain of alternative reductions producing the
2721 * non-terminal corresponding to this state, threaded through
2723 yySemanticOption
* yyfirstVal
;
2724 /** Semantic value for this state. */
2729 struct yyGLRStateSet
{
2730 yyGLRState
** yystates
;
2731 /** During nondeterministic operation, yylookaheadNeeds tracks which
2732 * stacks have actually needed the current lookahead. During deterministic
2733 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2734 * duplicate yychar != YYEMPTY. */
2735 yybool
* yylookaheadNeeds
;
2736 size_t yysize
, yycapacity
;
2739 struct yySemanticOption
{
2740 /** Type tag: always false. */
2742 /** Rule number for this reduction */
2744 /** The last RHS state in the list of states to be reduced. */
2745 yyGLRState
* yystate
;
2746 /** The lookahead for this reduction. */
2749 /** Next sibling in chain of options. To facilitate merging,
2750 * options are chained in decreasing order by address. */
2751 yySemanticOption
* yynext
;
2754 /** Type of the items in the GLR stack. The yyisState field
2755 * indicates which item of the union is valid. */
2756 union yyGLRStackItem
{
2758 yySemanticOption yyoption
;
2769 YYJMP_BUF yyexception_buffer
;
2770 yyGLRStackItem
* yyitems
;
2771 yyGLRStackItem
* yynextFree
;
2773 yyGLRState
* yysplitPoint
;
2774 yyGLRState
* yylastDeleted
;
2775 yyGLRStateSet yytops
;
2778 #if YYSTACKEXPANDABLE
2779 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2782 static _Noreturn
void
2783 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2785 if (yymsg
!= YY_NULLPTR
)
2786 yyerror (P
, tokens
, index
, yymsg
);
2787 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2790 static _Noreturn
void
2791 yyMemoryExhausted (yyGLRStack
* yystackp
)
2793 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2796 #if YYDEBUG || YYERROR_VERBOSE
2797 /** A printable representation of TOKEN. */
2798 static inline const char*
2799 yytokenName (yySymbol yytoken
)
2801 if (yytoken
== YYEMPTY
)
2804 return yytname
[yytoken
];
2808 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2809 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2810 * containing the pointer to the next state in the chain. */
2811 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2813 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2816 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2817 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2820 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2822 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2824 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2826 /* The effect of using yysval or yyloc (in an immediate rule) is
2828 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2829 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2833 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2834 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2835 * For convenience, always return YYLOW1. */
2836 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2837 YY_ATTRIBUTE_UNUSED
;
2839 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2841 if (!yynormal
&& yylow1
< *yylow
)
2843 yyfillin (yyvsp
, *yylow
, yylow1
);
2849 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2850 * and top stack item YYVSP. YYLVALP points to place to put semantic
2851 * value ($$), and yylocp points to place for location information
2852 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2853 * yyerr for YYERROR, yyabort for YYABORT. */
2855 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2856 yyGLRStack
* yystackp
,
2857 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2859 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2867 # define yyerrok (yystackp->yyerrState = 0)
2869 # define YYACCEPT return yyaccept
2871 # define YYABORT return yyabort
2873 # define YYERROR return yyerrok, yyerr
2874 # undef YYRECOVERING
2875 # define YYRECOVERING() (yystackp->yyerrState != 0)
2877 # define yyclearin (yychar = YYEMPTY)
2879 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2881 # define YYBACKUP(Token, Value) \
2882 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2887 *yyvalp
= yyval_default
;
2889 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2893 #line 399 "src/parser_proc_grammar.y" /* glr.c:816 */
2895 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2896 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2897 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2900 #line 2901 "src/parser_proc.c" /* glr.c:816 */
2904 #line 405 "src/parser_proc_grammar.y" /* glr.c:816 */
2907 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2908 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2910 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
);
2913 #line 2914 "src/parser_proc.c" /* glr.c:816 */
2917 #line 413 "src/parser_proc_grammar.y" /* glr.c:816 */
2919 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2921 #line 2922 "src/parser_proc.c" /* glr.c:816 */
2925 #line 416 "src/parser_proc_grammar.y" /* glr.c:816 */
2927 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2929 #line 2930 "src/parser_proc.c" /* glr.c:816 */
2933 #line 421 "src/parser_proc_grammar.y" /* glr.c:816 */
2935 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2937 #line 2938 "src/parser_proc.c" /* glr.c:816 */
2941 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2943 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2945 #line 2946 "src/parser_proc.c" /* glr.c:816 */
2949 #line 427 "src/parser_proc_grammar.y" /* glr.c:816 */
2951 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2953 #line 2954 "src/parser_proc.c" /* glr.c:816 */
2957 #line 430 "src/parser_proc_grammar.y" /* glr.c:816 */
2959 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2961 #line 2962 "src/parser_proc.c" /* glr.c:816 */
2965 #line 433 "src/parser_proc_grammar.y" /* glr.c:816 */
2967 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2969 #line 2970 "src/parser_proc.c" /* glr.c:816 */
2973 #line 439 "src/parser_proc_grammar.y" /* glr.c:816 */
2975 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2977 #line 2978 "src/parser_proc.c" /* glr.c:816 */
2981 #line 445 "src/parser_proc_grammar.y" /* glr.c:816 */
2983 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2985 #line 2986 "src/parser_proc.c" /* glr.c:816 */
2989 #line 448 "src/parser_proc_grammar.y" /* glr.c:816 */
2991 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2993 #line 2994 "src/parser_proc.c" /* glr.c:816 */
2997 #line 454 "src/parser_proc_grammar.y" /* glr.c:816 */
2999 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3000 struct psi_token
*msg
= NULL
;
3002 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
3004 struct psi_token
*next
;
3006 msg
= psi_token_copy(msg
);
3007 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
3008 struct psi_token
*old
= msg
;
3009 msg
= psi_token_cat(" ", 2, msg
, next
);
3013 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3015 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
3017 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3019 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3021 #line 3022 "src/parser_proc.c" /* glr.c:816 */
3025 #line 477 "src/parser_proc_grammar.y" /* glr.c:816 */
3027 (*(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
))));
3028 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3030 #line 3031 "src/parser_proc.c" /* glr.c:816 */
3034 #line 481 "src/parser_proc_grammar.y" /* glr.c:816 */
3036 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3037 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3039 #line 3040 "src/parser_proc.c" /* glr.c:816 */
3043 #line 485 "src/parser_proc_grammar.y" /* glr.c:816 */
3045 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3046 (*(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
))));
3047 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3049 #line 3050 "src/parser_proc.c" /* glr.c:816 */
3053 #line 490 "src/parser_proc_grammar.y" /* glr.c:816 */
3055 (*(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
)));
3056 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3058 #line 3059 "src/parser_proc.c" /* glr.c:816 */
3062 #line 494 "src/parser_proc_grammar.y" /* glr.c:816 */
3064 (*(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
)));
3065 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3067 #line 3068 "src/parser_proc.c" /* glr.c:816 */
3071 #line 498 "src/parser_proc_grammar.y" /* glr.c:816 */
3073 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3074 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3076 #line 3077 "src/parser_proc.c" /* glr.c:816 */
3080 #line 502 "src/parser_proc_grammar.y" /* glr.c:816 */
3082 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3083 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
3085 #line 3086 "src/parser_proc.c" /* glr.c:816 */
3089 #line 556 "src/parser_proc_grammar.y" /* glr.c:816 */
3091 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3092 (*(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
);
3093 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3095 #line 3096 "src/parser_proc.c" /* glr.c:816 */
3099 #line 561 "src/parser_proc_grammar.y" /* glr.c:816 */
3101 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3102 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
3103 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3105 #line 3106 "src/parser_proc.c" /* glr.c:816 */
3109 #line 569 "src/parser_proc_grammar.y" /* glr.c:816 */
3111 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
3113 #line 3114 "src/parser_proc.c" /* glr.c:816 */
3117 #line 572 "src/parser_proc_grammar.y" /* glr.c:816 */
3119 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
3121 #line 3122 "src/parser_proc.c" /* glr.c:816 */
3125 #line 576 "src/parser_proc_grammar.y" /* glr.c:816 */
3127 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3129 #line 3130 "src/parser_proc.c" /* glr.c:816 */
3133 #line 582 "src/parser_proc_grammar.y" /* glr.c:816 */
3135 (*(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
)));
3136 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3137 (*(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
)));
3139 #line 3140 "src/parser_proc.c" /* glr.c:816 */
3143 #line 587 "src/parser_proc_grammar.y" /* glr.c:816 */
3145 (*(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
)));
3146 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3147 (*(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
)));
3149 #line 3150 "src/parser_proc.c" /* glr.c:816 */
3153 #line 595 "src/parser_proc_grammar.y" /* glr.c:816 */
3155 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3157 #line 3158 "src/parser_proc.c" /* glr.c:816 */
3161 #line 602 "src/parser_proc_grammar.y" /* glr.c:816 */
3163 (*(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
)));
3164 (*(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
)));
3166 #line 3167 "src/parser_proc.c" /* glr.c:816 */
3170 #line 606 "src/parser_proc_grammar.y" /* glr.c:816 */
3172 (*(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
)));
3173 (*(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
)));
3175 #line 3176 "src/parser_proc.c" /* glr.c:816 */
3179 #line 613 "src/parser_proc_grammar.y" /* glr.c:816 */
3181 (*(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
)));
3182 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3184 #line 3185 "src/parser_proc.c" /* glr.c:816 */
3188 #line 617 "src/parser_proc_grammar.y" /* glr.c:816 */
3190 (*(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
)));
3191 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3193 #line 3194 "src/parser_proc.c" /* glr.c:816 */
3197 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
3199 (*(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
)));
3200 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3202 #line 3203 "src/parser_proc.c" /* glr.c:816 */
3206 #line 625 "src/parser_proc_grammar.y" /* glr.c:816 */
3208 (*(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
)));
3209 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3211 #line 3212 "src/parser_proc.c" /* glr.c:816 */
3215 #line 630 "src/parser_proc_grammar.y" /* glr.c:816 */
3220 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3221 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3222 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3223 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3226 #line 3227 "src/parser_proc.c" /* glr.c:816 */
3230 #line 640 "src/parser_proc_grammar.y" /* glr.c:816 */
3235 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3236 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].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 (-1)].yystate
.yysemantics
.yysval
)));
3241 #line 3242 "src/parser_proc.c" /* glr.c:816 */
3245 #line 650 "src/parser_proc_grammar.y" /* glr.c:816 */
3247 (*(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
));
3248 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3249 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3251 #line 3252 "src/parser_proc.c" /* glr.c:816 */
3255 #line 655 "src/parser_proc_grammar.y" /* glr.c:816 */
3257 (*(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));
3258 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3259 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3261 #line 3262 "src/parser_proc.c" /* glr.c:816 */
3265 #line 660 "src/parser_proc_grammar.y" /* glr.c:816 */
3267 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3268 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3270 #line 3271 "src/parser_proc.c" /* glr.c:816 */
3274 #line 664 "src/parser_proc_grammar.y" /* glr.c:816 */
3276 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3277 (*(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));
3278 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3279 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3281 #line 3282 "src/parser_proc.c" /* glr.c:816 */
3285 #line 670 "src/parser_proc_grammar.y" /* glr.c:816 */
3287 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3288 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3289 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));
3290 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3292 #line 3293 "src/parser_proc.c" /* glr.c:816 */
3296 #line 679 "src/parser_proc_grammar.y" /* glr.c:816 */
3298 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3300 #line 3301 "src/parser_proc.c" /* glr.c:816 */
3304 #line 686 "src/parser_proc_grammar.y" /* glr.c:816 */
3306 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3307 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3309 #line 3310 "src/parser_proc.c" /* glr.c:816 */
3313 #line 690 "src/parser_proc_grammar.y" /* glr.c:816 */
3315 (*(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
)));
3317 #line 3318 "src/parser_proc.c" /* glr.c:816 */
3321 #line 696 "src/parser_proc_grammar.y" /* glr.c:816 */
3323 (*(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
)));
3324 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3326 #line 3327 "src/parser_proc.c" /* glr.c:816 */
3330 #line 703 "src/parser_proc_grammar.y" /* glr.c:816 */
3332 (*(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
);
3334 #line 3335 "src/parser_proc.c" /* glr.c:816 */
3338 #line 716 "src/parser_proc_grammar.y" /* glr.c:816 */
3340 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3342 #line 3343 "src/parser_proc.c" /* glr.c:816 */
3346 #line 719 "src/parser_proc_grammar.y" /* glr.c:816 */
3348 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
)) {
3350 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3352 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3353 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3355 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3359 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3360 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3361 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3362 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3363 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3364 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3365 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3366 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3367 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3368 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3374 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3376 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3378 #line 3379 "src/parser_proc.c" /* glr.c:816 */
3382 #line 750 "src/parser_proc_grammar.y" /* glr.c:816 */
3384 (*(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
);
3385 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3387 #line 3388 "src/parser_proc.c" /* glr.c:816 */
3391 #line 764 "src/parser_proc_grammar.y" /* glr.c:816 */
3393 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3395 #line 3396 "src/parser_proc.c" /* glr.c:816 */
3399 #line 767 "src/parser_proc_grammar.y" /* glr.c:816 */
3401 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3402 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3403 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3405 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3406 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3407 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3409 #line 3410 "src/parser_proc.c" /* glr.c:816 */
3413 #line 776 "src/parser_proc_grammar.y" /* glr.c:816 */
3415 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3417 #line 3418 "src/parser_proc.c" /* glr.c:816 */
3421 #line 782 "src/parser_proc_grammar.y" /* glr.c:816 */
3423 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3425 #line 3426 "src/parser_proc.c" /* glr.c:816 */
3429 #line 785 "src/parser_proc_grammar.y" /* glr.c:816 */
3431 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3433 #line 3434 "src/parser_proc.c" /* glr.c:816 */
3437 #line 791 "src/parser_proc_grammar.y" /* glr.c:816 */
3439 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3441 #line 3442 "src/parser_proc.c" /* glr.c:816 */
3445 #line 794 "src/parser_proc_grammar.y" /* glr.c:816 */
3447 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3449 #line 3450 "src/parser_proc.c" /* glr.c:816 */
3453 #line 801 "src/parser_proc_grammar.y" /* glr.c:816 */
3455 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3456 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3457 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3459 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3460 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3462 #line 3463 "src/parser_proc.c" /* glr.c:816 */
3466 #line 809 "src/parser_proc_grammar.y" /* glr.c:816 */
3468 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3469 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3470 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3471 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3473 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3474 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3475 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3476 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3478 #line 3479 "src/parser_proc.c" /* glr.c:816 */
3482 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
3484 (*(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
)));
3485 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3486 (*(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
)));
3487 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3488 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3489 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3490 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3492 #line 3493 "src/parser_proc.c" /* glr.c:816 */
3496 #line 829 "src/parser_proc_grammar.y" /* glr.c:816 */
3498 (*(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
)));
3499 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3500 (*(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
)));
3501 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3502 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3503 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3504 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3506 #line 3507 "src/parser_proc.c" /* glr.c:816 */
3510 #line 838 "src/parser_proc_grammar.y" /* glr.c:816 */
3512 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3513 (*(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));
3514 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3516 #line 3517 "src/parser_proc.c" /* glr.c:816 */
3520 #line 847 "src/parser_proc_grammar.y" /* glr.c:816 */
3522 (*(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));
3523 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3525 #line 3526 "src/parser_proc.c" /* glr.c:816 */
3529 #line 851 "src/parser_proc_grammar.y" /* glr.c:816 */
3531 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3532 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3533 psi_decl_var_init(NULL
, 0, 0)
3535 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3536 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3537 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3538 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3540 #line 3541 "src/parser_proc.c" /* glr.c:816 */
3544 #line 861 "src/parser_proc_grammar.y" /* glr.c:816 */
3546 (*(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));
3547 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3548 (*(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
)));
3549 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3550 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3551 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3552 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3554 #line 3555 "src/parser_proc.c" /* glr.c:816 */
3558 #line 870 "src/parser_proc_grammar.y" /* glr.c:816 */
3560 (*(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));
3561 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3562 (*(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
)));
3563 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3564 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3565 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3566 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3568 #line 3569 "src/parser_proc.c" /* glr.c:816 */
3572 #line 882 "src/parser_proc_grammar.y" /* glr.c:816 */
3574 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3576 #line 3577 "src/parser_proc.c" /* glr.c:816 */
3580 #line 885 "src/parser_proc_grammar.y" /* glr.c:816 */
3582 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3584 #line 3585 "src/parser_proc.c" /* glr.c:816 */
3588 #line 892 "src/parser_proc_grammar.y" /* glr.c:816 */
3590 (*(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
);
3591 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3593 #line 3594 "src/parser_proc.c" /* glr.c:816 */
3597 #line 900 "src/parser_proc_grammar.y" /* glr.c:816 */
3599 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3600 (*(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
);
3601 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3603 #line 3604 "src/parser_proc.c" /* glr.c:816 */
3607 #line 905 "src/parser_proc_grammar.y" /* glr.c:816 */
3609 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3610 (*(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
);
3611 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3613 #line 3614 "src/parser_proc.c" /* glr.c:816 */
3617 #line 910 "src/parser_proc_grammar.y" /* glr.c:816 */
3619 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3620 (*(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
);
3621 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3623 #line 3624 "src/parser_proc.c" /* glr.c:816 */
3627 #line 920 "src/parser_proc_grammar.y" /* glr.c:816 */
3629 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3631 #line 3632 "src/parser_proc.c" /* glr.c:816 */
3635 #line 923 "src/parser_proc_grammar.y" /* glr.c:816 */
3637 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3639 #line 3640 "src/parser_proc.c" /* glr.c:816 */
3643 #line 929 "src/parser_proc_grammar.y" /* glr.c:816 */
3645 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3647 #line 3648 "src/parser_proc.c" /* glr.c:816 */
3651 #line 932 "src/parser_proc_grammar.y" /* glr.c:816 */
3653 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3655 #line 3656 "src/parser_proc.c" /* glr.c:816 */
3659 #line 935 "src/parser_proc_grammar.y" /* glr.c:816 */
3661 (*(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
)));
3663 #line 3664 "src/parser_proc.c" /* glr.c:816 */
3667 #line 957 "src/parser_proc_grammar.y" /* glr.c:816 */
3669 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3671 #line 3672 "src/parser_proc.c" /* glr.c:816 */
3675 #line 960 "src/parser_proc_grammar.y" /* glr.c:816 */
3677 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3679 #line 3680 "src/parser_proc.c" /* glr.c:816 */
3683 #line 963 "src/parser_proc_grammar.y" /* glr.c:816 */
3685 (*(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
)));
3687 #line 3688 "src/parser_proc.c" /* glr.c:816 */
3691 #line 969 "src/parser_proc_grammar.y" /* glr.c:816 */
3693 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3695 #line 3696 "src/parser_proc.c" /* glr.c:816 */
3699 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3701 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3703 #line 3704 "src/parser_proc.c" /* glr.c:816 */
3707 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3709 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3710 (*(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
)));
3711 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3713 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3716 #line 3717 "src/parser_proc.c" /* glr.c:816 */
3720 #line 983 "src/parser_proc_grammar.y" /* glr.c:816 */
3722 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3723 (*(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
)));
3724 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3725 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3727 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3730 #line 3731 "src/parser_proc.c" /* glr.c:816 */
3734 #line 995 "src/parser_proc_grammar.y" /* glr.c:816 */
3736 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3738 #line 3739 "src/parser_proc.c" /* glr.c:816 */
3742 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3744 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3746 #line 3747 "src/parser_proc.c" /* glr.c:816 */
3750 #line 1001 "src/parser_proc_grammar.y" /* glr.c:816 */
3752 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3753 (*(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
)));
3755 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3758 #line 3759 "src/parser_proc.c" /* glr.c:816 */
3762 #line 1008 "src/parser_proc_grammar.y" /* glr.c:816 */
3764 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3766 #line 3767 "src/parser_proc.c" /* glr.c:816 */
3770 #line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */
3772 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3773 (*(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
)));
3775 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3778 #line 3779 "src/parser_proc.c" /* glr.c:816 */
3782 #line 1021 "src/parser_proc_grammar.y" /* glr.c:816 */
3784 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3786 #line 3787 "src/parser_proc.c" /* glr.c:816 */
3790 #line 1027 "src/parser_proc_grammar.y" /* glr.c:816 */
3792 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3794 #line 3795 "src/parser_proc.c" /* glr.c:816 */
3798 #line 1036 "src/parser_proc_grammar.y" /* glr.c:816 */
3800 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3802 #line 3803 "src/parser_proc.c" /* glr.c:816 */
3806 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3808 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3810 #line 3811 "src/parser_proc.c" /* glr.c:816 */
3814 #line 1042 "src/parser_proc_grammar.y" /* glr.c:816 */
3816 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3817 (*(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
)));
3818 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3820 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3823 #line 3824 "src/parser_proc.c" /* glr.c:816 */
3827 #line 1053 "src/parser_proc_grammar.y" /* glr.c:816 */
3829 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3831 #line 3832 "src/parser_proc.c" /* glr.c:816 */
3835 #line 1056 "src/parser_proc_grammar.y" /* glr.c:816 */
3837 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3839 #line 3840 "src/parser_proc.c" /* glr.c:816 */
3843 #line 1076 "src/parser_proc_grammar.y" /* glr.c:816 */
3845 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3847 #line 3848 "src/parser_proc.c" /* glr.c:816 */
3851 #line 1083 "src/parser_proc_grammar.y" /* glr.c:816 */
3853 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3855 #line 3856 "src/parser_proc.c" /* glr.c:816 */
3859 #line 1089 "src/parser_proc_grammar.y" /* glr.c:816 */
3861 (*(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
)));
3863 #line 3864 "src/parser_proc.c" /* glr.c:816 */
3867 #line 1092 "src/parser_proc_grammar.y" /* glr.c:816 */
3869 (*(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
)));
3871 #line 3872 "src/parser_proc.c" /* glr.c:816 */
3875 #line 1098 "src/parser_proc_grammar.y" /* glr.c:816 */
3877 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3879 #line 3880 "src/parser_proc.c" /* glr.c:816 */
3883 #line 1101 "src/parser_proc_grammar.y" /* glr.c:816 */
3885 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3887 #line 3888 "src/parser_proc.c" /* glr.c:816 */
3891 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3893 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3895 #line 3896 "src/parser_proc.c" /* glr.c:816 */
3899 #line 1125 "src/parser_proc_grammar.y" /* glr.c:816 */
3901 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3902 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3904 #line 3905 "src/parser_proc.c" /* glr.c:816 */
3908 #line 1137 "src/parser_proc_grammar.y" /* glr.c:816 */
3910 (*(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
)));
3911 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3912 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3913 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3916 #line 3917 "src/parser_proc.c" /* glr.c:816 */
3920 #line 1144 "src/parser_proc_grammar.y" /* glr.c:816 */
3922 (*(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
)));
3923 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3924 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3925 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3926 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3929 #line 3930 "src/parser_proc.c" /* glr.c:816 */
3933 #line 1155 "src/parser_proc_grammar.y" /* glr.c:816 */
3935 (*(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
)));
3936 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3937 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3938 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3941 #line 3942 "src/parser_proc.c" /* glr.c:816 */
3945 #line 1162 "src/parser_proc_grammar.y" /* glr.c:816 */
3947 (*(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
)));
3948 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3949 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3950 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3951 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3954 #line 3955 "src/parser_proc.c" /* glr.c:816 */
3958 #line 1173 "src/parser_proc_grammar.y" /* glr.c:816 */
3960 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3961 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3962 (*(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));
3963 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3964 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3966 #line 3967 "src/parser_proc.c" /* glr.c:816 */
3970 #line 1180 "src/parser_proc_grammar.y" /* glr.c:816 */
3972 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3973 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3974 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3975 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
),
3976 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
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3979 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3980 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3982 #line 3983 "src/parser_proc.c" /* glr.c:816 */
3986 #line 1191 "src/parser_proc_grammar.y" /* glr.c:816 */
3988 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3989 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3990 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3991 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
),
3992 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)
3994 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3995 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3996 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3998 #line 3999 "src/parser_proc.c" /* glr.c:816 */
4002 #line 1202 "src/parser_proc_grammar.y" /* glr.c:816 */
4004 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4005 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4006 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4007 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
),
4008 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4010 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4011 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4012 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4014 #line 4015 "src/parser_proc.c" /* glr.c:816 */
4018 #line 1217 "src/parser_proc_grammar.y" /* glr.c:816 */
4020 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4021 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
),
4022 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4024 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4025 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4026 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4028 #line 4029 "src/parser_proc.c" /* glr.c:816 */
4032 #line 1229 "src/parser_proc_grammar.y" /* glr.c:816 */
4034 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4036 #line 4037 "src/parser_proc.c" /* glr.c:816 */
4040 #line 1232 "src/parser_proc_grammar.y" /* glr.c:816 */
4042 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4044 #line 4045 "src/parser_proc.c" /* glr.c:816 */
4048 #line 1235 "src/parser_proc_grammar.y" /* glr.c:816 */
4050 (*(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
)));
4052 #line 4053 "src/parser_proc.c" /* glr.c:816 */
4056 #line 1238 "src/parser_proc_grammar.y" /* glr.c:816 */
4058 (*(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
)));
4060 #line 4061 "src/parser_proc.c" /* glr.c:816 */
4064 #line 1245 "src/parser_proc_grammar.y" /* glr.c:816 */
4066 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4068 #line 4069 "src/parser_proc.c" /* glr.c:816 */
4072 #line 1248 "src/parser_proc_grammar.y" /* glr.c:816 */
4074 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4075 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
4076 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4079 #line 4080 "src/parser_proc.c" /* glr.c:816 */
4083 #line 1254 "src/parser_proc_grammar.y" /* glr.c:816 */
4085 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4086 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
),
4087 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4089 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4090 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4091 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4093 #line 4094 "src/parser_proc.c" /* glr.c:816 */
4097 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
4099 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4100 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
),
4101 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4103 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4104 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4105 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4107 #line 4108 "src/parser_proc.c" /* glr.c:816 */
4111 #line 1275 "src/parser_proc_grammar.y" /* glr.c:816 */
4113 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4114 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
4115 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
4117 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
4118 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4120 #line 4121 "src/parser_proc.c" /* glr.c:816 */
4124 #line 1283 "src/parser_proc_grammar.y" /* glr.c:816 */
4126 (*(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
)));
4128 #line 4129 "src/parser_proc.c" /* glr.c:816 */
4132 #line 1286 "src/parser_proc_grammar.y" /* glr.c:816 */
4134 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4135 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4136 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
),
4137 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)
4139 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4140 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4141 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4143 #line 4144 "src/parser_proc.c" /* glr.c:816 */
4147 #line 1296 "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 1309 "src/parser_proc_grammar.y" /* glr.c:816 */
4164 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4165 (*(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
)));
4166 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4168 #line 4169 "src/parser_proc.c" /* glr.c:816 */
4172 #line 1314 "src/parser_proc_grammar.y" /* glr.c:816 */
4174 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4175 (*(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
)));
4176 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4178 #line 4179 "src/parser_proc.c" /* glr.c:816 */
4182 #line 1331 "src/parser_proc_grammar.y" /* glr.c:816 */
4184 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4185 (*(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
)));
4186 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4187 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4188 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4190 #line 4191 "src/parser_proc.c" /* glr.c:816 */
4194 #line 1341 "src/parser_proc_grammar.y" /* glr.c:816 */
4196 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4197 (*(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
)));
4198 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4199 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4200 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4202 #line 4203 "src/parser_proc.c" /* glr.c:816 */
4206 #line 1351 "src/parser_proc_grammar.y" /* glr.c:816 */
4208 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4210 #line 4211 "src/parser_proc.c" /* glr.c:816 */
4214 #line 1358 "src/parser_proc_grammar.y" /* glr.c:816 */
4216 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4218 #line 4219 "src/parser_proc.c" /* glr.c:816 */
4222 #line 1364 "src/parser_proc_grammar.y" /* glr.c:816 */
4224 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4225 (*(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
)));
4226 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4228 struct psi_decl_arg
*arg
;
4230 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4231 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4232 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4234 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4237 #line 4238 "src/parser_proc.c" /* glr.c:816 */
4241 #line 1378 "src/parser_proc_grammar.y" /* glr.c:816 */
4243 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4244 (*(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
)));
4245 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4247 struct psi_decl_arg
*arg
;
4249 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4250 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4251 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4253 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4256 #line 4257 "src/parser_proc.c" /* glr.c:816 */
4260 #line 1395 "src/parser_proc_grammar.y" /* glr.c:816 */
4262 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4264 #line 4265 "src/parser_proc.c" /* glr.c:816 */
4268 #line 1398 "src/parser_proc_grammar.y" /* glr.c:816 */
4270 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4272 #line 4273 "src/parser_proc.c" /* glr.c:816 */
4276 #line 1404 "src/parser_proc_grammar.y" /* glr.c:816 */
4279 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4280 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4281 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4284 #line 4285 "src/parser_proc.c" /* glr.c:816 */
4288 #line 1411 "src/parser_proc_grammar.y" /* glr.c:816 */
4291 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4292 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4293 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4296 #line 4297 "src/parser_proc.c" /* glr.c:816 */
4300 #line 1421 "src/parser_proc_grammar.y" /* glr.c:816 */
4302 (*(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
)));
4303 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4305 #line 4306 "src/parser_proc.c" /* glr.c:816 */
4309 #line 1428 "src/parser_proc_grammar.y" /* glr.c:816 */
4311 (*(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
)));
4313 #line 4314 "src/parser_proc.c" /* glr.c:816 */
4317 #line 1431 "src/parser_proc_grammar.y" /* glr.c:816 */
4319 (*(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
)));
4321 #line 4322 "src/parser_proc.c" /* glr.c:816 */
4325 #line 1437 "src/parser_proc_grammar.y" /* glr.c:816 */
4327 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4328 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4329 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4331 #line 4332 "src/parser_proc.c" /* glr.c:816 */
4335 #line 1442 "src/parser_proc_grammar.y" /* glr.c:816 */
4337 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4338 (*(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
)));
4339 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4341 #line 4342 "src/parser_proc.c" /* glr.c:816 */
4345 #line 1450 "src/parser_proc_grammar.y" /* glr.c:816 */
4347 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4348 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4350 #line 4351 "src/parser_proc.c" /* glr.c:816 */
4354 #line 1454 "src/parser_proc_grammar.y" /* glr.c:816 */
4356 (*(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
)));
4357 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4359 #line 4360 "src/parser_proc.c" /* glr.c:816 */
4363 #line 1458 "src/parser_proc_grammar.y" /* glr.c:816 */
4365 (*(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
)));
4366 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4368 #line 4369 "src/parser_proc.c" /* glr.c:816 */
4372 #line 1462 "src/parser_proc_grammar.y" /* glr.c:816 */
4374 (*(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
)));
4375 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4377 #line 4378 "src/parser_proc.c" /* glr.c:816 */
4381 #line 1466 "src/parser_proc_grammar.y" /* glr.c:816 */
4383 (*(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
)));
4384 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4386 #line 4387 "src/parser_proc.c" /* glr.c:816 */
4390 #line 1470 "src/parser_proc_grammar.y" /* glr.c:816 */
4392 (*(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
)));
4393 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4395 #line 4396 "src/parser_proc.c" /* glr.c:816 */
4399 #line 1477 "src/parser_proc_grammar.y" /* glr.c:816 */
4401 (*(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
);
4402 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4404 #line 4405 "src/parser_proc.c" /* glr.c:816 */
4408 #line 1481 "src/parser_proc_grammar.y" /* glr.c:816 */
4410 (*(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);
4411 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4413 #line 4414 "src/parser_proc.c" /* glr.c:816 */
4417 #line 1485 "src/parser_proc_grammar.y" /* glr.c:816 */
4419 (*(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);
4420 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4422 #line 4423 "src/parser_proc.c" /* glr.c:816 */
4426 #line 1489 "src/parser_proc_grammar.y" /* glr.c:816 */
4428 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4429 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4431 #line 4432 "src/parser_proc.c" /* glr.c:816 */
4435 #line 1493 "src/parser_proc_grammar.y" /* glr.c:816 */
4437 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4439 #line 4440 "src/parser_proc.c" /* glr.c:816 */
4443 #line 1499 "src/parser_proc_grammar.y" /* glr.c:816 */
4445 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4446 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4448 #line 4449 "src/parser_proc.c" /* glr.c:816 */
4452 #line 1503 "src/parser_proc_grammar.y" /* glr.c:816 */
4454 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4455 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4457 #line 4458 "src/parser_proc.c" /* glr.c:816 */
4461 #line 1510 "src/parser_proc_grammar.y" /* glr.c:816 */
4463 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4465 #line 4466 "src/parser_proc.c" /* glr.c:816 */
4469 #line 1513 "src/parser_proc_grammar.y" /* glr.c:816 */
4471 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4472 int8_t sizeof_void_p
= sizeof(void *);
4473 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4475 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4478 #line 4479 "src/parser_proc.c" /* glr.c:816 */
4482 #line 1524 "src/parser_proc_grammar.y" /* glr.c:816 */
4484 int8_t sizeof_void_p
= sizeof(void *);
4485 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4487 #line 4488 "src/parser_proc.c" /* glr.c:816 */
4491 #line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */
4493 int8_t sizeof_a
= sizeof('a');
4494 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4496 #line 4497 "src/parser_proc.c" /* glr.c:816 */
4500 #line 1532 "src/parser_proc_grammar.y" /* glr.c:816 */
4502 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4504 #line 4505 "src/parser_proc.c" /* glr.c:816 */
4508 #line 1538 "src/parser_proc_grammar.y" /* glr.c:816 */
4510 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4511 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4515 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4516 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4519 #line 4520 "src/parser_proc.c" /* glr.c:816 */
4523 #line 1551 "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 1564 "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 1577 "src/parser_proc_grammar.y" /* glr.c:816 */
4555 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4557 #line 4558 "src/parser_proc.c" /* glr.c:816 */
4561 #line 1580 "src/parser_proc_grammar.y" /* glr.c:816 */
4563 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4564 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4566 #line 4567 "src/parser_proc.c" /* glr.c:816 */
4570 #line 1587 "src/parser_proc_grammar.y" /* glr.c:816 */
4572 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4574 #line 4575 "src/parser_proc.c" /* glr.c:816 */
4578 #line 1590 "src/parser_proc_grammar.y" /* glr.c:816 */
4580 (*(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
));
4582 #line 4583 "src/parser_proc.c" /* glr.c:816 */
4586 #line 1593 "src/parser_proc_grammar.y" /* glr.c:816 */
4588 (*(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
);
4590 #line 4591 "src/parser_proc.c" /* glr.c:816 */
4594 #line 1596 "src/parser_proc_grammar.y" /* glr.c:816 */
4596 (*(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
));
4598 #line 4599 "src/parser_proc.c" /* glr.c:816 */
4602 #line 1602 "src/parser_proc_grammar.y" /* glr.c:816 */
4604 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4605 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4607 #line 4608 "src/parser_proc.c" /* glr.c:816 */
4611 #line 1606 "src/parser_proc_grammar.y" /* glr.c:816 */
4613 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4614 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4616 #line 4617 "src/parser_proc.c" /* glr.c:816 */
4620 #line 1613 "src/parser_proc_grammar.y" /* glr.c:816 */
4622 (*(size_t*)(&(*yyvalp
))) = 0;
4624 #line 4625 "src/parser_proc.c" /* glr.c:816 */
4628 #line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */
4630 (*(size_t*)(&(*yyvalp
))) = 0;
4632 #line 4633 "src/parser_proc.c" /* glr.c:816 */
4636 #line 1619 "src/parser_proc_grammar.y" /* glr.c:816 */
4638 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
)) {
4639 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4641 (*(size_t*)(&(*yyvalp
))) = 0;
4644 #line 4645 "src/parser_proc.c" /* glr.c:816 */
4648 #line 1629 "src/parser_proc_grammar.y" /* glr.c:816 */
4650 (*(size_t*)(&(*yyvalp
))) = 0;
4652 #line 4653 "src/parser_proc.c" /* glr.c:816 */
4656 #line 1632 "src/parser_proc_grammar.y" /* glr.c:816 */
4658 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4660 #line 4661 "src/parser_proc.c" /* glr.c:816 */
4664 #line 1639 "src/parser_proc_grammar.y" /* glr.c:816 */
4666 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4668 #line 4669 "src/parser_proc.c" /* glr.c:816 */
4672 #line 1645 "src/parser_proc_grammar.y" /* glr.c:816 */
4674 (*(size_t*)(&(*yyvalp
))) = 1;
4676 #line 4677 "src/parser_proc.c" /* glr.c:816 */
4680 #line 1648 "src/parser_proc_grammar.y" /* glr.c:816 */
4682 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4684 #line 4685 "src/parser_proc.c" /* glr.c:816 */
4688 #line 1665 "src/parser_proc_grammar.y" /* glr.c:816 */
4690 (*(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
)));
4692 #line 4693 "src/parser_proc.c" /* glr.c:816 */
4696 #line 1668 "src/parser_proc_grammar.y" /* glr.c:816 */
4698 (*(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
)));
4699 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4701 #line 4702 "src/parser_proc.c" /* glr.c:816 */
4705 #line 1675 "src/parser_proc_grammar.y" /* glr.c:816 */
4707 (*(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
)));
4708 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4709 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4711 #line 4712 "src/parser_proc.c" /* glr.c:816 */
4715 #line 1680 "src/parser_proc_grammar.y" /* glr.c:816 */
4717 (*(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
)));
4718 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4719 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4721 #line 4722 "src/parser_proc.c" /* glr.c:816 */
4725 #line 1685 "src/parser_proc_grammar.y" /* glr.c:816 */
4727 (*(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
)));
4728 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4729 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4730 (*(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
);
4731 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4733 #line 4734 "src/parser_proc.c" /* glr.c:816 */
4737 #line 1695 "src/parser_proc_grammar.y" /* glr.c:816 */
4739 (*(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
)));
4741 #line 4742 "src/parser_proc.c" /* glr.c:816 */
4745 #line 1698 "src/parser_proc_grammar.y" /* glr.c:816 */
4747 (*(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
)));
4749 #line 4750 "src/parser_proc.c" /* glr.c:816 */
4753 #line 1704 "src/parser_proc_grammar.y" /* glr.c:816 */
4755 (*(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
);
4757 #line 4758 "src/parser_proc.c" /* glr.c:816 */
4761 #line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */
4763 (*(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
)));
4765 #line 4766 "src/parser_proc.c" /* glr.c:816 */
4769 #line 1713 "src/parser_proc_grammar.y" /* glr.c:816 */
4771 (*(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
)));
4772 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4774 #line 4775 "src/parser_proc.c" /* glr.c:816 */
4778 #line 1720 "src/parser_proc_grammar.y" /* glr.c:816 */
4780 (*(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
);
4781 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4783 #line 4784 "src/parser_proc.c" /* glr.c:816 */
4787 #line 1739 "src/parser_proc_grammar.y" /* glr.c:816 */
4789 (*(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
)));
4791 #line 4792 "src/parser_proc.c" /* glr.c:816 */
4795 #line 1742 "src/parser_proc_grammar.y" /* glr.c:816 */
4797 (*(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
)));
4799 #line 4800 "src/parser_proc.c" /* glr.c:816 */
4803 #line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */
4805 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4807 #line 4808 "src/parser_proc.c" /* glr.c:816 */
4811 #line 1751 "src/parser_proc_grammar.y" /* glr.c:816 */
4813 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4815 #line 4816 "src/parser_proc.c" /* glr.c:816 */
4819 #line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */
4821 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4823 #line 4824 "src/parser_proc.c" /* glr.c:816 */
4827 #line 1757 "src/parser_proc_grammar.y" /* glr.c:816 */
4829 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4831 #line 4832 "src/parser_proc.c" /* glr.c:816 */
4835 #line 1760 "src/parser_proc_grammar.y" /* glr.c:816 */
4837 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4839 #line 4840 "src/parser_proc.c" /* glr.c:816 */
4843 #line 1766 "src/parser_proc_grammar.y" /* glr.c:816 */
4845 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4846 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4848 #line 4849 "src/parser_proc.c" /* glr.c:816 */
4852 #line 1770 "src/parser_proc_grammar.y" /* glr.c:816 */
4854 (*(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
))));
4855 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4856 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4858 #line 4859 "src/parser_proc.c" /* glr.c:816 */
4862 #line 1779 "src/parser_proc_grammar.y" /* glr.c:816 */
4864 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4865 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4867 #line 4868 "src/parser_proc.c" /* glr.c:816 */
4871 #line 1783 "src/parser_proc_grammar.y" /* glr.c:816 */
4873 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4874 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4876 #line 4877 "src/parser_proc.c" /* glr.c:816 */
4880 #line 1790 "src/parser_proc_grammar.y" /* glr.c:816 */
4882 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4884 #line 4885 "src/parser_proc.c" /* glr.c:816 */
4888 #line 1793 "src/parser_proc_grammar.y" /* glr.c:816 */
4890 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4892 #line 4893 "src/parser_proc.c" /* glr.c:816 */
4896 #line 1796 "src/parser_proc_grammar.y" /* glr.c:816 */
4898 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4899 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4901 #line 4902 "src/parser_proc.c" /* glr.c:816 */
4905 #line 1800 "src/parser_proc_grammar.y" /* glr.c:816 */
4907 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4909 #line 4910 "src/parser_proc.c" /* glr.c:816 */
4913 #line 1803 "src/parser_proc_grammar.y" /* glr.c:816 */
4915 (*(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
)));
4917 #line 4918 "src/parser_proc.c" /* glr.c:816 */
4921 #line 1806 "src/parser_proc_grammar.y" /* glr.c:816 */
4923 (*(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
)));
4925 #line 4926 "src/parser_proc.c" /* glr.c:816 */
4929 #line 1812 "src/parser_proc_grammar.y" /* glr.c:816 */
4931 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4932 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4934 #line 4935 "src/parser_proc.c" /* glr.c:816 */
4938 #line 1816 "src/parser_proc_grammar.y" /* glr.c:816 */
4940 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4941 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4942 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4944 #line 4945 "src/parser_proc.c" /* glr.c:816 */
4948 #line 1824 "src/parser_proc_grammar.y" /* glr.c:816 */
4950 (*(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
)));
4951 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4953 #line 4954 "src/parser_proc.c" /* glr.c:816 */
4957 #line 1831 "src/parser_proc_grammar.y" /* glr.c:816 */
4959 (*(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
)));
4960 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4961 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4963 #line 4964 "src/parser_proc.c" /* glr.c:816 */
4967 #line 1839 "src/parser_proc_grammar.y" /* glr.c:816 */
4969 (*(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
)));
4970 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4971 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4973 #line 4974 "src/parser_proc.c" /* glr.c:816 */
4977 #line 1860 "src/parser_proc_grammar.y" /* glr.c:816 */
4979 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4981 #line 4982 "src/parser_proc.c" /* glr.c:816 */
4985 #line 1863 "src/parser_proc_grammar.y" /* glr.c:816 */
4987 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4989 #line 4990 "src/parser_proc.c" /* glr.c:816 */
4993 #line 1869 "src/parser_proc_grammar.y" /* glr.c:816 */
4995 (*(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
)));
4997 #line 4998 "src/parser_proc.c" /* glr.c:816 */
5001 #line 1872 "src/parser_proc_grammar.y" /* glr.c:816 */
5003 (*(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
)));
5005 #line 5006 "src/parser_proc.c" /* glr.c:816 */
5009 #line 1883 "src/parser_proc_grammar.y" /* glr.c:816 */
5011 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5013 #line 5014 "src/parser_proc.c" /* glr.c:816 */
5017 #line 1886 "src/parser_proc_grammar.y" /* glr.c:816 */
5019 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5021 #line 5022 "src/parser_proc.c" /* glr.c:816 */
5025 #line 1892 "src/parser_proc_grammar.y" /* glr.c:816 */
5027 (*(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
)));
5029 #line 5030 "src/parser_proc.c" /* glr.c:816 */
5033 #line 1895 "src/parser_proc_grammar.y" /* glr.c:816 */
5035 (*(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
)));
5037 #line 5038 "src/parser_proc.c" /* glr.c:816 */
5041 #line 1901 "src/parser_proc_grammar.y" /* glr.c:816 */
5043 (*(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
))));
5044 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5046 #line 5047 "src/parser_proc.c" /* glr.c:816 */
5050 #line 1908 "src/parser_proc_grammar.y" /* glr.c:816 */
5052 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5053 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5055 #line 5056 "src/parser_proc.c" /* glr.c:816 */
5059 #line 1915 "src/parser_proc_grammar.y" /* glr.c:816 */
5061 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5063 #line 5064 "src/parser_proc.c" /* glr.c:816 */
5067 #line 1918 "src/parser_proc_grammar.y" /* glr.c:816 */
5069 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5071 #line 5072 "src/parser_proc.c" /* glr.c:816 */
5075 #line 1921 "src/parser_proc_grammar.y" /* glr.c:816 */
5077 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5078 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5080 #line 5081 "src/parser_proc.c" /* glr.c:816 */
5084 #line 1928 "src/parser_proc_grammar.y" /* glr.c:816 */
5086 (*(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
)));
5087 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5088 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5090 #line 5091 "src/parser_proc.c" /* glr.c:816 */
5094 #line 1933 "src/parser_proc_grammar.y" /* glr.c:816 */
5096 (*(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
)));
5097 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5098 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5100 #line 5101 "src/parser_proc.c" /* glr.c:816 */
5104 #line 1952 "src/parser_proc_grammar.y" /* glr.c:816 */
5106 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5108 #line 5109 "src/parser_proc.c" /* glr.c:816 */
5112 #line 1955 "src/parser_proc_grammar.y" /* glr.c:816 */
5114 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5116 #line 5117 "src/parser_proc.c" /* glr.c:816 */
5120 #line 1961 "src/parser_proc_grammar.y" /* glr.c:816 */
5122 (*(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
)));
5124 #line 5125 "src/parser_proc.c" /* glr.c:816 */
5128 #line 1964 "src/parser_proc_grammar.y" /* glr.c:816 */
5130 (*(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
)));
5132 #line 5133 "src/parser_proc.c" /* glr.c:816 */
5136 #line 1970 "src/parser_proc_grammar.y" /* glr.c:816 */
5138 (*(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
)));
5139 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5141 #line 5142 "src/parser_proc.c" /* glr.c:816 */
5145 #line 1982 "src/parser_proc_grammar.y" /* glr.c:816 */
5147 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5148 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5150 #line 5151 "src/parser_proc.c" /* glr.c:816 */
5154 #line 1989 "src/parser_proc_grammar.y" /* glr.c:816 */
5156 (*(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
)));
5158 #line 5159 "src/parser_proc.c" /* glr.c:816 */
5162 #line 1992 "src/parser_proc_grammar.y" /* glr.c:816 */
5164 (*(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
)));
5166 #line 5167 "src/parser_proc.c" /* glr.c:816 */
5170 #line 1998 "src/parser_proc_grammar.y" /* glr.c:816 */
5172 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5173 (*(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
)));
5174 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5176 #line 5177 "src/parser_proc.c" /* glr.c:816 */
5180 #line 2006 "src/parser_proc_grammar.y" /* glr.c:816 */
5182 (*(bool*)(&(*yyvalp
))) = false;
5184 #line 5185 "src/parser_proc.c" /* glr.c:816 */
5188 #line 2009 "src/parser_proc_grammar.y" /* glr.c:816 */
5190 (*(bool*)(&(*yyvalp
))) = true;
5192 #line 5193 "src/parser_proc.c" /* glr.c:816 */
5196 #line 5197 "src/parser_proc.c" /* glr.c:816 */
5207 # undef YYRECOVERING
5212 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5224 /* Bison grammar-table manipulation. */
5226 /*-----------------------------------------------.
5227 | Release the memory associated to this symbol. |
5228 `-----------------------------------------------*/
5231 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5239 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5241 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5244 case 136: /* binary_op_token */
5245 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5247 #line 5248 "src/parser_proc.c" /* glr.c:846 */
5250 case 137: /* unary_op_token */
5251 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5253 #line 5254 "src/parser_proc.c" /* glr.c:846 */
5256 case 138: /* name_token */
5257 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5259 #line 5260 "src/parser_proc.c" /* glr.c:846 */
5262 case 139: /* any_noeol_token */
5263 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5265 #line 5266 "src/parser_proc.c" /* glr.c:846 */
5269 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5270 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5271 #line 5272 "src/parser_proc.c" /* glr.c:846 */
5275 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5276 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5277 #line 5278 "src/parser_proc.c" /* glr.c:846 */
5280 case 146: /* cpp_exp */
5281 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5282 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5283 #line 5284 "src/parser_proc.c" /* glr.c:846 */
5286 case 148: /* cpp_message_token */
5287 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5289 #line 5290 "src/parser_proc.c" /* glr.c:846 */
5292 case 149: /* cpp_include_token */
5293 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5295 #line 5296 "src/parser_proc.c" /* glr.c:846 */
5298 case 150: /* cpp_header_token */
5299 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5301 #line 5302 "src/parser_proc.c" /* glr.c:846 */
5304 case 151: /* cpp_no_arg_token */
5305 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5307 #line 5308 "src/parser_proc.c" /* glr.c:846 */
5310 case 152: /* cpp_name_arg_token */
5311 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5313 #line 5314 "src/parser_proc.c" /* glr.c:846 */
5316 case 153: /* cpp_exp_arg_token */
5317 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5319 #line 5320 "src/parser_proc.c" /* glr.c:846 */
5322 case 154: /* cpp_special_name_token */
5323 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5325 #line 5326 "src/parser_proc.c" /* glr.c:846 */
5328 case 155: /* cpp_macro_decl */
5329 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5330 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5331 #line 5332 "src/parser_proc.c" /* glr.c:846 */
5334 case 156: /* cpp_macro_sig */
5335 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5336 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5337 #line 5338 "src/parser_proc.c" /* glr.c:846 */
5340 case 157: /* cpp_macro_sig_args */
5341 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5342 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5343 #line 5344 "src/parser_proc.c" /* glr.c:846 */
5346 case 158: /* cpp_macro_decl_tokens */
5347 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5348 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5349 #line 5350 "src/parser_proc.c" /* glr.c:846 */
5352 case 159: /* cpp_macro_decl_token_list */
5353 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5354 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5355 #line 5356 "src/parser_proc.c" /* glr.c:846 */
5358 case 160: /* cpp_macro_exp */
5359 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
5360 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5361 #line 5362 "src/parser_proc.c" /* glr.c:846 */
5364 case 161: /* cpp_macro_call_args */
5365 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5366 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5367 #line 5368 "src/parser_proc.c" /* glr.c:846 */
5370 case 162: /* cpp_macro_call_arg_list */
5371 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5372 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5373 #line 5374 "src/parser_proc.c" /* glr.c:846 */
5376 case 163: /* constant */
5377 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
5378 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5379 #line 5380 "src/parser_proc.c" /* glr.c:846 */
5382 case 164: /* constant_type */
5383 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5384 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5385 #line 5386 "src/parser_proc.c" /* glr.c:846 */
5388 case 165: /* constant_type_token */
5389 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5391 #line 5392 "src/parser_proc.c" /* glr.c:846 */
5394 case 166: /* impl_def_val */
5395 #line 287 "src/parser_proc_grammar.y" /* glr.c:846 */
5396 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5397 #line 5398 "src/parser_proc.c" /* glr.c:846 */
5400 case 167: /* impl_def_val_token */
5401 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5403 #line 5404 "src/parser_proc.c" /* glr.c:846 */
5406 case 168: /* decl_typedef */
5407 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5408 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5409 #line 5410 "src/parser_proc.c" /* glr.c:846 */
5412 case 169: /* typedef */
5413 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5414 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5415 #line 5416 "src/parser_proc.c" /* glr.c:846 */
5418 case 170: /* typedef_anon */
5419 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5420 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5421 #line 5422 "src/parser_proc.c" /* glr.c:846 */
5424 case 171: /* typedef_decl */
5425 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5426 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5427 #line 5428 "src/parser_proc.c" /* glr.c:846 */
5430 case 172: /* typedef_anon_decl */
5431 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5432 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5433 #line 5434 "src/parser_proc.c" /* glr.c:846 */
5436 case 173: /* qualified_decl_type */
5437 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5438 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5439 #line 5440 "src/parser_proc.c" /* glr.c:846 */
5442 case 174: /* decl_type */
5443 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5444 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5445 #line 5446 "src/parser_proc.c" /* glr.c:846 */
5448 case 175: /* decl_type_complex */
5449 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5450 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5451 #line 5452 "src/parser_proc.c" /* glr.c:846 */
5454 case 176: /* decl_type_simple */
5455 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5456 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5457 #line 5458 "src/parser_proc.c" /* glr.c:846 */
5460 case 177: /* decl_real_type */
5461 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5462 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5463 #line 5464 "src/parser_proc.c" /* glr.c:846 */
5466 case 178: /* decl_stdint_type */
5467 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5469 #line 5470 "src/parser_proc.c" /* glr.c:846 */
5472 case 179: /* int_signed */
5473 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5475 #line 5476 "src/parser_proc.c" /* glr.c:846 */
5478 case 180: /* int_width */
5479 #line 265 "src/parser_proc_grammar.y" /* glr.c:846 */
5480 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5481 #line 5482 "src/parser_proc.c" /* glr.c:846 */
5484 case 181: /* decl_int_type */
5485 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5486 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5487 #line 5488 "src/parser_proc.c" /* glr.c:846 */
5490 case 182: /* int_signed_types */
5491 #line 265 "src/parser_proc_grammar.y" /* glr.c:846 */
5492 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5493 #line 5494 "src/parser_proc.c" /* glr.c:846 */
5496 case 183: /* signed_short_types */
5497 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5499 #line 5500 "src/parser_proc.c" /* glr.c:846 */
5502 case 184: /* signed_long_types */
5503 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5505 #line 5506 "src/parser_proc.c" /* glr.c:846 */
5508 case 185: /* int_width_types */
5509 #line 265 "src/parser_proc_grammar.y" /* glr.c:846 */
5510 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5511 #line 5512 "src/parser_proc.c" /* glr.c:846 */
5514 case 186: /* decl_stmt */
5515 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
5516 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5517 #line 5518 "src/parser_proc.c" /* glr.c:846 */
5520 case 192: /* decl_vars */
5521 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5522 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5523 #line 5524 "src/parser_proc.c" /* glr.c:846 */
5526 case 197: /* decl */
5527 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
5528 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5529 #line 5530 "src/parser_proc.c" /* glr.c:846 */
5532 case 198: /* decl_body */
5533 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
5534 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5535 #line 5536 "src/parser_proc.c" /* glr.c:846 */
5538 case 199: /* decl_func_body */
5539 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
5540 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5541 #line 5542 "src/parser_proc.c" /* glr.c:846 */
5544 case 200: /* decl_functor_body */
5545 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
5546 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5547 #line 5548 "src/parser_proc.c" /* glr.c:846 */
5550 case 201: /* decl_functor */
5551 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5552 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5553 #line 5554 "src/parser_proc.c" /* glr.c:846 */
5556 case 202: /* decl_func */
5557 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5558 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5559 #line 5560 "src/parser_proc.c" /* glr.c:846 */
5562 case 203: /* decl_args */
5563 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5564 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5565 #line 5566 "src/parser_proc.c" /* glr.c:846 */
5568 case 204: /* decl_anon_arg */
5569 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5570 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5571 #line 5572 "src/parser_proc.c" /* glr.c:846 */
5574 case 205: /* decl_arg */
5575 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5576 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5577 #line 5578 "src/parser_proc.c" /* glr.c:846 */
5580 case 206: /* decl_var */
5581 #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */
5582 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5583 #line 5584 "src/parser_proc.c" /* glr.c:846 */
5586 case 207: /* decl_union */
5587 #line 306 "src/parser_proc_grammar.y" /* glr.c:846 */
5588 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5589 #line 5590 "src/parser_proc.c" /* glr.c:846 */
5592 case 208: /* decl_struct */
5593 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5594 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5595 #line 5596 "src/parser_proc.c" /* glr.c:846 */
5598 case 209: /* decl_struct_args */
5599 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5600 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5601 #line 5602 "src/parser_proc.c" /* glr.c:846 */
5604 case 210: /* struct_args_block */
5605 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5606 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5607 #line 5608 "src/parser_proc.c" /* glr.c:846 */
5610 case 211: /* struct_args */
5611 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5612 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5613 #line 5614 "src/parser_proc.c" /* glr.c:846 */
5616 case 212: /* struct_arg_var_list */
5617 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5618 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5619 #line 5620 "src/parser_proc.c" /* glr.c:846 */
5622 case 213: /* decl_vars_with_layout */
5623 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5624 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5625 #line 5626 "src/parser_proc.c" /* glr.c:846 */
5628 case 214: /* decl_enum */
5629 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5630 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5631 #line 5632 "src/parser_proc.c" /* glr.c:846 */
5634 case 215: /* decl_enum_items */
5635 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5636 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5637 #line 5638 "src/parser_proc.c" /* glr.c:846 */
5640 case 216: /* decl_enum_item */
5641 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5642 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5643 #line 5644 "src/parser_proc.c" /* glr.c:846 */
5646 case 217: /* num_exp */
5647 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
5648 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5649 #line 5650 "src/parser_proc.c" /* glr.c:846 */
5652 case 218: /* number */
5653 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
5654 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5655 #line 5656 "src/parser_proc.c" /* glr.c:846 */
5658 case 219: /* sizeof */
5659 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5660 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5661 #line 5662 "src/parser_proc.c" /* glr.c:846 */
5664 case 220: /* sizeof_body */
5665 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5666 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5667 #line 5668 "src/parser_proc.c" /* glr.c:846 */
5670 case 221: /* sizeof_body_notypes */
5671 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5672 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5673 #line 5674 "src/parser_proc.c" /* glr.c:846 */
5676 case 222: /* enum_name */
5677 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5678 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5679 #line 5680 "src/parser_proc.c" /* glr.c:846 */
5682 case 223: /* union_name */
5683 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5684 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5685 #line 5686 "src/parser_proc.c" /* glr.c:846 */
5688 case 224: /* struct_name */
5689 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5690 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5691 #line 5692 "src/parser_proc.c" /* glr.c:846 */
5694 case 225: /* optional_name */
5695 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5696 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5697 #line 5698 "src/parser_proc.c" /* glr.c:846 */
5700 case 226: /* decl_layout */
5701 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5702 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5703 #line 5704 "src/parser_proc.c" /* glr.c:846 */
5706 case 227: /* align_and_size */
5707 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5709 #line 5710 "src/parser_proc.c" /* glr.c:846 */
5712 case 228: /* array_size */
5713 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5715 #line 5716 "src/parser_proc.c" /* glr.c:846 */
5718 case 229: /* indirection */
5719 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5721 #line 5722 "src/parser_proc.c" /* glr.c:846 */
5724 case 230: /* pointers */
5725 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5727 #line 5728 "src/parser_proc.c" /* glr.c:846 */
5730 case 231: /* asterisks */
5731 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5733 #line 5734 "src/parser_proc.c" /* glr.c:846 */
5736 case 233: /* impl */
5737 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
5738 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5739 #line 5740 "src/parser_proc.c" /* glr.c:846 */
5742 case 234: /* impl_func */
5743 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5744 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5745 #line 5746 "src/parser_proc.c" /* glr.c:846 */
5748 case 235: /* impl_args */
5749 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5750 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5751 #line 5752 "src/parser_proc.c" /* glr.c:846 */
5754 case 236: /* impl_arg */
5755 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5756 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5757 #line 5758 "src/parser_proc.c" /* glr.c:846 */
5760 case 237: /* impl_var */
5761 #line 331 "src/parser_proc_grammar.y" /* glr.c:846 */
5762 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5763 #line 5764 "src/parser_proc.c" /* glr.c:846 */
5766 case 238: /* impl_type */
5767 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5768 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5769 #line 5770 "src/parser_proc.c" /* glr.c:846 */
5772 case 239: /* impl_type_token */
5773 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5774 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5775 #line 5776 "src/parser_proc.c" /* glr.c:846 */
5778 case 240: /* impl_stmts */
5779 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5780 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5781 #line 5782 "src/parser_proc.c" /* glr.c:846 */
5784 case 241: /* impl_stmt */
5785 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5786 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5787 #line 5788 "src/parser_proc.c" /* glr.c:846 */
5790 case 242: /* let_stmt */
5791 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5792 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5793 #line 5794 "src/parser_proc.c" /* glr.c:846 */
5796 case 243: /* let_exp */
5797 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
5798 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5799 #line 5800 "src/parser_proc.c" /* glr.c:846 */
5802 case 244: /* let_exp_byref */
5803 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
5804 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5805 #line 5806 "src/parser_proc.c" /* glr.c:846 */
5808 case 245: /* let_exp_assign */
5809 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
5810 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5811 #line 5812 "src/parser_proc.c" /* glr.c:846 */
5814 case 246: /* let_calloc */
5815 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5816 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5817 #line 5818 "src/parser_proc.c" /* glr.c:846 */
5820 case 247: /* let_callback */
5821 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5822 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5823 #line 5824 "src/parser_proc.c" /* glr.c:846 */
5826 case 248: /* let_func */
5827 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5828 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5829 #line 5830 "src/parser_proc.c" /* glr.c:846 */
5832 case 249: /* let_func_token */
5833 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5834 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5835 #line 5836 "src/parser_proc.c" /* glr.c:846 */
5838 case 250: /* let_func_exps */
5839 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5840 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5841 #line 5842 "src/parser_proc.c" /* glr.c:846 */
5844 case 251: /* let_exps */
5845 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5846 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5847 #line 5848 "src/parser_proc.c" /* glr.c:846 */
5850 case 252: /* callback_rval */
5851 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5852 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5853 #line 5854 "src/parser_proc.c" /* glr.c:846 */
5856 case 253: /* callback_arg_list */
5857 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5858 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5859 #line 5860 "src/parser_proc.c" /* glr.c:846 */
5862 case 254: /* callback_args */
5863 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5864 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5865 #line 5866 "src/parser_proc.c" /* glr.c:846 */
5868 case 255: /* return_stmt */
5869 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5870 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5871 #line 5872 "src/parser_proc.c" /* glr.c:846 */
5874 case 256: /* set_stmt */
5875 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5876 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5877 #line 5878 "src/parser_proc.c" /* glr.c:846 */
5880 case 257: /* set_exp */
5881 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5882 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5883 #line 5884 "src/parser_proc.c" /* glr.c:846 */
5886 case 258: /* set_func */
5887 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5888 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5889 #line 5890 "src/parser_proc.c" /* glr.c:846 */
5892 case 259: /* set_func_token */
5893 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5894 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5895 #line 5896 "src/parser_proc.c" /* glr.c:846 */
5898 case 260: /* set_func_exps */
5899 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5900 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5901 #line 5902 "src/parser_proc.c" /* glr.c:846 */
5904 case 261: /* set_exps */
5905 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5906 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5907 #line 5908 "src/parser_proc.c" /* glr.c:846 */
5910 case 262: /* assert_stmt */
5911 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5912 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5913 #line 5914 "src/parser_proc.c" /* glr.c:846 */
5916 case 263: /* assert_stmt_token */
5917 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5918 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5919 #line 5920 "src/parser_proc.c" /* glr.c:846 */
5922 case 264: /* free_stmt */
5923 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5924 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5925 #line 5926 "src/parser_proc.c" /* glr.c:846 */
5928 case 265: /* free_exps */
5929 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5930 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5931 #line 5932 "src/parser_proc.c" /* glr.c:846 */
5934 case 266: /* free_exp */
5935 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5936 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5937 #line 5938 "src/parser_proc.c" /* glr.c:846 */
5940 case 267: /* reference */
5941 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5943 #line 5944 "src/parser_proc.c" /* glr.c:846 */
5950 YY_IGNORE_MAYBE_UNINITIALIZED_END
5953 /** Number of symbols composing the right hand side of rule #RULE. */
5955 yyrhsLength (yyRuleNum yyrule
)
5957 return yyr2
[yyrule
];
5961 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5963 if (yys
->yyresolved
)
5964 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5965 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5971 if (yys
->yysemantics
.yyfirstVal
)
5972 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5974 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5975 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5979 if (yys
->yysemantics
.yyfirstVal
)
5981 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5984 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5986 yyrh
= yyrh
->yypred
, yyn
-= 1)
5987 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5992 /** Left-hand-side symbol for rule #YYRULE. */
5993 static inline yySymbol
5994 yylhsNonterm (yyRuleNum yyrule
)
5996 return yyr1
[yyrule
];
5999 #define yypact_value_is_default(Yystate) \
6000 (!!((Yystate) == (-722)))
6002 /** True iff LR state YYSTATE has only a default reduction (regardless
6004 static inline yybool
6005 yyisDefaultedState (yyStateNum yystate
)
6007 return yypact_value_is_default (yypact
[yystate
]);
6010 /** The default reduction for YYSTATE, assuming it has one. */
6011 static inline yyRuleNum
6012 yydefaultAction (yyStateNum yystate
)
6014 return yydefact
[yystate
];
6017 #define yytable_value_is_error(Yytable_value) \
6020 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
6022 * R < 0: Reduce on rule -R.
6024 * R > 0: Shift to state R.
6025 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
6026 * of conflicting reductions.
6029 yygetLRActions (yyStateNum yystate
, int yytoken
,
6030 int* yyaction
, const short int** yyconflicts
)
6032 int yyindex
= yypact
[yystate
] + yytoken
;
6033 if (yypact_value_is_default (yypact
[yystate
])
6034 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
6036 *yyaction
= -yydefact
[yystate
];
6037 *yyconflicts
= yyconfl
;
6039 else if (! yytable_value_is_error (yytable
[yyindex
]))
6041 *yyaction
= yytable
[yyindex
];
6042 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6047 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6051 /** Compute post-reduction state.
6052 * \param yystate the current state
6053 * \param yysym the nonterminal to push on the stack
6055 static inline yyStateNum
6056 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
6058 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
6059 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
6060 return yytable
[yyr
];
6062 return yydefgoto
[yysym
- YYNTOKENS
];
6065 static inline yybool
6066 yyisShiftAction (int yyaction
)
6068 return 0 < yyaction
;
6071 static inline yybool
6072 yyisErrorAction (int yyaction
)
6074 return yyaction
== 0;
6079 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
6080 * if YYISSTATE, and otherwise a semantic option. Callers should call
6081 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6084 static inline yyGLRStackItem
*
6085 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6087 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6088 yystackp
->yyspaceLeft
-= 1;
6089 yystackp
->yynextFree
+= 1;
6090 yynewItem
->yystate
.yyisState
= yyisState
;
6094 /** Add a new semantic action that will execute the action for rule
6095 * YYRULE on the semantic values in YYRHS to the list of
6096 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6097 * stack #YYK of *YYSTACKP. */
6099 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6100 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6102 yySemanticOption
* yynewOption
=
6103 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6104 YYASSERT (!yynewOption
->yyisState
);
6105 yynewOption
->yystate
= yyrhs
;
6106 yynewOption
->yyrule
= yyrule
;
6107 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6109 yynewOption
->yyrawchar
= yychar
;
6110 yynewOption
->yyval
= yylval
;
6113 yynewOption
->yyrawchar
= YYEMPTY
;
6114 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6115 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6117 YY_RESERVE_GLRSTACK (yystackp
);
6122 /** Initialize YYSET to a singleton set containing an empty stack. */
6124 yyinitStateSet (yyGLRStateSet
* yyset
)
6127 yyset
->yycapacity
= 16;
6128 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6129 if (! yyset
->yystates
)
6131 yyset
->yystates
[0] = YY_NULLPTR
;
6132 yyset
->yylookaheadNeeds
=
6133 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6134 if (! yyset
->yylookaheadNeeds
)
6136 YYFREE (yyset
->yystates
);
6142 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6144 YYFREE (yyset
->yystates
);
6145 YYFREE (yyset
->yylookaheadNeeds
);
6148 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6149 * capacity for all stacks of YYSIZE. */
6151 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6153 yystackp
->yyerrState
= 0;
6155 yystackp
->yyspaceLeft
= yysize
;
6157 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6158 if (!yystackp
->yyitems
)
6160 yystackp
->yynextFree
= yystackp
->yyitems
;
6161 yystackp
->yysplitPoint
= YY_NULLPTR
;
6162 yystackp
->yylastDeleted
= YY_NULLPTR
;
6163 return yyinitStateSet (&yystackp
->yytops
);
6167 #if YYSTACKEXPANDABLE
6168 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6169 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6171 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6172 stack from outside should be considered invalid after this call.
6173 We always expand when there are 1 or fewer items left AFTER an
6174 allocation, so that we can avoid having external pointers exist
6175 across an allocation. */
6177 yyexpandGLRStack (yyGLRStack
* yystackp
)
6179 yyGLRStackItem
* yynewItems
;
6180 yyGLRStackItem
* yyp0
, *yyp1
;
6183 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6184 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6185 yyMemoryExhausted (yystackp
);
6186 yynewSize
= 2*yysize
;
6187 if (YYMAXDEPTH
< yynewSize
)
6188 yynewSize
= YYMAXDEPTH
;
6189 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6191 yyMemoryExhausted (yystackp
);
6192 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6194 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6197 if (*(yybool
*) yyp0
)
6199 yyGLRState
* yys0
= &yyp0
->yystate
;
6200 yyGLRState
* yys1
= &yyp1
->yystate
;
6201 if (yys0
->yypred
!= YY_NULLPTR
)
6203 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6204 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6205 yys1
->yysemantics
.yyfirstVal
=
6206 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6210 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6211 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6212 if (yyv0
->yystate
!= YY_NULLPTR
)
6213 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6214 if (yyv0
->yynext
!= YY_NULLPTR
)
6215 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6218 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6219 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6220 yystackp
->yysplitPoint
, yystate
);
6222 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6223 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6224 yystackp
->yytops
.yystates
[yyn
] =
6225 YYRELOC (yystackp
->yyitems
, yynewItems
,
6226 yystackp
->yytops
.yystates
[yyn
], yystate
);
6227 YYFREE (yystackp
->yyitems
);
6228 yystackp
->yyitems
= yynewItems
;
6229 yystackp
->yynextFree
= yynewItems
+ yysize
;
6230 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6235 yyfreeGLRStack (yyGLRStack
* yystackp
)
6237 YYFREE (yystackp
->yyitems
);
6238 yyfreeStateSet (&yystackp
->yytops
);
6241 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6242 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6245 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6247 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6248 yystackp
->yysplitPoint
= yys
;
6251 /** Invalidate stack #YYK in *YYSTACKP. */
6253 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6255 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6256 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6257 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6260 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6261 only be done once after a deletion, and only when all other stacks have
6264 yyundeleteLastStack (yyGLRStack
* yystackp
)
6266 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6268 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6269 yystackp
->yytops
.yysize
= 1;
6270 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6271 yystackp
->yylastDeleted
= YY_NULLPTR
;
6275 yyremoveDeletes (yyGLRStack
* yystackp
)
6279 while (yyj
< yystackp
->yytops
.yysize
)
6281 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6285 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6287 yystackp
->yytops
.yysize
-= 1;
6291 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6292 /* In the current implementation, it's unnecessary to copy
6293 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6294 yyremoveDeletes returns, the parser immediately either enters
6295 deterministic operation or shifts a token. However, it doesn't
6296 hurt, and the code might evolve to need it. */
6297 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6298 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6301 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6302 (unsigned long int) yyi
, (unsigned long int) yyj
));
6310 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6311 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6312 * value *YYVALP and source location *YYLOCP. */
6314 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6318 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6320 yynewState
->yylrState
= yylrState
;
6321 yynewState
->yyposn
= yyposn
;
6322 yynewState
->yyresolved
= yytrue
;
6323 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6324 yynewState
->yysemantics
.yysval
= *yyvalp
;
6325 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6327 YY_RESERVE_GLRSTACK (yystackp
);
6330 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6331 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6332 * semantic value of YYRHS under the action for YYRULE. */
6334 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6335 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6337 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6338 YYASSERT (yynewState
->yyisState
);
6340 yynewState
->yylrState
= yylrState
;
6341 yynewState
->yyposn
= yyposn
;
6342 yynewState
->yyresolved
= yyfalse
;
6343 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6344 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6345 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6347 /* Invokes YY_RESERVE_GLRSTACK. */
6348 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6352 # define YY_REDUCE_PRINT(Args)
6354 # define YY_REDUCE_PRINT(Args) \
6357 yy_reduce_print Args; \
6360 /*----------------------------------------------------------------------.
6361 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6362 `----------------------------------------------------------------------*/
6365 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6366 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6368 int yynrhs
= yyrhsLength (yyrule
);
6370 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6371 (unsigned long int) yyk
, yyrule
- 1,
6372 (unsigned long int) yyrline
[yyrule
]);
6374 yyfillin (yyvsp
, 1, -yynrhs
);
6375 /* The symbols being reduced. */
6376 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6378 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6379 yy_symbol_print (stderr
,
6380 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6381 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6382 , P
, tokens
, index
);
6383 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6384 YYFPRINTF (stderr
, " (unresolved)");
6385 YYFPRINTF (stderr
, "\n");
6390 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6391 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6392 * semantic values. Assumes that all ambiguities in semantic values
6393 * have been previously resolved. Set *YYVALP to the resulting value,
6394 * and *YYLOCP to the computed location (if any). Return value is as
6395 * for userAction. */
6396 static inline YYRESULTTAG
6397 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6398 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6400 int yynrhs
= yyrhsLength (yyrule
);
6402 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6404 /* Standard special case: single stack. */
6405 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6406 YYASSERT (yyk
== 0);
6407 yystackp
->yynextFree
-= yynrhs
;
6408 yystackp
->yyspaceLeft
+= yynrhs
;
6409 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6410 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6411 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6412 yyvalp
, P
, tokens
, index
);
6418 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6419 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6420 = yystackp
->yytops
.yystates
[yyk
];
6421 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6426 yyupdateSplit (yystackp
, yys
);
6427 yystackp
->yytops
.yystates
[yyk
] = yys
;
6428 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6429 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6430 yystackp
, yyvalp
, P
, tokens
, index
);
6434 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6435 * and push back on the resulting nonterminal symbol. Perform the
6436 * semantic action associated with YYRULE and store its value with the
6437 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6438 * unambiguous. Otherwise, store the deferred semantic action with
6439 * the new state. If the new state would have an identical input
6440 * position, LR state, and predecessor to an existing state on the stack,
6441 * it is identified with that existing state, eliminating stack #YYK from
6442 * *YYSTACKP. In this case, the semantic value is
6443 * added to the options for the existing state's semantic value.
6445 static inline YYRESULTTAG
6446 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6447 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6449 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6451 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6455 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6456 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6458 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6459 (unsigned long int) yyk
, yyrule
- 1));
6463 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6464 yyglrShift (yystackp
, yyk
,
6465 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6466 yylhsNonterm (yyrule
)),
6473 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6474 yyStateNum yynewLRState
;
6476 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6482 yyupdateSplit (yystackp
, yys
);
6483 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6485 "Reduced stack %lu by rule #%d; action deferred. "
6486 "Now in state %d.\n",
6487 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6488 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6489 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6491 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6492 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6493 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6495 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6497 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6498 yymarkStackDeleted (yystackp
, yyk
);
6499 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6500 (unsigned long int) yyk
,
6501 (unsigned long int) yyi
));
6507 yystackp
->yytops
.yystates
[yyk
] = yys
;
6508 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6514 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6516 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6518 YYASSERT (yyk
== 0);
6519 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6521 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6523 yyGLRState
** yynewStates
;
6524 yybool
* yynewLookaheadNeeds
;
6526 yynewStates
= YY_NULLPTR
;
6528 if (yystackp
->yytops
.yycapacity
6529 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6530 yyMemoryExhausted (yystackp
);
6531 yystackp
->yytops
.yycapacity
*= 2;
6534 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6535 (yystackp
->yytops
.yycapacity
6536 * sizeof yynewStates
[0]));
6537 if (yynewStates
== YY_NULLPTR
)
6538 yyMemoryExhausted (yystackp
);
6539 yystackp
->yytops
.yystates
= yynewStates
;
6541 yynewLookaheadNeeds
=
6542 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6543 (yystackp
->yytops
.yycapacity
6544 * sizeof yynewLookaheadNeeds
[0]));
6545 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6546 yyMemoryExhausted (yystackp
);
6547 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6549 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6550 = yystackp
->yytops
.yystates
[yyk
];
6551 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6552 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6553 yystackp
->yytops
.yysize
+= 1;
6554 return yystackp
->yytops
.yysize
-1;
6557 /** True iff YYY0 and YYY1 represent identical options at the top level.
6558 * That is, they represent the same rule applied to RHS symbols
6559 * that produce the same terminal symbols. */
6561 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6563 if (yyy0
->yyrule
== yyy1
->yyrule
)
6565 yyGLRState
*yys0
, *yys1
;
6567 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6568 yyn
= yyrhsLength (yyy0
->yyrule
);
6570 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6571 if (yys0
->yyposn
!= yys1
->yyposn
)
6579 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6580 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6582 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6584 yyGLRState
*yys0
, *yys1
;
6586 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6587 yyn
= yyrhsLength (yyy0
->yyrule
);
6589 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6593 else if (yys0
->yyresolved
)
6595 yys1
->yyresolved
= yytrue
;
6596 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6598 else if (yys1
->yyresolved
)
6600 yys0
->yyresolved
= yytrue
;
6601 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6605 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6606 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6609 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6611 else if (*yyz0p
== YY_NULLPTR
)
6616 else if (*yyz0p
< yyz1
)
6618 yySemanticOption
* yyz
= *yyz0p
;
6620 yyz1
= yyz1
->yynext
;
6621 (*yyz0p
)->yynext
= yyz
;
6623 yyz0p
= &(*yyz0p
)->yynext
;
6625 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6630 /** Y0 and Y1 represent two possible actions to take in a given
6631 * parsing state; return 0 if no combination is possible,
6632 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6634 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6636 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6637 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6641 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6646 if (p0
== 0 || p1
== 0)
6655 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6656 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6659 /** Resolve the previous YYN states starting at and including state YYS
6660 * on *YYSTACKP. If result != yyok, some states may have been left
6661 * unresolved possibly with empty semantic option chains. Regardless
6662 * of whether result = yyok, each state has been left with consistent
6663 * data so that yydestroyGLRState can be invoked if necessary. */
6665 yyresolveStates (yyGLRState
* yys
, int yyn
,
6666 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6670 YYASSERT (yys
->yypred
);
6671 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6672 if (! yys
->yyresolved
)
6673 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6678 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6679 * user action, and return the semantic value and location in *YYVALP
6680 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6681 * have been destroyed (assuming the user action destroys all RHS
6682 * semantic values if invoked). */
6684 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6685 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6687 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6688 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6689 YYRESULTTAG yyflag
=
6690 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6694 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6695 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6699 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6701 int yychar_current
= yychar
;
6702 YYSTYPE yylval_current
= yylval
;
6703 yychar
= yyopt
->yyrawchar
;
6704 yylval
= yyopt
->yyval
;
6705 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6706 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6707 yystackp
, yyvalp
, P
, tokens
, index
);
6708 yychar
= yychar_current
;
6709 yylval
= yylval_current
;
6716 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6718 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6721 yyGLRState
* yystates
[1 + YYMAXRHS
];
6722 yyGLRState yyleftmost_state
;
6724 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6725 yystates
[yyi
] = yys
;
6726 if (yys
== YY_NULLPTR
)
6728 yyleftmost_state
.yyposn
= 0;
6729 yystates
[0] = &yyleftmost_state
;
6734 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6735 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6736 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6739 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6740 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6741 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6742 (unsigned long int) yyx
->yystate
->yyposn
);
6743 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6745 if (yystates
[yyi
]->yyresolved
)
6747 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6748 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6749 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6751 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6752 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6753 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6754 (unsigned long int) yystates
[yyi
]->yyposn
);
6757 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6763 yyreportAmbiguity (yySemanticOption
* yyx0
,
6764 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6770 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6771 YYFPRINTF (stderr
, "Option 1,\n");
6772 yyreportTree (yyx0
, 2);
6773 YYFPRINTF (stderr
, "\nOption 2,\n");
6774 yyreportTree (yyx1
, 2);
6775 YYFPRINTF (stderr
, "\n");
6778 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6782 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6783 * perform the indicated actions, and set the semantic value of YYS.
6784 * If result != yyok, the chain of semantic options in YYS has been
6785 * cleared instead or it has been left unmodified except that
6786 * redundant options may have been removed. Regardless of whether
6787 * result = yyok, YYS has been left with consistent data so that
6788 * yydestroyGLRState can be invoked if necessary. */
6790 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6792 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6793 yySemanticOption
* yybest
= yyoptionList
;
6794 yySemanticOption
** yypp
;
6795 yybool yymerge
= yyfalse
;
6799 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6801 yySemanticOption
* yyp
= *yypp
;
6803 if (yyidenticalOptions (yybest
, yyp
))
6805 yymergeOptionSets (yybest
, yyp
);
6806 *yypp
= yyp
->yynext
;
6810 switch (yypreference (yybest
, yyp
))
6813 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6825 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6826 but some compilers complain if the default case is
6830 yypp
= &yyp
->yynext
;
6836 yySemanticOption
* yyp
;
6837 int yyprec
= yydprec
[yybest
->yyrule
];
6838 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6840 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6842 if (yyprec
== yydprec
[yyp
->yyrule
])
6844 YYSTYPE yysval_other
;
6845 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6848 yydestruct ("Cleanup: discarding incompletely merged value for",
6849 yystos
[yys
->yylrState
],
6850 &yysval
, P
, tokens
, index
);
6853 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6858 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6862 yys
->yyresolved
= yytrue
;
6863 yys
->yysemantics
.yysval
= yysval
;
6866 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6871 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6873 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6878 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6879 yys
!= yystackp
->yysplitPoint
;
6880 yys
= yys
->yypred
, yyn
+= 1)
6882 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6883 , P
, tokens
, index
));
6889 yycompressStack (yyGLRStack
* yystackp
)
6891 yyGLRState
* yyp
, *yyq
, *yyr
;
6893 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6896 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6897 yyp
!= yystackp
->yysplitPoint
;
6898 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6901 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6902 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6903 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6904 yystackp
->yysplitPoint
= YY_NULLPTR
;
6905 yystackp
->yylastDeleted
= YY_NULLPTR
;
6907 while (yyr
!= YY_NULLPTR
)
6909 yystackp
->yynextFree
->yystate
= *yyr
;
6911 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6912 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6913 yystackp
->yynextFree
+= 1;
6914 yystackp
->yyspaceLeft
-= 1;
6919 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6920 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6922 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6924 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6925 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6926 (unsigned long int) yyk
, yystate
));
6928 YYASSERT (yystate
!= YYFINAL
);
6930 if (yyisDefaultedState (yystate
))
6933 yyRuleNum yyrule
= yydefaultAction (yystate
);
6936 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6937 (unsigned long int) yyk
));
6938 yymarkStackDeleted (yystackp
, yyk
);
6941 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6942 if (yyflag
== yyerr
)
6946 "(predicate failure or explicit user error).\n",
6947 (unsigned long int) yyk
));
6948 yymarkStackDeleted (yystackp
, yyk
);
6958 const short int* yyconflicts
;
6960 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6961 if (yychar
== YYEMPTY
)
6963 YYDPRINTF ((stderr
, "Reading a token: "));
6964 yychar
= yylex (&yylval
, P
, tokens
, index
);
6967 if (yychar
<= YYEOF
)
6969 yychar
= yytoken
= YYEOF
;
6970 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6974 yytoken
= YYTRANSLATE (yychar
);
6975 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6978 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6980 while (*yyconflicts
!= 0)
6983 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6984 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6985 (unsigned long int) yynewStack
,
6986 (unsigned long int) yyk
));
6987 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6989 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6991 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6992 yyposn
, P
, tokens
, index
));
6993 else if (yyflag
== yyerr
)
6995 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6996 (unsigned long int) yynewStack
));
6997 yymarkStackDeleted (yystackp
, yynewStack
);
7004 if (yyisShiftAction (yyaction
))
7006 else if (yyisErrorAction (yyaction
))
7008 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
7009 (unsigned long int) yyk
));
7010 yymarkStackDeleted (yystackp
, yyk
);
7015 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
7016 yyimmediate
[-yyaction
], P
, tokens
, index
);
7017 if (yyflag
== yyerr
)
7021 "(predicate failure or explicit user error).\n",
7022 (unsigned long int) yyk
));
7023 yymarkStackDeleted (yystackp
, yyk
);
7026 else if (yyflag
!= yyok
)
7035 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7037 if (yystackp
->yyerrState
!= 0)
7039 #if ! YYERROR_VERBOSE
7040 yyerror (P
, tokens
, index
, YY_("syntax error"));
7043 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
7044 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
7045 size_t yysize
= yysize0
;
7046 yybool yysize_overflow
= yyfalse
;
7047 char* yymsg
= YY_NULLPTR
;
7048 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
7049 /* Internationalized format string. */
7050 const char *yyformat
= YY_NULLPTR
;
7051 /* Arguments of yyformat. */
7052 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
7053 /* Number of reported tokens (one for the "unexpected", one per
7057 /* There are many possibilities here to consider:
7058 - If this state is a consistent state with a default action, then
7059 the only way this function was invoked is if the default action
7060 is an error action. In that case, don't check for expected
7061 tokens because there are none.
7062 - The only way there can be no lookahead present (in yychar) is if
7063 this state is a consistent state with a default action. Thus,
7064 detecting the absence of a lookahead is sufficient to determine
7065 that there is no unexpected or expected token to report. In that
7066 case, just report a simple "syntax error".
7067 - Don't assume there isn't a lookahead just because this state is a
7068 consistent state with a default action. There might have been a
7069 previous inconsistent state, consistent state with a non-default
7070 action, or user semantic action that manipulated yychar.
7071 - Of course, the expected token list depends on states to have
7072 correct lookahead information, and it depends on the parser not
7073 to perform extra reductions after fetching a lookahead from the
7074 scanner and before detecting a syntax error. Thus, state merging
7075 (from LALR or IELR) and default reductions corrupt the expected
7076 token list. However, the list is correct for canonical LR with
7077 one exception: it will still contain any token that will not be
7078 accepted due to an error action in a later state.
7080 if (yytoken
!= YYEMPTY
)
7082 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7083 yyarg
[yycount
++] = yytokenName (yytoken
);
7084 if (!yypact_value_is_default (yyn
))
7086 /* Start YYX at -YYN if negative to avoid negative indexes in
7087 YYCHECK. In other words, skip the first -YYN actions for this
7088 state because they are default actions. */
7089 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7090 /* Stay within bounds of both yycheck and yytname. */
7091 int yychecklim
= YYLAST
- yyn
+ 1;
7092 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7094 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7095 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7096 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7098 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7104 yyarg
[yycount
++] = yytokenName (yyx
);
7106 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7107 yysize_overflow
|= yysz
< yysize
;
7116 #define YYCASE_(N, S) \
7120 YYCASE_(0, YY_("syntax error"));
7121 YYCASE_(1, YY_("syntax error, unexpected %s"));
7122 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7123 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7124 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7125 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7130 size_t yysz
= yysize
+ strlen (yyformat
);
7131 yysize_overflow
|= yysz
< yysize
;
7135 if (!yysize_overflow
)
7136 yymsg
= (char *) YYMALLOC (yysize
);
7142 while ((*yyp
= *yyformat
))
7144 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7146 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7155 yyerror (P
, tokens
, index
, yymsg
);
7160 yyerror (P
, tokens
, index
, YY_("syntax error"));
7161 yyMemoryExhausted (yystackp
);
7164 #endif /* YYERROR_VERBOSE */
7168 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7169 yylval, and yylloc are the syntactic category, semantic value, and location
7170 of the lookahead. */
7172 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7177 if (yystackp
->yyerrState
== 3)
7178 /* We just shifted the error token and (perhaps) took some
7179 reductions. Skip tokens until we can proceed. */
7183 if (yychar
== YYEOF
)
7184 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7185 if (yychar
!= YYEMPTY
)
7187 yytoken
= YYTRANSLATE (yychar
);
7188 yydestruct ("Error: discarding",
7189 yytoken
, &yylval
, P
, tokens
, index
);
7191 YYDPRINTF ((stderr
, "Reading a token: "));
7192 yychar
= yylex (&yylval
, P
, tokens
, index
);
7193 if (yychar
<= YYEOF
)
7195 yychar
= yytoken
= YYEOF
;
7196 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7200 yytoken
= YYTRANSLATE (yychar
);
7201 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7203 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7204 if (yypact_value_is_default (yyj
))
7207 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7209 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7212 else if (! yytable_value_is_error (yytable
[yyj
]))
7216 /* Reduce to one stack. */
7217 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7218 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7220 if (yyk
>= yystackp
->yytops
.yysize
)
7221 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7222 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7223 yymarkStackDeleted (yystackp
, yyk
);
7224 yyremoveDeletes (yystackp
);
7225 yycompressStack (yystackp
);
7227 /* Now pop stack until we find a state that shifts the error token. */
7228 yystackp
->yyerrState
= 3;
7229 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7231 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7232 yyj
= yypact
[yys
->yylrState
];
7233 if (! yypact_value_is_default (yyj
))
7236 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7237 && yyisShiftAction (yytable
[yyj
]))
7239 /* Shift the error token. */
7240 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7241 &yylval
, &yyerrloc
);
7242 yyglrShift (yystackp
, 0, yytable
[yyj
],
7243 yys
->yyposn
, &yylval
);
7244 yys
= yystackp
->yytops
.yystates
[0];
7248 if (yys
->yypred
!= YY_NULLPTR
)
7249 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7250 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7251 yystackp
->yynextFree
-= 1;
7252 yystackp
->yyspaceLeft
+= 1;
7254 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7255 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7258 #define YYCHK1(YYE) \
7268 goto yyuser_error; \
7279 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7283 yyGLRStack
* const yystackp
= &yystack
;
7286 YYDPRINTF ((stderr
, "Starting parse\n"));
7289 yylval
= yyval_default
;
7291 /* User initialization code. */
7292 #line 99 "src/parser_proc_grammar.y" /* glr.c:2270 */
7296 #line 7297 "src/parser_proc.c" /* glr.c:2270 */
7298 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7299 goto yyexhaustedlab
;
7300 switch (YYSETJMP (yystack
.yyexception_buffer
))
7303 case 1: goto yyabortlab
;
7304 case 2: goto yyexhaustedlab
;
7305 default: goto yybuglab
;
7307 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7312 /* For efficiency, we have two loops, the first of which is
7313 specialized to deterministic operation (single stack, no
7314 potential ambiguity). */
7320 const short int* yyconflicts
;
7322 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7323 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7324 if (yystate
== YYFINAL
)
7326 if (yyisDefaultedState (yystate
))
7328 yyrule
= yydefaultAction (yystate
);
7332 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7335 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7340 if (yychar
== YYEMPTY
)
7342 YYDPRINTF ((stderr
, "Reading a token: "));
7343 yychar
= yylex (&yylval
, P
, tokens
, index
);
7346 if (yychar
<= YYEOF
)
7348 yychar
= yytoken
= YYEOF
;
7349 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7353 yytoken
= YYTRANSLATE (yychar
);
7354 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7357 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7358 if (*yyconflicts
!= 0)
7360 if (yyisShiftAction (yyaction
))
7362 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7365 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7366 if (0 < yystack
.yyerrState
)
7367 yystack
.yyerrState
-= 1;
7369 else if (yyisErrorAction (yyaction
))
7372 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7376 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7382 yySymbol yytoken_to_shift
;
7385 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7386 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7388 /* yyprocessOneStack returns one of three things:
7390 - An error flag. If the caller is yyprocessOneStack, it
7391 immediately returns as well. When the caller is finally
7392 yyparse, it jumps to an error label via YYCHK1.
7394 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7395 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7396 yyparse's following invocation of yyremoveDeletes will remove
7399 - yyok, when ready to shift a token.
7401 Except in the first case, yyparse will invoke yyremoveDeletes and
7402 then shift the next token onto all remaining stacks. This
7403 synchronization of the shift (that is, after all preceding
7404 reductions on all stacks) helps prevent double destructor calls
7405 on yylval in the event of memory exhaustion. */
7407 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7408 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7409 yyremoveDeletes (&yystack
);
7410 if (yystack
.yytops
.yysize
== 0)
7412 yyundeleteLastStack (&yystack
);
7413 if (yystack
.yytops
.yysize
== 0)
7414 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7415 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7416 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7418 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7422 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7423 a copy of yylval will already be on stack 0 in the event of a
7424 failure in the following loop. Thus, yychar is set to YYEMPTY
7425 before the loop to make sure the user destructor for yylval isn't
7427 yytoken_to_shift
= YYTRANSLATE (yychar
);
7430 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7433 const short int* yyconflicts
;
7434 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7435 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7437 /* Note that yyconflicts were handled by yyprocessOneStack. */
7438 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7439 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7440 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7442 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7443 (unsigned long int) yys
,
7444 yystack
.yytops
.yystates
[yys
]->yylrState
));
7447 if (yystack
.yytops
.yysize
== 1)
7449 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7450 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7451 yycompressStack (&yystack
);
7457 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7458 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7474 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7479 if (yychar
!= YYEMPTY
)
7480 yydestruct ("Cleanup: discarding lookahead",
7481 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7483 /* If the stack is well-formed, pop the stack until it is empty,
7484 destroying its entries as we go. But free the stack regardless
7485 of whether it is well-formed. */
7486 if (yystack
.yyitems
)
7488 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7491 size_t yysize
= yystack
.yytops
.yysize
;
7493 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7496 while (yystates
[yyk
])
7498 yyGLRState
*yys
= yystates
[yyk
];
7499 if (yys
->yypred
!= YY_NULLPTR
)
7500 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7501 yystates
[yyk
] = yys
->yypred
;
7502 yystack
.yynextFree
-= 1;
7503 yystack
.yyspaceLeft
+= 1;
7508 yyfreeGLRStack (&yystack
);
7514 /* DEBUGGING ONLY */
7517 yy_yypstack (yyGLRState
* yys
)
7521 yy_yypstack (yys
->yypred
);
7522 YYFPRINTF (stderr
, " -> ");
7524 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7525 (unsigned long int) yys
->yyposn
);
7529 yypstates (yyGLRState
* yyst
)
7531 if (yyst
== YY_NULLPTR
)
7532 YYFPRINTF (stderr
, "<null>");
7535 YYFPRINTF (stderr
, "\n");
7539 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7541 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7544 #define YYINDEX(YYX) \
7545 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7549 yypdumpstack (yyGLRStack
* yystackp
)
7551 yyGLRStackItem
* yyp
;
7553 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7555 YYFPRINTF (stderr
, "%3lu. ",
7556 (unsigned long int) (yyp
- yystackp
->yyitems
));
7557 if (*(yybool
*) yyp
)
7559 YYASSERT (yyp
->yystate
.yyisState
);
7560 YYASSERT (yyp
->yyoption
.yyisState
);
7561 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7562 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7563 (unsigned long int) yyp
->yystate
.yyposn
,
7564 (long int) YYINDEX (yyp
->yystate
.yypred
));
7565 if (! yyp
->yystate
.yyresolved
)
7566 YYFPRINTF (stderr
, ", firstVal: %ld",
7567 (long int) YYINDEX (yyp
->yystate
7568 .yysemantics
.yyfirstVal
));
7572 YYASSERT (!yyp
->yystate
.yyisState
);
7573 YYASSERT (!yyp
->yyoption
.yyisState
);
7574 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7575 yyp
->yyoption
.yyrule
- 1,
7576 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7577 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7579 YYFPRINTF (stderr
, "\n");
7581 YYFPRINTF (stderr
, "Tops:");
7582 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7583 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7584 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7585 YYFPRINTF (stderr
, "\n");
7593 /* Substitute the variable and function names. */
7594 #define yyparse psi_parser_proc_parse
7595 #define yylex psi_parser_proc_lex
7596 #define yyerror psi_parser_proc_error
7597 #define yylval psi_parser_proc_lval
7598 #define yychar psi_parser_proc_char
7599 #define yydebug psi_parser_proc_debug
7600 #define yynerrs psi_parser_proc_nerrs
7602 #line 2018 "src/parser_proc_grammar.y" /* glr.c:2584 */
7607 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7609 struct psi_token
*token
;
7611 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7612 if (P
->flags
& PSI_DEBUG
) {
7613 psi_token_dump(2, token
);
7616 *((struct psi_token
**)lvalp
) = token
;
7620 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7626 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7628 struct psi_token
*T
= NULL
;
7637 psi_plist_get(tokens
, last
, &T
);
7639 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7641 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);