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 128
283 /* YYNNTS -- Number of nonterminals. */
285 /* YYNRULES -- Number of rules. */
287 /* YYNRULES -- Number of states. */
288 #define YYNSTATES 880
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 382
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, 379, 379, 379, 379, 379, 379, 379, 379, 379,
351 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
352 380, 380, 380, 380, 381, 381, 381, 381, 381, 381,
353 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
354 381, 381, 381, 382, 382, 382, 382, 382, 382, 382,
355 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
356 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
357 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
358 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
359 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
360 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
361 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
362 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
363 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
364 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
365 382, 382, 382, 382, 382, 382, 382, 382, 382, 382,
366 382, 383, 383, 383, 383, 383, 383, 383, 383, 383,
367 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
368 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
369 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
370 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
371 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
372 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
373 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
374 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
375 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
376 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
377 383, 383, 383, 383, 383, 383, 383, 387, 388, 391,
378 392, 395, 396, 397, 398, 404, 412, 415, 418, 419,
379 420, 423, 426, 429, 432, 438, 444, 447, 453, 476,
380 480, 484, 489, 493, 497, 501, 508, 509, 513, 514,
381 518, 519, 520, 524, 525, 529, 530, 534, 535, 536,
382 540, 541, 545, 546, 547, 548, 549, 550, 551, 555,
383 560, 568, 571, 574, 575, 581, 586, 594, 597, 601,
384 605, 612, 616, 620, 624, 629, 639, 649, 654, 659,
385 663, 669, 678, 681, 685, 689, 695, 702, 708, 709,
386 710, 711, 715, 718, 749, 756, 757, 758, 759, 763,
387 766, 775, 781, 784, 790, 793, 799, 800, 808, 819,
388 828, 840, 841, 845, 855, 864, 876, 879, 882, 886,
389 890, 894, 899, 904, 912, 913, 914, 920, 923, 926,
390 932, 933, 937, 940, 943, 949, 952, 955, 963, 975,
391 978, 981, 984, 991, 994, 1004, 1007, 1010, 1013, 1014,
392 1015, 1019, 1022, 1025, 1036, 1039, 1045, 1046, 1050, 1051,
393 1055, 1059, 1065, 1066, 1072, 1075, 1081, 1084, 1087, 1093,
394 1097, 1098, 1102, 1103, 1107, 1108, 1115, 1116, 1120, 1127,
395 1138, 1145, 1156, 1163, 1174, 1185, 1199, 1200, 1212, 1215,
396 1218, 1221, 1228, 1231, 1237, 1246, 1258, 1266, 1269, 1279,
397 1292, 1297, 1305, 1315, 1325, 1328, 1332, 1338, 1352, 1369,
398 1372, 1378, 1385, 1395, 1402, 1405, 1411, 1416, 1424, 1428,
399 1432, 1436, 1440, 1444, 1451, 1455, 1459, 1463, 1467, 1471,
400 1477, 1481, 1488, 1491, 1502, 1506, 1510, 1516, 1529, 1542,
401 1555, 1558, 1565, 1568, 1571, 1574, 1580, 1584, 1591, 1594,
402 1597, 1607, 1610, 1616, 1617, 1623, 1626, 1632, 1633, 1643,
403 1646, 1653, 1658, 1663, 1673, 1676, 1682, 1685, 1691, 1698,
404 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1717,
405 1720, 1726, 1729, 1732, 1735, 1738, 1744, 1748, 1756, 1757,
406 1761, 1768, 1771, 1774, 1777, 1781, 1784, 1790, 1794, 1802,
407 1809, 1817, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832,
408 1833, 1834, 1838, 1841, 1847, 1850, 1856, 1857, 1861, 1864,
409 1870, 1873, 1879, 1886, 1890, 1897, 1900, 1903, 1909, 1916,
410 1919, 1922, 1929, 1934, 1942, 1943, 1944, 1945, 1946, 1947,
411 1948, 1949, 1953, 1956, 1962, 1965, 1971, 1978, 1979, 1983,
412 1990, 1993, 1999, 2007, 2010, 2016
416 #if YYDEBUG || YYERROR_VERBOSE || 1
417 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
418 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
419 static const char *const yytname
[] =
421 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
422 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
423 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
424 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
425 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
426 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
427 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
428 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
429 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
430 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
431 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
432 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
433 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
434 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
435 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
436 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
437 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
438 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
439 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
440 "BINARY", "UNARY", "$accept", "binary_op_token", "unary_op_token",
441 "name_token", "any_noeol_token", "any_nobrace_token", "file", "blocks",
442 "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
443 "cpp_message_token", "cpp_include_token", "cpp_header_token",
444 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
445 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
446 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
447 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
448 "cpp_macro_call_arg_list", "constant", "constant_type",
449 "constant_type_token", "impl_def_val", "impl_def_val_token",
450 "decl_typedef", "typedef", "typedef_anon", "typedef_decl",
451 "typedef_anon_decl", "qualified_decl_type", "decl_type",
452 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
453 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
454 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
455 "ignored_quoted_strings", "decl_ext_var_stmt", "decl_ext_var",
456 "decl_ext_var_list", "decl_vars", "ignored_decl", "ignored_decl_body",
457 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
458 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
459 "decl_args", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
460 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
461 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
462 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
463 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
464 "struct_name", "optional_name", "decl_layout", "align_and_size",
465 "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl",
466 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
467 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
468 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
469 "let_func", "let_func_token", "let_func_exps", "let_exps",
470 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
471 "return_exp", "call_decl_vars", "set_stmt", "set_exp", "set_func",
472 "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
473 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
478 #define YYPACT_NINF -693
479 #define YYTABLE_NINF -624
481 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
483 static const short int yypact
[] =
485 694, -693, -693, -693, -693, -693, 45, -693, -693, 2647,
486 1697, 1496, -693, -693, 436, 1370, 3502, 3502, 3502, 2454,
487 49, 270, 55, -693, 1470, 1923, 141, 694, -693, -693,
488 -693, -693, -693, 2873, -693, -693, -693, -693, 157, 146,
489 -693, -693, -693, 154, -693, -54, -693, -693, 54, 145,
490 155, -693, -693, -693, -693, 159, -693, 166, -693, -693,
491 -693, -693, -693, 832, -693, 160, 126, -693, -693, -693,
492 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
493 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
494 -693, -693, -693, -693, -693, -693, -693, 2986, -2, -693,
495 -693, -693, -693, 3502, 3502, 3502, 72, -693, 71, -693,
496 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
497 -693, -693, 460, -693, -693, -693, -693, 189, 958, 958,
498 20, -693, 460, 2534, 2647, 3502, 3502, 2149, 193, -693,
499 -693, -693, 195, 3502, 194, 194, 38, 38, 196, -693,
500 -693, 202, 207, -693, 160, 210, -693, -693, 215, 1923,
501 211, 213, -693, 227, -693, 2488, 1398, -54, 211, -693,
502 -693, 214, -693, 222, 3502, -693, 249, -693, 164, -693,
503 -693, -693, 239, -693, -693, 224, 229, 2680, 2680, 3502,
504 190, 3502, -693, -693, 160, -693, -693, -693, -693, -693,
505 -693, 2873, -693, -693, -693, -693, -693, -693, -693, 140,
506 958, -693, -693, -693, -693, -693, -693, -693, -693, -693,
507 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
508 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
509 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
510 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
511 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
512 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
513 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
514 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
515 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
516 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
517 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
518 -693, -693, -693, 958, -693, -693, -693, -693, -693, -693,
519 -693, -693, 191, 2534, -693, -693, -693, -693, 3099, 2534,
520 230, 3656, -693, 232, 83, -693, 88, -693, -693, -693,
521 -693, 238, 228, 228, 56, 56, 3212, 250, -693, 211,
522 1210, -693, 190, 259, 262, 263, -693, 2082, -693, 160,
523 214, -693, -693, -693, 289, -693, -693, 271, -693, 17,
524 2714, 2873, 100, -693, -693, 131, 256, 149, -693, 2873,
525 2195, 2873, 3502, 2873, -693, -693, 18, -693, -693, -693,
526 -693, -693, 2421, -693, 267, 3502, 269, -693, 3502, 273,
527 -693, -693, -693, -693, 745, 279, -693, 2977, 3502, -693,
528 -693, 2534, -693, -693, -693, -693, -693, -693, -693, -693,
529 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
530 2534, 2534, -693, 274, 1429, 2873, 2873, -693, -693, -693,
531 -693, 160, -693, 1630, -693, -693, -693, -693, -693, -693,
532 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
533 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
534 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
535 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
536 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
537 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
538 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
539 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
540 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
541 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
542 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
543 -693, -693, -693, 1084, -693, 173, 301, -693, -693, -693,
544 -693, -693, -693, 1517, -693, 2421, -693, 3632, -693, -693,
545 3502, -693, -693, -693, 26, 2986, 160, 222, 214, 1664,
546 214, 2342, 2421, 3502, -693, 268, 278, 3680, 272, 288,
547 -693, 293, 302, 287, 300, 163, -693, 303, 306, -693,
548 -693, -693, 2855, -693, 305, 2873, 3271, 160, 310, -693,
549 -693, -693, 311, 3656, 312, 299, 3583, -693, 314, 2149,
550 313, -693, -693, 2760, 1332, 3502, 194, 194, -693, -693,
551 3502, 75, -693, -693, -693, 315, -693, 3680, -693, -693,
552 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
553 316, 142, -693, 55, -693, 319, 1496, 320, 3090, -693,
554 -693, 2421, 2421, 327, -693, -693, 3212, -693, 17, 329,
555 -693, -693, 331, 3680, -693, 1743, -693, 2195, -693, 2873,
556 -693, 55, 2873, -693, 3502, 3384, -693, -693, -693, -693,
557 -693, -693, 332, 333, -693, -693, -693, -693, 2534, 2534,
558 335, -693, 28, 337, -693, 313, 228, 228, 339, -693,
559 528, 338, 528, 307, 2421, -693, 3608, -693, -693, 214,
560 214, 104, 265, 383, 343, 3680, -693, -693, -693, -693,
561 345, 2308, -693, 344, 2873, 167, -693, 346, 269, 347,
562 958, 3443, 3656, 3704, 356, 348, 350, 2873, 354, 337,
563 2873, 2873, -693, -693, 528, -693, 55, 1630, -693, 2421,
564 -693, -693, 343, -693, -693, -693, -693, 355, 2421, 55,
565 -693, 1856, 359, 358, -693, 297, -693, -693, -693, 363,
566 362, 378, 313, 370, -693, 374, -693, 27, -693, 3728,
567 55, 3365, 372, 376, -693, 373, -693, -693, 127, -693,
568 380, 379, -693, 2873, -693, 390, 384, 2421, 1743, 382,
569 -693, 2195, -693, -693, 385, 395, 401, 313, 396, 1969,
570 3203, 268, -693, -693, -693, 397, 2308, -693, -693, 398,
571 402, -693, 399, 403, 404, -693, -693, 1743, -693, 405,
572 -693, 528, 406, 2195, -693, 407, -693, -693, -693, -693
575 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
576 Performed when YYTABLE does not specify something else to do. Zero
577 means the default is an error. */
578 static const unsigned short int yydefact
[] =
580 277, 405, 402, 406, 400, 401, 403, 397, 398, 0,
581 396, 0, 282, 281, 0, 0, 0, 0, 510, 0,
582 0, 0, 623, 283, 0, 0, 0, 278, 279, 285,
583 284, 286, 290, 521, 388, 390, 389, 395, 409, 421,
584 394, 287, 289, 0, 288, 426, 444, 446, 447, 0,
585 0, 456, 292, 291, 293, 0, 294, 0, 404, 399,
586 33, 34, 611, 572, 24, 521, 527, 39, 38, 37,
587 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
588 580, 579, 577, 575, 576, 578, 574, 573, 581, 30,
589 609, 607, 606, 608, 605, 604, 457, 0, 523, 525,
590 41, 42, 396, 0, 0, 0, 0, 445, 432, 387,
591 296, 307, 304, 306, 308, 309, 320, 317, 318, 315,
592 321, 316, 0, 319, 310, 311, 312, 0, 337, 337,
593 0, 300, 0, 0, 0, 510, 510, 0, 0, 372,
594 377, 466, 376, 0, 516, 516, 391, 392, 393, 507,
595 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
596 0, 0, 625, 0, 624, 396, 0, 426, 0, 1,
597 280, 518, 467, 0, 522, 411, 415, 413, 417, 410,
598 407, 422, 409, 408, 430, 0, 0, 458, 458, 0,
599 0, 0, 522, 528, 521, 469, 524, 526, 391, 392,
600 393, 0, 431, 323, 324, 325, 327, 328, 326, 322,
601 337, 302, 297, 68, 43, 44, 45, 46, 47, 48,
602 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
603 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
604 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
605 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
606 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
607 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
608 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
609 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
610 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
611 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
612 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
613 157, 339, 305, 338, 298, 313, 314, 299, 322, 301,
614 347, 348, 0, 0, 22, 23, 20, 21, 0, 0,
615 350, 303, 349, 457, 391, 509, 392, 508, 373, 369,
616 378, 0, 0, 0, 0, 0, 0, 0, 295, 0,
617 0, 436, 0, 0, 0, 0, 437, 0, 471, 521,
618 518, 416, 412, 418, 419, 414, 423, 0, 424, 459,
619 0, 521, 0, 460, 462, 0, 486, 0, 484, 0,
620 623, 0, 0, 0, 617, 618, 0, 549, 552, 551,
621 553, 554, 0, 555, 0, 0, 433, 434, 0, 0,
622 330, 340, 506, 505, 0, 0, 501, 0, 0, 345,
623 342, 352, 2, 3, 4, 5, 6, 7, 8, 9,
624 10, 11, 13, 12, 14, 15, 16, 17, 18, 19,
625 0, 0, 370, 0, 0, 0, 0, 474, 473, 475,
626 472, 521, 468, 362, 438, 186, 161, 162, 163, 164,
627 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
628 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
629 185, 274, 275, 187, 188, 189, 190, 191, 192, 193,
630 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
631 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
632 214, 215, 216, 217, 218, 224, 222, 223, 221, 219,
633 220, 225, 226, 227, 228, 229, 230, 231, 232, 233,
634 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
635 244, 245, 246, 247, 248, 276, 249, 250, 251, 252,
636 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
637 263, 264, 265, 266, 267, 268, 272, 269, 270, 271,
638 273, 442, 443, 0, 440, 0, 0, 371, 425, 497,
639 495, 494, 496, 0, 519, 0, 498, 0, 488, 499,
640 0, 470, 420, 428, 0, 465, 0, 463, 518, 0,
641 518, 0, 0, 0, 483, 0, 0, 600, 0, 0,
642 599, 42, 0, 0, 0, 0, 620, 0, 0, 594,
643 529, 550, 0, 455, 0, 0, 331, 521, 0, 502,
644 504, 341, 0, 354, 0, 353, 0, 343, 0, 0,
645 512, 381, 374, 382, 0, 383, 516, 516, 380, 379,
646 0, 497, 366, 367, 368, 0, 364, 363, 439, 441,
647 530, 542, 543, 544, 545, 541, 546, 547, 548, 540,
648 0, 0, 534, 623, 539, 24, 0, 0, 0, 492,
649 520, 0, 0, 0, 429, 427, 464, 450, 0, 0,
650 461, 448, 0, 487, 485, 0, 556, 623, 598, 0,
651 538, 623, 0, 619, 0, 595, 592, 616, 454, 435,
652 332, 335, 0, 333, 503, 500, 346, 351, 0, 0,
653 0, 375, 0, 479, 476, 512, 0, 0, 0, 356,
654 0, 0, 0, 536, 0, 490, 0, 491, 452, 518,
655 518, 497, 0, 31, 30, 562, 567, 563, 565, 566,
656 41, 0, 601, 612, 0, 0, 621, 611, 597, 0,
657 337, 0, 355, 344, 0, 513, 0, 0, 0, 479,
658 385, 384, 453, 531, 0, 535, 623, 362, 489, 0,
659 451, 449, 0, 564, 586, 572, 587, 0, 0, 623,
660 568, 623, 0, 0, 622, 0, 329, 334, 336, 0,
661 0, 0, 512, 480, 477, 0, 532, 0, 537, 493,
662 623, 0, 582, 0, 614, 613, 602, 557, 0, 517,
663 0, 0, 481, 0, 478, 0, 0, 0, 0, 0,
664 603, 623, 610, 593, 0, 0, 0, 512, 0, 588,
665 0, 498, 584, 560, 558, 583, 0, 571, 615, 0,
666 0, 482, 0, 0, 589, 590, 569, 0, 559, 0,
667 514, 0, 0, 623, 585, 0, 533, 570, 591, 515
670 /* YYPGOTO[NTERM-NUM]. */
671 static const short int yypgoto
[] =
673 -693, -323, -129, -7, 108, -693, -693, -693, 415, -693,
674 -693, -693, -693, -693, -693, -693, -693, -693, -693, 322,
675 -693, -693, -693, -126, -693, -301, -693, -693, -693, -693,
676 -693, -341, -693, -693, 282, -203, 22, -189, -156, -6,
677 -693, -693, -693, 423, -693, -693, 285, -693, -693, -693,
678 -693, 304, -693, -693, -693, -693, -504, -693, -135, -693,
679 -119, 444, 47, 3, 40, -693, -693, 281, -463, 5,
680 -33, -693, -693, 105, -346, -693, -305, -693, 7, -693,
681 -138, -342, -693, -121, -693, 52, -693, -428, -418, 80,
682 -692, -124, -351, -51, -3, -693, 394, -693, 473, -693,
683 -243, -639, -682, -693, 128, -387, -693, -366, -666, 120,
684 -232, -693, -693, -660, -693, -693, -693, -693, -693, -693,
685 -693, -693, -693, -669, -395, -376, -693, -693, -693, -693,
686 -693, -693, -193, -21, -664
689 /* YYDEFGOTO[NTERM-NUM]. */
690 static const short int yydefgoto
[] =
692 -1, 692, 595, 171, 331, 581, 26, 27, 28, 29,
693 30, 127, 128, 129, 130, 337, 131, 132, 133, 210,
694 211, 722, 723, 332, 333, 351, 644, 645, 31, 155,
695 156, 665, 666, 32, 138, 650, 651, 652, 33, 34,
696 35, 36, 37, 38, 39, 40, 180, 382, 385, 183,
697 41, 186, 604, 42, 43, 202, 416, 44, 582, 583,
698 584, 45, 46, 47, 141, 49, 50, 392, 393, 51,
699 596, 52, 53, 458, 459, 654, 778, 813, 143, 397,
700 398, 617, 598, 599, 638, 426, 55, 144, 145, 149,
701 733, 362, 378, 173, 418, 98, 99, 56, 57, 681,
702 682, 618, 683, 684, 406, 407, 408, 852, 853, 854,
703 757, 758, 759, 100, 839, 855, 797, 863, 864, 409,
704 628, 769, 410, 619, 620, 101, 802, 825, 411, 412,
705 413, 625, 626, 622, 164
708 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
709 positive, shift that token. If negative, reduce the rule whose
710 number is the opposite. If YYTABLE_NINF, syntax error. */
711 static const short int yytable
[] =
713 172, 163, 96, 334, 349, 109, 97, 54, 629, 146,
714 147, 148, 352, 157, 191, 108, 455, 456, 140, 631,
715 142, 363, 364, 365, 621, 371, 656, 621, 451, 601,
716 174, 391, 391, 376, 54, 597, 657, 139, 762, 756,
717 48, 761, 427, 779, 743, 760, 335, 66, 430, 65,
718 48, 710, 694, 775, 58, 630, 59, 107, 783, 695,
719 786, 48, 192, 776, 48, 48, 66, 48, 160, -516,
720 632, 185, 168, 361, -516, 158, 1, 2, 3, 4,
721 5, 6, 7, 8, 420, -447, -466, 457, -466, 154,
722 195, 835, 454, 796, 102, 800, 198, 199, 200, 162,
723 157, 760, 816, -456, 451, 201, -365, 451, -365, -365,
724 399, 400, 401, 402, 403, 209, 404, 405, -391, -511,
725 832, 667, 196, -392, -511, 338, 350, 353, 354, 356,
726 643, 97, 824, 608, 609, -497, 360, -497, -497, 336,
727 140, 169, 142, 415, 62, 842, 700, 743, 700, 646,
728 647, 366, 181, 4, 5, 861, 103, 104, 105, 358,
729 822, 175, 176, 177, 610, 611, 178, 380, 417, 140,
730 383, 142, 858, 384, 856, 741, 742, 187, 760, 179,
731 865, 836, 396, 613, 414, 184, 614, 188, 139, 876,
732 868, 192, 394, 394, 713, 189, 760, 714, 631, 48,
733 804, 635, 190, 856, 878, 48, 369, 760, 765, 66,
734 670, 768, 107, 193, 349, 355, 357, 422, 423, 212,
735 349, 656, 352, 424, 359, -359, 656, -456, 352, 361,
736 -360, 657, -511, 367, 464, 425, 657, 90, 91, 92,
737 93, 94, 95, 175, 176, 177, 368, 370, 178, 372,
738 373, 688, 377, 689, 379, 381, 387, 697, 419, 701,
739 388, 179, 431, 452, 454, 399, 400, 401, 402, 403,
740 703, 404, 405, 453, 1, 2, 3, 4, 5, 6,
741 7, 8, 399, 400, 401, 402, 403, 9, 404, 405,
742 463, 586, 102, 587, 588, 602, 612, 603, 653, 11,
743 633, 640, 349, 635, 671, 636, 648, 672, 705, 706,
744 352, 673, 707, 674, 675, 676, 677, 678, 679, 708,
745 451, 349, 349, 451, 451, 709, 710, 711, 600, 352,
746 352, 621, 712, 728, 680, 715, 350, 716, 718, 730,
747 607, 429, 350, 725, 726, 727, 739, 787, 732, 746,
748 747, 740, -24, 744, 103, 104, 105, 106, 172, 462,
749 748, 22, 749, 755, 750, 770, 615, 771, 623, 774,
750 627, 777, 782, 784, 792, 798, 192, 799, 801, -596,
751 805, 809, 811, 810, 157, 814, 605, 820, 174, 827,
752 780, 781, 826, 159, 828, 624, 829, 830, 790, 791,
753 794, 795, 788, 831, 833, 834, 838, 841, 634, 840,
754 660, 380, 845, 846, 848, 857, 849, 709, 637, 755,
755 859, 642, 658, 659, 350, 621, 860, 772, 773, 862,
756 875, 867, 869, 843, 871, 870, 872, 687, 873, 877,
757 879, 421, 170, 350, 350, 667, 818, 819, 374, 451,
758 451, 735, 844, 391, 339, 391, 821, 140, 192, 142,
759 731, 655, 182, 60, 669, 621, 110, 386, 167, 395,
760 460, 375, 61, 621, 815, 704, 639, 62, 63, 203,
761 204, 205, 64, 80, 81, 82, 83, 84, 85, 86,
762 87, 88, 197, 653, 161, 850, 755, 621, 653, 785,
763 585, 874, 111, 112, 113, 114, 115, 116, 117, 118,
764 119, 120, 121, 122, 755, 123, 124, 125, 126, 616,
765 793, 766, 0, 0, 0, 755, 67, 68, 69, 70,
766 71, 671, 736, 737, 672, 0, 0, 0, 673, 0,
767 674, 675, 676, 677, 678, 679, 0, 0, 72, 0,
768 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
769 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
770 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
771 0, 206, 0, 207, 208, 0, 724, 0, 0, 0,
772 0, 0, 0, 693, 0, 0, 0, 0, 195, 349,
773 349, 0, 719, 696, 0, 0, 396, 352, 352, 0,
774 0, 0, 0, 0, 394, 0, 394, 0, 0, 0,
775 172, 0, 0, 0, 0, 0, 0, 0, 0, 721,
776 0, 0, 0, 0, 192, 0, 0, 0, 0, 0,
777 0, 0, 0, 0, 806, 0, 0, 0, 360, 0,
778 174, 0, 140, 738, 142, 0, 655, 140, 0, 142,
779 0, 655, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 763, 0, 0, 417,
781 157, 0, 417, 0, 0, 0, 0, 0, 0, 462,
782 764, 0, 0, 0, 0, 605, 0, 0, 1, 2,
783 3, 4, 5, 6, 7, 8, 0, 624, 0, 0,
784 0, 9, 0, 0, 0, 0, 10, 0, 0, 0,
785 0, 350, 350, 11, 12, 13, 0, 0, 0, 0,
786 0, 803, 0, 0, 0, 14, 0, 0, 0, 0,
787 0, 0, 0, 0, 812, 0, 0, 658, 659, 1,
788 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
789 0, 0, 0, 0, 808, 817, 0, 102, 0, 0,
790 0, 422, 423, 0, 0, 0, 0, 15, 16, 17,
791 18, 19, 20, 21, 0, 22, 0, 0, 0, 425,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 847, 0, 0, 0, 0, 851, 0, 0, 0, 0,
794 23, 0, 0, 0, 0, 24, 0, 25, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
796 104, 105, -572, 0, 851, -572, -572, -572, -572, -572,
797 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
798 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
799 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
800 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
801 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
802 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
803 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
804 -572, -572, 0, -572, 0, -572, -572, -572, -572, -572,
805 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
806 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
807 -572, -572, -572, -572, -572, -572, -572, -572, -572, 0,
808 -572, -572, 0, -572, -572, -572, -572, -572, 213, 0,
809 0, 214, 215, 216, 217, 218, 219, 220, 221, 222,
810 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
811 233, 234, 235, 236, 237, 238, 239, 240, 0, 241,
812 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
813 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
814 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
815 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
816 282, 283, 284, 285, 286, 287, 288, 289, 0, 290,
817 0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
818 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
819 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
820 320, 321, 322, 323, 324, 0, 0, 325, 0, 326,
821 327, 328, 329, 330, 465, 0, 0, 466, 467, 468,
822 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
823 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
824 489, 490, 491, 492, 0, 493, 494, 495, 496, 497,
825 370, 668, 498, 499, 500, 501, 502, 503, 504, 505,
826 506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
827 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
828 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
829 536, 537, 538, 539, 0, 540, 0, 541, 542, 543,
830 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
831 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
832 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
833 574, 0, 0, 575, 0, 576, 577, 578, 579, 580,
834 465, 0, 0, 466, 467, 468, 469, 470, 471, 472,
835 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
836 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
837 0, 493, 494, 495, 496, 497, 370, 0, 498, 499,
838 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
839 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
840 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
841 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
842 0, 540, 0, 541, 542, 543, 544, 545, 546, 547,
843 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
844 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
845 568, 569, 570, 571, 572, 573, 574, 0, 0, 575,
846 0, 576, 577, 578, 579, 580, 1, 2, 3, 4,
847 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
848 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
849 0, 11, 0, 0, 0, 0, 0, 0, 0, 734,
850 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
851 7, 8, 0, 0, 0, 0, 0, 134, 0, 0,
852 0, 0, 102, 0, 0, 0, 0, 0, 0, 11,
853 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
854 0, 0, 0, 0, 0, 9, 135, 136, 18, 106,
855 102, 0, 0, 0, 0, 0, 0, 11, 0, 0,
856 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
857 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
858 0, 102, 0, 649, 135, 136, 18, 106, 11, 0,
859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
861 7, 8, 135, 136, 18, 106, 0, 9, 0, 0,
862 0, 137, 165, 0, 0, 0, 0, 0, 0, 11,
863 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
864 0, 0, 0, 135, 136, 18, 106, 0, 102, 137,
865 60, 1, 2, 3, 4, 5, 6, 7, 8, 61,
866 0, 0, 0, 0, 62, 63, 589, 0, 0, 685,
867 590, 0, 591, 0, 592, 342, 11, 0, 0, 593,
868 649, 0, 0, 166, 103, 104, 105, 106, 0, 0,
869 0, 0, 0, 0, 344, 345, 66, 0, 0, 0,
870 0, 0, 0, 0, 0, 0, 0, 346, 347, 0,
871 103, 104, 105, 67, 68, 69, 70, 71, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
873 0, 103, 104, 105, 686, 72, 0, 73, 74, 75,
874 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
875 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
876 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
877 0, 0, 61, 0, 0, 0, 0, 62, 63, 661,
878 662, 663, 64, 590, 0, 591, 664, 592, 342, 0,
879 0, 0, 593, 0, 0, 0, 0, 0, 1, 2,
880 3, 4, 5, 6, 7, 8, 0, 344, 345, 66,
881 0, 698, 0, 0, 0, 0, 102, 0, 0, 0,
882 346, 347, 0, 11, 0, 0, 67, 68, 69, 70,
883 71, 1, 2, 3, 4, 5, 6, 7, 8, 0,
884 0, 0, 0, 0, 9, 0, 0, 0, 72, 102,
885 73, 74, 75, 76, 77, 78, 11, 79, 699, 0,
886 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
887 90, 91, 92, 93, 94, 95, 60, 0, 103, 104,
888 105, 390, 0, 0, 0, 61, 0, 0, 0, 0,
889 62, 63, 751, 0, 0, 64, 590, 0, 591, 0,
890 592, 342, 0, 0, 0, 593, 0, 0, 0, 0,
891 0, 103, 104, 105, 106, 0, 0, 162, 0, 0,
892 344, 345, 66, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 346, 347, 0, 0, 0, 0, 67,
894 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 72, 752, 753, 74, 75, 76, 77, 78, 0,
897 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
898 87, 88, 754, 90, 91, 92, 93, 94, 95, 60,
899 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
900 0, 0, 0, 62, 63, 589, 0, 0, 64, 590,
901 0, 591, 0, 592, 342, 0, 0, 0, 593, 0,
902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 162, 0, 0, 344, 345, 66, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 346, 347, 0, 0,
905 823, 0, 67, 68, 69, 70, 71, 1, 2, 3,
906 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
907 9, 0, 0, 0, 72, 102, 73, 74, 75, 76,
908 77, 78, 11, 79, 0, 0, 80, 81, 82, 83,
909 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
910 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
911 0, 61, 0, 0, 0, 0, 62, 63, 589, 0,
912 0, 64, 590, -623, 591, 0, 592, 342, 0, 0,
913 0, 593, 0, 0, 0, 0, 0, 103, 104, 105,
914 106, 0, 0, 162, 0, 0, 344, 345, 66, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 346,
916 347, 0, 0, 0, 0, 67, 68, 69, 70, 71,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
919 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
920 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
921 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
922 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
923 63, 589, 0, 0, 64, 590, 0, 591, 0, 592,
924 342, 0, 0, 0, 593, 0, 0, 0, 0, 0,
925 0, 594, 0, 0, 0, 0, 0, 0, 0, 344,
926 345, 66, 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 346, 347, 0, 0, 0, 0, 67, 68,
928 69, 70, 71, 1, 2, 3, 4, 5, 6, 7,
929 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
930 72, 102, 73, 74, 75, 76, 77, 78, 11, 79,
931 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
932 88, 89, 90, 91, 92, 93, 94, 95, 60, 0,
933 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
934 0, 0, 62, 63, 589, 0, 0, 64, 590, 0,
935 591, 0, 592, 342, 0, 0, 0, 593, 0, 0,
936 0, 0, 0, 135, 136, 18, 106, 0, 0, 162,
937 0, 0, 344, 345, 66, 0, 0, 0, 0, 0,
938 0, 0, 0, 0, 0, 346, 347, 0, 0, 0,
939 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
942 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
943 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
944 95, 60, 0, 0, 0, 0, 0, 0, 0, 0,
945 61, 0, 0, 0, 0, 62, 63, 751, 0, 0,
946 64, 590, 0, 591, 0, 592, 342, 0, 0, 0,
947 593, 0, 0, 0, 0, 0, 1, 2, 3, 4,
948 5, 6, 7, 8, 0, 344, 345, 66, 0, 698,
949 0, 0, 0, 0, 102, 0, 0, 0, 346, 347,
950 0, 11, 0, 0, 67, 68, 69, 70, 71, 0,
951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 0, 72, 752, 753, 74,
953 75, 76, 77, 78, 0, 79, 702, 0, 80, 81,
954 82, 83, 84, 85, 86, 87, 88, 754, 90, 91,
955 92, 93, 94, 95, 60, 0, 103, 104, 105, 390,
956 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
957 589, 0, 0, 64, 590, 0, 591, 0, 592, 342,
958 0, 0, 0, 593, 0, 0, 0, 150, 1, 2,
959 151, 4, 5, 6, 152, 8, 153, 0, 344, 345,
960 66, 154, 0, 0, 0, 0, 102, 0, 0, 0,
961 0, 346, 347, 0, 0, 0, 0, 67, 68, 69,
962 70, 71, 1, 2, 3, 4, 5, 6, 7, 8,
963 0, 0, 0, 0, 0, 9, 0, 0, 0, 72,
964 102, 73, 74, 75, 76, 77, 78, 11, 79, 0,
965 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
966 89, 90, 91, 92, 93, 94, 95, 60, 103, 104,
967 105, 0, 0, 0, 0, 0, 61, 0, 0, 0,
968 0, 62, 63, 0, 0, 0, 64, 0, 0, 340,
969 0, 341, 342, 0, 0, 0, 343, 0, 0, 0,
970 0, 0, 103, 104, 105, 106, 0, 0, 0, 0,
971 0, 344, 345, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, 0, 0, 346, 347, 0, 0, 0, 0,
973 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
974 0, 0, 348, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
976 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
977 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
978 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
979 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
980 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,
981 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
982 7, 8, 0, 0, 0, 0, 66, 389, 0, 0,
983 0, 0, 102, 0, 0, 0, 0, 0, 0, 11,
984 0, 0, 0, 67, 68, 69, 70, 71, 1, 2,
985 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
986 0, 606, 0, 0, 0, 72, 102, 73, 74, 75,
987 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
988 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
989 93, 94, 95, 60, 103, 104, 105, 390, 0, 0,
990 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
991 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, -521, 0, 0, 0, 0, 0, 103, 104,
993 105, 0, 0, 0, 0, 0, 0, 0, 0, 66,
994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
996 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
998 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
999 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1000 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
1001 0, 0, 0, 0, 0, 61, 717, 0, 0, 0,
1002 62, 63, 0, 0, 0, 64, 0, 432, 433, 434,
1003 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1004 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
1005 691, 0, 66, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1007 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1010 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1011 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
1012 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
1013 0, 0, 0, 62, 63, 0, 0, 0, 64, 0,
1014 641, 0, 0, 0, 0, 0, 0, 0, 194, 432,
1015 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1016 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
1017 0, 0, 450, 0, 0, 0, 0, 0, 0, 0,
1018 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
1021 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
1022 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1023 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
1024 0, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1025 0, 64, 0, 745, 0, 0, 0, 0, 0, 0,
1026 0, 428, 432, 433, 434, 435, 436, 437, 438, 439,
1027 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1028 0, 0, 0, 0, 0, 691, 0, 0, 0, 0,
1029 0, 0, 0, 0, 0, 67, 68, 69, 70, 71,
1030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1032 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
1033 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1034 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
1035 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
1036 63, 0, 0, 0, 64, 0, 866, 0, 0, 0,
1037 0, 0, 0, 0, 461, 432, 433, 434, 435, 436,
1038 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1039 447, 448, 449, 0, 0, 0, 0, 0, 691, 0,
1040 0, 0, 0, 0, 60, 0, 0, 0, 67, 68,
1041 69, 70, 71, 61, 0, 0, 0, 0, 62, 63,
1042 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
1043 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1044 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1045 88, 89, 90, 91, 92, 93, 94, 95, 0, 0,
1046 0, 0, 0, 0, 0, 720, 0, 67, 68, 69,
1047 70, 71, 0, 0, 0, 0, 0, 0, 0, 0,
1048 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
1049 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1050 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1051 89, 90, 91, 92, 93, 94, 95, 60, 0, 0,
1052 0, 0, 0, 0, 0, 0, 61, 0, 0, 837,
1053 0, 767, 63, 0, 0, 0, 64, 432, 433, 434,
1054 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1055 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
1056 691, 0, 0, 66, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
1058 67, 68, 69, 70, 71, 61, 0, 0, 0, 0,
1059 62, 63, 0, 0, 0, 64, 0, 0, 0, 0,
1060 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1061 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1062 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1063 0, 0, 0, 0, 0, 60, 0, 807, 0, 67,
1064 68, 69, 70, 71, 61, 0, 0, 0, 0, 62,
1065 63, 0, 0, 0, 64, 0, 0, 0, 0, 0,
1066 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1067 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1068 87, 88, 89, 90, 91, 92, 93, 94, 95, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, 67, 68,
1070 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1072 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1073 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1074 88, 89, 90, 91, 92, 93, 94, 95, 729, 0,
1075 0, 0, 0, 0, 0, 432, 433, 434, 435, 436,
1076 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1077 447, 448, 449, 789, 0, 0, 0, 0, 450, 0,
1078 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1079 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
1080 0, 690, 0, 691, 432, 433, 434, 435, 436, 437,
1081 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1082 448, 449, 0, 0, 0, 0, 0, 691, 432, 433,
1083 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1084 444, 445, 446, 447, 448, 449, 0, 0, 0, 0,
1085 0, 450, 432, 433, 434, 435, 436, 437, 438, 439,
1086 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1087 0, 0, 0, 0, 0, 691, 432, 433, 434, 435,
1088 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1089 446, 447, 448, 449, 0, 0, 0, 0, 0, 450,
1090 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1091 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
1095 static const short int yycheck
[] =
1097 33, 22, 9, 129, 133, 11, 9, 0, 403, 16,
1098 17, 18, 133, 19, 65, 10, 362, 363, 15, 406,
1099 15, 145, 146, 147, 400, 160, 454, 403, 351, 380,
1100 33, 187, 188, 168, 27, 377, 454, 15, 707, 705,
1101 0, 705, 343, 735, 683, 705, 26, 49, 349, 32,
1102 10, 24, 26, 25, 9, 37, 11, 10, 740, 33,
1103 742, 21, 65, 35, 24, 25, 49, 27, 21, 31,
1104 412, 125, 25, 35, 36, 26, 4, 5, 6, 7,
1105 8, 9, 10, 11, 210, 31, 32, 31, 34, 17,
1106 97, 64, 36, 753, 22, 761, 103, 104, 105, 44,
1107 106, 761, 784, 32, 427, 34, 31, 430, 33, 34,
1108 92, 93, 94, 95, 96, 122, 98, 99, 35, 36,
1109 812, 463, 124, 35, 36, 132, 133, 134, 135, 136,
1110 431, 134, 801, 33, 34, 31, 143, 33, 34, 119,
1111 137, 0, 137, 194, 17, 18, 609, 786, 611, 450,
1112 451, 154, 6, 7, 8, 847, 84, 85, 86, 137,
1113 799, 4, 5, 6, 33, 34, 9, 174, 201, 166,
1114 6, 166, 841, 9, 838, 33, 34, 32, 838, 22,
1115 849, 820, 189, 34, 191, 31, 37, 32, 166, 871,
1116 856, 194, 187, 188, 31, 36, 856, 34, 585, 159,
1117 33, 34, 36, 867, 873, 165, 159, 867, 712, 49,
1118 37, 715, 165, 87, 343, 135, 136, 26, 27, 30,
1119 349, 649, 343, 32, 31, 23, 654, 32, 349, 35,
1120 23, 649, 36, 23, 369, 44, 654, 110, 111, 112,
1121 113, 114, 115, 4, 5, 6, 31, 36, 9, 36,
1122 23, 593, 38, 595, 32, 6, 32, 608, 118, 610,
1123 31, 22, 32, 31, 36, 92, 93, 94, 95, 96,
1124 612, 98, 99, 35, 4, 5, 6, 7, 8, 9,
1125 10, 11, 92, 93, 94, 95, 96, 17, 98, 99,
1126 40, 32, 22, 31, 31, 6, 40, 26, 454, 29,
1127 33, 22, 431, 34, 3, 32, 32, 6, 40, 31,
1128 431, 10, 40, 12, 13, 14, 15, 16, 17, 31,
1129 643, 450, 451, 646, 647, 32, 24, 40, 379, 450,
1130 451, 707, 32, 34, 33, 32, 343, 31, 33, 25,
1131 391, 348, 349, 33, 33, 33, 31, 40, 35, 691,
1132 692, 35, 33, 33, 84, 85, 86, 87, 391, 366,
1133 33, 91, 33, 705, 33, 33, 399, 34, 401, 34,
1134 403, 34, 33, 35, 109, 32, 379, 32, 34, 33,
1135 33, 25, 32, 35, 390, 31, 389, 32, 391, 31,
1136 736, 737, 33, 123, 97, 402, 33, 35, 749, 750,
1137 17, 18, 744, 25, 34, 31, 34, 34, 415, 33,
1138 461, 418, 32, 34, 24, 33, 32, 32, 424, 761,
1139 25, 428, 455, 456, 431, 801, 25, 728, 729, 33,
1140 25, 34, 34, 828, 35, 33, 33, 593, 34, 33,
1141 33, 333, 27, 450, 451, 787, 787, 789, 166, 772,
1142 773, 654, 828, 609, 132, 611, 798, 454, 461, 454,
1143 649, 454, 39, 3, 583, 841, 30, 182, 24, 188,
1144 365, 167, 12, 849, 779, 613, 424, 17, 18, 19,
1145 20, 21, 22, 100, 101, 102, 103, 104, 105, 106,
1146 107, 108, 98, 649, 21, 837, 838, 873, 654, 742,
1147 372, 867, 66, 67, 68, 69, 70, 71, 72, 73,
1148 74, 75, 76, 77, 856, 79, 80, 81, 82, 399,
1149 752, 714, -1, -1, -1, 867, 66, 67, 68, 69,
1150 70, 3, 656, 657, 6, -1, -1, -1, 10, -1,
1151 12, 13, 14, 15, 16, 17, -1, -1, 88, -1,
1152 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1153 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1154 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1155 -1, 121, -1, 123, 124, -1, 637, -1, -1, -1,
1156 -1, -1, -1, 600, -1, -1, -1, -1, 605, 728,
1157 729, -1, 635, 606, -1, -1, 613, 728, 729, -1,
1158 -1, -1, -1, -1, 609, -1, 611, -1, -1, -1,
1159 653, -1, -1, -1, -1, -1, -1, -1, -1, 636,
1160 -1, -1, -1, -1, 637, -1, -1, -1, -1, -1,
1161 -1, -1, -1, -1, 770, -1, -1, -1, 655, -1,
1162 653, -1, 649, 660, 649, -1, 649, 654, -1, 654,
1163 -1, 654, -1, -1, -1, -1, -1, -1, -1, -1,
1164 -1, -1, -1, -1, -1, -1, 709, -1, -1, 712,
1165 686, -1, 715, -1, -1, -1, -1, -1, -1, 696,
1166 711, -1, -1, -1, -1, 698, -1, -1, 4, 5,
1167 6, 7, 8, 9, 10, 11, -1, 714, -1, -1,
1168 -1, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1169 -1, 728, 729, 29, 30, 31, -1, -1, -1, -1,
1170 -1, 764, -1, -1, -1, 41, -1, -1, -1, -1,
1171 -1, -1, -1, -1, 777, -1, -1, 780, 781, 4,
1172 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1173 -1, -1, -1, -1, 771, 786, -1, 22, -1, -1,
1174 -1, 26, 27, -1, -1, -1, -1, 83, 84, 85,
1175 86, 87, 88, 89, -1, 91, -1, -1, -1, 44,
1176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1177 833, -1, -1, -1, -1, 838, -1, -1, -1, -1,
1178 116, -1, -1, -1, -1, 121, -1, 123, -1, -1,
1179 -1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
1180 85, 86, 0, -1, 867, 3, 4, 5, 6, 7,
1181 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1182 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1183 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1184 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1185 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1186 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1187 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1188 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1189 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1190 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1191 108, 109, 110, 111, 112, 113, 114, 115, 116, -1,
1192 118, 119, -1, 121, 122, 123, 124, 125, 0, -1,
1193 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1194 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1195 22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
1196 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1197 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1198 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1199 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1200 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1201 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1202 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1203 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1204 112, 113, 114, 115, 116, -1, -1, 119, -1, 121,
1205 122, 123, 124, 125, 0, -1, -1, 3, 4, 5,
1206 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1207 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1208 26, 27, 28, 29, -1, 31, 32, 33, 34, 35,
1209 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1210 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1211 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1212 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1213 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1214 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1215 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1216 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1217 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
1218 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1219 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1220 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1221 -1, 31, 32, 33, 34, 35, 36, -1, 38, 39,
1222 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1223 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1224 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1225 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1226 -1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
1227 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1228 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1229 110, 111, 112, 113, 114, 115, 116, -1, -1, 119,
1230 -1, 121, 122, 123, 124, 125, 4, 5, 6, 7,
1231 8, 9, 10, 11, -1, -1, -1, -1, -1, 17,
1232 -1, -1, -1, -1, 22, -1, -1, -1, -1, -1,
1233 -1, 29, -1, -1, -1, -1, -1, -1, -1, 37,
1234 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1235 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1236 -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
1237 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1238 -1, -1, -1, -1, -1, 17, 84, 85, 86, 87,
1239 22, -1, -1, -1, -1, -1, -1, 29, -1, -1,
1240 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1241 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1242 -1, 22, -1, 121, 84, 85, 86, 87, 29, -1,
1243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1244 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1245 10, 11, 84, 85, 86, 87, -1, 17, -1, -1,
1246 -1, 121, 22, -1, -1, -1, -1, -1, -1, 29,
1247 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1248 -1, -1, -1, 84, 85, 86, 87, -1, 22, 121,
1249 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1250 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1251 23, -1, 25, -1, 27, 28, 29, -1, -1, 32,
1252 121, -1, -1, 83, 84, 85, 86, 87, -1, -1,
1253 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
1254 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1255 84, 85, 86, 66, 67, 68, 69, 70, -1, -1,
1256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1257 -1, 84, 85, 86, 87, 88, -1, 90, 91, 92,
1258 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1259 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1260 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1261 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1262 20, 21, 22, 23, -1, 25, 26, 27, 28, -1,
1263 -1, -1, 32, -1, -1, -1, -1, -1, 4, 5,
1264 6, 7, 8, 9, 10, 11, -1, 47, 48, 49,
1265 -1, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1266 60, 61, -1, 29, -1, -1, 66, 67, 68, 69,
1267 70, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1268 -1, -1, -1, -1, 17, -1, -1, -1, 88, 22,
1269 90, 91, 92, 93, 94, 95, 29, 97, 64, -1,
1270 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1271 110, 111, 112, 113, 114, 115, 3, -1, 84, 85,
1272 86, 87, -1, -1, -1, 12, -1, -1, -1, -1,
1273 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1274 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1275 -1, 84, 85, 86, 87, -1, -1, 44, -1, -1,
1276 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1277 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1278 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1279 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1280 -1, 88, 89, 90, 91, 92, 93, 94, 95, -1,
1281 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1282 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1283 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1284 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1285 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1287 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1288 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1289 64, -1, 66, 67, 68, 69, 70, 4, 5, 6,
1290 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1291 17, -1, -1, -1, 88, 22, 90, 91, 92, 93,
1292 94, 95, 29, 97, -1, -1, 100, 101, 102, 103,
1293 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1294 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1295 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1296 -1, 22, 23, 24, 25, -1, 27, 28, -1, -1,
1297 -1, 32, -1, -1, -1, -1, -1, 84, 85, 86,
1298 87, -1, -1, 44, -1, -1, 47, 48, 49, -1,
1299 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1300 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1302 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1303 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1304 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1305 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1306 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1307 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
1308 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1309 -1, 39, -1, -1, -1, -1, -1, -1, -1, 47,
1310 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1311 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1312 68, 69, 70, 4, 5, 6, 7, 8, 9, 10,
1313 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1314 88, 22, 90, 91, 92, 93, 94, 95, 29, 97,
1315 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1316 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1317 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1318 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
1319 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
1320 -1, -1, -1, 84, 85, 86, 87, -1, -1, 44,
1321 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
1322 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1323 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1325 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1326 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1327 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1328 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1329 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1330 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
1331 32, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1332 8, 9, 10, 11, -1, 47, 48, 49, -1, 17,
1333 -1, -1, -1, -1, 22, -1, -1, -1, 60, 61,
1334 -1, 29, -1, -1, 66, 67, 68, 69, 70, -1,
1335 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1336 -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
1337 92, 93, 94, 95, -1, 97, 64, -1, 100, 101,
1338 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1339 112, 113, 114, 115, 3, -1, 84, 85, 86, 87,
1340 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1341 19, -1, -1, 22, 23, -1, 25, -1, 27, 28,
1342 -1, -1, -1, 32, -1, -1, -1, 3, 4, 5,
1343 6, 7, 8, 9, 10, 11, 12, -1, 47, 48,
1344 49, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1345 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1346 69, 70, 4, 5, 6, 7, 8, 9, 10, 11,
1347 -1, -1, -1, -1, -1, 17, -1, -1, -1, 88,
1348 22, 90, 91, 92, 93, 94, 95, 29, 97, -1,
1349 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1350 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
1351 86, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1352 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1353 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1354 -1, -1, 84, 85, 86, 87, -1, -1, -1, -1,
1355 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1356 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1357 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1358 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1359 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1360 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1361 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1362 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1363 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1364 -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
1365 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1366 10, 11, -1, -1, -1, -1, 49, 17, -1, -1,
1367 -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
1368 -1, -1, -1, 66, 67, 68, 69, 70, 4, 5,
1369 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1370 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1371 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1372 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1373 113, 114, 115, 3, 84, 85, 86, 87, -1, -1,
1374 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1375 -1, -1, 22, -1, -1, -1, -1, -1, -1, -1,
1376 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1377 86, -1, -1, -1, -1, -1, -1, -1, -1, 49,
1378 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1379 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1380 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1381 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1382 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1383 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1384 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1385 -1, -1, -1, -1, -1, 12, 31, -1, -1, -1,
1386 17, 18, -1, -1, -1, 22, -1, 42, 43, 44,
1387 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1388 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1389 65, -1, 49, -1, -1, -1, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
1391 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1393 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1394 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1395 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1396 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1397 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1398 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
1399 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1400 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1401 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
1402 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1404 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1405 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1406 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1407 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1408 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1409 -1, 22, -1, 33, -1, -1, -1, -1, -1, -1,
1410 -1, 32, 42, 43, 44, 45, 46, 47, 48, 49,
1411 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1412 -1, -1, -1, -1, -1, 65, -1, -1, -1, -1,
1413 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1415 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1416 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1417 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1418 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1419 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1420 18, -1, -1, -1, 22, -1, 33, -1, -1, -1,
1421 -1, -1, -1, -1, 32, 42, 43, 44, 45, 46,
1422 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1423 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1424 -1, -1, -1, -1, 3, -1, -1, -1, 66, 67,
1425 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
1426 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1427 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1428 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1429 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
1430 -1, -1, -1, -1, -1, 64, -1, 66, 67, 68,
1431 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1432 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1433 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1434 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1435 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
1436 -1, -1, -1, -1, -1, -1, 12, -1, -1, 34,
1437 -1, 17, 18, -1, -1, -1, 22, 42, 43, 44,
1438 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1439 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1440 65, -1, -1, 49, -1, -1, -1, -1, -1, -1,
1441 -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
1442 66, 67, 68, 69, 70, 12, -1, -1, -1, -1,
1443 17, 18, -1, -1, -1, 22, -1, -1, -1, -1,
1444 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1445 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1446 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1447 -1, -1, -1, -1, -1, 3, -1, 64, -1, 66,
1448 67, 68, 69, 70, 12, -1, -1, -1, -1, 17,
1449 18, -1, -1, -1, 22, -1, -1, -1, -1, -1,
1450 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1451 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1452 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1453 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
1454 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1455 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1456 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1457 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1458 108, 109, 110, 111, 112, 113, 114, 115, 35, -1,
1459 -1, -1, -1, -1, -1, 42, 43, 44, 45, 46,
1460 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1461 57, 58, 59, 35, -1, -1, -1, -1, 65, -1,
1462 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1463 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1464 -1, 39, -1, 65, 42, 43, 44, 45, 46, 47,
1465 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1466 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
1467 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1468 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1469 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1470 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1471 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1472 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1473 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1474 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1475 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1479 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1480 symbol of state STATE-NUM. */
1481 static const unsigned short int yystos
[] =
1483 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1484 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1485 88, 89, 91, 116, 121, 123, 134, 135, 136, 137,
1486 138, 156, 161, 166, 167, 168, 169, 170, 171, 172,
1487 173, 178, 181, 182, 185, 189, 190, 191, 192, 193,
1488 194, 197, 199, 200, 206, 214, 225, 226, 9, 11,
1489 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1490 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1491 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1492 110, 111, 112, 113, 114, 115, 131, 222, 223, 224,
1493 241, 253, 22, 84, 85, 86, 87, 190, 197, 167,
1494 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1495 75, 76, 77, 79, 80, 81, 82, 139, 140, 141,
1496 142, 144, 145, 146, 17, 84, 85, 121, 162, 164,
1497 191, 192, 197, 206, 215, 216, 131, 131, 131, 217,
1498 3, 6, 10, 12, 17, 157, 158, 167, 26, 123,
1499 190, 226, 44, 261, 262, 22, 83, 189, 190, 0,
1500 136, 131, 198, 221, 222, 4, 5, 6, 9, 22,
1501 174, 6, 171, 177, 31, 125, 179, 32, 32, 36,
1502 36, 221, 222, 87, 32, 131, 124, 224, 131, 131,
1503 131, 34, 183, 19, 20, 21, 121, 123, 124, 131,
1504 147, 148, 30, 0, 3, 4, 5, 6, 7, 8,
1505 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1506 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1507 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1508 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1509 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1510 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1511 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1512 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1513 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1514 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1515 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1516 125, 132, 151, 152, 151, 26, 119, 143, 131, 147,
1517 25, 27, 28, 32, 47, 48, 60, 61, 78, 130,
1518 131, 153, 211, 131, 131, 217, 131, 217, 164, 31,
1519 131, 35, 219, 219, 219, 219, 222, 23, 31, 190,
1520 36, 186, 36, 23, 162, 179, 186, 38, 220, 32,
1521 131, 6, 175, 6, 9, 176, 174, 32, 31, 17,
1522 87, 166, 195, 196, 197, 195, 131, 207, 208, 92,
1523 93, 94, 95, 96, 98, 99, 232, 233, 234, 247,
1524 250, 256, 257, 258, 131, 221, 184, 198, 222, 118,
1525 151, 132, 26, 27, 32, 44, 213, 153, 32, 131,
1526 153, 32, 42, 43, 44, 45, 46, 47, 48, 49,
1527 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1528 65, 129, 31, 35, 36, 202, 202, 31, 201, 202,
1529 201, 32, 131, 40, 186, 0, 3, 4, 5, 6,
1530 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1531 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1532 27, 28, 29, 31, 32, 33, 34, 35, 38, 39,
1533 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1534 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1535 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1536 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1537 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1538 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1539 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1540 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1541 125, 133, 186, 187, 188, 232, 32, 31, 31, 19,
1542 23, 25, 27, 32, 39, 130, 198, 209, 210, 211,
1543 221, 220, 6, 26, 180, 222, 17, 221, 33, 34,
1544 33, 34, 40, 34, 37, 198, 237, 209, 229, 251,
1545 252, 253, 261, 198, 131, 259, 260, 198, 248, 252,
1546 37, 233, 209, 33, 131, 34, 32, 167, 212, 213,
1547 22, 33, 131, 153, 154, 155, 153, 153, 32, 121,
1548 163, 164, 165, 166, 203, 206, 215, 216, 198, 198,
1549 221, 19, 20, 21, 26, 159, 160, 209, 37, 188,
1550 37, 3, 6, 10, 12, 13, 14, 15, 16, 17,
1551 33, 227, 228, 230, 231, 22, 87, 166, 209, 209,
1552 39, 65, 129, 131, 26, 33, 222, 220, 17, 64,
1553 196, 220, 64, 209, 208, 40, 31, 40, 31, 32,
1554 24, 40, 32, 31, 34, 32, 31, 31, 33, 198,
1555 64, 131, 149, 150, 221, 33, 33, 33, 34, 35,
1556 25, 165, 35, 218, 37, 163, 219, 219, 131, 31,
1557 35, 33, 34, 229, 33, 33, 209, 209, 33, 33,
1558 33, 19, 89, 90, 109, 209, 236, 238, 239, 240,
1559 241, 262, 251, 198, 261, 184, 260, 17, 184, 249,
1560 33, 34, 153, 153, 34, 25, 35, 34, 204, 218,
1561 202, 202, 33, 230, 35, 228, 230, 40, 209, 35,
1562 220, 220, 109, 238, 17, 18, 241, 244, 32, 32,
1563 236, 34, 254, 198, 33, 33, 151, 64, 131, 25,
1564 35, 32, 198, 205, 31, 204, 230, 261, 159, 209,
1565 32, 209, 229, 64, 251, 255, 33, 31, 97, 33,
1566 35, 25, 218, 34, 31, 64, 229, 34, 34, 242,
1567 33, 34, 18, 252, 253, 32, 34, 198, 24, 32,
1568 209, 198, 235, 236, 237, 243, 262, 33, 251, 25,
1569 25, 218, 33, 245, 246, 251, 33, 34, 236, 34,
1570 33, 35, 33, 34, 235, 25, 230, 33, 251, 33
1573 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1574 static const unsigned short int yyr1
[] =
1576 0, 128, 129, 129, 129, 129, 129, 129, 129, 129,
1577 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1578 130, 130, 130, 130, 131, 131, 131, 131, 131, 131,
1579 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1580 131, 131, 131, 132, 132, 132, 132, 132, 132, 132,
1581 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1582 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1583 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1584 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1585 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1586 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1587 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1588 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1589 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1590 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1591 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1592 132, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1593 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1594 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1595 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1596 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1597 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1598 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1599 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1600 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1601 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1602 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1603 133, 133, 133, 133, 133, 133, 133, 134, 134, 135,
1604 135, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1605 136, 136, 136, 136, 136, 137, 138, 138, 139, 139,
1606 139, 139, 139, 139, 139, 139, 140, 140, 141, 141,
1607 142, 142, 142, 143, 143, 144, 144, 145, 145, 145,
1608 146, 146, 147, 147, 147, 147, 147, 147, 147, 148,
1609 148, 149, 149, 149, 149, 150, 150, 151, 151, 152,
1610 152, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1611 153, 153, 154, 154, 155, 155, 156, 157, 158, 158,
1612 158, 158, 159, 159, 159, 160, 160, 160, 160, 161,
1613 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
1614 164, 165, 165, 165, 165, 165, 166, 166, 166, 167,
1615 167, 168, 168, 168, 169, 169, 169, 170, 170, 170,
1616 171, 171, 172, 172, 172, 173, 173, 173, 173, 174,
1617 174, 174, 174, 174, 174, 175, 175, 176, 176, 176,
1618 176, 177, 177, 177, 178, 178, 179, 179, 180, 180,
1619 181, 182, 183, 183, 184, 184, 185, 185, 185, 186,
1620 187, 187, 188, 188, 189, 189, 190, 190, 191, 191,
1621 192, 192, 193, 193, 193, 193, 194, 194, 195, 195,
1622 195, 195, 196, 196, 196, 196, 197, 197, 197, 197,
1623 198, 198, 199, 200, 201, 201, 202, 203, 203, 204,
1624 204, 205, 205, 206, 207, 207, 208, 208, 209, 209,
1625 209, 209, 209, 209, 210, 210, 210, 210, 210, 210,
1626 211, 211, 212, 212, 213, 213, 213, 214, 215, 216,
1627 217, 217, 218, 218, 218, 218, 219, 219, 220, 220,
1628 220, 221, 221, 222, 222, 223, 223, 224, 224, 225,
1629 225, 226, 226, 226, 227, 227, 228, 228, 229, 230,
1630 231, 231, 231, 231, 231, 231, 231, 231, 231, 232,
1631 232, 233, 233, 233, 233, 233, 234, 234, 235, 235,
1632 235, 236, 236, 236, 236, 236, 236, 237, 237, 238,
1633 239, 240, 241, 241, 241, 241, 241, 241, 241, 241,
1634 241, 241, 242, 242, 243, 243, 244, 244, 245, 245,
1635 246, 246, 247, 248, 248, 249, 249, 249, 250, 251,
1636 251, 251, 252, 252, 253, 253, 253, 253, 253, 253,
1637 253, 253, 254, 254, 255, 255, 256, 257, 257, 258,
1638 259, 259, 260, 261, 261, 262
1641 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1642 static const unsigned char yyr2
[] =
1644 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1671 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1672 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1673 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1674 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
1675 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1676 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
1677 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1678 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1679 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1680 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1681 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1682 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1683 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1684 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1685 1, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1686 2, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1687 2, 3, 0, 2, 1, 3, 3, 3, 4, 3,
1688 1, 2, 1, 1, 1, 2, 1, 1, 5, 7,
1689 5, 7, 6, 7, 6, 5, 1, 2, 0, 1,
1690 1, 3, 1, 2, 3, 2, 1, 2, 4, 3,
1691 3, 2, 4, 4, 1, 1, 3, 4, 5, 0,
1692 2, 2, 4, 4, 1, 3, 1, 3, 1, 4,
1693 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
1694 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
1695 0, 1, 0, 2, 7, 9, 0, 7, 0, 2,
1696 3, 0, 1, 1, 2, 1, 2, 1, 2, 4,
1697 5, 7, 8, 13, 1, 3, 2, 4, 2, 1,
1698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1699 2, 1, 1, 1, 1, 1, 3, 6, 1, 2,
1700 1, 1, 1, 1, 2, 1, 1, 3, 4, 6,
1701 8, 5, 1, 1, 1, 1, 1, 1, 1, 1,
1702 1, 1, 0, 2, 1, 3, 1, 1, 0, 1,
1703 1, 3, 3, 6, 1, 0, 1, 1, 3, 1,
1704 1, 3, 5, 6, 1, 1, 1, 1, 1, 1,
1705 1, 1, 0, 2, 1, 3, 3, 1, 1, 3,
1710 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1711 static const unsigned char yydprec
[] =
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,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 1, 2, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 2, 1, 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, 2, 1, 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, 2, 1, 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,
1778 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1779 static const unsigned char yymerger
[] =
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,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1847 in the case of predicates. */
1848 static const yybool yyimmediate
[] =
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1916 list of conflicting reductions corresponding to action entry for
1917 state STATE-NUM in yytable. 0 means no conflicts. The list in
1918 yyconfl is terminated by a rule number of 0. */
1919 static const unsigned short int yyconflp
[] =
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, 7, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 261, 0, 263, 265,
1932 0, 0, 0, 0, 0, 0, 0, 0, 255, 0,
1933 0, 0, 0, 257, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 269, 0, 271, 273, 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, 5,
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, 253, 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, 259, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 267, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 9, 0, 0, 11, 13, 15, 17, 19,
2005 21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
2006 41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
2007 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
2008 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
2009 101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
2010 121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
2011 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
2012 161, 163, 0, 165, 0, 167, 169, 171, 173, 175,
2013 177, 179, 181, 183, 185, 187, 189, 191, 193, 195,
2014 197, 199, 201, 203, 205, 207, 209, 211, 213, 215,
2015 217, 219, 221, 223, 225, 227, 229, 231, 233, 0,
2016 235, 237, 0, 239, 241, 243, 245, 247, 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, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 3,
2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 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, 249, 0, 0, 0, 0,
2172 251, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2303 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2304 0, pointed into by YYCONFLP. */
2305 static const short int yyconfl
[] =
2307 0, 396, 0, 396, 0, 409, 0, 466, 0, 610,
2308 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2309 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2310 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2311 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2312 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2313 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2314 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2315 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2316 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2317 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2318 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2319 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2320 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2321 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2322 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2323 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2324 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2325 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2326 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2327 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2328 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2329 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2330 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2331 0, 610, 0, 610, 0, 610, 0, 610, 0, 396,
2332 0, 396, 0, 409, 0, 511, 0, 511, 0, 42,
2333 0, 497, 0, 497, 0, 497, 0, 396, 0, 561,
2334 0, 561, 0, 561, 0, 611, 0, 344, 0, 493,
2338 /* Error token number */
2345 #define yynerrs (yystackp->yyerrcnt)
2347 #define yychar (yystackp->yyrawchar)
2349 #define yylval (yystackp->yyval)
2351 #define yylloc (yystackp->yyloc)
2352 #define psi_parser_proc_nerrs yynerrs
2353 #define psi_parser_proc_char yychar
2354 #define psi_parser_proc_lval yylval
2355 #define psi_parser_proc_lloc yylloc
2357 static const int YYEOF
= 0;
2358 static const int YYEMPTY
= -2;
2360 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2362 #define YYCHK(YYE) \
2364 YYRESULTTAG yychk_flag = YYE; \
2365 if (yychk_flag != yyok) \
2366 return yychk_flag; \
2372 # define YYFPRINTF fprintf
2375 /* This macro is provided for backward compatibility. */
2376 #ifndef YY_LOCATION_PRINT
2377 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2381 # define YYDPRINTF(Args) \
2388 /*----------------------------------------.
2389 | Print this symbol's value on YYOUTPUT. |
2390 `----------------------------------------*/
2393 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2395 FILE *yyo
= yyoutput
;
2406 /*--------------------------------.
2407 | Print this symbol on YYOUTPUT. |
2408 `--------------------------------*/
2411 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2413 YYFPRINTF (yyoutput
, "%s %s (",
2414 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2416 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2417 YYFPRINTF (yyoutput
, ")");
2420 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2424 YYFPRINTF (stderr, "%s ", Title); \
2425 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2426 YYFPRINTF (stderr, "\n"); \
2430 /* Nonzero means print parse trace. It is left uninitialized so that
2431 multiple parsers can coexist. */
2435 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2436 YY_ATTRIBUTE_UNUSED
;
2437 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2438 YY_ATTRIBUTE_UNUSED
;
2440 #else /* !YYDEBUG */
2442 # define YYDPRINTF(Args)
2443 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2445 #endif /* !YYDEBUG */
2447 /* YYINITDEPTH -- initial size of the parser's stacks. */
2449 # define YYINITDEPTH 200
2452 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2453 if the built-in stack extension method is used).
2455 Do not make this value too large; the results are undefined if
2456 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2457 evaluated with infinite-precision integer arithmetic. */
2460 # define YYMAXDEPTH 10000
2463 /* Minimum number of free items on the stack allowed after an
2464 allocation. This is to allow allocation and initialization
2465 to be completed by functions that call yyexpandGLRStack before the
2466 stack is expanded, thus insuring that all necessary pointers get
2467 properly redirected to new data. */
2468 #define YYHEADROOM 2
2470 #ifndef YYSTACKEXPANDABLE
2471 # define YYSTACKEXPANDABLE 1
2474 #if YYSTACKEXPANDABLE
2475 # define YY_RESERVE_GLRSTACK(Yystack) \
2477 if (Yystack->yyspaceLeft < YYHEADROOM) \
2478 yyexpandGLRStack (Yystack); \
2481 # define YY_RESERVE_GLRSTACK(Yystack) \
2483 if (Yystack->yyspaceLeft < YYHEADROOM) \
2484 yyMemoryExhausted (Yystack); \
2492 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2493 # define yystpcpy stpcpy
2495 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2498 yystpcpy (char *yydest
, const char *yysrc
)
2501 const char *yys
= yysrc
;
2503 while ((*yyd
++ = *yys
++) != '\0')
2512 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2513 quotes and backslashes, so that it's suitable for yyerror. The
2514 heuristic is that double-quoting is unnecessary unless the string
2515 contains an apostrophe, a comma, or backslash (other than
2516 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2517 null, do not copy; instead, return the length of what the result
2520 yytnamerr (char *yyres
, const char *yystr
)
2525 char const *yyp
= yystr
;
2532 goto do_not_strip_quotes
;
2536 goto do_not_strip_quotes
;
2549 do_not_strip_quotes
: ;
2553 return strlen (yystr
);
2555 return yystpcpy (yyres
, yystr
) - yyres
;
2559 #endif /* !YYERROR_VERBOSE */
2561 /** State numbers, as in LALR(1) machine */
2562 typedef int yyStateNum
;
2564 /** Rule numbers, as in LALR(1) machine */
2565 typedef int yyRuleNum
;
2567 /** Grammar symbol */
2568 typedef int yySymbol
;
2570 /** Item references, as in LALR(1) machine */
2571 typedef short int yyItemNum
;
2573 typedef struct yyGLRState yyGLRState
;
2574 typedef struct yyGLRStateSet yyGLRStateSet
;
2575 typedef struct yySemanticOption yySemanticOption
;
2576 typedef union yyGLRStackItem yyGLRStackItem
;
2577 typedef struct yyGLRStack yyGLRStack
;
2580 /** Type tag: always true. */
2582 /** Type tag for yysemantics. If true, yysval applies, otherwise
2583 * yyfirstVal applies. */
2585 /** Number of corresponding LALR(1) machine state. */
2586 yyStateNum yylrState
;
2587 /** Preceding state in this stack */
2589 /** Source position of the last token produced by my symbol */
2592 /** First in a chain of alternative reductions producing the
2593 * non-terminal corresponding to this state, threaded through
2595 yySemanticOption
* yyfirstVal
;
2596 /** Semantic value for this state. */
2601 struct yyGLRStateSet
{
2602 yyGLRState
** yystates
;
2603 /** During nondeterministic operation, yylookaheadNeeds tracks which
2604 * stacks have actually needed the current lookahead. During deterministic
2605 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2606 * duplicate yychar != YYEMPTY. */
2607 yybool
* yylookaheadNeeds
;
2608 size_t yysize
, yycapacity
;
2611 struct yySemanticOption
{
2612 /** Type tag: always false. */
2614 /** Rule number for this reduction */
2616 /** The last RHS state in the list of states to be reduced. */
2617 yyGLRState
* yystate
;
2618 /** The lookahead for this reduction. */
2621 /** Next sibling in chain of options. To facilitate merging,
2622 * options are chained in decreasing order by address. */
2623 yySemanticOption
* yynext
;
2626 /** Type of the items in the GLR stack. The yyisState field
2627 * indicates which item of the union is valid. */
2628 union yyGLRStackItem
{
2630 yySemanticOption yyoption
;
2641 YYJMP_BUF yyexception_buffer
;
2642 yyGLRStackItem
* yyitems
;
2643 yyGLRStackItem
* yynextFree
;
2645 yyGLRState
* yysplitPoint
;
2646 yyGLRState
* yylastDeleted
;
2647 yyGLRStateSet yytops
;
2650 #if YYSTACKEXPANDABLE
2651 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2654 static _Noreturn
void
2655 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2657 if (yymsg
!= YY_NULLPTR
)
2658 yyerror (P
, tokens
, index
, yymsg
);
2659 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2662 static _Noreturn
void
2663 yyMemoryExhausted (yyGLRStack
* yystackp
)
2665 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2668 #if YYDEBUG || YYERROR_VERBOSE
2669 /** A printable representation of TOKEN. */
2670 static inline const char*
2671 yytokenName (yySymbol yytoken
)
2673 if (yytoken
== YYEMPTY
)
2676 return yytname
[yytoken
];
2680 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2681 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2682 * containing the pointer to the next state in the chain. */
2683 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2685 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2688 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2689 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2692 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2694 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2696 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2698 /* The effect of using yysval or yyloc (in an immediate rule) is
2700 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2701 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2705 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2706 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2707 * For convenience, always return YYLOW1. */
2708 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2709 YY_ATTRIBUTE_UNUSED
;
2711 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2713 if (!yynormal
&& yylow1
< *yylow
)
2715 yyfillin (yyvsp
, *yylow
, yylow1
);
2721 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2722 * and top stack item YYVSP. YYLVALP points to place to put semantic
2723 * value ($$), and yylocp points to place for location information
2724 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2725 * yyerr for YYERROR, yyabort for YYABORT. */
2727 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2728 yyGLRStack
* yystackp
,
2729 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2731 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2739 # define yyerrok (yystackp->yyerrState = 0)
2741 # define YYACCEPT return yyaccept
2743 # define YYABORT return yyabort
2745 # define YYERROR return yyerrok, yyerr
2746 # undef YYRECOVERING
2747 # define YYRECOVERING() (yystackp->yyerrState != 0)
2749 # define yyclearin (yychar = YYEMPTY)
2751 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2753 # define YYBACKUP(Token, Value) \
2754 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2759 *yyvalp
= yyval_default
;
2761 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2765 #line 398 "src/parser_proc_grammar.y" /* glr.c:816 */
2767 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2768 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2769 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2772 #line 2773 "src/parser_proc.c" /* glr.c:816 */
2776 #line 404 "src/parser_proc_grammar.y" /* glr.c:816 */
2779 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2780 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2782 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
);
2785 #line 2786 "src/parser_proc.c" /* glr.c:816 */
2789 #line 412 "src/parser_proc_grammar.y" /* glr.c:816 */
2791 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2793 #line 2794 "src/parser_proc.c" /* glr.c:816 */
2797 #line 415 "src/parser_proc_grammar.y" /* glr.c:816 */
2799 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2801 #line 2802 "src/parser_proc.c" /* glr.c:816 */
2805 #line 420 "src/parser_proc_grammar.y" /* glr.c:816 */
2807 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2809 #line 2810 "src/parser_proc.c" /* glr.c:816 */
2813 #line 423 "src/parser_proc_grammar.y" /* glr.c:816 */
2815 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2817 #line 2818 "src/parser_proc.c" /* glr.c:816 */
2821 #line 426 "src/parser_proc_grammar.y" /* glr.c:816 */
2823 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2825 #line 2826 "src/parser_proc.c" /* glr.c:816 */
2829 #line 429 "src/parser_proc_grammar.y" /* glr.c:816 */
2831 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2833 #line 2834 "src/parser_proc.c" /* glr.c:816 */
2837 #line 432 "src/parser_proc_grammar.y" /* glr.c:816 */
2839 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2841 #line 2842 "src/parser_proc.c" /* glr.c:816 */
2845 #line 438 "src/parser_proc_grammar.y" /* glr.c:816 */
2847 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2849 #line 2850 "src/parser_proc.c" /* glr.c:816 */
2853 #line 444 "src/parser_proc_grammar.y" /* glr.c:816 */
2855 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2857 #line 2858 "src/parser_proc.c" /* glr.c:816 */
2861 #line 447 "src/parser_proc_grammar.y" /* glr.c:816 */
2863 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2865 #line 2866 "src/parser_proc.c" /* glr.c:816 */
2869 #line 453 "src/parser_proc_grammar.y" /* glr.c:816 */
2871 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2872 struct psi_token
*msg
= NULL
;
2874 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2876 struct psi_token
*next
;
2878 msg
= psi_token_copy(msg
);
2879 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2880 struct psi_token
*old
= msg
;
2881 msg
= psi_token_cat(" ", 2, msg
, next
);
2885 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2887 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2889 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2891 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2893 #line 2894 "src/parser_proc.c" /* glr.c:816 */
2897 #line 476 "src/parser_proc_grammar.y" /* glr.c:816 */
2899 (*(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
))));
2900 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2902 #line 2903 "src/parser_proc.c" /* glr.c:816 */
2906 #line 480 "src/parser_proc_grammar.y" /* glr.c:816 */
2908 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2909 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2911 #line 2912 "src/parser_proc.c" /* glr.c:816 */
2915 #line 484 "src/parser_proc_grammar.y" /* glr.c:816 */
2917 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2918 (*(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
))));
2919 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2921 #line 2922 "src/parser_proc.c" /* glr.c:816 */
2925 #line 489 "src/parser_proc_grammar.y" /* glr.c:816 */
2927 (*(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
)));
2928 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2930 #line 2931 "src/parser_proc.c" /* glr.c:816 */
2934 #line 493 "src/parser_proc_grammar.y" /* glr.c:816 */
2936 (*(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
)));
2937 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2939 #line 2940 "src/parser_proc.c" /* glr.c:816 */
2943 #line 497 "src/parser_proc_grammar.y" /* glr.c:816 */
2945 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2946 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2948 #line 2949 "src/parser_proc.c" /* glr.c:816 */
2952 #line 501 "src/parser_proc_grammar.y" /* glr.c:816 */
2954 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2955 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2957 #line 2958 "src/parser_proc.c" /* glr.c:816 */
2961 #line 555 "src/parser_proc_grammar.y" /* glr.c:816 */
2963 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2964 (*(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
);
2965 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2967 #line 2968 "src/parser_proc.c" /* glr.c:816 */
2971 #line 560 "src/parser_proc_grammar.y" /* glr.c:816 */
2973 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2974 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2975 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2977 #line 2978 "src/parser_proc.c" /* glr.c:816 */
2981 #line 568 "src/parser_proc_grammar.y" /* glr.c:816 */
2983 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2985 #line 2986 "src/parser_proc.c" /* glr.c:816 */
2989 #line 571 "src/parser_proc_grammar.y" /* glr.c:816 */
2991 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2993 #line 2994 "src/parser_proc.c" /* glr.c:816 */
2997 #line 575 "src/parser_proc_grammar.y" /* glr.c:816 */
2999 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3001 #line 3002 "src/parser_proc.c" /* glr.c:816 */
3005 #line 581 "src/parser_proc_grammar.y" /* glr.c:816 */
3007 (*(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
)));
3008 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3009 (*(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
)));
3011 #line 3012 "src/parser_proc.c" /* glr.c:816 */
3015 #line 586 "src/parser_proc_grammar.y" /* glr.c:816 */
3017 (*(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
)));
3018 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3019 (*(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
)));
3021 #line 3022 "src/parser_proc.c" /* glr.c:816 */
3025 #line 594 "src/parser_proc_grammar.y" /* glr.c:816 */
3027 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3029 #line 3030 "src/parser_proc.c" /* glr.c:816 */
3033 #line 601 "src/parser_proc_grammar.y" /* glr.c:816 */
3035 (*(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
)));
3036 (*(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
)));
3038 #line 3039 "src/parser_proc.c" /* glr.c:816 */
3042 #line 605 "src/parser_proc_grammar.y" /* glr.c:816 */
3044 (*(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
)));
3045 (*(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
)));
3047 #line 3048 "src/parser_proc.c" /* glr.c:816 */
3051 #line 612 "src/parser_proc_grammar.y" /* glr.c:816 */
3053 (*(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
)));
3054 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3056 #line 3057 "src/parser_proc.c" /* glr.c:816 */
3060 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
3062 (*(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
)));
3063 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3065 #line 3066 "src/parser_proc.c" /* glr.c:816 */
3069 #line 620 "src/parser_proc_grammar.y" /* glr.c:816 */
3071 (*(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
)));
3072 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3074 #line 3075 "src/parser_proc.c" /* glr.c:816 */
3078 #line 624 "src/parser_proc_grammar.y" /* glr.c:816 */
3080 (*(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
)));
3081 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3083 #line 3084 "src/parser_proc.c" /* glr.c:816 */
3087 #line 629 "src/parser_proc_grammar.y" /* glr.c:816 */
3092 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3093 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3094 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3095 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3098 #line 3099 "src/parser_proc.c" /* glr.c:816 */
3102 #line 639 "src/parser_proc_grammar.y" /* glr.c:816 */
3107 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3108 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3109 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3110 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3113 #line 3114 "src/parser_proc.c" /* glr.c:816 */
3117 #line 649 "src/parser_proc_grammar.y" /* glr.c:816 */
3119 (*(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
));
3120 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3121 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3123 #line 3124 "src/parser_proc.c" /* glr.c:816 */
3127 #line 654 "src/parser_proc_grammar.y" /* glr.c:816 */
3129 (*(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));
3130 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3131 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3133 #line 3134 "src/parser_proc.c" /* glr.c:816 */
3137 #line 659 "src/parser_proc_grammar.y" /* glr.c:816 */
3139 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3140 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3142 #line 3143 "src/parser_proc.c" /* glr.c:816 */
3146 #line 663 "src/parser_proc_grammar.y" /* glr.c:816 */
3148 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3149 (*(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));
3150 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3151 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3153 #line 3154 "src/parser_proc.c" /* glr.c:816 */
3157 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3159 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3160 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3161 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));
3162 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3164 #line 3165 "src/parser_proc.c" /* glr.c:816 */
3168 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
3170 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3172 #line 3173 "src/parser_proc.c" /* glr.c:816 */
3176 #line 685 "src/parser_proc_grammar.y" /* glr.c:816 */
3178 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3179 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3181 #line 3182 "src/parser_proc.c" /* glr.c:816 */
3185 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
3187 (*(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
)));
3189 #line 3190 "src/parser_proc.c" /* glr.c:816 */
3193 #line 695 "src/parser_proc_grammar.y" /* glr.c:816 */
3195 (*(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
)));
3196 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3198 #line 3199 "src/parser_proc.c" /* glr.c:816 */
3202 #line 702 "src/parser_proc_grammar.y" /* glr.c:816 */
3204 (*(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
);
3206 #line 3207 "src/parser_proc.c" /* glr.c:816 */
3210 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
3212 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3214 #line 3215 "src/parser_proc.c" /* glr.c:816 */
3218 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
3220 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
)) {
3222 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3224 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3225 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3227 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3231 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3232 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3233 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3234 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3235 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3236 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3237 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3238 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3239 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3240 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3246 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3248 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3250 #line 3251 "src/parser_proc.c" /* glr.c:816 */
3254 #line 749 "src/parser_proc_grammar.y" /* glr.c:816 */
3256 (*(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
);
3257 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3259 #line 3260 "src/parser_proc.c" /* glr.c:816 */
3263 #line 763 "src/parser_proc_grammar.y" /* glr.c:816 */
3265 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3267 #line 3268 "src/parser_proc.c" /* glr.c:816 */
3271 #line 766 "src/parser_proc_grammar.y" /* glr.c:816 */
3273 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3274 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3275 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3277 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3278 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3279 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3281 #line 3282 "src/parser_proc.c" /* glr.c:816 */
3285 #line 775 "src/parser_proc_grammar.y" /* glr.c:816 */
3287 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3289 #line 3290 "src/parser_proc.c" /* glr.c:816 */
3293 #line 781 "src/parser_proc_grammar.y" /* glr.c:816 */
3295 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3297 #line 3298 "src/parser_proc.c" /* glr.c:816 */
3301 #line 784 "src/parser_proc_grammar.y" /* glr.c:816 */
3303 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3305 #line 3306 "src/parser_proc.c" /* glr.c:816 */
3309 #line 790 "src/parser_proc_grammar.y" /* glr.c:816 */
3311 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3313 #line 3314 "src/parser_proc.c" /* glr.c:816 */
3317 #line 793 "src/parser_proc_grammar.y" /* glr.c:816 */
3319 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3321 #line 3322 "src/parser_proc.c" /* glr.c:816 */
3325 #line 800 "src/parser_proc_grammar.y" /* glr.c:816 */
3327 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3328 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3329 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3331 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3332 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3334 #line 3335 "src/parser_proc.c" /* glr.c:816 */
3338 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
3340 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3341 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3342 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3343 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3345 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3346 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3347 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3348 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3350 #line 3351 "src/parser_proc.c" /* glr.c:816 */
3354 #line 819 "src/parser_proc_grammar.y" /* glr.c:816 */
3356 (*(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
)));
3357 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3358 (*(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
)));
3359 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3360 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3361 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3362 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3364 #line 3365 "src/parser_proc.c" /* glr.c:816 */
3368 #line 828 "src/parser_proc_grammar.y" /* glr.c:816 */
3370 (*(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
)));
3371 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3372 (*(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
)));
3373 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3374 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3375 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3376 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3378 #line 3379 "src/parser_proc.c" /* glr.c:816 */
3382 #line 841 "src/parser_proc_grammar.y" /* glr.c:816 */
3384 (*(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));
3385 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3387 #line 3388 "src/parser_proc.c" /* glr.c:816 */
3391 #line 845 "src/parser_proc_grammar.y" /* glr.c:816 */
3393 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3394 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3395 psi_decl_var_init(NULL
, 0, 0)
3397 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3398 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3399 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3400 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3402 #line 3403 "src/parser_proc.c" /* glr.c:816 */
3406 #line 855 "src/parser_proc_grammar.y" /* glr.c:816 */
3408 (*(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));
3409 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3410 (*(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
)));
3411 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3412 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3413 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3414 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3416 #line 3417 "src/parser_proc.c" /* glr.c:816 */
3420 #line 864 "src/parser_proc_grammar.y" /* glr.c:816 */
3422 (*(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));
3423 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3424 (*(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
)));
3425 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3426 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3427 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3428 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3430 #line 3431 "src/parser_proc.c" /* glr.c:816 */
3434 #line 876 "src/parser_proc_grammar.y" /* glr.c:816 */
3436 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3438 #line 3439 "src/parser_proc.c" /* glr.c:816 */
3442 #line 879 "src/parser_proc_grammar.y" /* glr.c:816 */
3444 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3446 #line 3447 "src/parser_proc.c" /* glr.c:816 */
3450 #line 886 "src/parser_proc_grammar.y" /* glr.c:816 */
3452 (*(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
);
3453 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3455 #line 3456 "src/parser_proc.c" /* glr.c:816 */
3459 #line 894 "src/parser_proc_grammar.y" /* glr.c:816 */
3461 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3462 (*(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
);
3463 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3465 #line 3466 "src/parser_proc.c" /* glr.c:816 */
3469 #line 899 "src/parser_proc_grammar.y" /* glr.c:816 */
3471 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3472 (*(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
);
3473 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3475 #line 3476 "src/parser_proc.c" /* glr.c:816 */
3479 #line 904 "src/parser_proc_grammar.y" /* glr.c:816 */
3481 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3482 (*(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
);
3483 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3485 #line 3486 "src/parser_proc.c" /* glr.c:816 */
3489 #line 914 "src/parser_proc_grammar.y" /* glr.c:816 */
3491 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3493 #line 3494 "src/parser_proc.c" /* glr.c:816 */
3497 #line 920 "src/parser_proc_grammar.y" /* glr.c:816 */
3499 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3501 #line 3502 "src/parser_proc.c" /* glr.c:816 */
3505 #line 923 "src/parser_proc_grammar.y" /* glr.c:816 */
3507 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3509 #line 3510 "src/parser_proc.c" /* glr.c:816 */
3513 #line 926 "src/parser_proc_grammar.y" /* glr.c:816 */
3515 (*(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
)));
3517 #line 3518 "src/parser_proc.c" /* glr.c:816 */
3521 #line 937 "src/parser_proc_grammar.y" /* glr.c:816 */
3523 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3525 #line 3526 "src/parser_proc.c" /* glr.c:816 */
3529 #line 940 "src/parser_proc_grammar.y" /* glr.c:816 */
3531 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3533 #line 3534 "src/parser_proc.c" /* glr.c:816 */
3537 #line 943 "src/parser_proc_grammar.y" /* glr.c:816 */
3539 (*(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
)));
3541 #line 3542 "src/parser_proc.c" /* glr.c:816 */
3545 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3547 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3549 #line 3550 "src/parser_proc.c" /* glr.c:816 */
3553 #line 952 "src/parser_proc_grammar.y" /* glr.c:816 */
3555 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3557 #line 3558 "src/parser_proc.c" /* glr.c:816 */
3561 #line 955 "src/parser_proc_grammar.y" /* glr.c:816 */
3563 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3564 (*(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
)));
3565 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3567 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3570 #line 3571 "src/parser_proc.c" /* glr.c:816 */
3574 #line 963 "src/parser_proc_grammar.y" /* glr.c:816 */
3576 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3577 (*(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
)));
3578 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3579 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3581 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3584 #line 3585 "src/parser_proc.c" /* glr.c:816 */
3588 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3590 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3592 #line 3593 "src/parser_proc.c" /* glr.c:816 */
3596 #line 978 "src/parser_proc_grammar.y" /* glr.c:816 */
3598 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3600 #line 3601 "src/parser_proc.c" /* glr.c:816 */
3604 #line 981 "src/parser_proc_grammar.y" /* glr.c:816 */
3606 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3608 #line 3609 "src/parser_proc.c" /* glr.c:816 */
3612 #line 984 "src/parser_proc_grammar.y" /* glr.c:816 */
3614 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3615 (*(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
)));
3617 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3620 #line 3621 "src/parser_proc.c" /* glr.c:816 */
3624 #line 991 "src/parser_proc_grammar.y" /* glr.c:816 */
3626 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3628 #line 3629 "src/parser_proc.c" /* glr.c:816 */
3632 #line 994 "src/parser_proc_grammar.y" /* glr.c:816 */
3634 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3635 (*(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
)));
3637 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3640 #line 3641 "src/parser_proc.c" /* glr.c:816 */
3644 #line 1004 "src/parser_proc_grammar.y" /* glr.c:816 */
3646 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3648 #line 3649 "src/parser_proc.c" /* glr.c:816 */
3652 #line 1010 "src/parser_proc_grammar.y" /* glr.c:816 */
3654 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3656 #line 3657 "src/parser_proc.c" /* glr.c:816 */
3660 #line 1019 "src/parser_proc_grammar.y" /* glr.c:816 */
3662 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3664 #line 3665 "src/parser_proc.c" /* glr.c:816 */
3668 #line 1022 "src/parser_proc_grammar.y" /* glr.c:816 */
3670 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3672 #line 3673 "src/parser_proc.c" /* glr.c:816 */
3676 #line 1025 "src/parser_proc_grammar.y" /* glr.c:816 */
3678 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3679 (*(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
)));
3680 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3682 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3685 #line 3686 "src/parser_proc.c" /* glr.c:816 */
3689 #line 1036 "src/parser_proc_grammar.y" /* glr.c:816 */
3691 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3693 #line 3694 "src/parser_proc.c" /* glr.c:816 */
3697 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3699 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3701 #line 3702 "src/parser_proc.c" /* glr.c:816 */
3705 #line 1059 "src/parser_proc_grammar.y" /* glr.c:816 */
3707 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3709 #line 3710 "src/parser_proc.c" /* glr.c:816 */
3713 #line 1066 "src/parser_proc_grammar.y" /* glr.c:816 */
3715 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3717 #line 3718 "src/parser_proc.c" /* glr.c:816 */
3721 #line 1072 "src/parser_proc_grammar.y" /* glr.c:816 */
3723 (*(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
)));
3725 #line 3726 "src/parser_proc.c" /* glr.c:816 */
3729 #line 1075 "src/parser_proc_grammar.y" /* glr.c:816 */
3731 (*(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
)));
3733 #line 3734 "src/parser_proc.c" /* glr.c:816 */
3737 #line 1081 "src/parser_proc_grammar.y" /* glr.c:816 */
3739 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3741 #line 3742 "src/parser_proc.c" /* glr.c:816 */
3745 #line 1084 "src/parser_proc_grammar.y" /* glr.c:816 */
3747 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3749 #line 3750 "src/parser_proc.c" /* glr.c:816 */
3753 #line 1087 "src/parser_proc_grammar.y" /* glr.c:816 */
3755 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3757 #line 3758 "src/parser_proc.c" /* glr.c:816 */
3761 #line 1108 "src/parser_proc_grammar.y" /* glr.c:816 */
3763 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3764 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3766 #line 3767 "src/parser_proc.c" /* glr.c:816 */
3770 #line 1120 "src/parser_proc_grammar.y" /* glr.c:816 */
3772 (*(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
)));
3773 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3774 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3775 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3778 #line 3779 "src/parser_proc.c" /* glr.c:816 */
3782 #line 1127 "src/parser_proc_grammar.y" /* glr.c:816 */
3784 (*(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
)));
3785 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3786 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3787 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3788 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3791 #line 3792 "src/parser_proc.c" /* glr.c:816 */
3795 #line 1138 "src/parser_proc_grammar.y" /* glr.c:816 */
3797 (*(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
)));
3798 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3799 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3800 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3803 #line 3804 "src/parser_proc.c" /* glr.c:816 */
3807 #line 1145 "src/parser_proc_grammar.y" /* glr.c:816 */
3809 (*(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
)));
3810 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3811 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3812 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3813 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3816 #line 3817 "src/parser_proc.c" /* glr.c:816 */
3820 #line 1156 "src/parser_proc_grammar.y" /* glr.c:816 */
3822 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3823 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3824 (*(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));
3825 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3826 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3828 #line 3829 "src/parser_proc.c" /* glr.c:816 */
3832 #line 1163 "src/parser_proc_grammar.y" /* glr.c:816 */
3834 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3835 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3836 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3837 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
),
3838 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)
3840 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3841 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3842 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3844 #line 3845 "src/parser_proc.c" /* glr.c:816 */
3848 #line 1174 "src/parser_proc_grammar.y" /* glr.c:816 */
3850 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3851 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3852 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3853 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
),
3854 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)
3856 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3857 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3858 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3860 #line 3861 "src/parser_proc.c" /* glr.c:816 */
3864 #line 1185 "src/parser_proc_grammar.y" /* glr.c:816 */
3866 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3867 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3868 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3869 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
),
3870 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3872 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3873 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3874 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3876 #line 3877 "src/parser_proc.c" /* glr.c:816 */
3880 #line 1200 "src/parser_proc_grammar.y" /* glr.c:816 */
3882 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3883 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
),
3884 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3886 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3887 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3888 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3890 #line 3891 "src/parser_proc.c" /* glr.c:816 */
3894 #line 1212 "src/parser_proc_grammar.y" /* glr.c:816 */
3896 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3898 #line 3899 "src/parser_proc.c" /* glr.c:816 */
3902 #line 1215 "src/parser_proc_grammar.y" /* glr.c:816 */
3904 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3906 #line 3907 "src/parser_proc.c" /* glr.c:816 */
3910 #line 1218 "src/parser_proc_grammar.y" /* glr.c:816 */
3912 (*(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
)));
3914 #line 3915 "src/parser_proc.c" /* glr.c:816 */
3918 #line 1221 "src/parser_proc_grammar.y" /* glr.c:816 */
3920 (*(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
)));
3922 #line 3923 "src/parser_proc.c" /* glr.c:816 */
3926 #line 1228 "src/parser_proc_grammar.y" /* glr.c:816 */
3928 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3930 #line 3931 "src/parser_proc.c" /* glr.c:816 */
3934 #line 1231 "src/parser_proc_grammar.y" /* glr.c:816 */
3936 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3937 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3938 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3941 #line 3942 "src/parser_proc.c" /* glr.c:816 */
3945 #line 1237 "src/parser_proc_grammar.y" /* glr.c:816 */
3947 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3948 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
),
3949 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3951 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3952 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3953 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3955 #line 3956 "src/parser_proc.c" /* glr.c:816 */
3959 #line 1246 "src/parser_proc_grammar.y" /* glr.c:816 */
3961 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3962 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
),
3963 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3965 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3966 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3967 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3969 #line 3970 "src/parser_proc.c" /* glr.c:816 */
3973 #line 1258 "src/parser_proc_grammar.y" /* glr.c:816 */
3975 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3976 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3977 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3979 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3980 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3982 #line 3983 "src/parser_proc.c" /* glr.c:816 */
3986 #line 1266 "src/parser_proc_grammar.y" /* glr.c:816 */
3988 (*(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
)));
3990 #line 3991 "src/parser_proc.c" /* glr.c:816 */
3994 #line 1269 "src/parser_proc_grammar.y" /* glr.c:816 */
3996 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3997 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3998 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
),
3999 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)
4001 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4002 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4003 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4005 #line 4006 "src/parser_proc.c" /* glr.c:816 */
4009 #line 1279 "src/parser_proc_grammar.y" /* glr.c:816 */
4011 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4012 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4013 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
),
4014 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)
4016 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4017 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4018 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4020 #line 4021 "src/parser_proc.c" /* glr.c:816 */
4024 #line 1292 "src/parser_proc_grammar.y" /* glr.c:816 */
4026 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4027 (*(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
)));
4028 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4030 #line 4031 "src/parser_proc.c" /* glr.c:816 */
4034 #line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */
4036 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4037 (*(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
)));
4038 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4040 #line 4041 "src/parser_proc.c" /* glr.c:816 */
4044 #line 1305 "src/parser_proc_grammar.y" /* glr.c:816 */
4046 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4047 (*(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
)));
4048 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4049 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4050 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4052 #line 4053 "src/parser_proc.c" /* glr.c:816 */
4056 #line 1315 "src/parser_proc_grammar.y" /* glr.c:816 */
4058 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4059 (*(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
)));
4060 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4061 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4062 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4064 #line 4065 "src/parser_proc.c" /* glr.c:816 */
4068 #line 1325 "src/parser_proc_grammar.y" /* glr.c:816 */
4070 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4072 #line 4073 "src/parser_proc.c" /* glr.c:816 */
4076 #line 1332 "src/parser_proc_grammar.y" /* glr.c:816 */
4078 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4080 #line 4081 "src/parser_proc.c" /* glr.c:816 */
4084 #line 1338 "src/parser_proc_grammar.y" /* glr.c:816 */
4086 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4087 (*(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
)));
4088 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4090 struct psi_decl_arg
*arg
;
4092 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4093 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4094 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4096 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4099 #line 4100 "src/parser_proc.c" /* glr.c:816 */
4103 #line 1352 "src/parser_proc_grammar.y" /* glr.c:816 */
4105 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4106 (*(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
)));
4107 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4109 struct psi_decl_arg
*arg
;
4111 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4112 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4113 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4115 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4118 #line 4119 "src/parser_proc.c" /* glr.c:816 */
4122 #line 1369 "src/parser_proc_grammar.y" /* glr.c:816 */
4124 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4126 #line 4127 "src/parser_proc.c" /* glr.c:816 */
4130 #line 1372 "src/parser_proc_grammar.y" /* glr.c:816 */
4132 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4134 #line 4135 "src/parser_proc.c" /* glr.c:816 */
4138 #line 1378 "src/parser_proc_grammar.y" /* glr.c:816 */
4141 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4142 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4143 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4146 #line 4147 "src/parser_proc.c" /* glr.c:816 */
4150 #line 1385 "src/parser_proc_grammar.y" /* glr.c:816 */
4153 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4154 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4155 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4158 #line 4159 "src/parser_proc.c" /* glr.c:816 */
4162 #line 1395 "src/parser_proc_grammar.y" /* glr.c:816 */
4164 (*(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
)));
4165 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4167 #line 4168 "src/parser_proc.c" /* glr.c:816 */
4171 #line 1402 "src/parser_proc_grammar.y" /* glr.c:816 */
4173 (*(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
)));
4175 #line 4176 "src/parser_proc.c" /* glr.c:816 */
4179 #line 1405 "src/parser_proc_grammar.y" /* glr.c:816 */
4181 (*(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
)));
4183 #line 4184 "src/parser_proc.c" /* glr.c:816 */
4187 #line 1411 "src/parser_proc_grammar.y" /* glr.c:816 */
4189 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4190 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4191 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4193 #line 4194 "src/parser_proc.c" /* glr.c:816 */
4197 #line 1416 "src/parser_proc_grammar.y" /* glr.c:816 */
4199 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4200 (*(struct psi_decl_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
)));
4201 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4203 #line 4204 "src/parser_proc.c" /* glr.c:816 */
4207 #line 1424 "src/parser_proc_grammar.y" /* glr.c:816 */
4209 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4210 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4212 #line 4213 "src/parser_proc.c" /* glr.c:816 */
4216 #line 1428 "src/parser_proc_grammar.y" /* glr.c:816 */
4218 (*(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
)));
4219 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4221 #line 4222 "src/parser_proc.c" /* glr.c:816 */
4225 #line 1432 "src/parser_proc_grammar.y" /* glr.c:816 */
4227 (*(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
)));
4228 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4230 #line 4231 "src/parser_proc.c" /* glr.c:816 */
4234 #line 1436 "src/parser_proc_grammar.y" /* glr.c:816 */
4236 (*(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
)));
4237 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4239 #line 4240 "src/parser_proc.c" /* glr.c:816 */
4243 #line 1440 "src/parser_proc_grammar.y" /* glr.c:816 */
4245 (*(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
)));
4246 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4248 #line 4249 "src/parser_proc.c" /* glr.c:816 */
4252 #line 1444 "src/parser_proc_grammar.y" /* glr.c:816 */
4254 (*(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
)));
4255 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4257 #line 4258 "src/parser_proc.c" /* glr.c:816 */
4261 #line 1451 "src/parser_proc_grammar.y" /* glr.c:816 */
4263 (*(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
);
4264 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4266 #line 4267 "src/parser_proc.c" /* glr.c:816 */
4270 #line 1455 "src/parser_proc_grammar.y" /* glr.c:816 */
4272 (*(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);
4273 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4275 #line 4276 "src/parser_proc.c" /* glr.c:816 */
4279 #line 1459 "src/parser_proc_grammar.y" /* glr.c:816 */
4281 (*(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);
4282 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4284 #line 4285 "src/parser_proc.c" /* glr.c:816 */
4288 #line 1463 "src/parser_proc_grammar.y" /* glr.c:816 */
4290 (*(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);
4291 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4293 #line 4294 "src/parser_proc.c" /* glr.c:816 */
4297 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
4299 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4300 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4302 #line 4303 "src/parser_proc.c" /* glr.c:816 */
4306 #line 1471 "src/parser_proc_grammar.y" /* glr.c:816 */
4308 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4310 #line 4311 "src/parser_proc.c" /* glr.c:816 */
4314 #line 1477 "src/parser_proc_grammar.y" /* glr.c:816 */
4316 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4317 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4319 #line 4320 "src/parser_proc.c" /* glr.c:816 */
4323 #line 1481 "src/parser_proc_grammar.y" /* glr.c:816 */
4325 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4326 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4328 #line 4329 "src/parser_proc.c" /* glr.c:816 */
4332 #line 1488 "src/parser_proc_grammar.y" /* glr.c:816 */
4334 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4336 #line 4337 "src/parser_proc.c" /* glr.c:816 */
4340 #line 1491 "src/parser_proc_grammar.y" /* glr.c:816 */
4342 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4343 int8_t sizeof_void_p
= sizeof(void *);
4344 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4346 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4349 #line 4350 "src/parser_proc.c" /* glr.c:816 */
4353 #line 1502 "src/parser_proc_grammar.y" /* glr.c:816 */
4355 int8_t sizeof_void_p
= sizeof(void *);
4356 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4358 #line 4359 "src/parser_proc.c" /* glr.c:816 */
4362 #line 1506 "src/parser_proc_grammar.y" /* glr.c:816 */
4364 int8_t sizeof_a
= sizeof('a');
4365 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4367 #line 4368 "src/parser_proc.c" /* glr.c:816 */
4371 #line 1510 "src/parser_proc_grammar.y" /* glr.c:816 */
4373 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4375 #line 4376 "src/parser_proc.c" /* glr.c:816 */
4379 #line 1516 "src/parser_proc_grammar.y" /* glr.c:816 */
4381 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4382 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4386 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4387 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4390 #line 4391 "src/parser_proc.c" /* glr.c:816 */
4394 #line 1529 "src/parser_proc_grammar.y" /* glr.c:816 */
4396 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4397 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4401 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4402 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4405 #line 4406 "src/parser_proc.c" /* glr.c:816 */
4409 #line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */
4411 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4412 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4416 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4417 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4420 #line 4421 "src/parser_proc.c" /* glr.c:816 */
4424 #line 1555 "src/parser_proc_grammar.y" /* glr.c:816 */
4426 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4428 #line 4429 "src/parser_proc.c" /* glr.c:816 */
4432 #line 1558 "src/parser_proc_grammar.y" /* glr.c:816 */
4434 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4435 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4437 #line 4438 "src/parser_proc.c" /* glr.c:816 */
4441 #line 1565 "src/parser_proc_grammar.y" /* glr.c:816 */
4443 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4445 #line 4446 "src/parser_proc.c" /* glr.c:816 */
4449 #line 1568 "src/parser_proc_grammar.y" /* glr.c:816 */
4451 (*(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
));
4453 #line 4454 "src/parser_proc.c" /* glr.c:816 */
4457 #line 1571 "src/parser_proc_grammar.y" /* glr.c:816 */
4459 (*(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
);
4461 #line 4462 "src/parser_proc.c" /* glr.c:816 */
4465 #line 1574 "src/parser_proc_grammar.y" /* glr.c:816 */
4467 (*(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
));
4469 #line 4470 "src/parser_proc.c" /* glr.c:816 */
4473 #line 1580 "src/parser_proc_grammar.y" /* glr.c:816 */
4475 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4476 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4478 #line 4479 "src/parser_proc.c" /* glr.c:816 */
4482 #line 1584 "src/parser_proc_grammar.y" /* glr.c:816 */
4484 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4485 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4487 #line 4488 "src/parser_proc.c" /* glr.c:816 */
4491 #line 1591 "src/parser_proc_grammar.y" /* glr.c:816 */
4493 (*(size_t*)(&(*yyvalp
))) = 0;
4495 #line 4496 "src/parser_proc.c" /* glr.c:816 */
4499 #line 1594 "src/parser_proc_grammar.y" /* glr.c:816 */
4501 (*(size_t*)(&(*yyvalp
))) = 0;
4503 #line 4504 "src/parser_proc.c" /* glr.c:816 */
4507 #line 1597 "src/parser_proc_grammar.y" /* glr.c:816 */
4509 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
)) {
4510 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4512 (*(size_t*)(&(*yyvalp
))) = 0;
4515 #line 4516 "src/parser_proc.c" /* glr.c:816 */
4519 #line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */
4521 (*(size_t*)(&(*yyvalp
))) = 0;
4523 #line 4524 "src/parser_proc.c" /* glr.c:816 */
4527 #line 1610 "src/parser_proc_grammar.y" /* glr.c:816 */
4529 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4531 #line 4532 "src/parser_proc.c" /* glr.c:816 */
4535 #line 1617 "src/parser_proc_grammar.y" /* glr.c:816 */
4537 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4539 #line 4540 "src/parser_proc.c" /* glr.c:816 */
4543 #line 1623 "src/parser_proc_grammar.y" /* glr.c:816 */
4545 (*(size_t*)(&(*yyvalp
))) = 1;
4547 #line 4548 "src/parser_proc.c" /* glr.c:816 */
4551 #line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */
4553 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4555 #line 4556 "src/parser_proc.c" /* glr.c:816 */
4559 #line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */
4561 (*(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
)));
4563 #line 4564 "src/parser_proc.c" /* glr.c:816 */
4567 #line 1646 "src/parser_proc_grammar.y" /* glr.c:816 */
4569 (*(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
)));
4570 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4572 #line 4573 "src/parser_proc.c" /* glr.c:816 */
4576 #line 1653 "src/parser_proc_grammar.y" /* glr.c:816 */
4578 (*(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
)));
4579 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4580 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4582 #line 4583 "src/parser_proc.c" /* glr.c:816 */
4586 #line 1658 "src/parser_proc_grammar.y" /* glr.c:816 */
4588 (*(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
)));
4589 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4590 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4592 #line 4593 "src/parser_proc.c" /* glr.c:816 */
4596 #line 1663 "src/parser_proc_grammar.y" /* glr.c:816 */
4598 (*(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
)));
4599 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4600 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4601 (*(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
);
4602 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4604 #line 4605 "src/parser_proc.c" /* glr.c:816 */
4608 #line 1673 "src/parser_proc_grammar.y" /* glr.c:816 */
4610 (*(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
)));
4612 #line 4613 "src/parser_proc.c" /* glr.c:816 */
4616 #line 1676 "src/parser_proc_grammar.y" /* glr.c:816 */
4618 (*(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
)));
4620 #line 4621 "src/parser_proc.c" /* glr.c:816 */
4624 #line 1682 "src/parser_proc_grammar.y" /* glr.c:816 */
4626 (*(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
);
4628 #line 4629 "src/parser_proc.c" /* glr.c:816 */
4632 #line 1685 "src/parser_proc_grammar.y" /* glr.c:816 */
4634 (*(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
)));
4636 #line 4637 "src/parser_proc.c" /* glr.c:816 */
4640 #line 1691 "src/parser_proc_grammar.y" /* glr.c:816 */
4642 (*(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
)));
4643 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4645 #line 4646 "src/parser_proc.c" /* glr.c:816 */
4649 #line 1698 "src/parser_proc_grammar.y" /* glr.c:816 */
4651 (*(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
);
4652 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4654 #line 4655 "src/parser_proc.c" /* glr.c:816 */
4658 #line 1717 "src/parser_proc_grammar.y" /* glr.c:816 */
4660 (*(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
)));
4662 #line 4663 "src/parser_proc.c" /* glr.c:816 */
4666 #line 1720 "src/parser_proc_grammar.y" /* glr.c:816 */
4668 (*(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
)));
4670 #line 4671 "src/parser_proc.c" /* glr.c:816 */
4674 #line 1726 "src/parser_proc_grammar.y" /* glr.c:816 */
4676 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4678 #line 4679 "src/parser_proc.c" /* glr.c:816 */
4682 #line 1729 "src/parser_proc_grammar.y" /* glr.c:816 */
4684 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4686 #line 4687 "src/parser_proc.c" /* glr.c:816 */
4690 #line 1732 "src/parser_proc_grammar.y" /* glr.c:816 */
4692 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4694 #line 4695 "src/parser_proc.c" /* glr.c:816 */
4698 #line 1735 "src/parser_proc_grammar.y" /* glr.c:816 */
4700 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4702 #line 4703 "src/parser_proc.c" /* glr.c:816 */
4706 #line 1738 "src/parser_proc_grammar.y" /* glr.c:816 */
4708 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4710 #line 4711 "src/parser_proc.c" /* glr.c:816 */
4714 #line 1744 "src/parser_proc_grammar.y" /* glr.c:816 */
4716 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4717 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4719 #line 4720 "src/parser_proc.c" /* glr.c:816 */
4723 #line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */
4725 (*(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
))));
4726 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4727 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4729 #line 4730 "src/parser_proc.c" /* glr.c:816 */
4733 #line 1757 "src/parser_proc_grammar.y" /* glr.c:816 */
4735 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4736 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4738 #line 4739 "src/parser_proc.c" /* glr.c:816 */
4742 #line 1761 "src/parser_proc_grammar.y" /* glr.c:816 */
4744 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4745 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4747 #line 4748 "src/parser_proc.c" /* glr.c:816 */
4751 #line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */
4753 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4755 #line 4756 "src/parser_proc.c" /* glr.c:816 */
4759 #line 1771 "src/parser_proc_grammar.y" /* glr.c:816 */
4761 (*(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
)));
4763 #line 4764 "src/parser_proc.c" /* glr.c:816 */
4767 #line 1774 "src/parser_proc_grammar.y" /* glr.c:816 */
4769 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4771 #line 4772 "src/parser_proc.c" /* glr.c:816 */
4775 #line 1777 "src/parser_proc_grammar.y" /* glr.c:816 */
4777 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4778 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4780 #line 4781 "src/parser_proc.c" /* glr.c:816 */
4784 #line 1781 "src/parser_proc_grammar.y" /* glr.c:816 */
4786 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4788 #line 4789 "src/parser_proc.c" /* glr.c:816 */
4792 #line 1784 "src/parser_proc_grammar.y" /* glr.c:816 */
4794 (*(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
)));
4796 #line 4797 "src/parser_proc.c" /* glr.c:816 */
4800 #line 1790 "src/parser_proc_grammar.y" /* glr.c:816 */
4802 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4803 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4805 #line 4806 "src/parser_proc.c" /* glr.c:816 */
4809 #line 1794 "src/parser_proc_grammar.y" /* glr.c:816 */
4811 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4812 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4813 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4815 #line 4816 "src/parser_proc.c" /* glr.c:816 */
4819 #line 1802 "src/parser_proc_grammar.y" /* glr.c:816 */
4821 (*(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
)));
4822 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4824 #line 4825 "src/parser_proc.c" /* glr.c:816 */
4828 #line 1809 "src/parser_proc_grammar.y" /* glr.c:816 */
4830 (*(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
)));
4831 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4832 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4834 #line 4835 "src/parser_proc.c" /* glr.c:816 */
4838 #line 1817 "src/parser_proc_grammar.y" /* glr.c:816 */
4840 (*(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
)));
4841 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4842 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4844 #line 4845 "src/parser_proc.c" /* glr.c:816 */
4848 #line 1838 "src/parser_proc_grammar.y" /* glr.c:816 */
4850 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4852 #line 4853 "src/parser_proc.c" /* glr.c:816 */
4856 #line 1841 "src/parser_proc_grammar.y" /* glr.c:816 */
4858 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4860 #line 4861 "src/parser_proc.c" /* glr.c:816 */
4864 #line 1847 "src/parser_proc_grammar.y" /* glr.c:816 */
4866 (*(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
)));
4868 #line 4869 "src/parser_proc.c" /* glr.c:816 */
4872 #line 1850 "src/parser_proc_grammar.y" /* glr.c:816 */
4874 (*(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
)));
4876 #line 4877 "src/parser_proc.c" /* glr.c:816 */
4880 #line 1861 "src/parser_proc_grammar.y" /* glr.c:816 */
4882 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4884 #line 4885 "src/parser_proc.c" /* glr.c:816 */
4888 #line 1864 "src/parser_proc_grammar.y" /* glr.c:816 */
4890 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4892 #line 4893 "src/parser_proc.c" /* glr.c:816 */
4896 #line 1870 "src/parser_proc_grammar.y" /* glr.c:816 */
4898 (*(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
)));
4900 #line 4901 "src/parser_proc.c" /* glr.c:816 */
4904 #line 1873 "src/parser_proc_grammar.y" /* glr.c:816 */
4906 (*(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
)));
4908 #line 4909 "src/parser_proc.c" /* glr.c:816 */
4912 #line 1879 "src/parser_proc_grammar.y" /* glr.c:816 */
4914 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4915 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4917 #line 4918 "src/parser_proc.c" /* glr.c:816 */
4921 #line 1886 "src/parser_proc_grammar.y" /* glr.c:816 */
4923 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4924 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
4926 #line 4927 "src/parser_proc.c" /* glr.c:816 */
4930 #line 1890 "src/parser_proc_grammar.y" /* glr.c:816 */
4932 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init(NULL
, NULL
, psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4933 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4935 #line 4936 "src/parser_proc.c" /* glr.c:816 */
4939 #line 1897 "src/parser_proc_grammar.y" /* glr.c:816 */
4941 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4943 #line 4944 "src/parser_proc.c" /* glr.c:816 */
4947 #line 1900 "src/parser_proc_grammar.y" /* glr.c:816 */
4949 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4951 #line 4952 "src/parser_proc.c" /* glr.c:816 */
4955 #line 1903 "src/parser_proc_grammar.y" /* glr.c:816 */
4957 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4959 #line 4960 "src/parser_proc.c" /* glr.c:816 */
4963 #line 1909 "src/parser_proc_grammar.y" /* glr.c:816 */
4965 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4966 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4968 #line 4969 "src/parser_proc.c" /* glr.c:816 */
4972 #line 1916 "src/parser_proc_grammar.y" /* glr.c:816 */
4974 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4976 #line 4977 "src/parser_proc.c" /* glr.c:816 */
4980 #line 1919 "src/parser_proc_grammar.y" /* glr.c:816 */
4982 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4984 #line 4985 "src/parser_proc.c" /* glr.c:816 */
4988 #line 1922 "src/parser_proc_grammar.y" /* glr.c:816 */
4990 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4991 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4993 #line 4994 "src/parser_proc.c" /* glr.c:816 */
4997 #line 1929 "src/parser_proc_grammar.y" /* glr.c:816 */
4999 (*(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
)));
5000 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5001 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5003 #line 5004 "src/parser_proc.c" /* glr.c:816 */
5007 #line 1934 "src/parser_proc_grammar.y" /* glr.c:816 */
5009 (*(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
)));
5010 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5011 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5013 #line 5014 "src/parser_proc.c" /* glr.c:816 */
5017 #line 1953 "src/parser_proc_grammar.y" /* glr.c:816 */
5019 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5021 #line 5022 "src/parser_proc.c" /* glr.c:816 */
5025 #line 1956 "src/parser_proc_grammar.y" /* glr.c:816 */
5027 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5029 #line 5030 "src/parser_proc.c" /* glr.c:816 */
5033 #line 1962 "src/parser_proc_grammar.y" /* glr.c:816 */
5035 (*(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
)));
5037 #line 5038 "src/parser_proc.c" /* glr.c:816 */
5041 #line 1965 "src/parser_proc_grammar.y" /* glr.c:816 */
5043 (*(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
)));
5045 #line 5046 "src/parser_proc.c" /* glr.c:816 */
5049 #line 1971 "src/parser_proc_grammar.y" /* glr.c:816 */
5051 (*(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
)));
5052 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5054 #line 5055 "src/parser_proc.c" /* glr.c:816 */
5058 #line 1983 "src/parser_proc_grammar.y" /* glr.c:816 */
5060 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5061 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5063 #line 5064 "src/parser_proc.c" /* glr.c:816 */
5067 #line 1990 "src/parser_proc_grammar.y" /* glr.c:816 */
5069 (*(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
)));
5071 #line 5072 "src/parser_proc.c" /* glr.c:816 */
5075 #line 1993 "src/parser_proc_grammar.y" /* glr.c:816 */
5077 (*(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
)));
5079 #line 5080 "src/parser_proc.c" /* glr.c:816 */
5083 #line 1999 "src/parser_proc_grammar.y" /* glr.c:816 */
5085 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5086 (*(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
)));
5087 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5089 #line 5090 "src/parser_proc.c" /* glr.c:816 */
5093 #line 2007 "src/parser_proc_grammar.y" /* glr.c:816 */
5095 (*(bool*)(&(*yyvalp
))) = false;
5097 #line 5098 "src/parser_proc.c" /* glr.c:816 */
5101 #line 2010 "src/parser_proc_grammar.y" /* glr.c:816 */
5103 (*(bool*)(&(*yyvalp
))) = true;
5105 #line 5106 "src/parser_proc.c" /* glr.c:816 */
5109 #line 5110 "src/parser_proc.c" /* glr.c:816 */
5120 # undef YYRECOVERING
5125 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5137 /* Bison grammar-table manipulation. */
5139 /*-----------------------------------------------.
5140 | Release the memory associated to this symbol. |
5141 `-----------------------------------------------*/
5144 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5152 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5154 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5157 case 129: /* binary_op_token */
5158 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5160 #line 5161 "src/parser_proc.c" /* glr.c:846 */
5163 case 130: /* unary_op_token */
5164 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5166 #line 5167 "src/parser_proc.c" /* glr.c:846 */
5169 case 131: /* name_token */
5170 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5172 #line 5173 "src/parser_proc.c" /* glr.c:846 */
5175 case 132: /* any_noeol_token */
5176 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5178 #line 5179 "src/parser_proc.c" /* glr.c:846 */
5182 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5183 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5184 #line 5185 "src/parser_proc.c" /* glr.c:846 */
5188 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5189 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5190 #line 5191 "src/parser_proc.c" /* glr.c:846 */
5193 case 139: /* cpp_exp */
5194 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5195 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5196 #line 5197 "src/parser_proc.c" /* glr.c:846 */
5199 case 141: /* cpp_message_token */
5200 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5202 #line 5203 "src/parser_proc.c" /* glr.c:846 */
5205 case 142: /* cpp_include_token */
5206 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5208 #line 5209 "src/parser_proc.c" /* glr.c:846 */
5211 case 143: /* cpp_header_token */
5212 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5214 #line 5215 "src/parser_proc.c" /* glr.c:846 */
5217 case 144: /* cpp_no_arg_token */
5218 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5220 #line 5221 "src/parser_proc.c" /* glr.c:846 */
5223 case 145: /* cpp_name_arg_token */
5224 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5226 #line 5227 "src/parser_proc.c" /* glr.c:846 */
5229 case 146: /* cpp_exp_arg_token */
5230 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5232 #line 5233 "src/parser_proc.c" /* glr.c:846 */
5235 case 147: /* cpp_special_name_token */
5236 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5238 #line 5239 "src/parser_proc.c" /* glr.c:846 */
5241 case 148: /* cpp_macro_decl */
5242 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5243 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5244 #line 5245 "src/parser_proc.c" /* glr.c:846 */
5247 case 149: /* cpp_macro_sig */
5248 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5249 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5250 #line 5251 "src/parser_proc.c" /* glr.c:846 */
5253 case 150: /* cpp_macro_sig_args */
5254 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5255 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5256 #line 5257 "src/parser_proc.c" /* glr.c:846 */
5259 case 151: /* cpp_macro_decl_tokens */
5260 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5261 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5262 #line 5263 "src/parser_proc.c" /* glr.c:846 */
5265 case 152: /* cpp_macro_decl_token_list */
5266 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5267 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5268 #line 5269 "src/parser_proc.c" /* glr.c:846 */
5271 case 153: /* cpp_macro_exp */
5272 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
5273 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5274 #line 5275 "src/parser_proc.c" /* glr.c:846 */
5277 case 154: /* cpp_macro_call_args */
5278 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5279 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5280 #line 5281 "src/parser_proc.c" /* glr.c:846 */
5283 case 155: /* cpp_macro_call_arg_list */
5284 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5285 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5286 #line 5287 "src/parser_proc.c" /* glr.c:846 */
5289 case 156: /* constant */
5290 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
5291 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5292 #line 5293 "src/parser_proc.c" /* glr.c:846 */
5295 case 157: /* constant_type */
5296 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5297 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5298 #line 5299 "src/parser_proc.c" /* glr.c:846 */
5301 case 158: /* constant_type_token */
5302 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5304 #line 5305 "src/parser_proc.c" /* glr.c:846 */
5307 case 159: /* impl_def_val */
5308 #line 287 "src/parser_proc_grammar.y" /* glr.c:846 */
5309 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5310 #line 5311 "src/parser_proc.c" /* glr.c:846 */
5313 case 160: /* impl_def_val_token */
5314 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5316 #line 5317 "src/parser_proc.c" /* glr.c:846 */
5319 case 161: /* decl_typedef */
5320 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5321 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5322 #line 5323 "src/parser_proc.c" /* glr.c:846 */
5325 case 162: /* typedef */
5326 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5327 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5328 #line 5329 "src/parser_proc.c" /* glr.c:846 */
5331 case 163: /* typedef_anon */
5332 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5333 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5334 #line 5335 "src/parser_proc.c" /* glr.c:846 */
5337 case 164: /* typedef_decl */
5338 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5339 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5340 #line 5341 "src/parser_proc.c" /* glr.c:846 */
5343 case 165: /* typedef_anon_decl */
5344 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5345 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5346 #line 5347 "src/parser_proc.c" /* glr.c:846 */
5349 case 166: /* qualified_decl_type */
5350 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5351 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5352 #line 5353 "src/parser_proc.c" /* glr.c:846 */
5355 case 167: /* decl_type */
5356 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5357 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5358 #line 5359 "src/parser_proc.c" /* glr.c:846 */
5361 case 168: /* decl_type_complex */
5362 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5363 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5364 #line 5365 "src/parser_proc.c" /* glr.c:846 */
5367 case 169: /* decl_type_simple */
5368 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5369 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5370 #line 5371 "src/parser_proc.c" /* glr.c:846 */
5373 case 170: /* decl_real_type */
5374 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5375 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5376 #line 5377 "src/parser_proc.c" /* glr.c:846 */
5379 case 171: /* int_signed */
5380 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5382 #line 5383 "src/parser_proc.c" /* glr.c:846 */
5385 case 172: /* int_width */
5386 #line 265 "src/parser_proc_grammar.y" /* glr.c:846 */
5387 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5388 #line 5389 "src/parser_proc.c" /* glr.c:846 */
5391 case 173: /* decl_int_type */
5392 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5393 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5394 #line 5395 "src/parser_proc.c" /* glr.c:846 */
5397 case 174: /* int_signed_types */
5398 #line 265 "src/parser_proc_grammar.y" /* glr.c:846 */
5399 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5400 #line 5401 "src/parser_proc.c" /* glr.c:846 */
5403 case 175: /* signed_short_types */
5404 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5406 #line 5407 "src/parser_proc.c" /* glr.c:846 */
5409 case 176: /* signed_long_types */
5410 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5412 #line 5413 "src/parser_proc.c" /* glr.c:846 */
5415 case 177: /* int_width_types */
5416 #line 265 "src/parser_proc_grammar.y" /* glr.c:846 */
5417 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5418 #line 5419 "src/parser_proc.c" /* glr.c:846 */
5421 case 178: /* decl_stmt */
5422 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5423 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5424 #line 5425 "src/parser_proc.c" /* glr.c:846 */
5427 case 184: /* decl_vars */
5428 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5429 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5430 #line 5431 "src/parser_proc.c" /* glr.c:846 */
5433 case 189: /* decl */
5434 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5435 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5436 #line 5437 "src/parser_proc.c" /* glr.c:846 */
5439 case 190: /* decl_body */
5440 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5441 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5442 #line 5443 "src/parser_proc.c" /* glr.c:846 */
5445 case 191: /* decl_func_body */
5446 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5447 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5448 #line 5449 "src/parser_proc.c" /* glr.c:846 */
5451 case 192: /* decl_functor_body */
5452 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5453 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5454 #line 5455 "src/parser_proc.c" /* glr.c:846 */
5457 case 193: /* decl_functor */
5458 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5459 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5460 #line 5461 "src/parser_proc.c" /* glr.c:846 */
5463 case 194: /* decl_func */
5464 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5465 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5466 #line 5467 "src/parser_proc.c" /* glr.c:846 */
5469 case 195: /* decl_args */
5470 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5471 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5472 #line 5473 "src/parser_proc.c" /* glr.c:846 */
5475 case 196: /* decl_anon_arg */
5476 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5477 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5478 #line 5479 "src/parser_proc.c" /* glr.c:846 */
5481 case 197: /* decl_arg */
5482 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5483 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5484 #line 5485 "src/parser_proc.c" /* glr.c:846 */
5487 case 198: /* decl_var */
5488 #line 299 "src/parser_proc_grammar.y" /* glr.c:846 */
5489 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5490 #line 5491 "src/parser_proc.c" /* glr.c:846 */
5493 case 199: /* decl_union */
5494 #line 303 "src/parser_proc_grammar.y" /* glr.c:846 */
5495 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5496 #line 5497 "src/parser_proc.c" /* glr.c:846 */
5499 case 200: /* decl_struct */
5500 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5501 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5502 #line 5503 "src/parser_proc.c" /* glr.c:846 */
5505 case 201: /* decl_struct_args */
5506 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5507 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5508 #line 5509 "src/parser_proc.c" /* glr.c:846 */
5511 case 202: /* struct_args_block */
5512 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5513 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5514 #line 5515 "src/parser_proc.c" /* glr.c:846 */
5517 case 203: /* struct_args */
5518 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5519 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5520 #line 5521 "src/parser_proc.c" /* glr.c:846 */
5523 case 204: /* struct_arg_var_list */
5524 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5525 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5526 #line 5527 "src/parser_proc.c" /* glr.c:846 */
5529 case 205: /* decl_vars_with_layout */
5530 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5531 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5532 #line 5533 "src/parser_proc.c" /* glr.c:846 */
5535 case 206: /* decl_enum */
5536 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5537 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5538 #line 5539 "src/parser_proc.c" /* glr.c:846 */
5541 case 207: /* decl_enum_items */
5542 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5543 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5544 #line 5545 "src/parser_proc.c" /* glr.c:846 */
5547 case 208: /* decl_enum_item */
5548 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5549 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5550 #line 5551 "src/parser_proc.c" /* glr.c:846 */
5553 case 209: /* num_exp */
5554 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5555 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5556 #line 5557 "src/parser_proc.c" /* glr.c:846 */
5559 case 210: /* number */
5560 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5561 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5562 #line 5563 "src/parser_proc.c" /* glr.c:846 */
5565 case 211: /* sizeof */
5566 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5567 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5568 #line 5569 "src/parser_proc.c" /* glr.c:846 */
5571 case 212: /* sizeof_body */
5572 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5573 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5574 #line 5575 "src/parser_proc.c" /* glr.c:846 */
5577 case 213: /* sizeof_body_notypes */
5578 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5579 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5580 #line 5581 "src/parser_proc.c" /* glr.c:846 */
5583 case 214: /* enum_name */
5584 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5585 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5586 #line 5587 "src/parser_proc.c" /* glr.c:846 */
5589 case 215: /* union_name */
5590 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5591 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5592 #line 5593 "src/parser_proc.c" /* glr.c:846 */
5595 case 216: /* struct_name */
5596 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5597 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5598 #line 5599 "src/parser_proc.c" /* glr.c:846 */
5601 case 217: /* optional_name */
5602 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5603 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5604 #line 5605 "src/parser_proc.c" /* glr.c:846 */
5607 case 218: /* decl_layout */
5608 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5609 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5610 #line 5611 "src/parser_proc.c" /* glr.c:846 */
5613 case 219: /* align_and_size */
5614 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5616 #line 5617 "src/parser_proc.c" /* glr.c:846 */
5619 case 220: /* array_size */
5620 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5622 #line 5623 "src/parser_proc.c" /* glr.c:846 */
5625 case 221: /* indirection */
5626 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5628 #line 5629 "src/parser_proc.c" /* glr.c:846 */
5631 case 222: /* pointers */
5632 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5634 #line 5635 "src/parser_proc.c" /* glr.c:846 */
5637 case 223: /* asterisks */
5638 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5640 #line 5641 "src/parser_proc.c" /* glr.c:846 */
5643 case 225: /* impl */
5644 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5645 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5646 #line 5647 "src/parser_proc.c" /* glr.c:846 */
5649 case 226: /* impl_func */
5650 #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */
5651 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5652 #line 5653 "src/parser_proc.c" /* glr.c:846 */
5655 case 227: /* impl_args */
5656 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5657 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5658 #line 5659 "src/parser_proc.c" /* glr.c:846 */
5661 case 228: /* impl_arg */
5662 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
5663 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5664 #line 5665 "src/parser_proc.c" /* glr.c:846 */
5667 case 229: /* impl_var */
5668 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5669 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5670 #line 5671 "src/parser_proc.c" /* glr.c:846 */
5673 case 230: /* impl_type */
5674 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5675 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5676 #line 5677 "src/parser_proc.c" /* glr.c:846 */
5679 case 231: /* impl_type_token */
5680 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5681 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5682 #line 5683 "src/parser_proc.c" /* glr.c:846 */
5685 case 232: /* impl_stmts */
5686 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5687 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5688 #line 5689 "src/parser_proc.c" /* glr.c:846 */
5691 case 233: /* impl_stmt */
5692 #line 358 "src/parser_proc_grammar.y" /* glr.c:846 */
5693 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5694 #line 5695 "src/parser_proc.c" /* glr.c:846 */
5697 case 234: /* let_stmt */
5698 #line 331 "src/parser_proc_grammar.y" /* glr.c:846 */
5699 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5700 #line 5701 "src/parser_proc.c" /* glr.c:846 */
5703 case 235: /* let_exp */
5704 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5705 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5706 #line 5707 "src/parser_proc.c" /* glr.c:846 */
5709 case 236: /* let_exp_byref */
5710 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5711 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5712 #line 5713 "src/parser_proc.c" /* glr.c:846 */
5715 case 237: /* let_exp_assign */
5716 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5717 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5718 #line 5719 "src/parser_proc.c" /* glr.c:846 */
5721 case 238: /* let_calloc */
5722 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5723 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5724 #line 5725 "src/parser_proc.c" /* glr.c:846 */
5727 case 239: /* let_callback */
5728 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5729 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5730 #line 5731 "src/parser_proc.c" /* glr.c:846 */
5733 case 240: /* let_func */
5734 #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */
5735 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5736 #line 5737 "src/parser_proc.c" /* glr.c:846 */
5739 case 241: /* let_func_token */
5740 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5741 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5742 #line 5743 "src/parser_proc.c" /* glr.c:846 */
5745 case 242: /* let_func_exps */
5746 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5747 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5748 #line 5749 "src/parser_proc.c" /* glr.c:846 */
5751 case 243: /* let_exps */
5752 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5753 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5754 #line 5755 "src/parser_proc.c" /* glr.c:846 */
5757 case 244: /* callback_rval */
5758 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5759 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5760 #line 5761 "src/parser_proc.c" /* glr.c:846 */
5763 case 245: /* callback_arg_list */
5764 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5765 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5766 #line 5767 "src/parser_proc.c" /* glr.c:846 */
5769 case 246: /* callback_args */
5770 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5771 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5772 #line 5773 "src/parser_proc.c" /* glr.c:846 */
5775 case 247: /* return_stmt */
5776 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
5777 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5778 #line 5779 "src/parser_proc.c" /* glr.c:846 */
5781 case 248: /* return_exp */
5782 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5783 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5784 #line 5785 "src/parser_proc.c" /* glr.c:846 */
5787 case 249: /* call_decl_vars */
5788 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5789 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5790 #line 5791 "src/parser_proc.c" /* glr.c:846 */
5793 case 250: /* set_stmt */
5794 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
5795 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5796 #line 5797 "src/parser_proc.c" /* glr.c:846 */
5799 case 251: /* set_exp */
5800 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5801 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5802 #line 5803 "src/parser_proc.c" /* glr.c:846 */
5805 case 252: /* set_func */
5806 #line 345 "src/parser_proc_grammar.y" /* glr.c:846 */
5807 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5808 #line 5809 "src/parser_proc.c" /* glr.c:846 */
5811 case 253: /* set_func_token */
5812 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5813 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5814 #line 5815 "src/parser_proc.c" /* glr.c:846 */
5817 case 254: /* set_func_exps */
5818 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5819 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5820 #line 5821 "src/parser_proc.c" /* glr.c:846 */
5823 case 255: /* set_exps */
5824 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5825 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5826 #line 5827 "src/parser_proc.c" /* glr.c:846 */
5829 case 256: /* assert_stmt */
5830 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
5831 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5832 #line 5833 "src/parser_proc.c" /* glr.c:846 */
5835 case 257: /* assert_stmt_token */
5836 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5837 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5838 #line 5839 "src/parser_proc.c" /* glr.c:846 */
5841 case 258: /* free_stmt */
5842 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5843 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5844 #line 5845 "src/parser_proc.c" /* glr.c:846 */
5847 case 259: /* free_exps */
5848 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5849 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5850 #line 5851 "src/parser_proc.c" /* glr.c:846 */
5853 case 260: /* free_exp */
5854 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
5855 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5856 #line 5857 "src/parser_proc.c" /* glr.c:846 */
5859 case 261: /* reference */
5860 #line 372 "src/parser_proc_grammar.y" /* glr.c:846 */
5862 #line 5863 "src/parser_proc.c" /* glr.c:846 */
5869 YY_IGNORE_MAYBE_UNINITIALIZED_END
5872 /** Number of symbols composing the right hand side of rule #RULE. */
5874 yyrhsLength (yyRuleNum yyrule
)
5876 return yyr2
[yyrule
];
5880 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5882 if (yys
->yyresolved
)
5883 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5884 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5890 if (yys
->yysemantics
.yyfirstVal
)
5891 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5893 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5894 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5898 if (yys
->yysemantics
.yyfirstVal
)
5900 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5903 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5905 yyrh
= yyrh
->yypred
, yyn
-= 1)
5906 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5911 /** Left-hand-side symbol for rule #YYRULE. */
5912 static inline yySymbol
5913 yylhsNonterm (yyRuleNum yyrule
)
5915 return yyr1
[yyrule
];
5918 #define yypact_value_is_default(Yystate) \
5919 (!!((Yystate) == (-693)))
5921 /** True iff LR state YYSTATE has only a default reduction (regardless
5923 static inline yybool
5924 yyisDefaultedState (yyStateNum yystate
)
5926 return yypact_value_is_default (yypact
[yystate
]);
5929 /** The default reduction for YYSTATE, assuming it has one. */
5930 static inline yyRuleNum
5931 yydefaultAction (yyStateNum yystate
)
5933 return yydefact
[yystate
];
5936 #define yytable_value_is_error(Yytable_value) \
5939 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5941 * R < 0: Reduce on rule -R.
5943 * R > 0: Shift to state R.
5944 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5945 * of conflicting reductions.
5948 yygetLRActions (yyStateNum yystate
, int yytoken
,
5949 int* yyaction
, const short int** yyconflicts
)
5951 int yyindex
= yypact
[yystate
] + yytoken
;
5952 if (yypact_value_is_default (yypact
[yystate
])
5953 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5955 *yyaction
= -yydefact
[yystate
];
5956 *yyconflicts
= yyconfl
;
5958 else if (! yytable_value_is_error (yytable
[yyindex
]))
5960 *yyaction
= yytable
[yyindex
];
5961 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5966 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5970 /** Compute post-reduction state.
5971 * \param yystate the current state
5972 * \param yysym the nonterminal to push on the stack
5974 static inline yyStateNum
5975 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5977 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5978 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5979 return yytable
[yyr
];
5981 return yydefgoto
[yysym
- YYNTOKENS
];
5984 static inline yybool
5985 yyisShiftAction (int yyaction
)
5987 return 0 < yyaction
;
5990 static inline yybool
5991 yyisErrorAction (int yyaction
)
5993 return yyaction
== 0;
5998 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5999 * if YYISSTATE, and otherwise a semantic option. Callers should call
6000 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6003 static inline yyGLRStackItem
*
6004 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6006 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6007 yystackp
->yyspaceLeft
-= 1;
6008 yystackp
->yynextFree
+= 1;
6009 yynewItem
->yystate
.yyisState
= yyisState
;
6013 /** Add a new semantic action that will execute the action for rule
6014 * YYRULE on the semantic values in YYRHS to the list of
6015 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6016 * stack #YYK of *YYSTACKP. */
6018 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6019 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6021 yySemanticOption
* yynewOption
=
6022 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6023 YYASSERT (!yynewOption
->yyisState
);
6024 yynewOption
->yystate
= yyrhs
;
6025 yynewOption
->yyrule
= yyrule
;
6026 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6028 yynewOption
->yyrawchar
= yychar
;
6029 yynewOption
->yyval
= yylval
;
6032 yynewOption
->yyrawchar
= YYEMPTY
;
6033 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6034 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6036 YY_RESERVE_GLRSTACK (yystackp
);
6041 /** Initialize YYSET to a singleton set containing an empty stack. */
6043 yyinitStateSet (yyGLRStateSet
* yyset
)
6046 yyset
->yycapacity
= 16;
6047 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6048 if (! yyset
->yystates
)
6050 yyset
->yystates
[0] = YY_NULLPTR
;
6051 yyset
->yylookaheadNeeds
=
6052 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6053 if (! yyset
->yylookaheadNeeds
)
6055 YYFREE (yyset
->yystates
);
6061 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6063 YYFREE (yyset
->yystates
);
6064 YYFREE (yyset
->yylookaheadNeeds
);
6067 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6068 * capacity for all stacks of YYSIZE. */
6070 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6072 yystackp
->yyerrState
= 0;
6074 yystackp
->yyspaceLeft
= yysize
;
6076 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6077 if (!yystackp
->yyitems
)
6079 yystackp
->yynextFree
= yystackp
->yyitems
;
6080 yystackp
->yysplitPoint
= YY_NULLPTR
;
6081 yystackp
->yylastDeleted
= YY_NULLPTR
;
6082 return yyinitStateSet (&yystackp
->yytops
);
6086 #if YYSTACKEXPANDABLE
6087 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6088 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6090 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6091 stack from outside should be considered invalid after this call.
6092 We always expand when there are 1 or fewer items left AFTER an
6093 allocation, so that we can avoid having external pointers exist
6094 across an allocation. */
6096 yyexpandGLRStack (yyGLRStack
* yystackp
)
6098 yyGLRStackItem
* yynewItems
;
6099 yyGLRStackItem
* yyp0
, *yyp1
;
6102 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6103 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6104 yyMemoryExhausted (yystackp
);
6105 yynewSize
= 2*yysize
;
6106 if (YYMAXDEPTH
< yynewSize
)
6107 yynewSize
= YYMAXDEPTH
;
6108 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6110 yyMemoryExhausted (yystackp
);
6111 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6113 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6116 if (*(yybool
*) yyp0
)
6118 yyGLRState
* yys0
= &yyp0
->yystate
;
6119 yyGLRState
* yys1
= &yyp1
->yystate
;
6120 if (yys0
->yypred
!= YY_NULLPTR
)
6122 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6123 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6124 yys1
->yysemantics
.yyfirstVal
=
6125 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6129 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6130 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6131 if (yyv0
->yystate
!= YY_NULLPTR
)
6132 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6133 if (yyv0
->yynext
!= YY_NULLPTR
)
6134 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6137 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6138 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6139 yystackp
->yysplitPoint
, yystate
);
6141 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6142 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6143 yystackp
->yytops
.yystates
[yyn
] =
6144 YYRELOC (yystackp
->yyitems
, yynewItems
,
6145 yystackp
->yytops
.yystates
[yyn
], yystate
);
6146 YYFREE (yystackp
->yyitems
);
6147 yystackp
->yyitems
= yynewItems
;
6148 yystackp
->yynextFree
= yynewItems
+ yysize
;
6149 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6154 yyfreeGLRStack (yyGLRStack
* yystackp
)
6156 YYFREE (yystackp
->yyitems
);
6157 yyfreeStateSet (&yystackp
->yytops
);
6160 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6161 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6164 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6166 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6167 yystackp
->yysplitPoint
= yys
;
6170 /** Invalidate stack #YYK in *YYSTACKP. */
6172 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6174 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6175 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6176 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6179 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6180 only be done once after a deletion, and only when all other stacks have
6183 yyundeleteLastStack (yyGLRStack
* yystackp
)
6185 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6187 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6188 yystackp
->yytops
.yysize
= 1;
6189 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6190 yystackp
->yylastDeleted
= YY_NULLPTR
;
6194 yyremoveDeletes (yyGLRStack
* yystackp
)
6198 while (yyj
< yystackp
->yytops
.yysize
)
6200 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6204 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6206 yystackp
->yytops
.yysize
-= 1;
6210 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6211 /* In the current implementation, it's unnecessary to copy
6212 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6213 yyremoveDeletes returns, the parser immediately either enters
6214 deterministic operation or shifts a token. However, it doesn't
6215 hurt, and the code might evolve to need it. */
6216 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6217 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6220 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6221 (unsigned long int) yyi
, (unsigned long int) yyj
));
6229 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6230 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6231 * value *YYVALP and source location *YYLOCP. */
6233 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6237 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6239 yynewState
->yylrState
= yylrState
;
6240 yynewState
->yyposn
= yyposn
;
6241 yynewState
->yyresolved
= yytrue
;
6242 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6243 yynewState
->yysemantics
.yysval
= *yyvalp
;
6244 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6246 YY_RESERVE_GLRSTACK (yystackp
);
6249 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6250 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6251 * semantic value of YYRHS under the action for YYRULE. */
6253 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6254 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6256 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6257 YYASSERT (yynewState
->yyisState
);
6259 yynewState
->yylrState
= yylrState
;
6260 yynewState
->yyposn
= yyposn
;
6261 yynewState
->yyresolved
= yyfalse
;
6262 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6263 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6264 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6266 /* Invokes YY_RESERVE_GLRSTACK. */
6267 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6271 # define YY_REDUCE_PRINT(Args)
6273 # define YY_REDUCE_PRINT(Args) \
6276 yy_reduce_print Args; \
6279 /*----------------------------------------------------------------------.
6280 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6281 `----------------------------------------------------------------------*/
6284 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6285 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6287 int yynrhs
= yyrhsLength (yyrule
);
6289 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6290 (unsigned long int) yyk
, yyrule
- 1,
6291 (unsigned long int) yyrline
[yyrule
]);
6293 yyfillin (yyvsp
, 1, -yynrhs
);
6294 /* The symbols being reduced. */
6295 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6297 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6298 yy_symbol_print (stderr
,
6299 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6300 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6301 , P
, tokens
, index
);
6302 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6303 YYFPRINTF (stderr
, " (unresolved)");
6304 YYFPRINTF (stderr
, "\n");
6309 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6310 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6311 * semantic values. Assumes that all ambiguities in semantic values
6312 * have been previously resolved. Set *YYVALP to the resulting value,
6313 * and *YYLOCP to the computed location (if any). Return value is as
6314 * for userAction. */
6315 static inline YYRESULTTAG
6316 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6317 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6319 int yynrhs
= yyrhsLength (yyrule
);
6321 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6323 /* Standard special case: single stack. */
6324 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6325 YYASSERT (yyk
== 0);
6326 yystackp
->yynextFree
-= yynrhs
;
6327 yystackp
->yyspaceLeft
+= yynrhs
;
6328 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6329 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6330 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6331 yyvalp
, P
, tokens
, index
);
6337 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6338 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6339 = yystackp
->yytops
.yystates
[yyk
];
6340 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6345 yyupdateSplit (yystackp
, yys
);
6346 yystackp
->yytops
.yystates
[yyk
] = yys
;
6347 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6348 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6349 yystackp
, yyvalp
, P
, tokens
, index
);
6353 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6354 * and push back on the resulting nonterminal symbol. Perform the
6355 * semantic action associated with YYRULE and store its value with the
6356 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6357 * unambiguous. Otherwise, store the deferred semantic action with
6358 * the new state. If the new state would have an identical input
6359 * position, LR state, and predecessor to an existing state on the stack,
6360 * it is identified with that existing state, eliminating stack #YYK from
6361 * *YYSTACKP. In this case, the semantic value is
6362 * added to the options for the existing state's semantic value.
6364 static inline YYRESULTTAG
6365 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6366 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6368 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6370 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6374 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6375 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6377 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6378 (unsigned long int) yyk
, yyrule
- 1));
6382 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6383 yyglrShift (yystackp
, yyk
,
6384 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6385 yylhsNonterm (yyrule
)),
6392 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6393 yyStateNum yynewLRState
;
6395 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6401 yyupdateSplit (yystackp
, yys
);
6402 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6404 "Reduced stack %lu by rule #%d; action deferred. "
6405 "Now in state %d.\n",
6406 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6407 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6408 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6410 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6411 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6412 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6414 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6416 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6417 yymarkStackDeleted (yystackp
, yyk
);
6418 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6419 (unsigned long int) yyk
,
6420 (unsigned long int) yyi
));
6426 yystackp
->yytops
.yystates
[yyk
] = yys
;
6427 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6433 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6435 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6437 YYASSERT (yyk
== 0);
6438 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6440 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6442 yyGLRState
** yynewStates
;
6443 yybool
* yynewLookaheadNeeds
;
6445 yynewStates
= YY_NULLPTR
;
6447 if (yystackp
->yytops
.yycapacity
6448 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6449 yyMemoryExhausted (yystackp
);
6450 yystackp
->yytops
.yycapacity
*= 2;
6453 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6454 (yystackp
->yytops
.yycapacity
6455 * sizeof yynewStates
[0]));
6456 if (yynewStates
== YY_NULLPTR
)
6457 yyMemoryExhausted (yystackp
);
6458 yystackp
->yytops
.yystates
= yynewStates
;
6460 yynewLookaheadNeeds
=
6461 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6462 (yystackp
->yytops
.yycapacity
6463 * sizeof yynewLookaheadNeeds
[0]));
6464 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6465 yyMemoryExhausted (yystackp
);
6466 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6468 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6469 = yystackp
->yytops
.yystates
[yyk
];
6470 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6471 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6472 yystackp
->yytops
.yysize
+= 1;
6473 return yystackp
->yytops
.yysize
-1;
6476 /** True iff YYY0 and YYY1 represent identical options at the top level.
6477 * That is, they represent the same rule applied to RHS symbols
6478 * that produce the same terminal symbols. */
6480 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6482 if (yyy0
->yyrule
== yyy1
->yyrule
)
6484 yyGLRState
*yys0
, *yys1
;
6486 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6487 yyn
= yyrhsLength (yyy0
->yyrule
);
6489 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6490 if (yys0
->yyposn
!= yys1
->yyposn
)
6498 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6499 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6501 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6503 yyGLRState
*yys0
, *yys1
;
6505 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6506 yyn
= yyrhsLength (yyy0
->yyrule
);
6508 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6512 else if (yys0
->yyresolved
)
6514 yys1
->yyresolved
= yytrue
;
6515 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6517 else if (yys1
->yyresolved
)
6519 yys0
->yyresolved
= yytrue
;
6520 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6524 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6525 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6528 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6530 else if (*yyz0p
== YY_NULLPTR
)
6535 else if (*yyz0p
< yyz1
)
6537 yySemanticOption
* yyz
= *yyz0p
;
6539 yyz1
= yyz1
->yynext
;
6540 (*yyz0p
)->yynext
= yyz
;
6542 yyz0p
= &(*yyz0p
)->yynext
;
6544 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6549 /** Y0 and Y1 represent two possible actions to take in a given
6550 * parsing state; return 0 if no combination is possible,
6551 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6553 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6555 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6556 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6560 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6565 if (p0
== 0 || p1
== 0)
6574 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6575 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6578 /** Resolve the previous YYN states starting at and including state YYS
6579 * on *YYSTACKP. If result != yyok, some states may have been left
6580 * unresolved possibly with empty semantic option chains. Regardless
6581 * of whether result = yyok, each state has been left with consistent
6582 * data so that yydestroyGLRState can be invoked if necessary. */
6584 yyresolveStates (yyGLRState
* yys
, int yyn
,
6585 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6589 YYASSERT (yys
->yypred
);
6590 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6591 if (! yys
->yyresolved
)
6592 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6597 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6598 * user action, and return the semantic value and location in *YYVALP
6599 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6600 * have been destroyed (assuming the user action destroys all RHS
6601 * semantic values if invoked). */
6603 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6604 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6606 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6607 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6608 YYRESULTTAG yyflag
=
6609 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6613 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6614 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6618 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6620 int yychar_current
= yychar
;
6621 YYSTYPE yylval_current
= yylval
;
6622 yychar
= yyopt
->yyrawchar
;
6623 yylval
= yyopt
->yyval
;
6624 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6625 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6626 yystackp
, yyvalp
, P
, tokens
, index
);
6627 yychar
= yychar_current
;
6628 yylval
= yylval_current
;
6635 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6637 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6640 yyGLRState
* yystates
[1 + YYMAXRHS
];
6641 yyGLRState yyleftmost_state
;
6643 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6644 yystates
[yyi
] = yys
;
6645 if (yys
== YY_NULLPTR
)
6647 yyleftmost_state
.yyposn
= 0;
6648 yystates
[0] = &yyleftmost_state
;
6653 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6654 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6655 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6658 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6659 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6660 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6661 (unsigned long int) yyx
->yystate
->yyposn
);
6662 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6664 if (yystates
[yyi
]->yyresolved
)
6666 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6667 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6668 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6670 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6671 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6672 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6673 (unsigned long int) yystates
[yyi
]->yyposn
);
6676 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6682 yyreportAmbiguity (yySemanticOption
* yyx0
,
6683 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6689 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6690 YYFPRINTF (stderr
, "Option 1,\n");
6691 yyreportTree (yyx0
, 2);
6692 YYFPRINTF (stderr
, "\nOption 2,\n");
6693 yyreportTree (yyx1
, 2);
6694 YYFPRINTF (stderr
, "\n");
6697 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6701 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6702 * perform the indicated actions, and set the semantic value of YYS.
6703 * If result != yyok, the chain of semantic options in YYS has been
6704 * cleared instead or it has been left unmodified except that
6705 * redundant options may have been removed. Regardless of whether
6706 * result = yyok, YYS has been left with consistent data so that
6707 * yydestroyGLRState can be invoked if necessary. */
6709 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6711 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6712 yySemanticOption
* yybest
= yyoptionList
;
6713 yySemanticOption
** yypp
;
6714 yybool yymerge
= yyfalse
;
6718 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6720 yySemanticOption
* yyp
= *yypp
;
6722 if (yyidenticalOptions (yybest
, yyp
))
6724 yymergeOptionSets (yybest
, yyp
);
6725 *yypp
= yyp
->yynext
;
6729 switch (yypreference (yybest
, yyp
))
6732 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6744 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6745 but some compilers complain if the default case is
6749 yypp
= &yyp
->yynext
;
6755 yySemanticOption
* yyp
;
6756 int yyprec
= yydprec
[yybest
->yyrule
];
6757 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6759 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6761 if (yyprec
== yydprec
[yyp
->yyrule
])
6763 YYSTYPE yysval_other
;
6764 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6767 yydestruct ("Cleanup: discarding incompletely merged value for",
6768 yystos
[yys
->yylrState
],
6769 &yysval
, P
, tokens
, index
);
6772 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6777 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6781 yys
->yyresolved
= yytrue
;
6782 yys
->yysemantics
.yysval
= yysval
;
6785 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6790 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6792 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6797 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6798 yys
!= yystackp
->yysplitPoint
;
6799 yys
= yys
->yypred
, yyn
+= 1)
6801 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6802 , P
, tokens
, index
));
6808 yycompressStack (yyGLRStack
* yystackp
)
6810 yyGLRState
* yyp
, *yyq
, *yyr
;
6812 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6815 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6816 yyp
!= yystackp
->yysplitPoint
;
6817 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6820 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6821 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6822 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6823 yystackp
->yysplitPoint
= YY_NULLPTR
;
6824 yystackp
->yylastDeleted
= YY_NULLPTR
;
6826 while (yyr
!= YY_NULLPTR
)
6828 yystackp
->yynextFree
->yystate
= *yyr
;
6830 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6831 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6832 yystackp
->yynextFree
+= 1;
6833 yystackp
->yyspaceLeft
-= 1;
6838 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6839 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6841 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6843 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6844 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6845 (unsigned long int) yyk
, yystate
));
6847 YYASSERT (yystate
!= YYFINAL
);
6849 if (yyisDefaultedState (yystate
))
6852 yyRuleNum yyrule
= yydefaultAction (yystate
);
6855 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6856 (unsigned long int) yyk
));
6857 yymarkStackDeleted (yystackp
, yyk
);
6860 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6861 if (yyflag
== yyerr
)
6865 "(predicate failure or explicit user error).\n",
6866 (unsigned long int) yyk
));
6867 yymarkStackDeleted (yystackp
, yyk
);
6877 const short int* yyconflicts
;
6879 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6880 if (yychar
== YYEMPTY
)
6882 YYDPRINTF ((stderr
, "Reading a token: "));
6883 yychar
= yylex (&yylval
, P
, tokens
, index
);
6886 if (yychar
<= YYEOF
)
6888 yychar
= yytoken
= YYEOF
;
6889 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6893 yytoken
= YYTRANSLATE (yychar
);
6894 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6897 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6899 while (*yyconflicts
!= 0)
6902 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6903 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6904 (unsigned long int) yynewStack
,
6905 (unsigned long int) yyk
));
6906 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6908 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6910 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6911 yyposn
, P
, tokens
, index
));
6912 else if (yyflag
== yyerr
)
6914 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6915 (unsigned long int) yynewStack
));
6916 yymarkStackDeleted (yystackp
, yynewStack
);
6923 if (yyisShiftAction (yyaction
))
6925 else if (yyisErrorAction (yyaction
))
6927 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6928 (unsigned long int) yyk
));
6929 yymarkStackDeleted (yystackp
, yyk
);
6934 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6935 yyimmediate
[-yyaction
], P
, tokens
, index
);
6936 if (yyflag
== yyerr
)
6940 "(predicate failure or explicit user error).\n",
6941 (unsigned long int) yyk
));
6942 yymarkStackDeleted (yystackp
, yyk
);
6945 else if (yyflag
!= yyok
)
6954 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6956 if (yystackp
->yyerrState
!= 0)
6958 #if ! YYERROR_VERBOSE
6959 yyerror (P
, tokens
, index
, YY_("syntax error"));
6962 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6963 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6964 size_t yysize
= yysize0
;
6965 yybool yysize_overflow
= yyfalse
;
6966 char* yymsg
= YY_NULLPTR
;
6967 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6968 /* Internationalized format string. */
6969 const char *yyformat
= YY_NULLPTR
;
6970 /* Arguments of yyformat. */
6971 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6972 /* Number of reported tokens (one for the "unexpected", one per
6976 /* There are many possibilities here to consider:
6977 - If this state is a consistent state with a default action, then
6978 the only way this function was invoked is if the default action
6979 is an error action. In that case, don't check for expected
6980 tokens because there are none.
6981 - The only way there can be no lookahead present (in yychar) is if
6982 this state is a consistent state with a default action. Thus,
6983 detecting the absence of a lookahead is sufficient to determine
6984 that there is no unexpected or expected token to report. In that
6985 case, just report a simple "syntax error".
6986 - Don't assume there isn't a lookahead just because this state is a
6987 consistent state with a default action. There might have been a
6988 previous inconsistent state, consistent state with a non-default
6989 action, or user semantic action that manipulated yychar.
6990 - Of course, the expected token list depends on states to have
6991 correct lookahead information, and it depends on the parser not
6992 to perform extra reductions after fetching a lookahead from the
6993 scanner and before detecting a syntax error. Thus, state merging
6994 (from LALR or IELR) and default reductions corrupt the expected
6995 token list. However, the list is correct for canonical LR with
6996 one exception: it will still contain any token that will not be
6997 accepted due to an error action in a later state.
6999 if (yytoken
!= YYEMPTY
)
7001 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7002 yyarg
[yycount
++] = yytokenName (yytoken
);
7003 if (!yypact_value_is_default (yyn
))
7005 /* Start YYX at -YYN if negative to avoid negative indexes in
7006 YYCHECK. In other words, skip the first -YYN actions for this
7007 state because they are default actions. */
7008 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7009 /* Stay within bounds of both yycheck and yytname. */
7010 int yychecklim
= YYLAST
- yyn
+ 1;
7011 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7013 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7014 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7015 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7017 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7023 yyarg
[yycount
++] = yytokenName (yyx
);
7025 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7026 yysize_overflow
|= yysz
< yysize
;
7035 #define YYCASE_(N, S) \
7039 YYCASE_(0, YY_("syntax error"));
7040 YYCASE_(1, YY_("syntax error, unexpected %s"));
7041 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7042 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7043 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7044 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7049 size_t yysz
= yysize
+ strlen (yyformat
);
7050 yysize_overflow
|= yysz
< yysize
;
7054 if (!yysize_overflow
)
7055 yymsg
= (char *) YYMALLOC (yysize
);
7061 while ((*yyp
= *yyformat
))
7063 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7065 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7074 yyerror (P
, tokens
, index
, yymsg
);
7079 yyerror (P
, tokens
, index
, YY_("syntax error"));
7080 yyMemoryExhausted (yystackp
);
7083 #endif /* YYERROR_VERBOSE */
7087 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7088 yylval, and yylloc are the syntactic category, semantic value, and location
7089 of the lookahead. */
7091 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7096 if (yystackp
->yyerrState
== 3)
7097 /* We just shifted the error token and (perhaps) took some
7098 reductions. Skip tokens until we can proceed. */
7102 if (yychar
== YYEOF
)
7103 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7104 if (yychar
!= YYEMPTY
)
7106 yytoken
= YYTRANSLATE (yychar
);
7107 yydestruct ("Error: discarding",
7108 yytoken
, &yylval
, P
, tokens
, index
);
7110 YYDPRINTF ((stderr
, "Reading a token: "));
7111 yychar
= yylex (&yylval
, P
, tokens
, index
);
7112 if (yychar
<= YYEOF
)
7114 yychar
= yytoken
= YYEOF
;
7115 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7119 yytoken
= YYTRANSLATE (yychar
);
7120 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7122 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7123 if (yypact_value_is_default (yyj
))
7126 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7128 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7131 else if (! yytable_value_is_error (yytable
[yyj
]))
7135 /* Reduce to one stack. */
7136 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7137 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7139 if (yyk
>= yystackp
->yytops
.yysize
)
7140 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7141 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7142 yymarkStackDeleted (yystackp
, yyk
);
7143 yyremoveDeletes (yystackp
);
7144 yycompressStack (yystackp
);
7146 /* Now pop stack until we find a state that shifts the error token. */
7147 yystackp
->yyerrState
= 3;
7148 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7150 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7151 yyj
= yypact
[yys
->yylrState
];
7152 if (! yypact_value_is_default (yyj
))
7155 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7156 && yyisShiftAction (yytable
[yyj
]))
7158 /* Shift the error token. */
7159 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7160 &yylval
, &yyerrloc
);
7161 yyglrShift (yystackp
, 0, yytable
[yyj
],
7162 yys
->yyposn
, &yylval
);
7163 yys
= yystackp
->yytops
.yystates
[0];
7167 if (yys
->yypred
!= YY_NULLPTR
)
7168 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7169 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7170 yystackp
->yynextFree
-= 1;
7171 yystackp
->yyspaceLeft
+= 1;
7173 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7174 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7177 #define YYCHK1(YYE) \
7187 goto yyuser_error; \
7198 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7202 yyGLRStack
* const yystackp
= &yystack
;
7205 YYDPRINTF ((stderr
, "Starting parse\n"));
7208 yylval
= yyval_default
;
7210 /* User initialization code. */
7211 #line 106 "src/parser_proc_grammar.y" /* glr.c:2270 */
7215 #line 7216 "src/parser_proc.c" /* glr.c:2270 */
7217 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7218 goto yyexhaustedlab
;
7219 switch (YYSETJMP (yystack
.yyexception_buffer
))
7222 case 1: goto yyabortlab
;
7223 case 2: goto yyexhaustedlab
;
7224 default: goto yybuglab
;
7226 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7231 /* For efficiency, we have two loops, the first of which is
7232 specialized to deterministic operation (single stack, no
7233 potential ambiguity). */
7239 const short int* yyconflicts
;
7241 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7242 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7243 if (yystate
== YYFINAL
)
7245 if (yyisDefaultedState (yystate
))
7247 yyrule
= yydefaultAction (yystate
);
7251 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7254 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7259 if (yychar
== YYEMPTY
)
7261 YYDPRINTF ((stderr
, "Reading a token: "));
7262 yychar
= yylex (&yylval
, P
, tokens
, index
);
7265 if (yychar
<= YYEOF
)
7267 yychar
= yytoken
= YYEOF
;
7268 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7272 yytoken
= YYTRANSLATE (yychar
);
7273 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7276 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7277 if (*yyconflicts
!= 0)
7279 if (yyisShiftAction (yyaction
))
7281 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7284 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7285 if (0 < yystack
.yyerrState
)
7286 yystack
.yyerrState
-= 1;
7288 else if (yyisErrorAction (yyaction
))
7291 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7295 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7301 yySymbol yytoken_to_shift
;
7304 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7305 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7307 /* yyprocessOneStack returns one of three things:
7309 - An error flag. If the caller is yyprocessOneStack, it
7310 immediately returns as well. When the caller is finally
7311 yyparse, it jumps to an error label via YYCHK1.
7313 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7314 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7315 yyparse's following invocation of yyremoveDeletes will remove
7318 - yyok, when ready to shift a token.
7320 Except in the first case, yyparse will invoke yyremoveDeletes and
7321 then shift the next token onto all remaining stacks. This
7322 synchronization of the shift (that is, after all preceding
7323 reductions on all stacks) helps prevent double destructor calls
7324 on yylval in the event of memory exhaustion. */
7326 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7327 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7328 yyremoveDeletes (&yystack
);
7329 if (yystack
.yytops
.yysize
== 0)
7331 yyundeleteLastStack (&yystack
);
7332 if (yystack
.yytops
.yysize
== 0)
7333 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7334 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7335 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7337 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7341 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7342 a copy of yylval will already be on stack 0 in the event of a
7343 failure in the following loop. Thus, yychar is set to YYEMPTY
7344 before the loop to make sure the user destructor for yylval isn't
7346 yytoken_to_shift
= YYTRANSLATE (yychar
);
7349 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7352 const short int* yyconflicts
;
7353 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7354 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7356 /* Note that yyconflicts were handled by yyprocessOneStack. */
7357 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7358 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7359 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7361 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7362 (unsigned long int) yys
,
7363 yystack
.yytops
.yystates
[yys
]->yylrState
));
7366 if (yystack
.yytops
.yysize
== 1)
7368 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7369 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7370 yycompressStack (&yystack
);
7376 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7377 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7393 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7398 if (yychar
!= YYEMPTY
)
7399 yydestruct ("Cleanup: discarding lookahead",
7400 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7402 /* If the stack is well-formed, pop the stack until it is empty,
7403 destroying its entries as we go. But free the stack regardless
7404 of whether it is well-formed. */
7405 if (yystack
.yyitems
)
7407 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7410 size_t yysize
= yystack
.yytops
.yysize
;
7412 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7415 while (yystates
[yyk
])
7417 yyGLRState
*yys
= yystates
[yyk
];
7418 if (yys
->yypred
!= YY_NULLPTR
)
7419 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7420 yystates
[yyk
] = yys
->yypred
;
7421 yystack
.yynextFree
-= 1;
7422 yystack
.yyspaceLeft
+= 1;
7427 yyfreeGLRStack (&yystack
);
7433 /* DEBUGGING ONLY */
7436 yy_yypstack (yyGLRState
* yys
)
7440 yy_yypstack (yys
->yypred
);
7441 YYFPRINTF (stderr
, " -> ");
7443 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7444 (unsigned long int) yys
->yyposn
);
7448 yypstates (yyGLRState
* yyst
)
7450 if (yyst
== YY_NULLPTR
)
7451 YYFPRINTF (stderr
, "<null>");
7454 YYFPRINTF (stderr
, "\n");
7458 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7460 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7463 #define YYINDEX(YYX) \
7464 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7468 yypdumpstack (yyGLRStack
* yystackp
)
7470 yyGLRStackItem
* yyp
;
7472 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7474 YYFPRINTF (stderr
, "%3lu. ",
7475 (unsigned long int) (yyp
- yystackp
->yyitems
));
7476 if (*(yybool
*) yyp
)
7478 YYASSERT (yyp
->yystate
.yyisState
);
7479 YYASSERT (yyp
->yyoption
.yyisState
);
7480 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7481 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7482 (unsigned long int) yyp
->yystate
.yyposn
,
7483 (long int) YYINDEX (yyp
->yystate
.yypred
));
7484 if (! yyp
->yystate
.yyresolved
)
7485 YYFPRINTF (stderr
, ", firstVal: %ld",
7486 (long int) YYINDEX (yyp
->yystate
7487 .yysemantics
.yyfirstVal
));
7491 YYASSERT (!yyp
->yystate
.yyisState
);
7492 YYASSERT (!yyp
->yyoption
.yyisState
);
7493 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7494 yyp
->yyoption
.yyrule
- 1,
7495 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7496 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7498 YYFPRINTF (stderr
, "\n");
7500 YYFPRINTF (stderr
, "Tops:");
7501 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7502 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7503 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7504 YYFPRINTF (stderr
, "\n");
7512 /* Substitute the variable and function names. */
7513 #define yyparse psi_parser_proc_parse
7514 #define yylex psi_parser_proc_lex
7515 #define yyerror psi_parser_proc_error
7516 #define yylval psi_parser_proc_lval
7517 #define yychar psi_parser_proc_char
7518 #define yydebug psi_parser_proc_debug
7519 #define yynerrs psi_parser_proc_nerrs
7521 #line 2019 "src/parser_proc_grammar.y" /* glr.c:2584 */
7526 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7528 struct psi_token
*token
;
7530 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7531 if (P
->flags
& PSI_DEBUG
) {
7532 psi_token_dump(2, token
);
7535 *((struct psi_token
**)lvalp
) = token
;
7539 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7545 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7547 struct psi_token
*T
= NULL
;
7556 psi_plist_get(tokens
, last
, &T
);
7558 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7560 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);