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 */
104 #define PSI_PARSER_PROC_DEBUG 1
106 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
107 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
109 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
113 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
115 P
->structs
= psi_plist_add(P
->structs
, &strct
);
117 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
121 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
123 P
->unions
= psi_plist_add(P
->unions
, &u
);
125 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
129 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
131 P
->enums
= psi_plist_add(P
->enums
, &e
);
133 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
137 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
139 P
->types
= psi_plist_add(P
->types
, &def
);
141 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
144 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
146 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
149 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
152 if (psi_decl_is_blacklisted(decl
->func
->var
->name
)) {
153 psi_decl_free(&decl
);
158 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
160 P
->decls
= psi_plist_add(P
->decls
, &decl
);
162 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
165 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
167 P
->impls
= psi_plist_add(P
->impls
, &impl
);
172 #line 173 "src/parser_proc.c" /* glr.c:264 */
179 # if defined YYENABLE_NLS && YYENABLE_NLS
181 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
182 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
186 # define YY_(Msgid) Msgid
194 # define YYMALLOC malloc
197 # define YYREALLOC realloc
200 #define YYSIZEMAX ((size_t) -1)
205 typedef unsigned char yybool
;
212 # define YYJMP_BUF jmp_buf
213 # define YYSETJMP(Env) setjmp (Env)
215 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
219 # if (defined __GNUC__ \
220 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
221 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
222 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
224 # define YY_ATTRIBUTE(Spec) /* empty */
228 #ifndef YY_ATTRIBUTE_PURE
229 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
232 #ifndef YY_ATTRIBUTE_UNUSED
233 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
236 #if !defined _Noreturn \
237 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
238 # if defined _MSC_VER && 1200 <= _MSC_VER
239 # define _Noreturn __declspec (noreturn)
241 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
245 /* Suppress unused-variable warnings by "using" E. */
246 #if ! defined lint || defined __GNUC__
247 # define YYUSE(E) ((void) (E))
249 # define YYUSE(E) /* empty */
252 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
253 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
254 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
255 _Pragma ("GCC diagnostic push") \
256 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
257 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
258 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
259 _Pragma ("GCC diagnostic pop")
261 # define YY_INITIAL_VALUE(Value) Value
263 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
264 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
265 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
267 #ifndef YY_INITIAL_VALUE
268 # define YY_INITIAL_VALUE(Value) /* Nothing. */
273 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
276 /* YYFINAL -- State number of the termination state. */
278 /* YYLAST -- Last index in YYTABLE. */
281 /* YYNTOKENS -- Number of terminals. */
282 #define YYNTOKENS 127
283 /* YYNNTS -- Number of nonterminals. */
285 /* YYNRULES -- Number of rules. */
287 /* YYNRULES -- Number of states. */
288 #define YYNSTATES 866
289 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
291 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
292 accessed by $0, $-1, etc., in any rule. */
295 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
297 #define YYMAXUTOK 381
299 #define YYTRANSLATE(YYX) \
300 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
302 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
303 static const unsigned char yytranslate
[] =
305 0, 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, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
331 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
332 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
333 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
334 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
335 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
336 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
337 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
338 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
339 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
340 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
341 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
342 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
347 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
348 static const unsigned short int yyrline
[] =
350 0, 376, 376, 376, 376, 376, 376, 376, 376, 376,
351 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
352 377, 377, 377, 377, 378, 378, 378, 378, 378, 378,
353 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
354 378, 378, 379, 379, 379, 379, 379, 379, 379, 379,
355 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
356 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
357 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
358 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
359 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
360 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
361 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
362 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
363 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
364 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
365 379, 379, 379, 379, 379, 379, 379, 379, 379, 380,
366 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
367 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
368 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
369 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
370 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
371 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
372 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
373 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
374 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
375 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
376 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
377 380, 380, 380, 380, 384, 385, 388, 389, 392, 393,
378 394, 395, 401, 409, 412, 415, 416, 417, 420, 423,
379 426, 429, 435, 441, 444, 450, 473, 477, 481, 486,
380 490, 494, 498, 505, 506, 510, 511, 515, 516, 517,
381 521, 522, 526, 527, 531, 532, 533, 537, 538, 542,
382 543, 544, 545, 546, 547, 548, 552, 557, 565, 568,
383 571, 572, 578, 583, 591, 594, 598, 602, 609, 613,
384 617, 621, 626, 636, 646, 651, 656, 660, 666, 675,
385 678, 682, 686, 692, 699, 705, 706, 707, 708, 712,
386 715, 746, 753, 754, 755, 756, 760, 763, 772, 778,
387 781, 787, 790, 796, 797, 805, 816, 825, 837, 838,
388 842, 852, 861, 873, 876, 879, 883, 887, 891, 896,
389 901, 909, 910, 911, 917, 920, 923, 929, 930, 934,
390 937, 940, 946, 949, 952, 960, 972, 975, 978, 985,
391 988, 998, 1001, 1004, 1007, 1008, 1009, 1013, 1016, 1019,
392 1030, 1033, 1039, 1040, 1044, 1045, 1049, 1053, 1059, 1060,
393 1066, 1069, 1075, 1078, 1081, 1087, 1091, 1092, 1096, 1097,
394 1101, 1102, 1109, 1110, 1114, 1121, 1132, 1139, 1150, 1157,
395 1168, 1179, 1193, 1194, 1206, 1209, 1212, 1215, 1222, 1225,
396 1231, 1240, 1252, 1260, 1263, 1273, 1286, 1291, 1299, 1309,
397 1319, 1322, 1326, 1332, 1346, 1363, 1366, 1372, 1379, 1389,
398 1396, 1399, 1405, 1410, 1418, 1422, 1426, 1430, 1434, 1438,
399 1445, 1449, 1453, 1457, 1461, 1467, 1471, 1478, 1481, 1492,
400 1496, 1500, 1506, 1519, 1532, 1545, 1548, 1555, 1558, 1561,
401 1564, 1570, 1574, 1581, 1584, 1587, 1597, 1600, 1606, 1607,
402 1613, 1616, 1622, 1623, 1633, 1636, 1643, 1648, 1653, 1663,
403 1666, 1672, 1675, 1681, 1688, 1695, 1696, 1697, 1698, 1699,
404 1700, 1701, 1702, 1703, 1707, 1710, 1716, 1719, 1722, 1725,
405 1728, 1734, 1738, 1746, 1747, 1751, 1758, 1761, 1764, 1768,
406 1771, 1774, 1780, 1784, 1792, 1799, 1807, 1815, 1816, 1817,
407 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1828, 1831, 1837,
408 1840, 1846, 1847, 1851, 1854, 1860, 1863, 1869, 1876, 1883,
409 1886, 1889, 1896, 1901, 1909, 1910, 1911, 1912, 1913, 1914,
410 1915, 1916, 1920, 1923, 1929, 1932, 1938, 1945, 1946, 1950,
411 1957, 1960, 1966, 1974, 1977, 1983
415 #if YYDEBUG || YYERROR_VERBOSE || 1
416 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
417 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
418 static const char *const yytname
[] =
420 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
421 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
422 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
423 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
424 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
425 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
426 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
427 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
428 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
429 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
430 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
431 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
432 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
433 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "PRE_ASSERT",
434 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
435 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
436 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
437 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
438 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
439 "BINARY", "UNARY", "$accept", "binary_op_token", "unary_op_token",
440 "name_token", "any_noeol_token", "any_nobrace_token", "file", "blocks",
441 "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
442 "cpp_message_token", "cpp_include_token", "cpp_header_token",
443 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
444 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
445 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
446 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
447 "cpp_macro_call_arg_list", "constant", "constant_type",
448 "constant_type_token", "impl_def_val", "impl_def_val_token",
449 "decl_typedef", "typedef", "typedef_anon", "typedef_decl",
450 "typedef_anon_decl", "qualified_decl_type", "decl_type",
451 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
452 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
453 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
454 "ignored_quoted_strings", "decl_ext_var_stmt", "decl_ext_var",
455 "decl_ext_var_list", "decl_vars", "ignored_decl", "ignored_decl_body",
456 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
457 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
458 "decl_args", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
459 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
460 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
461 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
462 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
463 "struct_name", "optional_name", "decl_layout", "align_and_size",
464 "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl",
465 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
466 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
467 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
468 "let_func", "let_func_token", "let_func_exps", "let_exps",
469 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
470 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
471 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
472 "free_exp", "reference", "byref", YY_NULLPTR
476 #define YYPACT_NINF -695
477 #define YYTABLE_NINF -614
479 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
481 static const short int yypact
[] =
483 659, -695, -695, -695, -695, -695, 74, -695, -695, 2580,
484 1495, 1940, -695, -695, 696, 1314, 3317, 3317, 3317, 62,
485 36, 259, 43, -695, 1411, 1639, 97, 659, -695, -695,
486 -695, -695, -695, 2804, -695, -695, -695, -695, 110, 168,
487 -695, -695, -695, 44, -695, -17, -695, -695, 133, 71,
488 77, -695, -695, -695, -695, 84, -695, 90, -695, -695,
489 -695, -695, -695, 818, -695, 86, 46, -695, -695, -695,
490 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
491 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
492 -695, -695, -695, -695, -695, -695, 2916, 0, -695, -695,
493 -695, -695, 3317, 3317, 3317, 706, -695, 57, -695, -695,
494 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
495 -695, 444, -695, -695, -695, -695, 107, 943, 943, 33,
496 -695, 444, 2468, 2580, 3317, 3317, 1975, 112, -695, -695,
497 -695, 118, 3317, 122, 122, 125, 125, 126, -695, -695,
498 145, 169, -695, 86, 173, -695, -695, 180, 1639, 182,
499 184, -695, 198, -695, 2199, 1340, -17, 182, -695, -695,
500 186, -695, 190, 3317, -695, 220, -695, 54, -695, -695,
501 110, -695, -695, 196, 199, 2311, 2311, 3317, 164, 3317,
502 -695, -695, 86, -695, -695, -695, -695, -695, -695, 2804,
503 -695, -695, -695, -695, -695, -695, -695, 114, 943, -695,
504 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
505 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
506 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
507 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
508 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
509 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
510 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
511 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
512 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
513 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
514 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
515 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
516 943, -695, -695, -695, -695, -695, -695, -695, -695, 50,
517 2468, -695, -695, -695, -695, 3028, 2468, 200, 3470, -695,
518 203, 135, -695, 144, -695, -695, -695, -695, 192, 201,
519 201, 75, 75, 3140, 204, -695, 182, 1193, -695, 164,
520 207, 209, 210, -695, 2132, -695, 86, 186, -695, -695,
521 -695, 237, -695, -695, 219, -695, 29, 2423, 2804, 153,
522 -695, -695, 165, 212, 88, -695, 2804, 2244, 2804, 3317,
523 137, -695, -695, 296, -695, -695, -695, -695, -695, 2356,
524 -695, 221, 3317, 238, -695, 3317, 239, -695, -695, -695,
525 -695, 498, 231, -695, 2785, 3317, -695, -695, 2468, -695,
526 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
527 -695, -695, -695, -695, -695, -695, -695, 2468, 2468, -695,
528 241, 1366, 2804, 2804, -695, -695, -695, -695, 86, -695,
529 1572, -695, -695, -695, -695, -695, -695, -695, -695, -695,
530 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
531 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
532 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
533 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
534 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
535 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
536 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
537 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
538 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
539 -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
540 -695, -695, -695, -695, -695, -695, -695, -695, -695, 1068,
541 -695, 385, 1429, -695, -695, -695, -695, -695, 1460, -695,
542 2356, -695, 3446, -695, -695, 3317, -695, -695, -695, 79,
543 2916, 86, 190, 186, 1605, 186, 1829, 2356, 3317, -695,
544 234, 244, 3494, 240, 246, -695, 247, 254, 242, 251,
545 108, -695, -695, 253, 247, -695, -695, 754, -695, 252,
546 2804, 3199, 86, 256, -695, -695, -695, 257, 3470, 258,
547 269, 3397, -695, 261, 1975, 270, -695, -695, 2692, 612,
548 3317, 122, 122, -695, -695, 3317, -695, -695, -695, -695,
549 273, -695, 3494, -695, -695, -695, -695, -695, -695, -695,
550 -695, -695, -695, -695, -695, 271, 170, -695, 43, -695,
551 275, 1940, 276, 2907, -695, -695, 2356, 2356, 277, -695,
552 -695, 3140, -695, 29, 279, -695, -695, 280, 3494, -695,
553 1684, -695, 2244, -695, 2804, -695, 43, 2804, -695, 3317,
554 -695, -695, -695, -695, -695, -695, 281, 282, -695, -695,
555 -695, -695, 2468, 2468, 283, -695, 55, 287, -695, 270,
556 201, 201, 289, -695, 354, 288, 354, 284, 2356, -695,
557 3422, -695, -695, 186, 186, -695, 179, 195, 260, 3494,
558 -695, -695, -695, -695, 293, 1796, -695, 294, 2804, 172,
559 -695, 943, 3258, 3470, 3518, 304, 302, 306, 2804, 309,
560 287, 2804, 2804, -695, -695, 354, -695, 43, 1572, -695,
561 2356, -695, -695, 260, -695, -695, -695, -695, 315, 2356,
562 43, -695, 1908, 316, 320, -695, -695, -695, -695, 319,
563 318, 329, 270, 322, -695, 327, -695, 24, -695, 3542,
564 43, 3131, 328, 339, -695, 342, -695, -695, -695, 345,
565 346, -695, 2804, -695, 337, 347, 2356, 1684, 349, -695,
566 2244, 358, 359, 270, 363, 2020, 3019, 234, -695, -695,
567 -695, 364, 1796, -695, -695, 365, 371, -695, 362, 372,
568 373, -695, -695, 1684, -695, 381, -695, 354, 376, 2244,
569 -695, 377, -695, -695, -695, -695
572 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
573 Performed when YYTABLE does not specify something else to do. Zero
574 means the default is an error. */
575 static const unsigned short int yydefact
[] =
577 274, 402, 399, 403, 397, 398, 400, 394, 395, 0,
578 393, 0, 279, 278, 0, 0, 0, 0, 505, 0,
579 0, 0, 613, 280, 0, 0, 0, 275, 276, 282,
580 281, 283, 287, 516, 385, 387, 386, 392, 406, 417,
581 391, 284, 286, 0, 285, 422, 440, 442, 443, 0,
582 0, 452, 289, 288, 290, 0, 291, 0, 401, 396,
583 33, 34, 601, 567, 24, 516, 522, 39, 38, 37,
584 35, 36, 32, 31, 25, 29, 28, 26, 27, 575,
585 574, 572, 570, 571, 573, 569, 568, 576, 30, 599,
586 597, 596, 598, 595, 594, 453, 0, 518, 520, 40,
587 41, 393, 0, 0, 0, 0, 441, 428, 384, 293,
588 304, 301, 303, 305, 306, 317, 314, 315, 312, 318,
589 313, 0, 316, 307, 308, 309, 0, 334, 334, 0,
590 297, 0, 0, 0, 505, 505, 0, 0, 369, 374,
591 462, 373, 0, 511, 511, 388, 389, 390, 502, 355,
592 403, 394, 358, 0, 0, 354, 383, 0, 0, 0,
593 0, 615, 0, 614, 393, 0, 422, 0, 1, 277,
594 513, 463, 0, 517, 407, 411, 409, 413, 404, 418,
595 406, 405, 426, 0, 0, 454, 454, 0, 0, 0,
596 517, 523, 516, 465, 519, 521, 388, 389, 390, 0,
597 427, 320, 321, 322, 324, 325, 323, 319, 334, 299,
598 294, 67, 42, 43, 44, 45, 46, 47, 48, 49,
599 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
600 60, 61, 62, 63, 64, 65, 66, 157, 158, 68,
601 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
602 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
603 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
604 99, 100, 101, 107, 105, 106, 104, 102, 103, 108,
605 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
606 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
607 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
608 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
609 149, 150, 151, 155, 152, 153, 154, 156, 336, 302,
610 335, 295, 310, 311, 296, 319, 298, 344, 345, 0,
611 0, 22, 23, 20, 21, 0, 0, 347, 300, 346,
612 453, 388, 504, 389, 503, 370, 366, 375, 0, 0,
613 0, 0, 0, 0, 0, 292, 0, 0, 432, 0,
614 0, 0, 0, 433, 0, 467, 516, 513, 412, 408,
615 414, 415, 410, 419, 0, 420, 455, 0, 516, 0,
616 456, 458, 0, 482, 0, 480, 0, 613, 0, 0,
617 0, 607, 608, 0, 544, 547, 546, 548, 549, 0,
618 550, 0, 0, 429, 430, 0, 0, 327, 337, 501,
619 500, 0, 0, 496, 0, 0, 342, 339, 349, 2,
620 3, 4, 5, 6, 7, 8, 9, 10, 11, 13,
621 12, 14, 15, 16, 17, 18, 19, 0, 0, 367,
622 0, 0, 0, 0, 470, 469, 471, 468, 516, 464,
623 359, 434, 184, 159, 160, 161, 162, 163, 164, 165,
624 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
625 176, 177, 178, 179, 180, 181, 182, 183, 272, 273,
626 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
627 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
628 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
629 215, 216, 222, 220, 221, 219, 217, 218, 223, 224,
630 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
631 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
632 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
633 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
634 265, 266, 270, 267, 268, 269, 271, 438, 439, 0,
635 436, 0, 0, 368, 421, 491, 490, 492, 0, 514,
636 0, 493, 0, 484, 494, 0, 466, 416, 424, 0,
637 461, 0, 459, 513, 0, 513, 0, 0, 0, 479,
638 0, 0, 590, 0, 0, 589, 41, 0, 0, 0,
639 0, 610, 600, 0, 0, 524, 545, 0, 451, 0,
640 0, 328, 516, 0, 497, 499, 338, 0, 351, 0,
641 350, 0, 340, 0, 0, 507, 378, 371, 379, 0,
642 380, 511, 511, 377, 376, 0, 362, 363, 364, 365,
643 0, 361, 360, 435, 437, 525, 537, 538, 539, 540,
644 536, 541, 542, 543, 535, 0, 0, 529, 613, 534,
645 24, 0, 0, 0, 488, 515, 0, 0, 0, 425,
646 423, 460, 446, 0, 0, 457, 444, 0, 483, 481,
647 0, 551, 613, 588, 0, 533, 613, 0, 609, 0,
648 587, 606, 450, 431, 329, 332, 0, 330, 498, 495,
649 343, 348, 0, 0, 0, 372, 0, 475, 472, 507,
650 0, 0, 0, 353, 0, 0, 0, 531, 0, 486,
651 0, 487, 448, 513, 513, 556, 0, 31, 30, 561,
652 562, 557, 559, 560, 40, 0, 591, 602, 0, 0,
653 611, 334, 0, 352, 341, 0, 508, 0, 0, 0,
654 475, 382, 381, 449, 526, 0, 530, 613, 359, 485,
655 0, 447, 445, 0, 558, 581, 567, 582, 0, 0,
656 613, 563, 613, 0, 0, 612, 326, 331, 333, 0,
657 0, 0, 507, 476, 473, 0, 527, 0, 532, 489,
658 613, 0, 577, 0, 604, 603, 592, 552, 512, 0,
659 0, 477, 0, 474, 0, 0, 0, 0, 0, 593,
660 613, 0, 0, 507, 0, 583, 0, 493, 579, 555,
661 553, 578, 0, 566, 605, 0, 0, 478, 0, 0,
662 584, 585, 564, 0, 554, 0, 509, 0, 0, 613,
663 580, 0, 528, 565, 586, 510
666 /* YYPGOTO[NTERM-NUM]. */
667 static const short int yypgoto
[] =
669 -695, -323, -121, -4, 83, -695, -695, -695, 387, -695,
670 -695, -695, -695, -695, -695, -695, -695, -695, -695, 286,
671 -695, -695, -695, -122, -695, -307, -695, -695, -695, -695,
672 -695, -360, -695, -695, 262, -226, 23, -219, -158, -9,
673 -695, -695, -695, 392, -695, -695, 255, -695, -695, -695,
674 -695, 266, -695, -695, -695, -695, -274, -695, -124, -695,
675 -145, 412, 31, -12, 26, -695, -695, 263, -511, 8,
676 -33, -695, -695, 76, -330, -695, -328, -695, 4, -695,
677 -163, -352, -695, -117, -695, 30, -695, -435, -434, 82,
678 -684, -125, -370, -56, -1, -695, 353, -695, 431, -695,
679 -283, -632, -694, -695, 85, -379, -695, -395, -642, 64,
680 -278, -695, -695, -645, -695, -695, -695, -695, -695, -695,
681 -695, -658, 69, -363, -695, -695, -695, -695, -695, -695,
685 /* YYDEFGOTO[NTERM-NUM]. */
686 static const short int yydefgoto
[] =
688 -1, 687, 590, 170, 328, 577, 26, 27, 28, 29,
689 30, 126, 127, 128, 129, 334, 130, 131, 132, 208,
690 209, 716, 717, 329, 330, 348, 639, 640, 31, 154,
691 155, 660, 661, 32, 137, 645, 646, 647, 33, 34,
692 35, 36, 37, 38, 39, 40, 178, 379, 382, 181,
693 41, 184, 599, 42, 43, 200, 413, 44, 578, 579,
694 580, 45, 46, 47, 140, 49, 50, 389, 390, 51,
695 591, 52, 53, 455, 456, 649, 769, 803, 142, 394,
696 395, 612, 593, 594, 633, 423, 55, 143, 144, 148,
697 727, 359, 375, 172, 415, 97, 98, 56, 57, 676,
698 677, 613, 678, 679, 403, 404, 405, 838, 839, 840,
699 751, 752, 753, 99, 828, 841, 788, 849, 850, 406,
700 407, 614, 615, 100, 793, 815, 408, 409, 410, 620,
704 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
705 positive, shift that token. If negative, reduce the rule whose
706 number is the opposite. If YYTABLE_NINF, syntax error. */
707 static const short int yytable
[] =
709 171, 162, 108, 139, 54, 95, 331, 596, 96, 189,
710 156, 346, 145, 146, 147, 349, 651, 652, 107, 360,
711 361, 362, 592, 141, 626, 448, 48, 388, 388, 452,
712 453, 54, 173, 424, 616, 368, 48, 624, 138, 427,
713 774, 106, 777, 373, 756, 770, 737, 48, 705, 66,
714 48, 48, 159, 48, 755, 754, 167, 627, 750, 332,
715 380, 65, 157, 381, 190, 149, 1, 2, 150, 4,
716 5, 6, 151, 8, 152, 182, 419, 420, 66, 153,
717 766, 806, 421, 58, 101, 59, 417, 161, 824, -452,
718 767, 199, 193, 695, 422, 695, 156, 168, 196, 197,
719 198, 448, 787, 185, 448, 689, 454, 183, 662, 186,
720 754, 451, 690, 791, 174, 175, 176, 207, 821, 177,
721 187, 638, 608, 194, 139, 609, 188, 335, 347, 350,
722 351, 353, 96, 191, 814, 66, 412, 210, 357, 708,
723 641, 642, 709, 356, 141, 737, 102, 103, 104, 847,
724 -452, 333, 363, 139, 62, 622, -511, 358, 812, 355,
725 358, -511, -506, 862, -443, -462, 414, -462, -356, 377,
726 -388, -506, 844, 141, 179, 4, 5, 851, 825, -389,
727 -506, 842, 754, 393, 48, 411, 603, 604, 138, 366,
728 48, 190, -357, 391, 391, 106, 364, 754, 605, 606,
729 854, 864, 626, 735, 736, 795, 630, 842, 754, 651,
730 652, 365, 785, 786, 651, 652, 352, 354, 367, 346,
731 369, 370, 376, 349, 374, 346, 378, 450, 384, 349,
732 385, 416, 428, 692, 449, 696, 683, 451, 684, 582,
733 583, 584, 461, 597, 460, 598, 89, 90, 91, 92,
734 93, 94, 607, 635, 628, 698, 396, 397, 398, 399,
735 400, 401, 402, 1, 2, 3, 4, 5, 6, 7,
736 8, 631, 630, 643, 700, 701, 9, 703, 705, 704,
737 702, 101, 706, 707, 710, 712, 724, 783, 11, 719,
738 720, 721, 789, 648, 79, 80, 81, 82, 83, 84,
739 85, 86, 87, 722, 733, 726, 734, 346, -24, 738,
740 742, 349, 743, 744, 761, 448, 762, 765, 448, 448,
741 595, 768, 773, 775, 778, 790, 346, 346, 792, 799,
742 349, 349, 602, 625, 740, 741, 347, 800, 801, 616,
743 804, 426, 347, 102, 103, 104, 105, 810, 749, 816,
744 22, 817, 818, 819, 820, 171, 822, 666, 823, 459,
745 667, 834, 827, 610, 668, 618, 669, 670, 671, 672,
746 673, 674, 829, 781, 782, 190, 830, 831, 156, 835,
747 832, 158, 843, 845, 846, 600, 779, 173, 396, 397,
748 398, 399, 400, 401, 402, 619, 848, 857, 853, 855,
749 771, 772, 655, 749, 856, 858, 861, 859, 629, 863,
750 865, 377, 632, 418, 169, 763, 764, 336, 808, 653,
751 654, 637, 665, 729, 347, 725, 662, 371, 809, 616,
752 682, 180, 372, 759, 664, 383, 166, 811, 457, 139,
753 448, 448, 805, 347, 347, 699, 388, 60, 388, 392,
754 195, 634, 160, 776, 581, 650, 61, 190, 860, 141,
755 611, 62, 63, 201, 202, 203, 64, 616, 784, 623,
756 760, 0, 616, 0, 836, 749, 0, 396, 397, 398,
757 399, 400, 401, 402, 0, 0, 648, 0, 0, 0,
758 749, 648, 0, 0, 0, 0, 616, 0, 0, 0,
759 0, 749, 1, 2, 3, 4, 5, 6, 7, 8,
760 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
761 101, 0, 0, 0, 419, 420, 730, 731, 0, 0,
762 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
763 0, 0, 422, 79, 80, 81, 82, 83, 84, 85,
764 86, 87, 88, 89, 90, 91, 92, 93, 94, 0,
765 0, 0, 0, 0, 204, 0, 205, 206, 0, 0,
766 0, 0, 0, 0, 0, 0, 718, 0, 0, 0,
767 0, 0, 102, 103, 104, 0, 0, 0, 0, 0,
768 0, 688, 0, 0, 0, 0, 193, 713, 0, 0,
769 691, 346, 346, 0, 393, 349, 349, 0, 0, 0,
770 0, 0, 391, 0, 391, 171, 1, 2, 3, 4,
771 5, 6, 7, 8, 0, 0, 0, 715, 0, 9,
772 0, 190, 139, 0, 101, 0, 0, 139, 0, 796,
773 0, 11, 0, 0, 0, 0, 357, 173, 650, 728,
774 0, 732, 141, 650, 0, 0, 0, 141, 0, 0,
775 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
776 8, 757, 156, 0, 414, 0, 9, 0, 0, 0,
777 0, 10, 0, 0, 0, 758, 0, 459, 11, 12,
778 13, 0, 600, 0, 0, 0, 134, 135, 18, 105,
779 14, 0, 0, 0, 0, 619, 0, 0, 0, 0,
780 1, 2, 3, 4, 5, 6, 7, 8, 347, 347,
781 0, 0, 0, 153, 0, 794, 109, 0, 101, 0,
782 0, 0, 644, 0, 0, 802, 0, 0, 653, 654,
783 0, 0, 15, 16, 17, 18, 19, 20, 21, 0,
784 22, 0, 0, 0, 0, 0, 807, 0, 798, 0,
785 0, 0, 110, 111, 112, 113, 114, 115, 116, 117,
786 118, 119, 120, 121, 23, 122, 123, 124, 125, 24,
787 0, 25, 0, 0, 0, 711, 0, 0, 0, 833,
788 102, 103, 104, 0, 837, 0, 429, 430, 431, 432,
789 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
790 443, 444, 445, 446, 0, 0, 0, 0, -567, 686,
791 837, -567, -567, -567, -567, -567, -567, -567, -567, -567,
792 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
793 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
794 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
795 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
796 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
797 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
798 -567, -567, -567, -567, -567, -567, -567, -567, 0, -567,
799 0, -567, -567, -567, -567, -567, -567, -567, -567, -567,
800 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
801 -567, -567, -567, -567, -567, -567, -567, -567, -567, -567,
802 -567, -567, -567, -567, 0, -567, -567, 0, -567, -567,
803 -567, -567, -567, 211, 0, 0, 212, 213, 214, 215,
804 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
805 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
806 236, 237, 238, 0, 239, 240, 241, 242, 243, 244,
807 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
808 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
809 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
810 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
811 285, 286, 287, 0, 288, 0, 289, 290, 291, 292,
812 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
813 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
814 313, 314, 315, 316, 317, 318, 319, 320, 321, 0,
815 0, 322, 0, 323, 324, 325, 326, 327, 462, 0,
816 0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
817 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
818 482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
819 491, 492, 493, 494, 367, 663, 495, 496, 497, 498,
820 499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
821 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
822 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
823 529, 530, 531, 532, 533, 534, 535, 536, 0, 537,
824 0, 538, 539, 540, 541, 542, 543, 544, 545, 546,
825 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
826 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
827 567, 568, 569, 570, 0, 0, 571, 0, 572, 573,
828 574, 575, 576, 462, 0, 0, 463, 464, 465, 466,
829 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
830 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
831 487, 488, 489, 0, 490, 491, 492, 493, 494, 367,
832 0, 495, 496, 497, 498, 499, 500, 501, 502, 503,
833 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
834 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
835 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
836 534, 535, 536, 0, 537, 0, 538, 539, 540, 541,
837 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
838 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
839 562, 563, 564, 565, 566, 567, 568, 569, 570, 0,
840 0, 571, 0, 572, 573, 574, 575, 576, 1, 2,
841 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
842 0, 133, 0, 0, 0, 0, 101, 0, 0, 0,
843 0, 0, 0, 11, 1, 2, 3, 4, 5, 6,
844 7, 8, 0, 0, 0, 0, 0, 9, 0, 0,
845 0, 0, 101, 0, 0, 0, 0, 0, 0, 11,
846 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
847 0, 0, 0, 9, 0, 0, 0, 0, 101, 0,
848 0, 0, 0, 0, 0, 11, 0, 0, 134, 135,
849 18, 105, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
851 6, 7, 8, 0, 134, 135, 18, 105, 9, 0,
852 0, 0, 666, 164, 136, 667, 0, 0, 0, 668,
853 11, 669, 670, 671, 672, 673, 674, 0, 0, 0,
854 134, 135, 18, 105, 0, 0, 0, 0, 0, 0,
855 136, 0, 675, 60, 1, 2, 3, 4, 5, 6,
856 7, 8, 61, 0, 0, 0, 0, 62, 63, 0,
857 0, 0, 680, 585, 0, 586, 644, 587, 339, 11,
858 0, 0, 588, 0, 165, 102, 103, 104, 105, 1,
859 2, 3, 4, 5, 6, 7, 8, 341, 342, 66,
860 0, 0, 9, 0, 0, 0, 0, 101, 0, 0,
861 343, 344, 0, 0, 11, 0, 67, 68, 69, 70,
862 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 102, 103, 104, 681, 72, 0,
864 73, 74, 75, 76, 77, 78, 0, 0, 0, 79,
865 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
866 90, 91, 92, 93, 94, 60, 0, 0, 0, 102,
867 103, 104, 105, 0, 61, 0, 0, 0, 0, 62,
868 63, 656, 657, 658, 64, 585, 0, 586, 659, 587,
869 339, 0, 0, 0, 588, 0, 0, 0, 0, 1,
870 2, 3, 4, 5, 6, 7, 8, 0, 0, 341,
871 342, 66, 693, 0, 0, 0, 0, 101, 0, 0,
872 0, 0, 343, 344, 11, 0, 0, 0, 67, 68,
873 69, 70, 71, 1, 2, 3, 4, 5, 6, 7,
874 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
875 72, 101, 73, 74, 75, 76, 77, 78, 11, 694,
876 0, 79, 80, 81, 82, 83, 84, 85, 86, 87,
877 88, 89, 90, 91, 92, 93, 94, 60, 0, 102,
878 103, 104, 387, 0, 0, 0, 61, 0, 0, 0,
879 0, 62, 63, 745, 0, 0, 64, 585, 0, 586,
880 0, 587, 339, 0, 0, 0, 588, 0, 0, 0,
881 0, 0, 0, 102, 103, 104, 105, 0, 161, 0,
882 0, 341, 342, 66, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 343, 344, 0, 0, 0, 0,
884 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 0, 72, 746, 747, 74, 75, 76, 77, 78,
887 0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
888 86, 87, 748, 89, 90, 91, 92, 93, 94, 60,
889 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
890 0, 0, 0, 62, 63, 745, 0, 0, 64, 585,
891 0, 586, 0, 587, 339, 0, 0, 0, 588, 0,
892 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
893 8, 0, 0, 341, 342, 66, 693, 0, 0, 0,
894 0, 101, 0, 0, 0, 0, 343, 344, 11, 0,
895 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
897 0, 0, 0, 0, 72, 746, 747, 74, 75, 76,
898 77, 78, 0, 697, 0, 79, 80, 81, 82, 83,
899 84, 85, 86, 87, 748, 89, 90, 91, 92, 93,
900 94, 60, 0, 102, 103, 104, 387, 0, 0, 0,
901 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
902 64, 585, 0, 586, 0, 587, 339, 0, 0, 0,
903 588, 0, 0, 0, 1, 2, 3, 4, 5, 6,
904 7, 8, 161, 0, 0, 341, 342, 66, 0, 0,
905 0, 0, 101, 0, 0, 0, 0, 0, 343, 344,
906 0, 0, 813, 0, 67, 68, 69, 70, 71, 1,
907 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
908 0, 0, 9, 0, 0, 0, 72, 101, 73, 74,
909 75, 76, 77, 78, 11, 0, 0, 79, 80, 81,
910 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
911 92, 93, 94, 60, 102, 103, 104, 0, 0, 0,
912 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
913 0, 0, 64, 585, -613, 586, 0, 587, 339, 0,
914 0, 0, 588, 0, 0, 0, 0, 0, 0, 134,
915 135, 18, 105, 0, 161, 0, 0, 341, 342, 66,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 343, 344, 0, 0, 0, 0, 67, 68, 69, 70,
918 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
920 73, 74, 75, 76, 77, 78, 0, 0, 0, 79,
921 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
922 90, 91, 92, 93, 94, 60, 0, 0, 0, 0,
923 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
924 63, 0, 0, 0, 64, 585, 0, 586, 0, 587,
925 339, 0, 0, 0, 588, 0, 0, 0, 0, 0,
926 0, 589, 0, 0, 0, 0, 0, 0, 0, 341,
927 342, 66, 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 343, 344, 0, 0, 0, 0, 67, 68,
929 69, 70, 71, 1, 2, 3, 4, 5, 6, 7,
930 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
931 72, 101, 73, 74, 75, 76, 77, 78, 11, 0,
932 0, 79, 80, 81, 82, 83, 84, 85, 86, 87,
933 88, 89, 90, 91, 92, 93, 94, 60, 0, 0,
934 0, 0, 0, 0, 0, 0, 61, 0, 0, 0,
935 0, 62, 63, 0, 0, 0, 64, 585, 0, 586,
936 0, 587, 339, 0, 0, 0, 588, 0, 0, 0,
937 0, 0, 0, 102, 103, 104, 105, 0, 161, 0,
938 0, 341, 342, 66, 0, 0, 0, 0, 0, 0,
939 0, 0, 0, 0, 343, 344, 0, 0, 0, 0,
940 67, 68, 69, 70, 71, 1, 2, 3, 4, 5,
941 6, 7, 8, 0, 0, 0, 0, 0, 386, 0,
942 0, 0, 72, 101, 73, 74, 75, 76, 77, 78,
943 11, 0, 0, 79, 80, 81, 82, 83, 84, 85,
944 86, 87, 88, 89, 90, 91, 92, 93, 94, 60,
945 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
946 0, 0, 0, 62, 63, 0, 0, 0, 64, 585,
947 0, 586, 0, 587, 339, 0, 0, 0, 588, 0,
948 0, 0, 0, 0, 0, 102, 103, 104, 387, 0,
949 0, 0, 0, 341, 342, 66, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 0, 343, 344, 0, 0,
951 0, 0, 67, 68, 69, 70, 71, 1, 2, 3,
952 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
953 601, 0, 0, 0, 72, 101, 73, 74, 75, 76,
954 77, 78, 0, 0, 0, 79, 80, 81, 82, 83,
955 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
956 94, 60, 0, 0, 0, 0, 0, 0, 0, 0,
957 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
958 64, 0, 0, 337, 0, 338, 339, 0, 0, 0,
959 340, 0, 0, 0, 0, 0, 0, 102, 103, 104,
960 0, 0, 0, 0, 0, 341, 342, 0, 0, 0,
961 0, 0, 0, 0, 0, 0, 0, 0, 343, 344,
962 0, 0, 0, 0, 67, 68, 69, 70, 71, 0,
963 0, 0, 0, 0, 0, 0, 345, 0, 0, 0,
964 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
965 75, 76, 77, 78, 0, 0, 0, 79, 80, 81,
966 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
967 92, 93, 94, 60, 0, 0, 0, 0, 0, 0,
968 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
969 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
970 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
973 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
974 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
976 73, 74, 75, 76, 77, 78, 0, 0, 0, 79,
977 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
978 90, 91, 92, 93, 94, 60, 0, 0, 0, 0,
979 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
980 63, 0, 0, 0, 64, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, -516, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 67, 68,
985 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 72, 0, 73, 74, 75, 76, 77, 78, 0, 0,
988 0, 79, 80, 81, 82, 83, 84, 85, 86, 87,
989 88, 89, 90, 91, 92, 93, 94, 60, 0, 0,
990 0, 0, 0, 0, 0, 0, 61, 0, 636, 0,
991 0, 62, 63, 0, 0, 0, 64, 429, 430, 431,
992 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
993 442, 443, 444, 445, 446, 0, 0, 0, 0, 0,
994 447, 0, 0, 66, 0, 0, 0, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
996 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
998 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
999 0, 0, 0, 79, 80, 81, 82, 83, 84, 85,
1000 86, 87, 88, 89, 90, 91, 92, 93, 94, 60,
1001 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
1002 0, 0, 0, 62, 63, 0, 0, 0, 64, 0,
1003 739, 0, 0, 0, 0, 0, 0, 0, 192, 429,
1004 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1005 440, 441, 442, 443, 444, 445, 446, 0, 0, 0,
1006 0, 0, 686, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
1010 77, 78, 0, 0, 0, 79, 80, 81, 82, 83,
1011 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1012 94, 60, 0, 0, 0, 0, 0, 0, 0, 0,
1013 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
1014 64, 0, 852, 0, 0, 0, 0, 0, 0, 0,
1015 425, 429, 430, 431, 432, 433, 434, 435, 436, 437,
1016 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
1017 0, 0, 0, 0, 686, 0, 0, 0, 0, 0,
1018 0, 0, 0, 0, 67, 68, 69, 70, 71, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
1021 75, 76, 77, 78, 0, 0, 0, 79, 80, 81,
1022 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1023 92, 93, 94, 60, 0, 0, 0, 0, 0, 0,
1024 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
1025 0, 0, 64, 0, 0, 826, 0, 0, 0, 0,
1026 0, 0, 458, 429, 430, 431, 432, 433, 434, 435,
1027 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1028 446, 0, 0, 0, 0, 0, 686, 0, 0, 0,
1029 0, 0, 60, 0, 0, 0, 67, 68, 69, 70,
1030 71, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1031 0, 64, 0, 0, 0, 0, 0, 0, 72, 0,
1032 73, 74, 75, 76, 77, 78, 0, 0, 0, 79,
1033 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1034 90, 91, 92, 93, 94, 0, 0, 0, 0, 0,
1035 0, 60, 0, 714, 0, 67, 68, 69, 70, 71,
1036 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
1037 64, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1038 74, 75, 76, 77, 78, 0, 0, 0, 79, 80,
1039 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1040 91, 92, 93, 94, 0, 0, 0, 0, 0, 0,
1041 60, 0, 797, 0, 67, 68, 69, 70, 71, 61,
1042 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
1043 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
1044 75, 76, 77, 78, 0, 0, 0, 79, 80, 81,
1045 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1046 92, 93, 94, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 0, 67, 68, 69, 70, 71, 0, 0,
1048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
1050 76, 77, 78, 0, 0, 0, 79, 80, 81, 82,
1051 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1052 93, 94, 723, 0, 0, 0, 0, 0, 0, 429,
1053 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1054 440, 441, 442, 443, 444, 445, 446, 780, 0, 0,
1055 0, 0, 447, 0, 429, 430, 431, 432, 433, 434,
1056 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1057 445, 446, 0, 0, 0, 685, 0, 686, 429, 430,
1058 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
1059 441, 442, 443, 444, 445, 446, 0, 0, 0, 0,
1060 0, 686, 429, 430, 431, 432, 433, 434, 435, 436,
1061 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1062 0, 0, 0, 0, 0, 447, 429, 430, 431, 432,
1063 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1064 443, 444, 445, 446, 0, 0, 0, 0, 0, 686,
1065 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
1066 439, 440, 441, 442, 443, 444, 445, 446, 0, 0,
1067 0, 0, 0, 447, 429, 430, 431, 432, 433, 434,
1068 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1069 445, 446, 0, 0, 0, 0, 0, 686
1072 static const short int yycheck
[] =
1074 33, 22, 11, 15, 0, 9, 128, 377, 9, 65,
1075 19, 132, 16, 17, 18, 132, 451, 451, 10, 144,
1076 145, 146, 374, 15, 403, 348, 0, 185, 186, 359,
1077 360, 27, 33, 340, 397, 159, 10, 400, 15, 346,
1078 734, 10, 736, 167, 702, 729, 678, 21, 24, 49,
1079 24, 25, 21, 27, 700, 700, 25, 409, 700, 26,
1080 6, 32, 26, 9, 65, 3, 4, 5, 6, 7,
1081 8, 9, 10, 11, 12, 31, 26, 27, 49, 17,
1082 25, 775, 32, 9, 22, 11, 208, 44, 64, 32,
1083 35, 34, 96, 604, 44, 606, 105, 0, 102, 103,
1084 104, 424, 747, 32, 427, 26, 31, 124, 460, 32,
1085 755, 36, 33, 755, 4, 5, 6, 121, 802, 9,
1086 36, 428, 34, 123, 136, 37, 36, 131, 132, 133,
1087 134, 135, 133, 87, 792, 49, 192, 30, 142, 31,
1088 447, 448, 34, 31, 136, 777, 84, 85, 86, 833,
1089 32, 118, 153, 165, 17, 18, 31, 35, 790, 136,
1090 35, 36, 36, 857, 31, 32, 199, 34, 23, 173,
1091 35, 36, 830, 165, 6, 7, 8, 835, 810, 35,
1092 36, 827, 827, 187, 158, 189, 33, 34, 165, 158,
1093 164, 192, 23, 185, 186, 164, 23, 842, 33, 34,
1094 842, 859, 581, 33, 34, 33, 34, 853, 853, 644,
1095 644, 31, 17, 18, 649, 649, 134, 135, 36, 340,
1096 36, 23, 32, 340, 38, 346, 6, 35, 32, 346,
1097 31, 117, 32, 603, 31, 605, 588, 36, 590, 32,
1098 31, 31, 366, 6, 40, 26, 109, 110, 111, 112,
1099 113, 114, 40, 22, 33, 607, 92, 93, 94, 95,
1100 96, 97, 98, 4, 5, 6, 7, 8, 9, 10,
1101 11, 32, 34, 32, 40, 31, 17, 31, 24, 32,
1102 40, 22, 40, 32, 31, 33, 25, 108, 29, 33,
1103 33, 33, 32, 451, 99, 100, 101, 102, 103, 104,
1104 105, 106, 107, 34, 31, 35, 35, 428, 33, 33,
1105 33, 428, 33, 33, 33, 638, 34, 34, 641, 642,
1106 376, 34, 33, 35, 40, 32, 447, 448, 34, 25,
1107 447, 448, 388, 37, 686, 687, 340, 35, 32, 702,
1108 31, 345, 346, 84, 85, 86, 87, 32, 700, 33,
1109 91, 31, 33, 35, 25, 388, 34, 3, 31, 363,
1110 6, 24, 34, 396, 10, 398, 12, 13, 14, 15,
1111 16, 17, 33, 743, 744, 376, 34, 32, 387, 32,
1112 34, 122, 33, 25, 25, 386, 738, 388, 92, 93,
1113 94, 95, 96, 97, 98, 399, 33, 35, 34, 34,
1114 730, 731, 458, 755, 33, 33, 25, 34, 412, 33,
1115 33, 415, 421, 330, 27, 722, 723, 131, 778, 452,
1116 453, 425, 37, 649, 428, 644, 778, 165, 780, 792,
1117 588, 39, 166, 707, 579, 180, 24, 789, 362, 451,
1118 763, 764, 770, 447, 448, 608, 604, 3, 606, 186,
1119 97, 421, 21, 736, 369, 451, 12, 458, 853, 451,
1120 396, 17, 18, 19, 20, 21, 22, 830, 746, 400,
1121 709, -1, 835, -1, 826, 827, -1, 92, 93, 94,
1122 95, 96, 97, 98, -1, -1, 644, -1, -1, -1,
1123 842, 649, -1, -1, -1, -1, 859, -1, -1, -1,
1124 -1, 853, 4, 5, 6, 7, 8, 9, 10, 11,
1125 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1126 22, -1, -1, -1, 26, 27, 651, 652, -1, -1,
1127 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1128 -1, -1, 44, 99, 100, 101, 102, 103, 104, 105,
1129 106, 107, 108, 109, 110, 111, 112, 113, 114, -1,
1130 -1, -1, -1, -1, 120, -1, 122, 123, -1, -1,
1131 -1, -1, -1, -1, -1, -1, 632, -1, -1, -1,
1132 -1, -1, 84, 85, 86, -1, -1, -1, -1, -1,
1133 -1, 595, -1, -1, -1, -1, 600, 630, -1, -1,
1134 601, 722, 723, -1, 608, 722, 723, -1, -1, -1,
1135 -1, -1, 604, -1, 606, 648, 4, 5, 6, 7,
1136 8, 9, 10, 11, -1, -1, -1, 631, -1, 17,
1137 -1, 632, 644, -1, 22, -1, -1, 649, -1, 761,
1138 -1, 29, -1, -1, -1, -1, 650, 648, 644, 37,
1139 -1, 655, 644, 649, -1, -1, -1, 649, -1, -1,
1140 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1141 11, 704, 681, -1, 707, -1, 17, -1, -1, -1,
1142 -1, 22, -1, -1, -1, 706, -1, 691, 29, 30,
1143 31, -1, 693, -1, -1, -1, 84, 85, 86, 87,
1144 41, -1, -1, -1, -1, 709, -1, -1, -1, -1,
1145 4, 5, 6, 7, 8, 9, 10, 11, 722, 723,
1146 -1, -1, -1, 17, -1, 758, 30, -1, 22, -1,
1147 -1, -1, 120, -1, -1, 768, -1, -1, 771, 772,
1148 -1, -1, 83, 84, 85, 86, 87, 88, 89, -1,
1149 91, -1, -1, -1, -1, -1, 777, -1, 762, -1,
1150 -1, -1, 66, 67, 68, 69, 70, 71, 72, 73,
1151 74, 75, 76, 77, 115, 79, 80, 81, 82, 120,
1152 -1, 122, -1, -1, -1, 31, -1, -1, -1, 822,
1153 84, 85, 86, -1, 827, -1, 42, 43, 44, 45,
1154 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1155 56, 57, 58, 59, -1, -1, -1, -1, 0, 65,
1156 853, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1157 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1158 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1159 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1160 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1161 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1162 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1163 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1164 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1165 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1166 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1167 112, 113, 114, 115, -1, 117, 118, -1, 120, 121,
1168 122, 123, 124, 0, -1, -1, 3, 4, 5, 6,
1169 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1170 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1171 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1172 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1173 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1174 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1175 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1176 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1177 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1178 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1179 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1180 -1, 118, -1, 120, 121, 122, 123, 124, 0, -1,
1181 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1182 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1183 22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
1184 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1185 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1186 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1187 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1188 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1189 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1190 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1191 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1192 112, 113, 114, 115, -1, -1, 118, -1, 120, 121,
1193 122, 123, 124, 0, -1, -1, 3, 4, 5, 6,
1194 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1195 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1196 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1197 -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1198 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1199 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1200 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1201 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1202 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1203 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1204 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1205 -1, 118, -1, 120, 121, 122, 123, 124, 4, 5,
1206 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1207 -1, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1208 -1, -1, -1, 29, 4, 5, 6, 7, 8, 9,
1209 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1210 -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
1211 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1212 -1, -1, -1, 17, -1, -1, -1, -1, 22, -1,
1213 -1, -1, -1, -1, -1, 29, -1, -1, 84, 85,
1214 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
1215 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1216 9, 10, 11, -1, 84, 85, 86, 87, 17, -1,
1217 -1, -1, 3, 22, 120, 6, -1, -1, -1, 10,
1218 29, 12, 13, 14, 15, 16, 17, -1, -1, -1,
1219 84, 85, 86, 87, -1, -1, -1, -1, -1, -1,
1220 120, -1, 33, 3, 4, 5, 6, 7, 8, 9,
1221 10, 11, 12, -1, -1, -1, -1, 17, 18, -1,
1222 -1, -1, 22, 23, -1, 25, 120, 27, 28, 29,
1223 -1, -1, 32, -1, 83, 84, 85, 86, 87, 4,
1224 5, 6, 7, 8, 9, 10, 11, 47, 48, 49,
1225 -1, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1226 60, 61, -1, -1, 29, -1, 66, 67, 68, 69,
1227 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1228 -1, -1, -1, -1, 84, 85, 86, 87, 88, -1,
1229 90, 91, 92, 93, 94, 95, -1, -1, -1, 99,
1230 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1231 110, 111, 112, 113, 114, 3, -1, -1, -1, 84,
1232 85, 86, 87, -1, 12, -1, -1, -1, -1, 17,
1233 18, 19, 20, 21, 22, 23, -1, 25, 26, 27,
1234 28, -1, -1, -1, 32, -1, -1, -1, -1, 4,
1235 5, 6, 7, 8, 9, 10, 11, -1, -1, 47,
1236 48, 49, 17, -1, -1, -1, -1, 22, -1, -1,
1237 -1, -1, 60, 61, 29, -1, -1, -1, 66, 67,
1238 68, 69, 70, 4, 5, 6, 7, 8, 9, 10,
1239 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1240 88, 22, 90, 91, 92, 93, 94, 95, 29, 64,
1241 -1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1242 108, 109, 110, 111, 112, 113, 114, 3, -1, 84,
1243 85, 86, 87, -1, -1, -1, 12, -1, -1, -1,
1244 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
1245 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1246 -1, -1, -1, 84, 85, 86, 87, -1, 44, -1,
1247 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1248 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1249 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1251 -1, -1, 88, 89, 90, 91, 92, 93, 94, 95,
1252 -1, -1, -1, 99, 100, 101, 102, 103, 104, 105,
1253 106, 107, 108, 109, 110, 111, 112, 113, 114, 3,
1254 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1255 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1256 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1257 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1258 11, -1, -1, 47, 48, 49, 17, -1, -1, -1,
1259 -1, 22, -1, -1, -1, -1, 60, 61, 29, -1,
1260 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1262 -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
1263 94, 95, -1, 64, -1, 99, 100, 101, 102, 103,
1264 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1265 114, 3, -1, 84, 85, 86, 87, -1, -1, -1,
1266 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1267 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
1268 32, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1269 10, 11, 44, -1, -1, 47, 48, 49, -1, -1,
1270 -1, -1, 22, -1, -1, -1, -1, -1, 60, 61,
1271 -1, -1, 64, -1, 66, 67, 68, 69, 70, 4,
1272 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1273 -1, -1, 17, -1, -1, -1, 88, 22, 90, 91,
1274 92, 93, 94, 95, 29, -1, -1, 99, 100, 101,
1275 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1276 112, 113, 114, 3, 84, 85, 86, -1, -1, -1,
1277 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1278 -1, -1, 22, 23, 24, 25, -1, 27, 28, -1,
1279 -1, -1, 32, -1, -1, -1, -1, -1, -1, 84,
1280 85, 86, 87, -1, 44, -1, -1, 47, 48, 49,
1281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1282 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1283 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1284 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1285 90, 91, 92, 93, 94, 95, -1, -1, -1, 99,
1286 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1287 110, 111, 112, 113, 114, 3, -1, -1, -1, -1,
1288 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1289 18, -1, -1, -1, 22, 23, -1, 25, -1, 27,
1290 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1291 -1, 39, -1, -1, -1, -1, -1, -1, -1, 47,
1292 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1293 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1294 68, 69, 70, 4, 5, 6, 7, 8, 9, 10,
1295 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1296 88, 22, 90, 91, 92, 93, 94, 95, 29, -1,
1297 -1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1298 108, 109, 110, 111, 112, 113, 114, 3, -1, -1,
1299 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1300 -1, 17, 18, -1, -1, -1, 22, 23, -1, 25,
1301 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1302 -1, -1, -1, 84, 85, 86, 87, -1, 44, -1,
1303 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1304 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1305 66, 67, 68, 69, 70, 4, 5, 6, 7, 8,
1306 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1307 -1, -1, 88, 22, 90, 91, 92, 93, 94, 95,
1308 29, -1, -1, 99, 100, 101, 102, 103, 104, 105,
1309 106, 107, 108, 109, 110, 111, 112, 113, 114, 3,
1310 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1311 -1, -1, -1, 17, 18, -1, -1, -1, 22, 23,
1312 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1313 -1, -1, -1, -1, -1, 84, 85, 86, 87, -1,
1314 -1, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1315 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1316 -1, -1, 66, 67, 68, 69, 70, 4, 5, 6,
1317 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1318 17, -1, -1, -1, 88, 22, 90, 91, 92, 93,
1319 94, 95, -1, -1, -1, 99, 100, 101, 102, 103,
1320 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1321 114, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1322 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1323 22, -1, -1, 25, -1, 27, 28, -1, -1, -1,
1324 32, -1, -1, -1, -1, -1, -1, 84, 85, 86,
1325 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1326 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1327 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1328 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1329 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1330 92, 93, 94, 95, -1, -1, -1, 99, 100, 101,
1331 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1332 112, 113, 114, 3, -1, -1, -1, -1, -1, -1,
1333 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1334 -1, -1, 22, -1, -1, -1, -1, -1, -1, -1,
1335 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1336 -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
1337 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1338 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1339 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1340 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1341 90, 91, 92, 93, 94, 95, -1, -1, -1, 99,
1342 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1343 110, 111, 112, 113, 114, 3, -1, -1, -1, -1,
1344 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1345 18, -1, -1, -1, 22, -1, -1, -1, -1, -1,
1346 -1, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1347 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1348 -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1349 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
1350 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1351 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1352 88, -1, 90, 91, 92, 93, 94, 95, -1, -1,
1353 -1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1354 108, 109, 110, 111, 112, 113, 114, 3, -1, -1,
1355 -1, -1, -1, -1, -1, -1, 12, -1, 33, -1,
1356 -1, 17, 18, -1, -1, -1, 22, 42, 43, 44,
1357 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1358 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1359 65, -1, -1, 49, -1, -1, -1, -1, -1, -1,
1360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1361 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1363 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1364 -1, -1, -1, 99, 100, 101, 102, 103, 104, 105,
1365 106, 107, 108, 109, 110, 111, 112, 113, 114, 3,
1366 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1367 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1368 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
1369 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1370 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1371 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
1372 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1373 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1374 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1375 94, 95, -1, -1, -1, 99, 100, 101, 102, 103,
1376 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1377 114, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1378 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1379 22, -1, 33, -1, -1, -1, -1, -1, -1, -1,
1380 32, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1381 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1382 -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1385 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1386 92, 93, 94, 95, -1, -1, -1, 99, 100, 101,
1387 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1388 112, 113, 114, 3, -1, -1, -1, -1, -1, -1,
1389 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1390 -1, -1, 22, -1, -1, 34, -1, -1, -1, -1,
1391 -1, -1, 32, 42, 43, 44, 45, 46, 47, 48,
1392 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1393 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
1394 -1, -1, 3, -1, -1, -1, 66, 67, 68, 69,
1395 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1396 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
1397 90, 91, 92, 93, 94, 95, -1, -1, -1, 99,
1398 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1399 110, 111, 112, 113, 114, -1, -1, -1, -1, -1,
1400 -1, 3, -1, 64, -1, 66, 67, 68, 69, 70,
1401 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1402 22, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1403 91, 92, 93, 94, 95, -1, -1, -1, 99, 100,
1404 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1405 111, 112, 113, 114, -1, -1, -1, -1, -1, -1,
1406 3, -1, 64, -1, 66, 67, 68, 69, 70, 12,
1407 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1408 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1409 92, 93, 94, 95, -1, -1, -1, 99, 100, 101,
1410 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1411 112, 113, 114, -1, -1, -1, -1, -1, -1, -1,
1412 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1414 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1415 93, 94, 95, -1, -1, -1, 99, 100, 101, 102,
1416 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1417 113, 114, 35, -1, -1, -1, -1, -1, -1, 42,
1418 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1419 53, 54, 55, 56, 57, 58, 59, 35, -1, -1,
1420 -1, -1, 65, -1, 42, 43, 44, 45, 46, 47,
1421 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1422 58, 59, -1, -1, -1, 39, -1, 65, 42, 43,
1423 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1424 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1425 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1426 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1427 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1428 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1429 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1430 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1431 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1432 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
1433 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1434 58, 59, -1, -1, -1, -1, -1, 65
1437 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1438 symbol of state STATE-NUM. */
1439 static const unsigned short int yystos
[] =
1441 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1442 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1443 88, 89, 91, 115, 120, 122, 133, 134, 135, 136,
1444 137, 155, 160, 165, 166, 167, 168, 169, 170, 171,
1445 172, 177, 180, 181, 184, 188, 189, 190, 191, 192,
1446 193, 196, 198, 199, 205, 213, 224, 225, 9, 11,
1447 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1448 69, 70, 88, 90, 91, 92, 93, 94, 95, 99,
1449 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1450 110, 111, 112, 113, 114, 130, 221, 222, 223, 240,
1451 250, 22, 84, 85, 86, 87, 189, 196, 166, 30,
1452 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1453 76, 77, 79, 80, 81, 82, 138, 139, 140, 141,
1454 143, 144, 145, 17, 84, 85, 120, 161, 163, 190,
1455 191, 196, 205, 214, 215, 130, 130, 130, 216, 3,
1456 6, 10, 12, 17, 156, 157, 166, 26, 122, 189,
1457 225, 44, 258, 259, 22, 83, 188, 189, 0, 135,
1458 130, 197, 220, 221, 4, 5, 6, 9, 173, 6,
1459 170, 176, 31, 124, 178, 32, 32, 36, 36, 220,
1460 221, 87, 32, 130, 123, 223, 130, 130, 130, 34,
1461 182, 19, 20, 21, 120, 122, 123, 130, 146, 147,
1462 30, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1463 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1464 21, 22, 23, 24, 25, 26, 27, 28, 29, 31,
1465 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1466 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1467 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1468 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1469 72, 73, 74, 75, 76, 77, 78, 79, 81, 83,
1470 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1471 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1472 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1473 114, 115, 118, 120, 121, 122, 123, 124, 131, 150,
1474 151, 150, 26, 118, 142, 130, 146, 25, 27, 28,
1475 32, 47, 48, 60, 61, 78, 129, 130, 152, 210,
1476 130, 130, 216, 130, 216, 163, 31, 130, 35, 218,
1477 218, 218, 218, 221, 23, 31, 189, 36, 185, 36,
1478 23, 161, 178, 185, 38, 219, 32, 130, 6, 174,
1479 6, 9, 175, 173, 32, 31, 17, 87, 165, 194,
1480 195, 196, 194, 130, 206, 207, 92, 93, 94, 95,
1481 96, 97, 98, 231, 232, 233, 246, 247, 253, 254,
1482 255, 130, 220, 183, 197, 221, 117, 150, 131, 26,
1483 27, 32, 44, 212, 152, 32, 130, 152, 32, 42,
1484 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1485 53, 54, 55, 56, 57, 58, 59, 65, 128, 31,
1486 35, 36, 201, 201, 31, 200, 201, 200, 32, 130,
1487 40, 185, 0, 3, 4, 5, 6, 7, 8, 9,
1488 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1489 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1490 31, 32, 33, 34, 35, 38, 39, 40, 41, 42,
1491 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1492 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1493 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1494 73, 74, 75, 76, 77, 78, 79, 81, 83, 84,
1495 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1496 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1497 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1498 115, 118, 120, 121, 122, 123, 124, 132, 185, 186,
1499 187, 231, 32, 31, 31, 23, 25, 27, 32, 39,
1500 129, 197, 208, 209, 210, 220, 219, 6, 26, 179,
1501 221, 17, 220, 33, 34, 33, 34, 40, 34, 37,
1502 197, 236, 208, 228, 248, 249, 250, 258, 197, 130,
1503 256, 257, 18, 249, 250, 37, 232, 208, 33, 130,
1504 34, 32, 166, 211, 212, 22, 33, 130, 152, 153,
1505 154, 152, 152, 32, 120, 162, 163, 164, 165, 202,
1506 205, 214, 215, 197, 197, 220, 19, 20, 21, 26,
1507 158, 159, 208, 37, 187, 37, 3, 6, 10, 12,
1508 13, 14, 15, 16, 17, 33, 226, 227, 229, 230,
1509 22, 87, 165, 208, 208, 39, 65, 128, 130, 26,
1510 33, 221, 219, 17, 64, 195, 219, 64, 208, 207,
1511 40, 31, 40, 31, 32, 24, 40, 32, 31, 34,
1512 31, 31, 33, 197, 64, 130, 148, 149, 220, 33,
1513 33, 33, 34, 35, 25, 164, 35, 217, 37, 162,
1514 218, 218, 130, 31, 35, 33, 34, 228, 33, 33,
1515 208, 208, 33, 33, 33, 19, 89, 90, 108, 208,
1516 235, 237, 238, 239, 240, 259, 248, 197, 258, 183,
1517 257, 33, 34, 152, 152, 34, 25, 35, 34, 203,
1518 217, 201, 201, 33, 229, 35, 227, 229, 40, 208,
1519 35, 219, 219, 108, 237, 17, 18, 240, 243, 32,
1520 32, 235, 34, 251, 197, 33, 150, 64, 130, 25,
1521 35, 32, 197, 204, 31, 203, 229, 258, 158, 208,
1522 32, 208, 228, 64, 248, 252, 33, 31, 33, 35,
1523 25, 217, 34, 31, 64, 228, 34, 34, 241, 33,
1524 34, 32, 34, 197, 24, 32, 208, 197, 234, 235,
1525 236, 242, 259, 33, 248, 25, 25, 217, 33, 244,
1526 245, 248, 33, 34, 235, 34, 33, 35, 33, 34,
1527 234, 25, 229, 33, 248, 33
1530 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1531 static const unsigned short int yyr1
[] =
1533 0, 127, 128, 128, 128, 128, 128, 128, 128, 128,
1534 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
1535 129, 129, 129, 129, 130, 130, 130, 130, 130, 130,
1536 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
1537 130, 130, 131, 131, 131, 131, 131, 131, 131, 131,
1538 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1539 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1540 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1541 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1542 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1543 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1544 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1545 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1546 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1547 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1548 131, 131, 131, 131, 131, 131, 131, 131, 131, 132,
1549 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1550 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1551 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1552 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1553 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1554 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1555 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1556 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1557 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1558 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1559 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1560 132, 132, 132, 132, 133, 133, 134, 134, 135, 135,
1561 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1562 135, 135, 136, 137, 137, 138, 138, 138, 138, 138,
1563 138, 138, 138, 139, 139, 140, 140, 141, 141, 141,
1564 142, 142, 143, 143, 144, 144, 144, 145, 145, 146,
1565 146, 146, 146, 146, 146, 146, 147, 147, 148, 148,
1566 148, 148, 149, 149, 150, 150, 151, 151, 152, 152,
1567 152, 152, 152, 152, 152, 152, 152, 152, 152, 153,
1568 153, 154, 154, 155, 156, 157, 157, 157, 157, 158,
1569 158, 158, 159, 159, 159, 159, 160, 160, 160, 161,
1570 161, 162, 162, 163, 163, 163, 163, 163, 164, 164,
1571 164, 164, 164, 165, 165, 165, 166, 166, 167, 167,
1572 167, 168, 168, 168, 169, 169, 169, 170, 170, 171,
1573 171, 171, 172, 172, 172, 172, 173, 173, 173, 173,
1574 173, 174, 174, 175, 175, 175, 175, 176, 176, 176,
1575 177, 177, 178, 178, 179, 179, 180, 181, 182, 182,
1576 183, 183, 184, 184, 184, 185, 186, 186, 187, 187,
1577 188, 188, 189, 189, 190, 190, 191, 191, 192, 192,
1578 192, 192, 193, 193, 194, 194, 194, 194, 195, 195,
1579 195, 195, 196, 196, 196, 196, 197, 197, 198, 199,
1580 200, 200, 201, 202, 202, 203, 203, 204, 204, 205,
1581 206, 206, 207, 207, 208, 208, 208, 208, 208, 208,
1582 209, 209, 209, 209, 209, 210, 210, 211, 211, 212,
1583 212, 212, 213, 214, 215, 216, 216, 217, 217, 217,
1584 217, 218, 218, 219, 219, 219, 220, 220, 221, 221,
1585 222, 222, 223, 223, 224, 224, 225, 225, 225, 226,
1586 226, 227, 227, 228, 229, 230, 230, 230, 230, 230,
1587 230, 230, 230, 230, 231, 231, 232, 232, 232, 232,
1588 232, 233, 233, 234, 234, 234, 235, 235, 235, 235,
1589 235, 235, 236, 236, 237, 238, 239, 240, 240, 240,
1590 240, 240, 240, 240, 240, 240, 240, 241, 241, 242,
1591 242, 243, 243, 244, 244, 245, 245, 246, 247, 248,
1592 248, 248, 249, 249, 250, 250, 250, 250, 250, 250,
1593 250, 250, 251, 251, 252, 252, 253, 254, 254, 255,
1594 256, 256, 257, 258, 258, 259
1597 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1598 static const unsigned char yyr2
[] =
1600 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1601 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1602 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1603 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1604 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1605 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1606 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1607 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1608 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1609 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1610 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1611 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1612 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1613 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1614 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1615 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1616 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1617 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1618 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1619 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1620 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1621 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1622 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1623 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1624 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1625 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1627 1, 1, 1, 1, 0, 1, 1, 2, 1, 1,
1628 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1629 1, 1, 3, 2, 3, 2, 2, 1, 2, 2,
1630 2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1631 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1632 1, 1, 1, 1, 1, 1, 6, 2, 0, 1,
1633 1, 3, 1, 3, 0, 1, 1, 2, 3, 2,
1634 3, 5, 2, 4, 1, 1, 1, 1, 4, 0,
1635 1, 1, 3, 6, 1, 1, 1, 1, 1, 0,
1636 1, 1, 1, 1, 1, 1, 3, 4, 4, 1,
1637 2, 1, 2, 1, 1, 2, 4, 4, 1, 1,
1638 1, 3, 3, 2, 2, 1, 1, 1, 2, 2,
1639 2, 1, 1, 1, 1, 1, 2, 1, 1, 1,
1640 1, 2, 1, 1, 2, 2, 0, 1, 2, 1,
1641 2, 0, 1, 0, 1, 1, 2, 0, 1, 2,
1642 3, 4, 0, 4, 1, 2, 2, 3, 0, 2,
1643 1, 3, 3, 3, 4, 3, 1, 2, 1, 1,
1644 1, 2, 1, 1, 5, 7, 5, 7, 6, 7,
1645 6, 5, 1, 2, 0, 1, 1, 3, 1, 2,
1646 3, 2, 1, 2, 4, 3, 3, 2, 4, 4,
1647 1, 1, 3, 4, 5, 0, 2, 2, 4, 4,
1648 1, 3, 1, 3, 1, 4, 3, 3, 2, 5,
1649 1, 1, 1, 1, 1, 4, 2, 1, 2, 2,
1650 1, 1, 2, 2, 2, 0, 1, 0, 2, 7,
1651 9, 0, 7, 0, 2, 3, 0, 1, 1, 2,
1652 1, 2, 1, 2, 4, 5, 7, 8, 13, 1,
1653 3, 2, 4, 2, 1, 1, 1, 1, 1, 1,
1654 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1655 1, 3, 6, 1, 2, 1, 1, 1, 2, 1,
1656 1, 1, 3, 4, 6, 8, 5, 1, 1, 1,
1657 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
1658 3, 1, 1, 0, 1, 1, 3, 3, 3, 1,
1659 1, 3, 5, 6, 1, 1, 1, 1, 1, 1,
1660 1, 1, 0, 2, 1, 3, 3, 1, 1, 3,
1665 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1666 static const unsigned char yydprec
[] =
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1733 static const unsigned char yymerger
[] =
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1800 in the case of predicates. */
1801 static const yybool yyimmediate
[] =
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,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1868 list of conflicting reductions corresponding to action entry for
1869 state STATE-NUM in yytable. 0 means no conflicts. The list in
1870 yyconfl is terminated by a rule number of 0. */
1871 static const unsigned short int yyconflp
[] =
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, 5, 0, 0, 0, 0, 0,
1890 249, 0, 0, 0, 0, 0, 0, 0, 0, 251,
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, 253, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 7, 0,
1955 0, 9, 11, 13, 15, 17, 19, 21, 23, 25,
1956 27, 29, 31, 33, 35, 37, 39, 41, 43, 45,
1957 47, 49, 51, 53, 55, 57, 59, 61, 63, 65,
1958 67, 69, 71, 73, 75, 77, 79, 81, 83, 85,
1959 87, 89, 91, 93, 95, 97, 99, 101, 103, 105,
1960 107, 109, 111, 113, 115, 117, 119, 121, 123, 125,
1961 127, 129, 131, 133, 135, 137, 139, 141, 143, 145,
1962 147, 149, 151, 153, 155, 157, 159, 161, 0, 163,
1963 0, 165, 167, 169, 171, 173, 175, 177, 179, 181,
1964 183, 185, 187, 189, 191, 193, 195, 197, 199, 201,
1965 203, 205, 207, 209, 211, 213, 215, 217, 219, 221,
1966 223, 225, 227, 229, 0, 231, 233, 0, 235, 237,
1967 239, 241, 243, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 0,
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, 1, 0, 0, 0, 0, 3, 0, 0,
2025 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0,
2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2056 0, 0, 0, 0, 0, 0, 0, 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, 245, 0, 0, 0,
2095 0, 247, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 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, 255, 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, 257
2236 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2237 0, pointed into by YYCONFLP. */
2238 static const short int yyconfl
[] =
2240 0, 393, 0, 393, 0, 462, 0, 600, 0, 600,
2241 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2242 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2243 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2244 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2245 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2246 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2247 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2248 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2249 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2250 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2251 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2252 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2253 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2254 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2255 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2256 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2257 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2258 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2259 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2260 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2261 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2262 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2263 0, 600, 0, 600, 0, 600, 0, 600, 0, 600,
2264 0, 600, 0, 600, 0, 393, 0, 393, 0, 506,
2265 0, 506, 0, 393, 0, 341, 0, 489, 0
2268 /* Error token number */
2275 #define yynerrs (yystackp->yyerrcnt)
2277 #define yychar (yystackp->yyrawchar)
2279 #define yylval (yystackp->yyval)
2281 #define yylloc (yystackp->yyloc)
2282 #define psi_parser_proc_nerrs yynerrs
2283 #define psi_parser_proc_char yychar
2284 #define psi_parser_proc_lval yylval
2285 #define psi_parser_proc_lloc yylloc
2287 static const int YYEOF
= 0;
2288 static const int YYEMPTY
= -2;
2290 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2292 #define YYCHK(YYE) \
2294 YYRESULTTAG yychk_flag = YYE; \
2295 if (yychk_flag != yyok) \
2296 return yychk_flag; \
2302 # define YYFPRINTF fprintf
2305 /* This macro is provided for backward compatibility. */
2306 #ifndef YY_LOCATION_PRINT
2307 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2311 # define YYDPRINTF(Args) \
2318 /*----------------------------------------.
2319 | Print this symbol's value on YYOUTPUT. |
2320 `----------------------------------------*/
2323 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2325 FILE *yyo
= yyoutput
;
2336 /*--------------------------------.
2337 | Print this symbol on YYOUTPUT. |
2338 `--------------------------------*/
2341 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2343 YYFPRINTF (yyoutput
, "%s %s (",
2344 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2346 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2347 YYFPRINTF (yyoutput
, ")");
2350 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2354 YYFPRINTF (stderr, "%s ", Title); \
2355 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2356 YYFPRINTF (stderr, "\n"); \
2360 /* Nonzero means print parse trace. It is left uninitialized so that
2361 multiple parsers can coexist. */
2365 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2366 YY_ATTRIBUTE_UNUSED
;
2367 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2368 YY_ATTRIBUTE_UNUSED
;
2370 #else /* !YYDEBUG */
2372 # define YYDPRINTF(Args)
2373 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2375 #endif /* !YYDEBUG */
2377 /* YYINITDEPTH -- initial size of the parser's stacks. */
2379 # define YYINITDEPTH 200
2382 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2383 if the built-in stack extension method is used).
2385 Do not make this value too large; the results are undefined if
2386 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2387 evaluated with infinite-precision integer arithmetic. */
2390 # define YYMAXDEPTH 10000
2393 /* Minimum number of free items on the stack allowed after an
2394 allocation. This is to allow allocation and initialization
2395 to be completed by functions that call yyexpandGLRStack before the
2396 stack is expanded, thus insuring that all necessary pointers get
2397 properly redirected to new data. */
2398 #define YYHEADROOM 2
2400 #ifndef YYSTACKEXPANDABLE
2401 # define YYSTACKEXPANDABLE 1
2404 #if YYSTACKEXPANDABLE
2405 # define YY_RESERVE_GLRSTACK(Yystack) \
2407 if (Yystack->yyspaceLeft < YYHEADROOM) \
2408 yyexpandGLRStack (Yystack); \
2411 # define YY_RESERVE_GLRSTACK(Yystack) \
2413 if (Yystack->yyspaceLeft < YYHEADROOM) \
2414 yyMemoryExhausted (Yystack); \
2422 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2423 # define yystpcpy stpcpy
2425 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2428 yystpcpy (char *yydest
, const char *yysrc
)
2431 const char *yys
= yysrc
;
2433 while ((*yyd
++ = *yys
++) != '\0')
2442 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2443 quotes and backslashes, so that it's suitable for yyerror. The
2444 heuristic is that double-quoting is unnecessary unless the string
2445 contains an apostrophe, a comma, or backslash (other than
2446 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2447 null, do not copy; instead, return the length of what the result
2450 yytnamerr (char *yyres
, const char *yystr
)
2455 char const *yyp
= yystr
;
2462 goto do_not_strip_quotes
;
2466 goto do_not_strip_quotes
;
2479 do_not_strip_quotes
: ;
2483 return strlen (yystr
);
2485 return yystpcpy (yyres
, yystr
) - yyres
;
2489 #endif /* !YYERROR_VERBOSE */
2491 /** State numbers, as in LALR(1) machine */
2492 typedef int yyStateNum
;
2494 /** Rule numbers, as in LALR(1) machine */
2495 typedef int yyRuleNum
;
2497 /** Grammar symbol */
2498 typedef int yySymbol
;
2500 /** Item references, as in LALR(1) machine */
2501 typedef short int yyItemNum
;
2503 typedef struct yyGLRState yyGLRState
;
2504 typedef struct yyGLRStateSet yyGLRStateSet
;
2505 typedef struct yySemanticOption yySemanticOption
;
2506 typedef union yyGLRStackItem yyGLRStackItem
;
2507 typedef struct yyGLRStack yyGLRStack
;
2510 /** Type tag: always true. */
2512 /** Type tag for yysemantics. If true, yysval applies, otherwise
2513 * yyfirstVal applies. */
2515 /** Number of corresponding LALR(1) machine state. */
2516 yyStateNum yylrState
;
2517 /** Preceding state in this stack */
2519 /** Source position of the last token produced by my symbol */
2522 /** First in a chain of alternative reductions producing the
2523 * non-terminal corresponding to this state, threaded through
2525 yySemanticOption
* yyfirstVal
;
2526 /** Semantic value for this state. */
2531 struct yyGLRStateSet
{
2532 yyGLRState
** yystates
;
2533 /** During nondeterministic operation, yylookaheadNeeds tracks which
2534 * stacks have actually needed the current lookahead. During deterministic
2535 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2536 * duplicate yychar != YYEMPTY. */
2537 yybool
* yylookaheadNeeds
;
2538 size_t yysize
, yycapacity
;
2541 struct yySemanticOption
{
2542 /** Type tag: always false. */
2544 /** Rule number for this reduction */
2546 /** The last RHS state in the list of states to be reduced. */
2547 yyGLRState
* yystate
;
2548 /** The lookahead for this reduction. */
2551 /** Next sibling in chain of options. To facilitate merging,
2552 * options are chained in decreasing order by address. */
2553 yySemanticOption
* yynext
;
2556 /** Type of the items in the GLR stack. The yyisState field
2557 * indicates which item of the union is valid. */
2558 union yyGLRStackItem
{
2560 yySemanticOption yyoption
;
2571 YYJMP_BUF yyexception_buffer
;
2572 yyGLRStackItem
* yyitems
;
2573 yyGLRStackItem
* yynextFree
;
2575 yyGLRState
* yysplitPoint
;
2576 yyGLRState
* yylastDeleted
;
2577 yyGLRStateSet yytops
;
2580 #if YYSTACKEXPANDABLE
2581 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2584 static _Noreturn
void
2585 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2587 if (yymsg
!= YY_NULLPTR
)
2588 yyerror (P
, tokens
, index
, yymsg
);
2589 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2592 static _Noreturn
void
2593 yyMemoryExhausted (yyGLRStack
* yystackp
)
2595 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2598 #if YYDEBUG || YYERROR_VERBOSE
2599 /** A printable representation of TOKEN. */
2600 static inline const char*
2601 yytokenName (yySymbol yytoken
)
2603 if (yytoken
== YYEMPTY
)
2606 return yytname
[yytoken
];
2610 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2611 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2612 * containing the pointer to the next state in the chain. */
2613 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2615 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2618 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2619 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2622 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2624 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2626 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2628 /* The effect of using yysval or yyloc (in an immediate rule) is
2630 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2631 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2635 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2636 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2637 * For convenience, always return YYLOW1. */
2638 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2639 YY_ATTRIBUTE_UNUSED
;
2641 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2643 if (!yynormal
&& yylow1
< *yylow
)
2645 yyfillin (yyvsp
, *yylow
, yylow1
);
2651 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2652 * and top stack item YYVSP. YYLVALP points to place to put semantic
2653 * value ($$), and yylocp points to place for location information
2654 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2655 * yyerr for YYERROR, yyabort for YYABORT. */
2657 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2658 yyGLRStack
* yystackp
,
2659 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2661 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2669 # define yyerrok (yystackp->yyerrState = 0)
2671 # define YYACCEPT return yyaccept
2673 # define YYABORT return yyabort
2675 # define YYERROR return yyerrok, yyerr
2676 # undef YYRECOVERING
2677 # define YYRECOVERING() (yystackp->yyerrState != 0)
2679 # define yyclearin (yychar = YYEMPTY)
2681 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2683 # define YYBACKUP(Token, Value) \
2684 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2689 *yyvalp
= yyval_default
;
2691 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2695 #line 395 "src/parser_proc_grammar.y" /* glr.c:816 */
2697 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2698 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2699 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2702 #line 2703 "src/parser_proc.c" /* glr.c:816 */
2706 #line 401 "src/parser_proc_grammar.y" /* glr.c:816 */
2709 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2710 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2712 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
);
2715 #line 2716 "src/parser_proc.c" /* glr.c:816 */
2719 #line 409 "src/parser_proc_grammar.y" /* glr.c:816 */
2721 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2723 #line 2724 "src/parser_proc.c" /* glr.c:816 */
2727 #line 412 "src/parser_proc_grammar.y" /* glr.c:816 */
2729 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2731 #line 2732 "src/parser_proc.c" /* glr.c:816 */
2735 #line 417 "src/parser_proc_grammar.y" /* glr.c:816 */
2737 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2739 #line 2740 "src/parser_proc.c" /* glr.c:816 */
2743 #line 420 "src/parser_proc_grammar.y" /* glr.c:816 */
2745 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2747 #line 2748 "src/parser_proc.c" /* glr.c:816 */
2751 #line 423 "src/parser_proc_grammar.y" /* glr.c:816 */
2753 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2755 #line 2756 "src/parser_proc.c" /* glr.c:816 */
2759 #line 426 "src/parser_proc_grammar.y" /* glr.c:816 */
2761 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2763 #line 2764 "src/parser_proc.c" /* glr.c:816 */
2767 #line 429 "src/parser_proc_grammar.y" /* glr.c:816 */
2769 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2771 #line 2772 "src/parser_proc.c" /* glr.c:816 */
2775 #line 435 "src/parser_proc_grammar.y" /* glr.c:816 */
2777 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2779 #line 2780 "src/parser_proc.c" /* glr.c:816 */
2783 #line 441 "src/parser_proc_grammar.y" /* glr.c:816 */
2785 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2787 #line 2788 "src/parser_proc.c" /* glr.c:816 */
2791 #line 444 "src/parser_proc_grammar.y" /* glr.c:816 */
2793 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2795 #line 2796 "src/parser_proc.c" /* glr.c:816 */
2799 #line 450 "src/parser_proc_grammar.y" /* glr.c:816 */
2801 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2802 struct psi_token
*msg
= NULL
;
2804 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2806 struct psi_token
*next
;
2808 msg
= psi_token_copy(msg
);
2809 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2810 struct psi_token
*old
= msg
;
2811 msg
= psi_token_cat(" ", 2, msg
, next
);
2815 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2817 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2819 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2821 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2823 #line 2824 "src/parser_proc.c" /* glr.c:816 */
2827 #line 473 "src/parser_proc_grammar.y" /* glr.c:816 */
2829 (*(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
))));
2830 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2832 #line 2833 "src/parser_proc.c" /* glr.c:816 */
2836 #line 477 "src/parser_proc_grammar.y" /* glr.c:816 */
2838 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2839 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2841 #line 2842 "src/parser_proc.c" /* glr.c:816 */
2845 #line 481 "src/parser_proc_grammar.y" /* glr.c:816 */
2847 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2848 (*(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
))));
2849 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2851 #line 2852 "src/parser_proc.c" /* glr.c:816 */
2855 #line 486 "src/parser_proc_grammar.y" /* glr.c:816 */
2857 (*(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
)));
2858 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2860 #line 2861 "src/parser_proc.c" /* glr.c:816 */
2864 #line 490 "src/parser_proc_grammar.y" /* glr.c:816 */
2866 (*(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
)));
2867 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2869 #line 2870 "src/parser_proc.c" /* glr.c:816 */
2873 #line 494 "src/parser_proc_grammar.y" /* glr.c:816 */
2875 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2876 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2878 #line 2879 "src/parser_proc.c" /* glr.c:816 */
2882 #line 498 "src/parser_proc_grammar.y" /* glr.c:816 */
2884 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2885 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2887 #line 2888 "src/parser_proc.c" /* glr.c:816 */
2891 #line 552 "src/parser_proc_grammar.y" /* glr.c:816 */
2893 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2894 (*(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
);
2895 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2897 #line 2898 "src/parser_proc.c" /* glr.c:816 */
2901 #line 557 "src/parser_proc_grammar.y" /* glr.c:816 */
2903 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2904 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2905 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2907 #line 2908 "src/parser_proc.c" /* glr.c:816 */
2911 #line 565 "src/parser_proc_grammar.y" /* glr.c:816 */
2913 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2915 #line 2916 "src/parser_proc.c" /* glr.c:816 */
2919 #line 568 "src/parser_proc_grammar.y" /* glr.c:816 */
2921 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2923 #line 2924 "src/parser_proc.c" /* glr.c:816 */
2927 #line 572 "src/parser_proc_grammar.y" /* glr.c:816 */
2929 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
2931 #line 2932 "src/parser_proc.c" /* glr.c:816 */
2935 #line 578 "src/parser_proc_grammar.y" /* glr.c:816 */
2937 (*(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
)));
2938 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2939 (*(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
)));
2941 #line 2942 "src/parser_proc.c" /* glr.c:816 */
2945 #line 583 "src/parser_proc_grammar.y" /* glr.c:816 */
2947 (*(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
)));
2948 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2949 (*(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
)));
2951 #line 2952 "src/parser_proc.c" /* glr.c:816 */
2955 #line 591 "src/parser_proc_grammar.y" /* glr.c:816 */
2957 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2959 #line 2960 "src/parser_proc.c" /* glr.c:816 */
2963 #line 598 "src/parser_proc_grammar.y" /* glr.c:816 */
2965 (*(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
)));
2966 (*(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
)));
2968 #line 2969 "src/parser_proc.c" /* glr.c:816 */
2972 #line 602 "src/parser_proc_grammar.y" /* glr.c:816 */
2974 (*(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
)));
2975 (*(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
)));
2977 #line 2978 "src/parser_proc.c" /* glr.c:816 */
2981 #line 609 "src/parser_proc_grammar.y" /* glr.c:816 */
2983 (*(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
)));
2984 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
2986 #line 2987 "src/parser_proc.c" /* glr.c:816 */
2990 #line 613 "src/parser_proc_grammar.y" /* glr.c:816 */
2992 (*(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
)));
2993 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2995 #line 2996 "src/parser_proc.c" /* glr.c:816 */
2999 #line 617 "src/parser_proc_grammar.y" /* glr.c:816 */
3001 (*(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
)));
3002 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3004 #line 3005 "src/parser_proc.c" /* glr.c:816 */
3008 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
3010 (*(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
)));
3011 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3013 #line 3014 "src/parser_proc.c" /* glr.c:816 */
3017 #line 626 "src/parser_proc_grammar.y" /* glr.c:816 */
3022 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3023 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3024 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3025 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3028 #line 3029 "src/parser_proc.c" /* glr.c:816 */
3032 #line 636 "src/parser_proc_grammar.y" /* glr.c:816 */
3037 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3038 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3039 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3040 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3043 #line 3044 "src/parser_proc.c" /* glr.c:816 */
3047 #line 646 "src/parser_proc_grammar.y" /* glr.c:816 */
3049 (*(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
));
3050 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3051 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3053 #line 3054 "src/parser_proc.c" /* glr.c:816 */
3057 #line 651 "src/parser_proc_grammar.y" /* glr.c:816 */
3059 (*(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));
3060 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3061 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3063 #line 3064 "src/parser_proc.c" /* glr.c:816 */
3067 #line 656 "src/parser_proc_grammar.y" /* glr.c:816 */
3069 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3070 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3072 #line 3073 "src/parser_proc.c" /* glr.c:816 */
3076 #line 660 "src/parser_proc_grammar.y" /* glr.c:816 */
3078 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3079 (*(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));
3080 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3081 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3083 #line 3084 "src/parser_proc.c" /* glr.c:816 */
3087 #line 666 "src/parser_proc_grammar.y" /* glr.c:816 */
3089 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3090 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3091 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));
3092 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3094 #line 3095 "src/parser_proc.c" /* glr.c:816 */
3098 #line 675 "src/parser_proc_grammar.y" /* glr.c:816 */
3100 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3102 #line 3103 "src/parser_proc.c" /* glr.c:816 */
3106 #line 682 "src/parser_proc_grammar.y" /* glr.c:816 */
3108 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3109 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3111 #line 3112 "src/parser_proc.c" /* glr.c:816 */
3115 #line 686 "src/parser_proc_grammar.y" /* glr.c:816 */
3117 (*(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
)));
3119 #line 3120 "src/parser_proc.c" /* glr.c:816 */
3123 #line 692 "src/parser_proc_grammar.y" /* glr.c:816 */
3125 (*(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
)));
3126 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3128 #line 3129 "src/parser_proc.c" /* glr.c:816 */
3132 #line 699 "src/parser_proc_grammar.y" /* glr.c:816 */
3134 (*(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
);
3136 #line 3137 "src/parser_proc.c" /* glr.c:816 */
3140 #line 712 "src/parser_proc_grammar.y" /* glr.c:816 */
3142 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3144 #line 3145 "src/parser_proc.c" /* glr.c:816 */
3148 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
3150 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
)) {
3152 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3154 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3155 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3157 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3161 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3162 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3163 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3164 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3165 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3166 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3167 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3168 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3169 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3170 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3176 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3178 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3180 #line 3181 "src/parser_proc.c" /* glr.c:816 */
3184 #line 746 "src/parser_proc_grammar.y" /* glr.c:816 */
3186 (*(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
);
3187 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3189 #line 3190 "src/parser_proc.c" /* glr.c:816 */
3193 #line 760 "src/parser_proc_grammar.y" /* glr.c:816 */
3195 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3197 #line 3198 "src/parser_proc.c" /* glr.c:816 */
3201 #line 763 "src/parser_proc_grammar.y" /* glr.c:816 */
3203 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3204 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3205 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3207 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3208 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3209 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3211 #line 3212 "src/parser_proc.c" /* glr.c:816 */
3215 #line 772 "src/parser_proc_grammar.y" /* glr.c:816 */
3217 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3219 #line 3220 "src/parser_proc.c" /* glr.c:816 */
3223 #line 778 "src/parser_proc_grammar.y" /* glr.c:816 */
3225 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3227 #line 3228 "src/parser_proc.c" /* glr.c:816 */
3231 #line 781 "src/parser_proc_grammar.y" /* glr.c:816 */
3233 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3235 #line 3236 "src/parser_proc.c" /* glr.c:816 */
3239 #line 787 "src/parser_proc_grammar.y" /* glr.c:816 */
3241 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3243 #line 3244 "src/parser_proc.c" /* glr.c:816 */
3247 #line 790 "src/parser_proc_grammar.y" /* glr.c:816 */
3249 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3251 #line 3252 "src/parser_proc.c" /* glr.c:816 */
3255 #line 797 "src/parser_proc_grammar.y" /* glr.c:816 */
3257 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3258 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3259 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3261 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3262 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3264 #line 3265 "src/parser_proc.c" /* glr.c:816 */
3268 #line 805 "src/parser_proc_grammar.y" /* glr.c:816 */
3270 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3271 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3272 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3273 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3275 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3276 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3277 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3278 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3280 #line 3281 "src/parser_proc.c" /* glr.c:816 */
3284 #line 816 "src/parser_proc_grammar.y" /* glr.c:816 */
3286 (*(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
)));
3287 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3288 (*(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
)));
3289 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3290 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3291 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3292 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3294 #line 3295 "src/parser_proc.c" /* glr.c:816 */
3298 #line 825 "src/parser_proc_grammar.y" /* glr.c:816 */
3300 (*(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
)));
3301 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3302 (*(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
)));
3303 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3304 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3305 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3306 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3308 #line 3309 "src/parser_proc.c" /* glr.c:816 */
3312 #line 838 "src/parser_proc_grammar.y" /* glr.c:816 */
3314 (*(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));
3315 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3317 #line 3318 "src/parser_proc.c" /* glr.c:816 */
3321 #line 842 "src/parser_proc_grammar.y" /* glr.c:816 */
3323 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3324 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3325 psi_decl_var_init(NULL
, 0, 0)
3327 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3328 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3329 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3330 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3332 #line 3333 "src/parser_proc.c" /* glr.c:816 */
3336 #line 852 "src/parser_proc_grammar.y" /* glr.c:816 */
3338 (*(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));
3339 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3340 (*(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
)));
3341 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3342 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3343 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3344 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3346 #line 3347 "src/parser_proc.c" /* glr.c:816 */
3350 #line 861 "src/parser_proc_grammar.y" /* glr.c:816 */
3352 (*(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));
3353 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3354 (*(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
)));
3355 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3356 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3357 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3358 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3360 #line 3361 "src/parser_proc.c" /* glr.c:816 */
3364 #line 873 "src/parser_proc_grammar.y" /* glr.c:816 */
3366 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3368 #line 3369 "src/parser_proc.c" /* glr.c:816 */
3372 #line 876 "src/parser_proc_grammar.y" /* glr.c:816 */
3374 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3376 #line 3377 "src/parser_proc.c" /* glr.c:816 */
3380 #line 883 "src/parser_proc_grammar.y" /* glr.c:816 */
3382 (*(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
);
3383 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3385 #line 3386 "src/parser_proc.c" /* glr.c:816 */
3389 #line 891 "src/parser_proc_grammar.y" /* glr.c:816 */
3391 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3392 (*(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
);
3393 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3395 #line 3396 "src/parser_proc.c" /* glr.c:816 */
3399 #line 896 "src/parser_proc_grammar.y" /* glr.c:816 */
3401 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3402 (*(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
);
3403 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3405 #line 3406 "src/parser_proc.c" /* glr.c:816 */
3409 #line 901 "src/parser_proc_grammar.y" /* glr.c:816 */
3411 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3412 (*(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
);
3413 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3415 #line 3416 "src/parser_proc.c" /* glr.c:816 */
3419 #line 911 "src/parser_proc_grammar.y" /* glr.c:816 */
3421 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3423 #line 3424 "src/parser_proc.c" /* glr.c:816 */
3427 #line 917 "src/parser_proc_grammar.y" /* glr.c:816 */
3429 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3431 #line 3432 "src/parser_proc.c" /* glr.c:816 */
3435 #line 920 "src/parser_proc_grammar.y" /* glr.c:816 */
3437 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3439 #line 3440 "src/parser_proc.c" /* glr.c:816 */
3443 #line 923 "src/parser_proc_grammar.y" /* glr.c:816 */
3445 (*(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
)));
3447 #line 3448 "src/parser_proc.c" /* glr.c:816 */
3451 #line 934 "src/parser_proc_grammar.y" /* glr.c:816 */
3453 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3455 #line 3456 "src/parser_proc.c" /* glr.c:816 */
3459 #line 937 "src/parser_proc_grammar.y" /* glr.c:816 */
3461 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3463 #line 3464 "src/parser_proc.c" /* glr.c:816 */
3467 #line 940 "src/parser_proc_grammar.y" /* glr.c:816 */
3469 (*(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
)));
3471 #line 3472 "src/parser_proc.c" /* glr.c:816 */
3475 #line 946 "src/parser_proc_grammar.y" /* glr.c:816 */
3477 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3479 #line 3480 "src/parser_proc.c" /* glr.c:816 */
3483 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3485 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3487 #line 3488 "src/parser_proc.c" /* glr.c:816 */
3491 #line 952 "src/parser_proc_grammar.y" /* glr.c:816 */
3493 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3494 (*(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
)));
3495 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3497 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3500 #line 3501 "src/parser_proc.c" /* glr.c:816 */
3504 #line 960 "src/parser_proc_grammar.y" /* glr.c:816 */
3506 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3507 (*(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
)));
3508 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3509 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3511 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3514 #line 3515 "src/parser_proc.c" /* glr.c:816 */
3518 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3520 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3522 #line 3523 "src/parser_proc.c" /* glr.c:816 */
3526 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3528 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3530 #line 3531 "src/parser_proc.c" /* glr.c:816 */
3534 #line 978 "src/parser_proc_grammar.y" /* glr.c:816 */
3536 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3537 (*(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
)));
3539 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3542 #line 3543 "src/parser_proc.c" /* glr.c:816 */
3546 #line 985 "src/parser_proc_grammar.y" /* glr.c:816 */
3548 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3550 #line 3551 "src/parser_proc.c" /* glr.c:816 */
3554 #line 988 "src/parser_proc_grammar.y" /* glr.c:816 */
3556 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3557 (*(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
)));
3559 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3562 #line 3563 "src/parser_proc.c" /* glr.c:816 */
3566 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3568 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3570 #line 3571 "src/parser_proc.c" /* glr.c:816 */
3574 #line 1004 "src/parser_proc_grammar.y" /* glr.c:816 */
3576 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3578 #line 3579 "src/parser_proc.c" /* glr.c:816 */
3582 #line 1013 "src/parser_proc_grammar.y" /* glr.c:816 */
3584 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3586 #line 3587 "src/parser_proc.c" /* glr.c:816 */
3590 #line 1016 "src/parser_proc_grammar.y" /* glr.c:816 */
3592 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3594 #line 3595 "src/parser_proc.c" /* glr.c:816 */
3598 #line 1019 "src/parser_proc_grammar.y" /* glr.c:816 */
3600 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3601 (*(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
)));
3602 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3604 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3607 #line 3608 "src/parser_proc.c" /* glr.c:816 */
3611 #line 1030 "src/parser_proc_grammar.y" /* glr.c:816 */
3613 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3615 #line 3616 "src/parser_proc.c" /* glr.c:816 */
3619 #line 1033 "src/parser_proc_grammar.y" /* glr.c:816 */
3621 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3623 #line 3624 "src/parser_proc.c" /* glr.c:816 */
3627 #line 1053 "src/parser_proc_grammar.y" /* glr.c:816 */
3629 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3631 #line 3632 "src/parser_proc.c" /* glr.c:816 */
3635 #line 1060 "src/parser_proc_grammar.y" /* glr.c:816 */
3637 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3639 #line 3640 "src/parser_proc.c" /* glr.c:816 */
3643 #line 1066 "src/parser_proc_grammar.y" /* glr.c:816 */
3645 (*(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
)));
3647 #line 3648 "src/parser_proc.c" /* glr.c:816 */
3651 #line 1069 "src/parser_proc_grammar.y" /* glr.c:816 */
3653 (*(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
)));
3655 #line 3656 "src/parser_proc.c" /* glr.c:816 */
3659 #line 1075 "src/parser_proc_grammar.y" /* glr.c:816 */
3661 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3663 #line 3664 "src/parser_proc.c" /* glr.c:816 */
3667 #line 1078 "src/parser_proc_grammar.y" /* glr.c:816 */
3669 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3671 #line 3672 "src/parser_proc.c" /* glr.c:816 */
3675 #line 1081 "src/parser_proc_grammar.y" /* glr.c:816 */
3677 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3679 #line 3680 "src/parser_proc.c" /* glr.c:816 */
3683 #line 1102 "src/parser_proc_grammar.y" /* glr.c:816 */
3685 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3686 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3688 #line 3689 "src/parser_proc.c" /* glr.c:816 */
3692 #line 1114 "src/parser_proc_grammar.y" /* glr.c:816 */
3694 (*(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
)));
3695 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3696 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3697 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3700 #line 3701 "src/parser_proc.c" /* glr.c:816 */
3704 #line 1121 "src/parser_proc_grammar.y" /* glr.c:816 */
3706 (*(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
)));
3707 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3708 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3709 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3710 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3713 #line 3714 "src/parser_proc.c" /* glr.c:816 */
3717 #line 1132 "src/parser_proc_grammar.y" /* glr.c:816 */
3719 (*(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
)));
3720 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3721 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3722 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3725 #line 3726 "src/parser_proc.c" /* glr.c:816 */
3729 #line 1139 "src/parser_proc_grammar.y" /* glr.c:816 */
3731 (*(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
)));
3732 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3733 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3734 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3735 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3738 #line 3739 "src/parser_proc.c" /* glr.c:816 */
3742 #line 1150 "src/parser_proc_grammar.y" /* glr.c:816 */
3744 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3745 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3746 (*(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));
3747 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3748 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3750 #line 3751 "src/parser_proc.c" /* glr.c:816 */
3754 #line 1157 "src/parser_proc_grammar.y" /* glr.c:816 */
3756 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3757 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3758 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3759 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
),
3760 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)
3762 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3763 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3764 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3766 #line 3767 "src/parser_proc.c" /* glr.c:816 */
3770 #line 1168 "src/parser_proc_grammar.y" /* glr.c:816 */
3772 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3773 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3774 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3775 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
),
3776 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)
3778 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3779 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3780 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3782 #line 3783 "src/parser_proc.c" /* glr.c:816 */
3786 #line 1179 "src/parser_proc_grammar.y" /* glr.c:816 */
3788 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3789 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3790 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3791 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
),
3792 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3794 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3795 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3796 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3798 #line 3799 "src/parser_proc.c" /* glr.c:816 */
3802 #line 1194 "src/parser_proc_grammar.y" /* glr.c:816 */
3804 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3805 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
),
3806 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3808 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3809 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3810 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3812 #line 3813 "src/parser_proc.c" /* glr.c:816 */
3816 #line 1206 "src/parser_proc_grammar.y" /* glr.c:816 */
3818 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3820 #line 3821 "src/parser_proc.c" /* glr.c:816 */
3824 #line 1209 "src/parser_proc_grammar.y" /* glr.c:816 */
3826 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3828 #line 3829 "src/parser_proc.c" /* glr.c:816 */
3832 #line 1212 "src/parser_proc_grammar.y" /* glr.c:816 */
3834 (*(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
)));
3836 #line 3837 "src/parser_proc.c" /* glr.c:816 */
3840 #line 1215 "src/parser_proc_grammar.y" /* glr.c:816 */
3842 (*(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
)));
3844 #line 3845 "src/parser_proc.c" /* glr.c:816 */
3848 #line 1222 "src/parser_proc_grammar.y" /* glr.c:816 */
3850 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3852 #line 3853 "src/parser_proc.c" /* glr.c:816 */
3856 #line 1225 "src/parser_proc_grammar.y" /* glr.c:816 */
3858 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3859 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3860 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3863 #line 3864 "src/parser_proc.c" /* glr.c:816 */
3867 #line 1231 "src/parser_proc_grammar.y" /* glr.c:816 */
3869 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3870 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
),
3871 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3873 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3874 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3875 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3877 #line 3878 "src/parser_proc.c" /* glr.c:816 */
3881 #line 1240 "src/parser_proc_grammar.y" /* glr.c:816 */
3883 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3884 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
),
3885 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3887 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3888 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3889 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3891 #line 3892 "src/parser_proc.c" /* glr.c:816 */
3895 #line 1252 "src/parser_proc_grammar.y" /* glr.c:816 */
3897 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3898 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3899 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3901 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3902 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3904 #line 3905 "src/parser_proc.c" /* glr.c:816 */
3908 #line 1260 "src/parser_proc_grammar.y" /* glr.c:816 */
3910 (*(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
)));
3912 #line 3913 "src/parser_proc.c" /* glr.c:816 */
3916 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
3918 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3919 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3920 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
),
3921 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)
3923 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3924 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3925 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3927 #line 3928 "src/parser_proc.c" /* glr.c:816 */
3931 #line 1273 "src/parser_proc_grammar.y" /* glr.c:816 */
3933 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3934 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3935 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
),
3936 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)
3938 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3939 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3940 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3942 #line 3943 "src/parser_proc.c" /* glr.c:816 */
3946 #line 1286 "src/parser_proc_grammar.y" /* glr.c:816 */
3948 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3949 (*(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
)));
3950 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3952 #line 3953 "src/parser_proc.c" /* glr.c:816 */
3956 #line 1291 "src/parser_proc_grammar.y" /* glr.c:816 */
3958 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3959 (*(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
)));
3960 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3962 #line 3963 "src/parser_proc.c" /* glr.c:816 */
3966 #line 1299 "src/parser_proc_grammar.y" /* glr.c:816 */
3968 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3969 (*(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
)));
3970 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3971 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3972 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3974 #line 3975 "src/parser_proc.c" /* glr.c:816 */
3978 #line 1309 "src/parser_proc_grammar.y" /* glr.c:816 */
3980 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3981 (*(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
)));
3982 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3983 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3984 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3986 #line 3987 "src/parser_proc.c" /* glr.c:816 */
3990 #line 1319 "src/parser_proc_grammar.y" /* glr.c:816 */
3992 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3994 #line 3995 "src/parser_proc.c" /* glr.c:816 */
3998 #line 1326 "src/parser_proc_grammar.y" /* glr.c:816 */
4000 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4002 #line 4003 "src/parser_proc.c" /* glr.c:816 */
4006 #line 1332 "src/parser_proc_grammar.y" /* glr.c:816 */
4008 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4009 (*(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
)));
4010 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4012 struct psi_decl_arg
*arg
;
4014 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4015 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4016 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4018 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4021 #line 4022 "src/parser_proc.c" /* glr.c:816 */
4025 #line 1346 "src/parser_proc_grammar.y" /* glr.c:816 */
4027 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4028 (*(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
)));
4029 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4031 struct psi_decl_arg
*arg
;
4033 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4034 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4035 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4037 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4040 #line 4041 "src/parser_proc.c" /* glr.c:816 */
4044 #line 1363 "src/parser_proc_grammar.y" /* glr.c:816 */
4046 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4048 #line 4049 "src/parser_proc.c" /* glr.c:816 */
4052 #line 1366 "src/parser_proc_grammar.y" /* glr.c:816 */
4054 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4056 #line 4057 "src/parser_proc.c" /* glr.c:816 */
4060 #line 1372 "src/parser_proc_grammar.y" /* glr.c:816 */
4063 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4064 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4065 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4068 #line 4069 "src/parser_proc.c" /* glr.c:816 */
4072 #line 1379 "src/parser_proc_grammar.y" /* glr.c:816 */
4075 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4076 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4077 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4080 #line 4081 "src/parser_proc.c" /* glr.c:816 */
4084 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
4086 (*(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
)));
4087 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4089 #line 4090 "src/parser_proc.c" /* glr.c:816 */
4093 #line 1396 "src/parser_proc_grammar.y" /* glr.c:816 */
4095 (*(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
)));
4097 #line 4098 "src/parser_proc.c" /* glr.c:816 */
4101 #line 1399 "src/parser_proc_grammar.y" /* glr.c:816 */
4103 (*(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
)));
4105 #line 4106 "src/parser_proc.c" /* glr.c:816 */
4109 #line 1405 "src/parser_proc_grammar.y" /* glr.c:816 */
4111 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4112 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4113 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4115 #line 4116 "src/parser_proc.c" /* glr.c:816 */
4119 #line 1410 "src/parser_proc_grammar.y" /* glr.c:816 */
4121 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4122 (*(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
)));
4123 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4125 #line 4126 "src/parser_proc.c" /* glr.c:816 */
4129 #line 1418 "src/parser_proc_grammar.y" /* glr.c:816 */
4131 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4132 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4134 #line 4135 "src/parser_proc.c" /* glr.c:816 */
4138 #line 1422 "src/parser_proc_grammar.y" /* glr.c:816 */
4140 (*(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
)));
4141 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4143 #line 4144 "src/parser_proc.c" /* glr.c:816 */
4147 #line 1426 "src/parser_proc_grammar.y" /* glr.c:816 */
4149 (*(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
)));
4150 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4152 #line 4153 "src/parser_proc.c" /* glr.c:816 */
4156 #line 1430 "src/parser_proc_grammar.y" /* glr.c:816 */
4158 (*(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
)));
4159 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4161 #line 4162 "src/parser_proc.c" /* glr.c:816 */
4165 #line 1434 "src/parser_proc_grammar.y" /* glr.c:816 */
4167 (*(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
)));
4168 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4170 #line 4171 "src/parser_proc.c" /* glr.c:816 */
4174 #line 1438 "src/parser_proc_grammar.y" /* glr.c:816 */
4176 (*(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
)));
4177 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4179 #line 4180 "src/parser_proc.c" /* glr.c:816 */
4183 #line 1445 "src/parser_proc_grammar.y" /* glr.c:816 */
4185 (*(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
);
4186 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4188 #line 4189 "src/parser_proc.c" /* glr.c:816 */
4192 #line 1449 "src/parser_proc_grammar.y" /* glr.c:816 */
4194 (*(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);
4195 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4197 #line 4198 "src/parser_proc.c" /* glr.c:816 */
4201 #line 1453 "src/parser_proc_grammar.y" /* glr.c:816 */
4203 (*(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);
4204 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4206 #line 4207 "src/parser_proc.c" /* glr.c:816 */
4210 #line 1457 "src/parser_proc_grammar.y" /* glr.c:816 */
4212 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4213 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4215 #line 4216 "src/parser_proc.c" /* glr.c:816 */
4219 #line 1461 "src/parser_proc_grammar.y" /* glr.c:816 */
4221 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4223 #line 4224 "src/parser_proc.c" /* glr.c:816 */
4227 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
4229 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4230 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4232 #line 4233 "src/parser_proc.c" /* glr.c:816 */
4236 #line 1471 "src/parser_proc_grammar.y" /* glr.c:816 */
4238 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4239 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4241 #line 4242 "src/parser_proc.c" /* glr.c:816 */
4245 #line 1478 "src/parser_proc_grammar.y" /* glr.c:816 */
4247 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4249 #line 4250 "src/parser_proc.c" /* glr.c:816 */
4253 #line 1481 "src/parser_proc_grammar.y" /* glr.c:816 */
4255 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4256 int8_t sizeof_void_p
= sizeof(void *);
4257 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4259 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4262 #line 4263 "src/parser_proc.c" /* glr.c:816 */
4266 #line 1492 "src/parser_proc_grammar.y" /* glr.c:816 */
4268 int8_t sizeof_void_p
= sizeof(void *);
4269 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4271 #line 4272 "src/parser_proc.c" /* glr.c:816 */
4275 #line 1496 "src/parser_proc_grammar.y" /* glr.c:816 */
4277 int8_t sizeof_a
= sizeof('a');
4278 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4280 #line 4281 "src/parser_proc.c" /* glr.c:816 */
4284 #line 1500 "src/parser_proc_grammar.y" /* glr.c:816 */
4286 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4288 #line 4289 "src/parser_proc.c" /* glr.c:816 */
4292 #line 1506 "src/parser_proc_grammar.y" /* glr.c:816 */
4294 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4295 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4299 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4300 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4303 #line 4304 "src/parser_proc.c" /* glr.c:816 */
4307 #line 1519 "src/parser_proc_grammar.y" /* glr.c:816 */
4309 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4310 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4314 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4315 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4318 #line 4319 "src/parser_proc.c" /* glr.c:816 */
4322 #line 1532 "src/parser_proc_grammar.y" /* glr.c:816 */
4324 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4325 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4329 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4330 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4333 #line 4334 "src/parser_proc.c" /* glr.c:816 */
4337 #line 1545 "src/parser_proc_grammar.y" /* glr.c:816 */
4339 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4341 #line 4342 "src/parser_proc.c" /* glr.c:816 */
4345 #line 1548 "src/parser_proc_grammar.y" /* glr.c:816 */
4347 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4348 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4350 #line 4351 "src/parser_proc.c" /* glr.c:816 */
4354 #line 1555 "src/parser_proc_grammar.y" /* glr.c:816 */
4356 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4358 #line 4359 "src/parser_proc.c" /* glr.c:816 */
4362 #line 1558 "src/parser_proc_grammar.y" /* glr.c:816 */
4364 (*(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
));
4366 #line 4367 "src/parser_proc.c" /* glr.c:816 */
4370 #line 1561 "src/parser_proc_grammar.y" /* glr.c:816 */
4372 (*(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
);
4374 #line 4375 "src/parser_proc.c" /* glr.c:816 */
4378 #line 1564 "src/parser_proc_grammar.y" /* glr.c:816 */
4380 (*(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
));
4382 #line 4383 "src/parser_proc.c" /* glr.c:816 */
4386 #line 1570 "src/parser_proc_grammar.y" /* glr.c:816 */
4388 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4389 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4391 #line 4392 "src/parser_proc.c" /* glr.c:816 */
4395 #line 1574 "src/parser_proc_grammar.y" /* glr.c:816 */
4397 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4398 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4400 #line 4401 "src/parser_proc.c" /* glr.c:816 */
4404 #line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */
4406 (*(size_t*)(&(*yyvalp
))) = 0;
4408 #line 4409 "src/parser_proc.c" /* glr.c:816 */
4412 #line 1584 "src/parser_proc_grammar.y" /* glr.c:816 */
4414 (*(size_t*)(&(*yyvalp
))) = 0;
4416 #line 4417 "src/parser_proc.c" /* glr.c:816 */
4420 #line 1587 "src/parser_proc_grammar.y" /* glr.c:816 */
4422 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
)) {
4423 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4425 (*(size_t*)(&(*yyvalp
))) = 0;
4428 #line 4429 "src/parser_proc.c" /* glr.c:816 */
4432 #line 1597 "src/parser_proc_grammar.y" /* glr.c:816 */
4434 (*(size_t*)(&(*yyvalp
))) = 0;
4436 #line 4437 "src/parser_proc.c" /* glr.c:816 */
4440 #line 1600 "src/parser_proc_grammar.y" /* glr.c:816 */
4442 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4444 #line 4445 "src/parser_proc.c" /* glr.c:816 */
4448 #line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */
4450 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4452 #line 4453 "src/parser_proc.c" /* glr.c:816 */
4456 #line 1613 "src/parser_proc_grammar.y" /* glr.c:816 */
4458 (*(size_t*)(&(*yyvalp
))) = 1;
4460 #line 4461 "src/parser_proc.c" /* glr.c:816 */
4464 #line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */
4466 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4468 #line 4469 "src/parser_proc.c" /* glr.c:816 */
4472 #line 1633 "src/parser_proc_grammar.y" /* glr.c:816 */
4474 (*(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
)));
4476 #line 4477 "src/parser_proc.c" /* glr.c:816 */
4480 #line 1636 "src/parser_proc_grammar.y" /* glr.c:816 */
4482 (*(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
)));
4483 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4485 #line 4486 "src/parser_proc.c" /* glr.c:816 */
4489 #line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */
4491 (*(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
)));
4492 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4493 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4495 #line 4496 "src/parser_proc.c" /* glr.c:816 */
4499 #line 1648 "src/parser_proc_grammar.y" /* glr.c:816 */
4501 (*(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
)));
4502 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4503 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4505 #line 4506 "src/parser_proc.c" /* glr.c:816 */
4509 #line 1653 "src/parser_proc_grammar.y" /* glr.c:816 */
4511 (*(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
)));
4512 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4513 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4514 (*(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
);
4515 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4517 #line 4518 "src/parser_proc.c" /* glr.c:816 */
4521 #line 1663 "src/parser_proc_grammar.y" /* glr.c:816 */
4523 (*(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
)));
4525 #line 4526 "src/parser_proc.c" /* glr.c:816 */
4529 #line 1666 "src/parser_proc_grammar.y" /* glr.c:816 */
4531 (*(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
)));
4533 #line 4534 "src/parser_proc.c" /* glr.c:816 */
4537 #line 1672 "src/parser_proc_grammar.y" /* glr.c:816 */
4539 (*(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
);
4541 #line 4542 "src/parser_proc.c" /* glr.c:816 */
4545 #line 1675 "src/parser_proc_grammar.y" /* glr.c:816 */
4547 (*(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
)));
4549 #line 4550 "src/parser_proc.c" /* glr.c:816 */
4553 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
4555 (*(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
)));
4556 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4558 #line 4559 "src/parser_proc.c" /* glr.c:816 */
4562 #line 1688 "src/parser_proc_grammar.y" /* glr.c:816 */
4564 (*(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
);
4565 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4567 #line 4568 "src/parser_proc.c" /* glr.c:816 */
4571 #line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */
4573 (*(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
)));
4575 #line 4576 "src/parser_proc.c" /* glr.c:816 */
4579 #line 1710 "src/parser_proc_grammar.y" /* glr.c:816 */
4581 (*(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
)));
4583 #line 4584 "src/parser_proc.c" /* glr.c:816 */
4587 #line 1716 "src/parser_proc_grammar.y" /* glr.c:816 */
4589 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4591 #line 4592 "src/parser_proc.c" /* glr.c:816 */
4595 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4597 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4599 #line 4600 "src/parser_proc.c" /* glr.c:816 */
4603 #line 1722 "src/parser_proc_grammar.y" /* glr.c:816 */
4605 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4607 #line 4608 "src/parser_proc.c" /* glr.c:816 */
4611 #line 1725 "src/parser_proc_grammar.y" /* glr.c:816 */
4613 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4615 #line 4616 "src/parser_proc.c" /* glr.c:816 */
4619 #line 1728 "src/parser_proc_grammar.y" /* glr.c:816 */
4621 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4623 #line 4624 "src/parser_proc.c" /* glr.c:816 */
4627 #line 1734 "src/parser_proc_grammar.y" /* glr.c:816 */
4629 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4630 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4632 #line 4633 "src/parser_proc.c" /* glr.c:816 */
4636 #line 1738 "src/parser_proc_grammar.y" /* glr.c:816 */
4638 (*(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
))));
4639 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4640 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4642 #line 4643 "src/parser_proc.c" /* glr.c:816 */
4646 #line 1747 "src/parser_proc_grammar.y" /* glr.c:816 */
4648 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4649 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4651 #line 4652 "src/parser_proc.c" /* glr.c:816 */
4655 #line 1751 "src/parser_proc_grammar.y" /* glr.c:816 */
4657 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4658 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4660 #line 4661 "src/parser_proc.c" /* glr.c:816 */
4664 #line 1758 "src/parser_proc_grammar.y" /* glr.c:816 */
4666 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4668 #line 4669 "src/parser_proc.c" /* glr.c:816 */
4672 #line 1761 "src/parser_proc_grammar.y" /* glr.c:816 */
4674 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4676 #line 4677 "src/parser_proc.c" /* glr.c:816 */
4680 #line 1764 "src/parser_proc_grammar.y" /* glr.c:816 */
4682 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4683 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4685 #line 4686 "src/parser_proc.c" /* glr.c:816 */
4689 #line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */
4691 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4693 #line 4694 "src/parser_proc.c" /* glr.c:816 */
4697 #line 1771 "src/parser_proc_grammar.y" /* glr.c:816 */
4699 (*(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
)));
4701 #line 4702 "src/parser_proc.c" /* glr.c:816 */
4705 #line 1774 "src/parser_proc_grammar.y" /* glr.c:816 */
4707 (*(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
)));
4709 #line 4710 "src/parser_proc.c" /* glr.c:816 */
4713 #line 1780 "src/parser_proc_grammar.y" /* glr.c:816 */
4715 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4716 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4718 #line 4719 "src/parser_proc.c" /* glr.c:816 */
4722 #line 1784 "src/parser_proc_grammar.y" /* glr.c:816 */
4724 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4725 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4726 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4728 #line 4729 "src/parser_proc.c" /* glr.c:816 */
4732 #line 1792 "src/parser_proc_grammar.y" /* glr.c:816 */
4734 (*(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
)));
4735 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4737 #line 4738 "src/parser_proc.c" /* glr.c:816 */
4741 #line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */
4743 (*(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
)));
4744 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4745 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4747 #line 4748 "src/parser_proc.c" /* glr.c:816 */
4751 #line 1807 "src/parser_proc_grammar.y" /* glr.c:816 */
4753 (*(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
)));
4754 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4755 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4757 #line 4758 "src/parser_proc.c" /* glr.c:816 */
4761 #line 1828 "src/parser_proc_grammar.y" /* glr.c:816 */
4763 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4765 #line 4766 "src/parser_proc.c" /* glr.c:816 */
4769 #line 1831 "src/parser_proc_grammar.y" /* glr.c:816 */
4771 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4773 #line 4774 "src/parser_proc.c" /* glr.c:816 */
4777 #line 1837 "src/parser_proc_grammar.y" /* glr.c:816 */
4779 (*(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
)));
4781 #line 4782 "src/parser_proc.c" /* glr.c:816 */
4785 #line 1840 "src/parser_proc_grammar.y" /* glr.c:816 */
4787 (*(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
)));
4789 #line 4790 "src/parser_proc.c" /* glr.c:816 */
4793 #line 1851 "src/parser_proc_grammar.y" /* glr.c:816 */
4795 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4797 #line 4798 "src/parser_proc.c" /* glr.c:816 */
4801 #line 1854 "src/parser_proc_grammar.y" /* glr.c:816 */
4803 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4805 #line 4806 "src/parser_proc.c" /* glr.c:816 */
4809 #line 1860 "src/parser_proc_grammar.y" /* glr.c:816 */
4811 (*(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
)));
4813 #line 4814 "src/parser_proc.c" /* glr.c:816 */
4817 #line 1863 "src/parser_proc_grammar.y" /* glr.c:816 */
4819 (*(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
)));
4821 #line 4822 "src/parser_proc.c" /* glr.c:816 */
4825 #line 1869 "src/parser_proc_grammar.y" /* glr.c:816 */
4827 (*(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
))));
4828 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4830 #line 4831 "src/parser_proc.c" /* glr.c:816 */
4834 #line 1876 "src/parser_proc_grammar.y" /* glr.c:816 */
4836 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4837 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4839 #line 4840 "src/parser_proc.c" /* glr.c:816 */
4843 #line 1883 "src/parser_proc_grammar.y" /* glr.c:816 */
4845 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4847 #line 4848 "src/parser_proc.c" /* glr.c:816 */
4851 #line 1886 "src/parser_proc_grammar.y" /* glr.c:816 */
4853 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4855 #line 4856 "src/parser_proc.c" /* glr.c:816 */
4859 #line 1889 "src/parser_proc_grammar.y" /* glr.c:816 */
4861 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4862 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4864 #line 4865 "src/parser_proc.c" /* glr.c:816 */
4868 #line 1896 "src/parser_proc_grammar.y" /* glr.c:816 */
4870 (*(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
)));
4871 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4872 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4874 #line 4875 "src/parser_proc.c" /* glr.c:816 */
4878 #line 1901 "src/parser_proc_grammar.y" /* glr.c:816 */
4880 (*(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
)));
4881 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4882 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4884 #line 4885 "src/parser_proc.c" /* glr.c:816 */
4888 #line 1920 "src/parser_proc_grammar.y" /* glr.c:816 */
4890 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4892 #line 4893 "src/parser_proc.c" /* glr.c:816 */
4896 #line 1923 "src/parser_proc_grammar.y" /* glr.c:816 */
4898 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4900 #line 4901 "src/parser_proc.c" /* glr.c:816 */
4904 #line 1929 "src/parser_proc_grammar.y" /* glr.c:816 */
4906 (*(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
)));
4908 #line 4909 "src/parser_proc.c" /* glr.c:816 */
4912 #line 1932 "src/parser_proc_grammar.y" /* glr.c:816 */
4914 (*(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
)));
4916 #line 4917 "src/parser_proc.c" /* glr.c:816 */
4920 #line 1938 "src/parser_proc_grammar.y" /* glr.c:816 */
4922 (*(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
)));
4923 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4925 #line 4926 "src/parser_proc.c" /* glr.c:816 */
4929 #line 1950 "src/parser_proc_grammar.y" /* glr.c:816 */
4931 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4932 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4934 #line 4935 "src/parser_proc.c" /* glr.c:816 */
4938 #line 1957 "src/parser_proc_grammar.y" /* glr.c:816 */
4940 (*(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
)));
4942 #line 4943 "src/parser_proc.c" /* glr.c:816 */
4946 #line 1960 "src/parser_proc_grammar.y" /* glr.c:816 */
4948 (*(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
)));
4950 #line 4951 "src/parser_proc.c" /* glr.c:816 */
4954 #line 1966 "src/parser_proc_grammar.y" /* glr.c:816 */
4956 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4957 (*(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
)));
4958 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4960 #line 4961 "src/parser_proc.c" /* glr.c:816 */
4964 #line 1974 "src/parser_proc_grammar.y" /* glr.c:816 */
4966 (*(bool*)(&(*yyvalp
))) = false;
4968 #line 4969 "src/parser_proc.c" /* glr.c:816 */
4972 #line 1977 "src/parser_proc_grammar.y" /* glr.c:816 */
4974 (*(bool*)(&(*yyvalp
))) = true;
4976 #line 4977 "src/parser_proc.c" /* glr.c:816 */
4980 #line 4981 "src/parser_proc.c" /* glr.c:816 */
4991 # undef YYRECOVERING
4996 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5008 /* Bison grammar-table manipulation. */
5010 /*-----------------------------------------------.
5011 | Release the memory associated to this symbol. |
5012 `-----------------------------------------------*/
5015 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5023 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5025 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5028 case 128: /* binary_op_token */
5029 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
5031 #line 5032 "src/parser_proc.c" /* glr.c:846 */
5034 case 129: /* unary_op_token */
5035 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
5037 #line 5038 "src/parser_proc.c" /* glr.c:846 */
5040 case 130: /* name_token */
5041 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
5043 #line 5044 "src/parser_proc.c" /* glr.c:846 */
5046 case 131: /* any_noeol_token */
5047 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
5049 #line 5050 "src/parser_proc.c" /* glr.c:846 */
5053 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
5054 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5055 #line 5056 "src/parser_proc.c" /* glr.c:846 */
5059 #line 270 "src/parser_proc_grammar.y" /* glr.c:846 */
5060 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5061 #line 5062 "src/parser_proc.c" /* glr.c:846 */
5064 case 138: /* cpp_exp */
5065 #line 270 "src/parser_proc_grammar.y" /* glr.c:846 */
5066 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5067 #line 5068 "src/parser_proc.c" /* glr.c:846 */
5070 case 140: /* cpp_message_token */
5071 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
5073 #line 5074 "src/parser_proc.c" /* glr.c:846 */
5076 case 141: /* cpp_include_token */
5077 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
5079 #line 5080 "src/parser_proc.c" /* glr.c:846 */
5082 case 142: /* cpp_header_token */
5083 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
5085 #line 5086 "src/parser_proc.c" /* glr.c:846 */
5088 case 143: /* cpp_no_arg_token */
5089 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
5091 #line 5092 "src/parser_proc.c" /* glr.c:846 */
5094 case 144: /* cpp_name_arg_token */
5095 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
5097 #line 5098 "src/parser_proc.c" /* glr.c:846 */
5100 case 145: /* cpp_exp_arg_token */
5101 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
5103 #line 5104 "src/parser_proc.c" /* glr.c:846 */
5106 case 146: /* cpp_special_name_token */
5107 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
5109 #line 5110 "src/parser_proc.c" /* glr.c:846 */
5112 case 147: /* cpp_macro_decl */
5113 #line 272 "src/parser_proc_grammar.y" /* glr.c:846 */
5114 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5115 #line 5116 "src/parser_proc.c" /* glr.c:846 */
5118 case 148: /* cpp_macro_sig */
5119 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5120 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5121 #line 5122 "src/parser_proc.c" /* glr.c:846 */
5124 case 149: /* cpp_macro_sig_args */
5125 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5126 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5127 #line 5128 "src/parser_proc.c" /* glr.c:846 */
5130 case 150: /* cpp_macro_decl_tokens */
5131 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5132 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5133 #line 5134 "src/parser_proc.c" /* glr.c:846 */
5136 case 151: /* cpp_macro_decl_token_list */
5137 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5138 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5139 #line 5140 "src/parser_proc.c" /* glr.c:846 */
5142 case 152: /* cpp_macro_exp */
5143 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5144 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5145 #line 5146 "src/parser_proc.c" /* glr.c:846 */
5148 case 153: /* cpp_macro_call_args */
5149 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5150 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5151 #line 5152 "src/parser_proc.c" /* glr.c:846 */
5154 case 154: /* cpp_macro_call_arg_list */
5155 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
5156 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5157 #line 5158 "src/parser_proc.c" /* glr.c:846 */
5160 case 155: /* constant */
5161 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5162 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5163 #line 5164 "src/parser_proc.c" /* glr.c:846 */
5166 case 156: /* constant_type */
5167 #line 284 "src/parser_proc_grammar.y" /* glr.c:846 */
5168 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5169 #line 5170 "src/parser_proc.c" /* glr.c:846 */
5172 case 157: /* constant_type_token */
5173 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5175 #line 5176 "src/parser_proc.c" /* glr.c:846 */
5178 case 158: /* impl_def_val */
5179 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
5180 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5181 #line 5182 "src/parser_proc.c" /* glr.c:846 */
5184 case 159: /* impl_def_val_token */
5185 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5187 #line 5188 "src/parser_proc.c" /* glr.c:846 */
5190 case 160: /* decl_typedef */
5191 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5192 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5193 #line 5194 "src/parser_proc.c" /* glr.c:846 */
5196 case 161: /* typedef */
5197 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5198 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5199 #line 5200 "src/parser_proc.c" /* glr.c:846 */
5202 case 162: /* typedef_anon */
5203 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5204 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5205 #line 5206 "src/parser_proc.c" /* glr.c:846 */
5208 case 163: /* typedef_decl */
5209 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5210 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5211 #line 5212 "src/parser_proc.c" /* glr.c:846 */
5214 case 164: /* typedef_anon_decl */
5215 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5216 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5217 #line 5218 "src/parser_proc.c" /* glr.c:846 */
5220 case 165: /* qualified_decl_type */
5221 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
5222 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5223 #line 5224 "src/parser_proc.c" /* glr.c:846 */
5226 case 166: /* decl_type */
5227 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
5228 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5229 #line 5230 "src/parser_proc.c" /* glr.c:846 */
5232 case 167: /* decl_type_complex */
5233 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
5234 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5235 #line 5236 "src/parser_proc.c" /* glr.c:846 */
5238 case 168: /* decl_type_simple */
5239 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5240 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5241 #line 5242 "src/parser_proc.c" /* glr.c:846 */
5244 case 169: /* decl_real_type */
5245 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5246 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5247 #line 5248 "src/parser_proc.c" /* glr.c:846 */
5250 case 170: /* int_signed */
5251 #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */
5253 #line 5254 "src/parser_proc.c" /* glr.c:846 */
5256 case 171: /* int_width */
5257 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
5258 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5259 #line 5260 "src/parser_proc.c" /* glr.c:846 */
5262 case 172: /* decl_int_type */
5263 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5264 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5265 #line 5266 "src/parser_proc.c" /* glr.c:846 */
5268 case 173: /* int_signed_types */
5269 #line 264 "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 */
5274 case 174: /* signed_short_types */
5275 #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */
5277 #line 5278 "src/parser_proc.c" /* glr.c:846 */
5280 case 175: /* signed_long_types */
5281 #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */
5283 #line 5284 "src/parser_proc.c" /* glr.c:846 */
5286 case 176: /* int_width_types */
5287 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
5288 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5289 #line 5290 "src/parser_proc.c" /* glr.c:846 */
5292 case 177: /* decl_stmt */
5293 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
5294 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5295 #line 5296 "src/parser_proc.c" /* glr.c:846 */
5298 case 183: /* decl_vars */
5299 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5300 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5301 #line 5302 "src/parser_proc.c" /* glr.c:846 */
5304 case 188: /* decl */
5305 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
5306 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5307 #line 5308 "src/parser_proc.c" /* glr.c:846 */
5310 case 189: /* decl_body */
5311 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
5312 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5313 #line 5314 "src/parser_proc.c" /* glr.c:846 */
5316 case 190: /* decl_func_body */
5317 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
5318 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5319 #line 5320 "src/parser_proc.c" /* glr.c:846 */
5322 case 191: /* decl_functor_body */
5323 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
5324 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5325 #line 5326 "src/parser_proc.c" /* glr.c:846 */
5328 case 192: /* decl_functor */
5329 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5330 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5331 #line 5332 "src/parser_proc.c" /* glr.c:846 */
5334 case 193: /* decl_func */
5335 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5336 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5337 #line 5338 "src/parser_proc.c" /* glr.c:846 */
5340 case 194: /* decl_args */
5341 #line 308 "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 195: /* decl_anon_arg */
5347 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5348 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5349 #line 5350 "src/parser_proc.c" /* glr.c:846 */
5352 case 196: /* decl_arg */
5353 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
5354 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5355 #line 5356 "src/parser_proc.c" /* glr.c:846 */
5358 case 197: /* decl_var */
5359 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
5360 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5361 #line 5362 "src/parser_proc.c" /* glr.c:846 */
5364 case 198: /* decl_union */
5365 #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */
5366 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5367 #line 5368 "src/parser_proc.c" /* glr.c:846 */
5370 case 199: /* decl_struct */
5371 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5372 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5373 #line 5374 "src/parser_proc.c" /* glr.c:846 */
5376 case 200: /* decl_struct_args */
5377 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5378 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5379 #line 5380 "src/parser_proc.c" /* glr.c:846 */
5382 case 201: /* struct_args_block */
5383 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5384 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5385 #line 5386 "src/parser_proc.c" /* glr.c:846 */
5388 case 202: /* struct_args */
5389 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5390 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5391 #line 5392 "src/parser_proc.c" /* glr.c:846 */
5394 case 203: /* struct_arg_var_list */
5395 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5396 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5397 #line 5398 "src/parser_proc.c" /* glr.c:846 */
5400 case 204: /* decl_vars_with_layout */
5401 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5402 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5403 #line 5404 "src/parser_proc.c" /* glr.c:846 */
5406 case 205: /* decl_enum */
5407 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5408 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5409 #line 5410 "src/parser_proc.c" /* glr.c:846 */
5412 case 206: /* decl_enum_items */
5413 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5414 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5415 #line 5416 "src/parser_proc.c" /* glr.c:846 */
5418 case 207: /* decl_enum_item */
5419 #line 306 "src/parser_proc_grammar.y" /* glr.c:846 */
5420 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5421 #line 5422 "src/parser_proc.c" /* glr.c:846 */
5424 case 208: /* num_exp */
5425 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5426 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5427 #line 5428 "src/parser_proc.c" /* glr.c:846 */
5430 case 209: /* number */
5431 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5432 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5433 #line 5434 "src/parser_proc.c" /* glr.c:846 */
5436 case 210: /* sizeof */
5437 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5438 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5439 #line 5440 "src/parser_proc.c" /* glr.c:846 */
5442 case 211: /* sizeof_body */
5443 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5444 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5445 #line 5446 "src/parser_proc.c" /* glr.c:846 */
5448 case 212: /* sizeof_body_notypes */
5449 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5450 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5451 #line 5452 "src/parser_proc.c" /* glr.c:846 */
5454 case 213: /* enum_name */
5455 #line 255 "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 214: /* union_name */
5461 #line 255 "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 215: /* struct_name */
5467 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
5468 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5469 #line 5470 "src/parser_proc.c" /* glr.c:846 */
5472 case 216: /* optional_name */
5473 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
5474 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5475 #line 5476 "src/parser_proc.c" /* glr.c:846 */
5478 case 217: /* decl_layout */
5479 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5480 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5481 #line 5482 "src/parser_proc.c" /* glr.c:846 */
5484 case 218: /* align_and_size */
5485 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
5487 #line 5488 "src/parser_proc.c" /* glr.c:846 */
5490 case 219: /* array_size */
5491 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5493 #line 5494 "src/parser_proc.c" /* glr.c:846 */
5496 case 220: /* indirection */
5497 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5499 #line 5500 "src/parser_proc.c" /* glr.c:846 */
5502 case 221: /* pointers */
5503 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5505 #line 5506 "src/parser_proc.c" /* glr.c:846 */
5508 case 222: /* asterisks */
5509 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5511 #line 5512 "src/parser_proc.c" /* glr.c:846 */
5514 case 224: /* impl */
5515 #line 319 "src/parser_proc_grammar.y" /* glr.c:846 */
5516 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5517 #line 5518 "src/parser_proc.c" /* glr.c:846 */
5520 case 225: /* impl_func */
5521 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5522 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5523 #line 5524 "src/parser_proc.c" /* glr.c:846 */
5526 case 226: /* impl_args */
5527 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5528 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5529 #line 5530 "src/parser_proc.c" /* glr.c:846 */
5532 case 227: /* impl_arg */
5533 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
5534 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5535 #line 5536 "src/parser_proc.c" /* glr.c:846 */
5538 case 228: /* impl_var */
5539 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5540 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5541 #line 5542 "src/parser_proc.c" /* glr.c:846 */
5544 case 229: /* impl_type */
5545 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5546 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5547 #line 5548 "src/parser_proc.c" /* glr.c:846 */
5550 case 230: /* impl_type_token */
5551 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5552 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5553 #line 5554 "src/parser_proc.c" /* glr.c:846 */
5556 case 231: /* impl_stmts */
5557 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5558 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5559 #line 5560 "src/parser_proc.c" /* glr.c:846 */
5562 case 232: /* impl_stmt */
5563 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
5564 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5565 #line 5566 "src/parser_proc.c" /* glr.c:846 */
5568 case 233: /* let_stmt */
5569 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
5570 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5571 #line 5572 "src/parser_proc.c" /* glr.c:846 */
5574 case 234: /* let_exp */
5575 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5576 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5577 #line 5578 "src/parser_proc.c" /* glr.c:846 */
5580 case 235: /* let_exp_byref */
5581 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5582 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5583 #line 5584 "src/parser_proc.c" /* glr.c:846 */
5586 case 236: /* let_exp_assign */
5587 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5588 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5589 #line 5590 "src/parser_proc.c" /* glr.c:846 */
5592 case 237: /* let_calloc */
5593 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5594 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5595 #line 5596 "src/parser_proc.c" /* glr.c:846 */
5598 case 238: /* let_callback */
5599 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
5600 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5601 #line 5602 "src/parser_proc.c" /* glr.c:846 */
5604 case 239: /* let_func */
5605 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5606 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5607 #line 5608 "src/parser_proc.c" /* glr.c:846 */
5610 case 240: /* let_func_token */
5611 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5612 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5613 #line 5614 "src/parser_proc.c" /* glr.c:846 */
5616 case 241: /* let_func_exps */
5617 #line 359 "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 242: /* let_exps */
5623 #line 359 "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 243: /* callback_rval */
5629 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5630 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5631 #line 5632 "src/parser_proc.c" /* glr.c:846 */
5634 case 244: /* callback_arg_list */
5635 #line 359 "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 245: /* callback_args */
5641 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5642 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5643 #line 5644 "src/parser_proc.c" /* glr.c:846 */
5646 case 246: /* return_stmt */
5647 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5648 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5649 #line 5650 "src/parser_proc.c" /* glr.c:846 */
5652 case 247: /* set_stmt */
5653 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5654 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5655 #line 5656 "src/parser_proc.c" /* glr.c:846 */
5658 case 248: /* set_exp */
5659 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5660 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5661 #line 5662 "src/parser_proc.c" /* glr.c:846 */
5664 case 249: /* set_func */
5665 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5666 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5667 #line 5668 "src/parser_proc.c" /* glr.c:846 */
5670 case 250: /* set_func_token */
5671 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5672 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5673 #line 5674 "src/parser_proc.c" /* glr.c:846 */
5676 case 251: /* set_func_exps */
5677 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5678 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5679 #line 5680 "src/parser_proc.c" /* glr.c:846 */
5682 case 252: /* set_exps */
5683 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5684 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5685 #line 5686 "src/parser_proc.c" /* glr.c:846 */
5688 case 253: /* assert_stmt */
5689 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5690 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5691 #line 5692 "src/parser_proc.c" /* glr.c:846 */
5694 case 254: /* assert_stmt_token */
5695 #line 357 "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 255: /* free_stmt */
5701 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5702 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5703 #line 5704 "src/parser_proc.c" /* glr.c:846 */
5706 case 256: /* free_exps */
5707 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5708 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5709 #line 5710 "src/parser_proc.c" /* glr.c:846 */
5712 case 257: /* free_exp */
5713 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5714 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5715 #line 5716 "src/parser_proc.c" /* glr.c:846 */
5718 case 258: /* reference */
5719 #line 369 "src/parser_proc_grammar.y" /* glr.c:846 */
5721 #line 5722 "src/parser_proc.c" /* glr.c:846 */
5728 YY_IGNORE_MAYBE_UNINITIALIZED_END
5731 /** Number of symbols composing the right hand side of rule #RULE. */
5733 yyrhsLength (yyRuleNum yyrule
)
5735 return yyr2
[yyrule
];
5739 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5741 if (yys
->yyresolved
)
5742 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5743 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5749 if (yys
->yysemantics
.yyfirstVal
)
5750 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5752 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5753 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5757 if (yys
->yysemantics
.yyfirstVal
)
5759 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5762 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5764 yyrh
= yyrh
->yypred
, yyn
-= 1)
5765 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5770 /** Left-hand-side symbol for rule #YYRULE. */
5771 static inline yySymbol
5772 yylhsNonterm (yyRuleNum yyrule
)
5774 return yyr1
[yyrule
];
5777 #define yypact_value_is_default(Yystate) \
5778 (!!((Yystate) == (-695)))
5780 /** True iff LR state YYSTATE has only a default reduction (regardless
5782 static inline yybool
5783 yyisDefaultedState (yyStateNum yystate
)
5785 return yypact_value_is_default (yypact
[yystate
]);
5788 /** The default reduction for YYSTATE, assuming it has one. */
5789 static inline yyRuleNum
5790 yydefaultAction (yyStateNum yystate
)
5792 return yydefact
[yystate
];
5795 #define yytable_value_is_error(Yytable_value) \
5798 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5800 * R < 0: Reduce on rule -R.
5802 * R > 0: Shift to state R.
5803 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5804 * of conflicting reductions.
5807 yygetLRActions (yyStateNum yystate
, int yytoken
,
5808 int* yyaction
, const short int** yyconflicts
)
5810 int yyindex
= yypact
[yystate
] + yytoken
;
5811 if (yypact_value_is_default (yypact
[yystate
])
5812 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5814 *yyaction
= -yydefact
[yystate
];
5815 *yyconflicts
= yyconfl
;
5817 else if (! yytable_value_is_error (yytable
[yyindex
]))
5819 *yyaction
= yytable
[yyindex
];
5820 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5825 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5829 /** Compute post-reduction state.
5830 * \param yystate the current state
5831 * \param yysym the nonterminal to push on the stack
5833 static inline yyStateNum
5834 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5836 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5837 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5838 return yytable
[yyr
];
5840 return yydefgoto
[yysym
- YYNTOKENS
];
5843 static inline yybool
5844 yyisShiftAction (int yyaction
)
5846 return 0 < yyaction
;
5849 static inline yybool
5850 yyisErrorAction (int yyaction
)
5852 return yyaction
== 0;
5857 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5858 * if YYISSTATE, and otherwise a semantic option. Callers should call
5859 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5862 static inline yyGLRStackItem
*
5863 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5865 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5866 yystackp
->yyspaceLeft
-= 1;
5867 yystackp
->yynextFree
+= 1;
5868 yynewItem
->yystate
.yyisState
= yyisState
;
5872 /** Add a new semantic action that will execute the action for rule
5873 * YYRULE on the semantic values in YYRHS to the list of
5874 * alternative actions for YYSTATE. Assumes that YYRHS comes from
5875 * stack #YYK of *YYSTACKP. */
5877 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
5878 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5880 yySemanticOption
* yynewOption
=
5881 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
5882 YYASSERT (!yynewOption
->yyisState
);
5883 yynewOption
->yystate
= yyrhs
;
5884 yynewOption
->yyrule
= yyrule
;
5885 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
5887 yynewOption
->yyrawchar
= yychar
;
5888 yynewOption
->yyval
= yylval
;
5891 yynewOption
->yyrawchar
= YYEMPTY
;
5892 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
5893 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
5895 YY_RESERVE_GLRSTACK (yystackp
);
5900 /** Initialize YYSET to a singleton set containing an empty stack. */
5902 yyinitStateSet (yyGLRStateSet
* yyset
)
5905 yyset
->yycapacity
= 16;
5906 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
5907 if (! yyset
->yystates
)
5909 yyset
->yystates
[0] = YY_NULLPTR
;
5910 yyset
->yylookaheadNeeds
=
5911 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
5912 if (! yyset
->yylookaheadNeeds
)
5914 YYFREE (yyset
->yystates
);
5920 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
5922 YYFREE (yyset
->yystates
);
5923 YYFREE (yyset
->yylookaheadNeeds
);
5926 /** Initialize *YYSTACKP to a single empty stack, with total maximum
5927 * capacity for all stacks of YYSIZE. */
5929 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
5931 yystackp
->yyerrState
= 0;
5933 yystackp
->yyspaceLeft
= yysize
;
5935 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
5936 if (!yystackp
->yyitems
)
5938 yystackp
->yynextFree
= yystackp
->yyitems
;
5939 yystackp
->yysplitPoint
= YY_NULLPTR
;
5940 yystackp
->yylastDeleted
= YY_NULLPTR
;
5941 return yyinitStateSet (&yystackp
->yytops
);
5945 #if YYSTACKEXPANDABLE
5946 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
5947 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
5949 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
5950 stack from outside should be considered invalid after this call.
5951 We always expand when there are 1 or fewer items left AFTER an
5952 allocation, so that we can avoid having external pointers exist
5953 across an allocation. */
5955 yyexpandGLRStack (yyGLRStack
* yystackp
)
5957 yyGLRStackItem
* yynewItems
;
5958 yyGLRStackItem
* yyp0
, *yyp1
;
5961 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
5962 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
5963 yyMemoryExhausted (yystackp
);
5964 yynewSize
= 2*yysize
;
5965 if (YYMAXDEPTH
< yynewSize
)
5966 yynewSize
= YYMAXDEPTH
;
5967 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
5969 yyMemoryExhausted (yystackp
);
5970 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
5972 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
5975 if (*(yybool
*) yyp0
)
5977 yyGLRState
* yys0
= &yyp0
->yystate
;
5978 yyGLRState
* yys1
= &yyp1
->yystate
;
5979 if (yys0
->yypred
!= YY_NULLPTR
)
5981 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
5982 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
5983 yys1
->yysemantics
.yyfirstVal
=
5984 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
5988 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
5989 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
5990 if (yyv0
->yystate
!= YY_NULLPTR
)
5991 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
5992 if (yyv0
->yynext
!= YY_NULLPTR
)
5993 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
5996 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
5997 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
5998 yystackp
->yysplitPoint
, yystate
);
6000 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6001 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6002 yystackp
->yytops
.yystates
[yyn
] =
6003 YYRELOC (yystackp
->yyitems
, yynewItems
,
6004 yystackp
->yytops
.yystates
[yyn
], yystate
);
6005 YYFREE (yystackp
->yyitems
);
6006 yystackp
->yyitems
= yynewItems
;
6007 yystackp
->yynextFree
= yynewItems
+ yysize
;
6008 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6013 yyfreeGLRStack (yyGLRStack
* yystackp
)
6015 YYFREE (yystackp
->yyitems
);
6016 yyfreeStateSet (&yystackp
->yytops
);
6019 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6020 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6023 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6025 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6026 yystackp
->yysplitPoint
= yys
;
6029 /** Invalidate stack #YYK in *YYSTACKP. */
6031 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6033 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6034 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6035 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6038 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6039 only be done once after a deletion, and only when all other stacks have
6042 yyundeleteLastStack (yyGLRStack
* yystackp
)
6044 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6046 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6047 yystackp
->yytops
.yysize
= 1;
6048 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6049 yystackp
->yylastDeleted
= YY_NULLPTR
;
6053 yyremoveDeletes (yyGLRStack
* yystackp
)
6057 while (yyj
< yystackp
->yytops
.yysize
)
6059 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6063 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6065 yystackp
->yytops
.yysize
-= 1;
6069 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6070 /* In the current implementation, it's unnecessary to copy
6071 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6072 yyremoveDeletes returns, the parser immediately either enters
6073 deterministic operation or shifts a token. However, it doesn't
6074 hurt, and the code might evolve to need it. */
6075 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6076 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6079 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6080 (unsigned long int) yyi
, (unsigned long int) yyj
));
6088 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6089 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6090 * value *YYVALP and source location *YYLOCP. */
6092 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6096 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6098 yynewState
->yylrState
= yylrState
;
6099 yynewState
->yyposn
= yyposn
;
6100 yynewState
->yyresolved
= yytrue
;
6101 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6102 yynewState
->yysemantics
.yysval
= *yyvalp
;
6103 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6105 YY_RESERVE_GLRSTACK (yystackp
);
6108 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6109 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6110 * semantic value of YYRHS under the action for YYRULE. */
6112 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6113 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6115 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6116 YYASSERT (yynewState
->yyisState
);
6118 yynewState
->yylrState
= yylrState
;
6119 yynewState
->yyposn
= yyposn
;
6120 yynewState
->yyresolved
= yyfalse
;
6121 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6122 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6123 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6125 /* Invokes YY_RESERVE_GLRSTACK. */
6126 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6130 # define YY_REDUCE_PRINT(Args)
6132 # define YY_REDUCE_PRINT(Args) \
6135 yy_reduce_print Args; \
6138 /*----------------------------------------------------------------------.
6139 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6140 `----------------------------------------------------------------------*/
6143 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6144 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6146 int yynrhs
= yyrhsLength (yyrule
);
6148 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6149 (unsigned long int) yyk
, yyrule
- 1,
6150 (unsigned long int) yyrline
[yyrule
]);
6152 yyfillin (yyvsp
, 1, -yynrhs
);
6153 /* The symbols being reduced. */
6154 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6156 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6157 yy_symbol_print (stderr
,
6158 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6159 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6160 , P
, tokens
, index
);
6161 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6162 YYFPRINTF (stderr
, " (unresolved)");
6163 YYFPRINTF (stderr
, "\n");
6168 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6169 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6170 * semantic values. Assumes that all ambiguities in semantic values
6171 * have been previously resolved. Set *YYVALP to the resulting value,
6172 * and *YYLOCP to the computed location (if any). Return value is as
6173 * for userAction. */
6174 static inline YYRESULTTAG
6175 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6176 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6178 int yynrhs
= yyrhsLength (yyrule
);
6180 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6182 /* Standard special case: single stack. */
6183 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6184 YYASSERT (yyk
== 0);
6185 yystackp
->yynextFree
-= yynrhs
;
6186 yystackp
->yyspaceLeft
+= yynrhs
;
6187 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6188 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6189 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6190 yyvalp
, P
, tokens
, index
);
6196 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6197 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6198 = yystackp
->yytops
.yystates
[yyk
];
6199 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6204 yyupdateSplit (yystackp
, yys
);
6205 yystackp
->yytops
.yystates
[yyk
] = yys
;
6206 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6207 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6208 yystackp
, yyvalp
, P
, tokens
, index
);
6212 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6213 * and push back on the resulting nonterminal symbol. Perform the
6214 * semantic action associated with YYRULE and store its value with the
6215 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6216 * unambiguous. Otherwise, store the deferred semantic action with
6217 * the new state. If the new state would have an identical input
6218 * position, LR state, and predecessor to an existing state on the stack,
6219 * it is identified with that existing state, eliminating stack #YYK from
6220 * *YYSTACKP. In this case, the semantic value is
6221 * added to the options for the existing state's semantic value.
6223 static inline YYRESULTTAG
6224 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6225 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6227 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6229 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6233 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6234 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6236 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6237 (unsigned long int) yyk
, yyrule
- 1));
6241 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6242 yyglrShift (yystackp
, yyk
,
6243 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6244 yylhsNonterm (yyrule
)),
6251 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6252 yyStateNum yynewLRState
;
6254 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6260 yyupdateSplit (yystackp
, yys
);
6261 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6263 "Reduced stack %lu by rule #%d; action deferred. "
6264 "Now in state %d.\n",
6265 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6266 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6267 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6269 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6270 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6271 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6273 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6275 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6276 yymarkStackDeleted (yystackp
, yyk
);
6277 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6278 (unsigned long int) yyk
,
6279 (unsigned long int) yyi
));
6285 yystackp
->yytops
.yystates
[yyk
] = yys
;
6286 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6292 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6294 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6296 YYASSERT (yyk
== 0);
6297 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6299 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6301 yyGLRState
** yynewStates
;
6302 yybool
* yynewLookaheadNeeds
;
6304 yynewStates
= YY_NULLPTR
;
6306 if (yystackp
->yytops
.yycapacity
6307 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6308 yyMemoryExhausted (yystackp
);
6309 yystackp
->yytops
.yycapacity
*= 2;
6312 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6313 (yystackp
->yytops
.yycapacity
6314 * sizeof yynewStates
[0]));
6315 if (yynewStates
== YY_NULLPTR
)
6316 yyMemoryExhausted (yystackp
);
6317 yystackp
->yytops
.yystates
= yynewStates
;
6319 yynewLookaheadNeeds
=
6320 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6321 (yystackp
->yytops
.yycapacity
6322 * sizeof yynewLookaheadNeeds
[0]));
6323 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6324 yyMemoryExhausted (yystackp
);
6325 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6327 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6328 = yystackp
->yytops
.yystates
[yyk
];
6329 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6330 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6331 yystackp
->yytops
.yysize
+= 1;
6332 return yystackp
->yytops
.yysize
-1;
6335 /** True iff YYY0 and YYY1 represent identical options at the top level.
6336 * That is, they represent the same rule applied to RHS symbols
6337 * that produce the same terminal symbols. */
6339 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6341 if (yyy0
->yyrule
== yyy1
->yyrule
)
6343 yyGLRState
*yys0
, *yys1
;
6345 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6346 yyn
= yyrhsLength (yyy0
->yyrule
);
6348 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6349 if (yys0
->yyposn
!= yys1
->yyposn
)
6357 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6358 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6360 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6362 yyGLRState
*yys0
, *yys1
;
6364 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6365 yyn
= yyrhsLength (yyy0
->yyrule
);
6367 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6371 else if (yys0
->yyresolved
)
6373 yys1
->yyresolved
= yytrue
;
6374 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6376 else if (yys1
->yyresolved
)
6378 yys0
->yyresolved
= yytrue
;
6379 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6383 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6384 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6387 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6389 else if (*yyz0p
== YY_NULLPTR
)
6394 else if (*yyz0p
< yyz1
)
6396 yySemanticOption
* yyz
= *yyz0p
;
6398 yyz1
= yyz1
->yynext
;
6399 (*yyz0p
)->yynext
= yyz
;
6401 yyz0p
= &(*yyz0p
)->yynext
;
6403 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6408 /** Y0 and Y1 represent two possible actions to take in a given
6409 * parsing state; return 0 if no combination is possible,
6410 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6412 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6414 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6415 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6419 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6424 if (p0
== 0 || p1
== 0)
6433 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6434 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6437 /** Resolve the previous YYN states starting at and including state YYS
6438 * on *YYSTACKP. If result != yyok, some states may have been left
6439 * unresolved possibly with empty semantic option chains. Regardless
6440 * of whether result = yyok, each state has been left with consistent
6441 * data so that yydestroyGLRState can be invoked if necessary. */
6443 yyresolveStates (yyGLRState
* yys
, int yyn
,
6444 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6448 YYASSERT (yys
->yypred
);
6449 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6450 if (! yys
->yyresolved
)
6451 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6456 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6457 * user action, and return the semantic value and location in *YYVALP
6458 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6459 * have been destroyed (assuming the user action destroys all RHS
6460 * semantic values if invoked). */
6462 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6463 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6465 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6466 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6467 YYRESULTTAG yyflag
=
6468 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6472 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6473 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6477 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6479 int yychar_current
= yychar
;
6480 YYSTYPE yylval_current
= yylval
;
6481 yychar
= yyopt
->yyrawchar
;
6482 yylval
= yyopt
->yyval
;
6483 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6484 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6485 yystackp
, yyvalp
, P
, tokens
, index
);
6486 yychar
= yychar_current
;
6487 yylval
= yylval_current
;
6494 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6496 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6499 yyGLRState
* yystates
[1 + YYMAXRHS
];
6500 yyGLRState yyleftmost_state
;
6502 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6503 yystates
[yyi
] = yys
;
6504 if (yys
== YY_NULLPTR
)
6506 yyleftmost_state
.yyposn
= 0;
6507 yystates
[0] = &yyleftmost_state
;
6512 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6513 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6514 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6517 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6518 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6519 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6520 (unsigned long int) yyx
->yystate
->yyposn
);
6521 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6523 if (yystates
[yyi
]->yyresolved
)
6525 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6526 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6527 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6529 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6530 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6531 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6532 (unsigned long int) yystates
[yyi
]->yyposn
);
6535 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6541 yyreportAmbiguity (yySemanticOption
* yyx0
,
6542 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6548 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6549 YYFPRINTF (stderr
, "Option 1,\n");
6550 yyreportTree (yyx0
, 2);
6551 YYFPRINTF (stderr
, "\nOption 2,\n");
6552 yyreportTree (yyx1
, 2);
6553 YYFPRINTF (stderr
, "\n");
6556 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6560 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6561 * perform the indicated actions, and set the semantic value of YYS.
6562 * If result != yyok, the chain of semantic options in YYS has been
6563 * cleared instead or it has been left unmodified except that
6564 * redundant options may have been removed. Regardless of whether
6565 * result = yyok, YYS has been left with consistent data so that
6566 * yydestroyGLRState can be invoked if necessary. */
6568 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6570 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6571 yySemanticOption
* yybest
= yyoptionList
;
6572 yySemanticOption
** yypp
;
6573 yybool yymerge
= yyfalse
;
6577 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6579 yySemanticOption
* yyp
= *yypp
;
6581 if (yyidenticalOptions (yybest
, yyp
))
6583 yymergeOptionSets (yybest
, yyp
);
6584 *yypp
= yyp
->yynext
;
6588 switch (yypreference (yybest
, yyp
))
6591 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6603 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6604 but some compilers complain if the default case is
6608 yypp
= &yyp
->yynext
;
6614 yySemanticOption
* yyp
;
6615 int yyprec
= yydprec
[yybest
->yyrule
];
6616 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6618 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6620 if (yyprec
== yydprec
[yyp
->yyrule
])
6622 YYSTYPE yysval_other
;
6623 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6626 yydestruct ("Cleanup: discarding incompletely merged value for",
6627 yystos
[yys
->yylrState
],
6628 &yysval
, P
, tokens
, index
);
6631 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6636 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6640 yys
->yyresolved
= yytrue
;
6641 yys
->yysemantics
.yysval
= yysval
;
6644 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6649 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6651 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6656 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6657 yys
!= yystackp
->yysplitPoint
;
6658 yys
= yys
->yypred
, yyn
+= 1)
6660 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6661 , P
, tokens
, index
));
6667 yycompressStack (yyGLRStack
* yystackp
)
6669 yyGLRState
* yyp
, *yyq
, *yyr
;
6671 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6674 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6675 yyp
!= yystackp
->yysplitPoint
;
6676 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6679 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6680 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6681 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6682 yystackp
->yysplitPoint
= YY_NULLPTR
;
6683 yystackp
->yylastDeleted
= YY_NULLPTR
;
6685 while (yyr
!= YY_NULLPTR
)
6687 yystackp
->yynextFree
->yystate
= *yyr
;
6689 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6690 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6691 yystackp
->yynextFree
+= 1;
6692 yystackp
->yyspaceLeft
-= 1;
6697 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6698 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6700 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6702 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6703 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6704 (unsigned long int) yyk
, yystate
));
6706 YYASSERT (yystate
!= YYFINAL
);
6708 if (yyisDefaultedState (yystate
))
6711 yyRuleNum yyrule
= yydefaultAction (yystate
);
6714 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6715 (unsigned long int) yyk
));
6716 yymarkStackDeleted (yystackp
, yyk
);
6719 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6720 if (yyflag
== yyerr
)
6724 "(predicate failure or explicit user error).\n",
6725 (unsigned long int) yyk
));
6726 yymarkStackDeleted (yystackp
, yyk
);
6736 const short int* yyconflicts
;
6738 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6739 if (yychar
== YYEMPTY
)
6741 YYDPRINTF ((stderr
, "Reading a token: "));
6742 yychar
= yylex (&yylval
, P
, tokens
, index
);
6745 if (yychar
<= YYEOF
)
6747 yychar
= yytoken
= YYEOF
;
6748 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6752 yytoken
= YYTRANSLATE (yychar
);
6753 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6756 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6758 while (*yyconflicts
!= 0)
6761 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6762 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6763 (unsigned long int) yynewStack
,
6764 (unsigned long int) yyk
));
6765 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6767 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6769 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6770 yyposn
, P
, tokens
, index
));
6771 else if (yyflag
== yyerr
)
6773 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6774 (unsigned long int) yynewStack
));
6775 yymarkStackDeleted (yystackp
, yynewStack
);
6782 if (yyisShiftAction (yyaction
))
6784 else if (yyisErrorAction (yyaction
))
6786 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6787 (unsigned long int) yyk
));
6788 yymarkStackDeleted (yystackp
, yyk
);
6793 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6794 yyimmediate
[-yyaction
], P
, tokens
, index
);
6795 if (yyflag
== yyerr
)
6799 "(predicate failure or explicit user error).\n",
6800 (unsigned long int) yyk
));
6801 yymarkStackDeleted (yystackp
, yyk
);
6804 else if (yyflag
!= yyok
)
6813 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6815 if (yystackp
->yyerrState
!= 0)
6817 #if ! YYERROR_VERBOSE
6818 yyerror (P
, tokens
, index
, YY_("syntax error"));
6821 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6822 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6823 size_t yysize
= yysize0
;
6824 yybool yysize_overflow
= yyfalse
;
6825 char* yymsg
= YY_NULLPTR
;
6826 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6827 /* Internationalized format string. */
6828 const char *yyformat
= YY_NULLPTR
;
6829 /* Arguments of yyformat. */
6830 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6831 /* Number of reported tokens (one for the "unexpected", one per
6835 /* There are many possibilities here to consider:
6836 - If this state is a consistent state with a default action, then
6837 the only way this function was invoked is if the default action
6838 is an error action. In that case, don't check for expected
6839 tokens because there are none.
6840 - The only way there can be no lookahead present (in yychar) is if
6841 this state is a consistent state with a default action. Thus,
6842 detecting the absence of a lookahead is sufficient to determine
6843 that there is no unexpected or expected token to report. In that
6844 case, just report a simple "syntax error".
6845 - Don't assume there isn't a lookahead just because this state is a
6846 consistent state with a default action. There might have been a
6847 previous inconsistent state, consistent state with a non-default
6848 action, or user semantic action that manipulated yychar.
6849 - Of course, the expected token list depends on states to have
6850 correct lookahead information, and it depends on the parser not
6851 to perform extra reductions after fetching a lookahead from the
6852 scanner and before detecting a syntax error. Thus, state merging
6853 (from LALR or IELR) and default reductions corrupt the expected
6854 token list. However, the list is correct for canonical LR with
6855 one exception: it will still contain any token that will not be
6856 accepted due to an error action in a later state.
6858 if (yytoken
!= YYEMPTY
)
6860 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6861 yyarg
[yycount
++] = yytokenName (yytoken
);
6862 if (!yypact_value_is_default (yyn
))
6864 /* Start YYX at -YYN if negative to avoid negative indexes in
6865 YYCHECK. In other words, skip the first -YYN actions for this
6866 state because they are default actions. */
6867 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
6868 /* Stay within bounds of both yycheck and yytname. */
6869 int yychecklim
= YYLAST
- yyn
+ 1;
6870 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
6872 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
6873 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
6874 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
6876 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
6882 yyarg
[yycount
++] = yytokenName (yyx
);
6884 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
6885 yysize_overflow
|= yysz
< yysize
;
6894 #define YYCASE_(N, S) \
6898 YYCASE_(0, YY_("syntax error"));
6899 YYCASE_(1, YY_("syntax error, unexpected %s"));
6900 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
6901 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
6902 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
6903 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
6908 size_t yysz
= yysize
+ strlen (yyformat
);
6909 yysize_overflow
|= yysz
< yysize
;
6913 if (!yysize_overflow
)
6914 yymsg
= (char *) YYMALLOC (yysize
);
6920 while ((*yyp
= *yyformat
))
6922 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
6924 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
6933 yyerror (P
, tokens
, index
, yymsg
);
6938 yyerror (P
, tokens
, index
, YY_("syntax error"));
6939 yyMemoryExhausted (yystackp
);
6942 #endif /* YYERROR_VERBOSE */
6946 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
6947 yylval, and yylloc are the syntactic category, semantic value, and location
6948 of the lookahead. */
6950 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6955 if (yystackp
->yyerrState
== 3)
6956 /* We just shifted the error token and (perhaps) took some
6957 reductions. Skip tokens until we can proceed. */
6961 if (yychar
== YYEOF
)
6962 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6963 if (yychar
!= YYEMPTY
)
6965 yytoken
= YYTRANSLATE (yychar
);
6966 yydestruct ("Error: discarding",
6967 yytoken
, &yylval
, P
, tokens
, index
);
6969 YYDPRINTF ((stderr
, "Reading a token: "));
6970 yychar
= yylex (&yylval
, P
, tokens
, index
);
6971 if (yychar
<= YYEOF
)
6973 yychar
= yytoken
= YYEOF
;
6974 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6978 yytoken
= YYTRANSLATE (yychar
);
6979 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6981 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6982 if (yypact_value_is_default (yyj
))
6985 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
6987 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
6990 else if (! yytable_value_is_error (yytable
[yyj
]))
6994 /* Reduce to one stack. */
6995 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6996 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6998 if (yyk
>= yystackp
->yytops
.yysize
)
6999 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7000 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7001 yymarkStackDeleted (yystackp
, yyk
);
7002 yyremoveDeletes (yystackp
);
7003 yycompressStack (yystackp
);
7005 /* Now pop stack until we find a state that shifts the error token. */
7006 yystackp
->yyerrState
= 3;
7007 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7009 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7010 yyj
= yypact
[yys
->yylrState
];
7011 if (! yypact_value_is_default (yyj
))
7014 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7015 && yyisShiftAction (yytable
[yyj
]))
7017 /* Shift the error token. */
7018 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7019 &yylval
, &yyerrloc
);
7020 yyglrShift (yystackp
, 0, yytable
[yyj
],
7021 yys
->yyposn
, &yylval
);
7022 yys
= yystackp
->yytops
.yystates
[0];
7026 if (yys
->yypred
!= YY_NULLPTR
)
7027 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7028 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7029 yystackp
->yynextFree
-= 1;
7030 yystackp
->yyspaceLeft
+= 1;
7032 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7033 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7036 #define YYCHK1(YYE) \
7046 goto yyuser_error; \
7057 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7061 yyGLRStack
* const yystackp
= &yystack
;
7064 YYDPRINTF ((stderr
, "Starting parse\n"));
7067 yylval
= yyval_default
;
7069 /* User initialization code. */
7070 #line 106 "src/parser_proc_grammar.y" /* glr.c:2270 */
7074 #line 7075 "src/parser_proc.c" /* glr.c:2270 */
7076 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7077 goto yyexhaustedlab
;
7078 switch (YYSETJMP (yystack
.yyexception_buffer
))
7081 case 1: goto yyabortlab
;
7082 case 2: goto yyexhaustedlab
;
7083 default: goto yybuglab
;
7085 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7090 /* For efficiency, we have two loops, the first of which is
7091 specialized to deterministic operation (single stack, no
7092 potential ambiguity). */
7098 const short int* yyconflicts
;
7100 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7101 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7102 if (yystate
== YYFINAL
)
7104 if (yyisDefaultedState (yystate
))
7106 yyrule
= yydefaultAction (yystate
);
7110 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7113 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7118 if (yychar
== YYEMPTY
)
7120 YYDPRINTF ((stderr
, "Reading a token: "));
7121 yychar
= yylex (&yylval
, P
, tokens
, index
);
7124 if (yychar
<= YYEOF
)
7126 yychar
= yytoken
= YYEOF
;
7127 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7131 yytoken
= YYTRANSLATE (yychar
);
7132 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7135 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7136 if (*yyconflicts
!= 0)
7138 if (yyisShiftAction (yyaction
))
7140 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7143 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7144 if (0 < yystack
.yyerrState
)
7145 yystack
.yyerrState
-= 1;
7147 else if (yyisErrorAction (yyaction
))
7150 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7154 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7160 yySymbol yytoken_to_shift
;
7163 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7164 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7166 /* yyprocessOneStack returns one of three things:
7168 - An error flag. If the caller is yyprocessOneStack, it
7169 immediately returns as well. When the caller is finally
7170 yyparse, it jumps to an error label via YYCHK1.
7172 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7173 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7174 yyparse's following invocation of yyremoveDeletes will remove
7177 - yyok, when ready to shift a token.
7179 Except in the first case, yyparse will invoke yyremoveDeletes and
7180 then shift the next token onto all remaining stacks. This
7181 synchronization of the shift (that is, after all preceding
7182 reductions on all stacks) helps prevent double destructor calls
7183 on yylval in the event of memory exhaustion. */
7185 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7186 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7187 yyremoveDeletes (&yystack
);
7188 if (yystack
.yytops
.yysize
== 0)
7190 yyundeleteLastStack (&yystack
);
7191 if (yystack
.yytops
.yysize
== 0)
7192 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7193 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7194 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7196 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7200 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7201 a copy of yylval will already be on stack 0 in the event of a
7202 failure in the following loop. Thus, yychar is set to YYEMPTY
7203 before the loop to make sure the user destructor for yylval isn't
7205 yytoken_to_shift
= YYTRANSLATE (yychar
);
7208 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7211 const short int* yyconflicts
;
7212 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7213 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7215 /* Note that yyconflicts were handled by yyprocessOneStack. */
7216 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7217 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7218 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7220 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7221 (unsigned long int) yys
,
7222 yystack
.yytops
.yystates
[yys
]->yylrState
));
7225 if (yystack
.yytops
.yysize
== 1)
7227 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7228 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7229 yycompressStack (&yystack
);
7235 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7236 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7252 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7257 if (yychar
!= YYEMPTY
)
7258 yydestruct ("Cleanup: discarding lookahead",
7259 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7261 /* If the stack is well-formed, pop the stack until it is empty,
7262 destroying its entries as we go. But free the stack regardless
7263 of whether it is well-formed. */
7264 if (yystack
.yyitems
)
7266 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7269 size_t yysize
= yystack
.yytops
.yysize
;
7271 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7274 while (yystates
[yyk
])
7276 yyGLRState
*yys
= yystates
[yyk
];
7277 if (yys
->yypred
!= YY_NULLPTR
)
7278 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7279 yystates
[yyk
] = yys
->yypred
;
7280 yystack
.yynextFree
-= 1;
7281 yystack
.yyspaceLeft
+= 1;
7286 yyfreeGLRStack (&yystack
);
7292 /* DEBUGGING ONLY */
7295 yy_yypstack (yyGLRState
* yys
)
7299 yy_yypstack (yys
->yypred
);
7300 YYFPRINTF (stderr
, " -> ");
7302 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7303 (unsigned long int) yys
->yyposn
);
7307 yypstates (yyGLRState
* yyst
)
7309 if (yyst
== YY_NULLPTR
)
7310 YYFPRINTF (stderr
, "<null>");
7313 YYFPRINTF (stderr
, "\n");
7317 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7319 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7322 #define YYINDEX(YYX) \
7323 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7327 yypdumpstack (yyGLRStack
* yystackp
)
7329 yyGLRStackItem
* yyp
;
7331 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7333 YYFPRINTF (stderr
, "%3lu. ",
7334 (unsigned long int) (yyp
- yystackp
->yyitems
));
7335 if (*(yybool
*) yyp
)
7337 YYASSERT (yyp
->yystate
.yyisState
);
7338 YYASSERT (yyp
->yyoption
.yyisState
);
7339 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7340 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7341 (unsigned long int) yyp
->yystate
.yyposn
,
7342 (long int) YYINDEX (yyp
->yystate
.yypred
));
7343 if (! yyp
->yystate
.yyresolved
)
7344 YYFPRINTF (stderr
, ", firstVal: %ld",
7345 (long int) YYINDEX (yyp
->yystate
7346 .yysemantics
.yyfirstVal
));
7350 YYASSERT (!yyp
->yystate
.yyisState
);
7351 YYASSERT (!yyp
->yyoption
.yyisState
);
7352 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7353 yyp
->yyoption
.yyrule
- 1,
7354 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7355 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7357 YYFPRINTF (stderr
, "\n");
7359 YYFPRINTF (stderr
, "Tops:");
7360 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7361 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7362 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7363 YYFPRINTF (stderr
, "\n");
7371 /* Substitute the variable and function names. */
7372 #define yyparse psi_parser_proc_parse
7373 #define yylex psi_parser_proc_lex
7374 #define yyerror psi_parser_proc_error
7375 #define yylval psi_parser_proc_lval
7376 #define yychar psi_parser_proc_char
7377 #define yydebug psi_parser_proc_debug
7378 #define yynerrs psi_parser_proc_nerrs
7380 #line 1986 "src/parser_proc_grammar.y" /* glr.c:2584 */
7385 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7387 struct psi_token
*token
;
7389 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7390 if (P
->flags
& PSI_DEBUG
) {
7391 psi_token_dump(2, token
);
7394 *((struct psi_token
**)lvalp
) = token
;
7398 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7404 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7406 struct psi_token
*T
= NULL
;
7415 psi_plist_get(tokens
, last
, &T
);
7417 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7419 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);