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 879
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, 988, 991, 1001, 1004, 1007, 1010, 1011, 1012,
392 1016, 1019, 1022, 1033, 1036, 1042, 1043, 1047, 1048, 1052,
393 1056, 1062, 1063, 1069, 1072, 1078, 1081, 1084, 1090, 1094,
394 1095, 1099, 1100, 1104, 1105, 1112, 1113, 1117, 1124, 1135,
395 1142, 1153, 1160, 1171, 1182, 1196, 1197, 1209, 1212, 1215,
396 1218, 1225, 1228, 1234, 1243, 1255, 1263, 1266, 1276, 1289,
397 1294, 1302, 1312, 1322, 1325, 1329, 1335, 1349, 1366, 1369,
398 1375, 1382, 1392, 1399, 1402, 1408, 1413, 1421, 1425, 1429,
399 1433, 1437, 1441, 1448, 1452, 1456, 1460, 1464, 1468, 1474,
400 1478, 1485, 1488, 1499, 1503, 1507, 1513, 1526, 1539, 1552,
401 1555, 1562, 1565, 1568, 1571, 1577, 1581, 1588, 1591, 1594,
402 1604, 1607, 1613, 1614, 1620, 1623, 1629, 1630, 1640, 1643,
403 1650, 1655, 1660, 1670, 1673, 1679, 1682, 1688, 1695, 1702,
404 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1714, 1717,
405 1723, 1726, 1729, 1732, 1735, 1741, 1745, 1753, 1754, 1758,
406 1765, 1768, 1771, 1774, 1778, 1781, 1787, 1791, 1799, 1806,
407 1814, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830,
408 1831, 1835, 1838, 1844, 1847, 1853, 1854, 1858, 1861, 1867,
409 1870, 1876, 1883, 1887, 1894, 1897, 1900, 1906, 1913, 1916,
410 1919, 1926, 1931, 1939, 1940, 1941, 1942, 1943, 1944, 1945,
411 1946, 1950, 1953, 1959, 1962, 1968, 1975, 1976, 1980, 1987,
412 1990, 1996, 2004, 2007, 2013
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 -692
479 #define YYTABLE_NINF -623
481 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
483 static const short int yypact
[] =
485 505, -692, -692, -692, -692, -692, 108, -692, -692, 2618,
486 1668, 731, -692, -692, 1719, 552, 3473, 3473, 3473, 2425,
487 37, 261, 10, -692, 1440, 1894, 71, 505, -692, -692,
488 -692, -692, -692, 2844, -692, -692, -692, -692, 143, 119,
489 -692, -692, -692, 65, -692, -23, -692, -692, 47, 84,
490 118, -692, -692, -692, -692, 140, -692, 146, -692, -692,
491 -692, -692, -692, 831, -692, 91, 100, -692, -692, -692,
492 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
493 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
494 -692, -692, -692, -692, -692, -692, -692, 2957, -10, -692,
495 -692, -692, -692, 3473, 3473, 3473, 2685, -692, 104, -692,
496 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
497 -692, -692, 682, -692, -692, -692, -692, 124, 957, 957,
498 24, -692, 682, 2505, 2618, 3473, 3473, 2120, 134, -692,
499 -692, -692, 158, 3473, 164, 164, 53, 53, 157, -692,
500 -692, 178, 180, -692, 91, 183, -692, -692, 190, 1894,
501 173, 175, -692, 199, -692, 2459, 1369, -23, 173, -692,
502 -692, 185, -692, 192, 3473, -692, 221, -692, 67, -692,
503 -692, 143, -692, -692, 197, 201, 2651, 2651, 3473, 181,
504 3473, -692, -692, 91, -692, -692, -692, -692, -692, -692,
505 2844, -692, -692, -692, -692, -692, -692, -692, 110, 957,
506 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
507 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
508 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
509 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
510 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
511 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
512 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
513 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
514 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
515 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
516 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
517 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
518 -692, -692, 957, -692, -692, -692, -692, -692, -692, -692,
519 -692, 48, 2505, -692, -692, -692, -692, 3070, 2505, 202,
520 3627, -692, 205, 133, -692, 137, -692, -692, -692, -692,
521 198, 204, 204, 25, 25, 3183, 206, -692, 173, 1209,
522 -692, 181, 209, 207, 211, -692, 2053, -692, 91, 185,
523 -692, -692, -692, 241, -692, -692, 222, -692, 28, 2768,
524 2844, 129, -692, -692, 144, 215, 78, -692, 2844, 2166,
525 2844, 3473, 2844, -692, -692, 12, -692, -692, -692, -692,
526 -692, 2392, -692, 223, 3473, 247, -692, 3473, 250, -692,
527 -692, -692, -692, 458, 262, -692, 2948, 3473, -692, -692,
528 2505, -692, -692, -692, -692, -692, -692, -692, -692, -692,
529 -692, -692, -692, -692, -692, -692, -692, -692, -692, 2505,
530 2505, -692, 253, 1397, 2844, 2844, -692, -692, -692, -692,
531 91, -692, 1601, -692, -692, -692, -692, -692, -692, -692,
532 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
533 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
534 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
535 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
536 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
537 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
538 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
539 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
540 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
541 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
542 -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
543 -692, -692, 1083, -692, 165, 535, -692, -692, -692, -692,
544 -692, -692, 1488, -692, 2392, -692, 3603, -692, -692, 3473,
545 -692, -692, -692, 26, 2957, 91, 192, 185, 1635, 185,
546 2313, 2392, 3473, -692, 246, 256, 3651, 248, 258, -692,
547 259, 268, 254, 273, 51, -692, 274, 276, -692, -692,
548 -692, 2826, -692, 260, 2844, 3242, 91, 277, -692, -692,
549 -692, 279, 3627, 283, 275, 3554, -692, 292, 2120, 285,
550 -692, -692, 2731, 1331, 3473, 164, 164, -692, -692, 3473,
551 90, -692, -692, -692, 287, -692, 3651, -692, -692, -692,
552 -692, -692, -692, -692, -692, -692, -692, -692, -692, 286,
553 147, -692, 10, -692, 289, 731, 290, 3061, -692, -692,
554 2392, 2392, 291, -692, -692, 3183, -692, 28, 293, -692,
555 -692, 296, 3651, -692, 1714, -692, 2166, -692, 2844, -692,
556 10, 2844, -692, 3473, 3355, -692, -692, -692, -692, -692,
557 -692, 297, 300, -692, -692, -692, -692, 2505, 2505, 301,
558 -692, 33, 302, -692, 285, 204, 204, 306, -692, 390,
559 305, 390, 309, 2392, -692, 3579, -692, -692, 185, 185,
560 127, 216, 196, 318, 3651, -692, -692, -692, -692, 319,
561 2279, -692, 320, 2844, 182, -692, 323, 247, 325, 957,
562 3414, 3627, 3675, 328, 324, 330, 2844, 329, 302, 2844,
563 2844, -692, -692, 390, -692, 10, 1601, -692, 2392, -692,
564 -692, 318, -692, -692, -692, -692, 331, 2392, 10, -692,
565 1827, 333, 337, -692, 267, -692, -692, -692, 338, 335,
566 347, 285, 339, -692, 343, -692, 27, -692, 3699, 10,
567 3336, 341, 348, -692, 342, -692, -692, 139, -692, 350,
568 349, -692, 2844, -692, 361, 354, 2392, 1714, 355, -692,
569 2166, -692, -692, 358, 366, 367, 285, 362, 1940, 3174,
570 246, -692, -692, -692, 374, 2279, -692, -692, 375, 379,
571 -692, 380, 383, 384, -692, -692, 1714, -692, 392, -692,
572 390, 391, 2166, -692, 394, -692, -692, -692, -692
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, 509, 0,
582 0, 0, 622, 283, 0, 0, 0, 278, 279, 285,
583 284, 286, 290, 520, 388, 390, 389, 395, 409, 420,
584 394, 287, 289, 0, 288, 425, 443, 445, 446, 0,
585 0, 455, 292, 291, 293, 0, 294, 0, 404, 399,
586 33, 34, 610, 571, 24, 520, 526, 39, 38, 37,
587 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
588 579, 578, 576, 574, 575, 577, 573, 572, 580, 30,
589 608, 606, 605, 607, 604, 603, 456, 0, 522, 524,
590 41, 42, 396, 0, 0, 0, 0, 444, 431, 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, 509, 509, 0, 0, 372,
594 377, 465, 376, 0, 515, 515, 391, 392, 393, 506,
595 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
596 0, 0, 624, 0, 623, 396, 0, 425, 0, 1,
597 280, 517, 466, 0, 521, 410, 414, 412, 416, 407,
598 421, 409, 408, 429, 0, 0, 457, 457, 0, 0,
599 0, 521, 527, 520, 468, 523, 525, 391, 392, 393,
600 0, 430, 323, 324, 325, 327, 328, 326, 322, 337,
601 302, 297, 68, 43, 44, 45, 46, 47, 48, 49,
602 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
603 60, 61, 62, 63, 64, 65, 66, 67, 158, 159,
604 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
605 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
606 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
607 99, 100, 101, 102, 108, 106, 107, 105, 103, 104,
608 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
609 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
610 129, 130, 131, 132, 160, 133, 134, 135, 136, 137,
611 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
612 148, 149, 150, 151, 152, 156, 153, 154, 155, 157,
613 339, 305, 338, 298, 313, 314, 299, 322, 301, 347,
614 348, 0, 0, 22, 23, 20, 21, 0, 0, 350,
615 303, 349, 456, 391, 508, 392, 507, 373, 369, 378,
616 0, 0, 0, 0, 0, 0, 0, 295, 0, 0,
617 435, 0, 0, 0, 0, 436, 0, 470, 520, 517,
618 415, 411, 417, 418, 413, 422, 0, 423, 458, 0,
619 520, 0, 459, 461, 0, 485, 0, 483, 0, 622,
620 0, 0, 0, 616, 617, 0, 548, 551, 550, 552,
621 553, 0, 554, 0, 0, 432, 433, 0, 0, 330,
622 340, 505, 504, 0, 0, 500, 0, 0, 345, 342,
623 352, 2, 3, 4, 5, 6, 7, 8, 9, 10,
624 11, 13, 12, 14, 15, 16, 17, 18, 19, 0,
625 0, 370, 0, 0, 0, 0, 473, 472, 474, 471,
626 520, 467, 362, 437, 186, 161, 162, 163, 164, 165,
627 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
628 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
629 274, 275, 187, 188, 189, 190, 191, 192, 193, 194,
630 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
631 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
632 215, 216, 217, 218, 224, 222, 223, 221, 219, 220,
633 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
634 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
635 245, 246, 247, 248, 276, 249, 250, 251, 252, 253,
636 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
637 264, 265, 266, 267, 268, 272, 269, 270, 271, 273,
638 441, 442, 0, 439, 0, 0, 371, 424, 496, 494,
639 493, 495, 0, 518, 0, 497, 0, 487, 498, 0,
640 469, 419, 427, 0, 464, 0, 462, 517, 0, 517,
641 0, 0, 0, 482, 0, 0, 599, 0, 0, 598,
642 42, 0, 0, 0, 0, 619, 0, 0, 593, 528,
643 549, 0, 454, 0, 0, 331, 520, 0, 501, 503,
644 341, 0, 354, 0, 353, 0, 343, 0, 0, 511,
645 381, 374, 382, 0, 383, 515, 515, 380, 379, 0,
646 496, 366, 367, 368, 0, 364, 363, 438, 440, 529,
647 541, 542, 543, 544, 540, 545, 546, 547, 539, 0,
648 0, 533, 622, 538, 24, 0, 0, 0, 491, 519,
649 0, 0, 0, 428, 426, 463, 449, 0, 0, 460,
650 447, 0, 486, 484, 0, 555, 622, 597, 0, 537,
651 622, 0, 618, 0, 594, 591, 615, 453, 434, 332,
652 335, 0, 333, 502, 499, 346, 351, 0, 0, 0,
653 375, 0, 478, 475, 511, 0, 0, 0, 356, 0,
654 0, 0, 535, 0, 489, 0, 490, 451, 517, 517,
655 496, 0, 31, 30, 561, 566, 562, 564, 565, 41,
656 0, 600, 611, 0, 0, 620, 610, 596, 0, 337,
657 0, 355, 344, 0, 512, 0, 0, 0, 478, 385,
658 384, 452, 530, 0, 534, 622, 362, 488, 0, 450,
659 448, 0, 563, 585, 571, 586, 0, 0, 622, 567,
660 622, 0, 0, 621, 0, 329, 334, 336, 0, 0,
661 0, 511, 479, 476, 0, 531, 0, 536, 492, 622,
662 0, 581, 0, 613, 612, 601, 556, 0, 516, 0,
663 0, 480, 0, 477, 0, 0, 0, 0, 0, 602,
664 622, 609, 592, 0, 0, 0, 511, 0, 587, 0,
665 497, 583, 559, 557, 582, 0, 570, 614, 0, 0,
666 481, 0, 0, 588, 589, 568, 0, 558, 0, 513,
667 0, 0, 622, 584, 0, 532, 569, 590, 514
670 /* YYPGOTO[NTERM-NUM]. */
671 static const short int yypgoto
[] =
673 -692, -331, -122, -4, 93, -692, -692, -692, 401, -692,
674 -692, -692, -692, -692, -692, -692, -692, -692, -692, 298,
675 -692, -692, -692, -126, -692, -308, -692, -692, -692, -692,
676 -692, -357, -692, -692, 269, -220, 22, -212, -158, -9,
677 -692, -692, -692, 399, -692, -692, 263, -692, -692, -692,
678 -692, 280, -692, -692, -692, -692, -624, -692, -124, -692,
679 -140, 419, 32, 0, 45, -692, -692, 264, -464, 8,
680 -33, -692, -692, 85, -337, -692, -324, -692, 4, -692,
681 -157, -349, -692, -117, -692, 49, -692, -436, -418, 83,
682 -691, -125, -370, -59, -1, -692, 372, -692, 435, -692,
683 -281, -634, -674, -692, 102, -379, -692, -392, -657, 77,
684 -275, -692, -692, -666, -692, -692, -692, -692, -692, -692,
685 -692, -692, -692, -665, -395, -369, -692, -692, -692, -692,
686 -692, -692, -236, -21, -658
689 /* YYDEFGOTO[NTERM-NUM]. */
690 static const short int yydefgoto
[] =
692 -1, 691, 594, 171, 330, 580, 26, 27, 28, 29,
693 30, 127, 128, 129, 130, 336, 131, 132, 133, 209,
694 210, 721, 722, 331, 332, 350, 643, 644, 31, 155,
695 156, 664, 665, 32, 138, 649, 650, 651, 33, 34,
696 35, 36, 37, 38, 39, 40, 179, 381, 384, 182,
697 41, 185, 603, 42, 43, 201, 415, 44, 581, 582,
698 583, 45, 46, 47, 141, 49, 50, 391, 392, 51,
699 595, 52, 53, 457, 458, 653, 777, 812, 143, 396,
700 397, 616, 597, 598, 637, 425, 55, 144, 145, 149,
701 732, 361, 377, 173, 417, 98, 99, 56, 57, 680,
702 681, 617, 682, 683, 405, 406, 407, 851, 852, 853,
703 756, 757, 758, 100, 838, 854, 796, 862, 863, 408,
704 627, 768, 409, 618, 619, 101, 801, 824, 410, 411,
705 412, 624, 625, 621, 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, 109, 333, 54, 96, 190, 628, 97, 600,
714 157, 348, 146, 147, 148, 140, 351, 655, 108, 450,
715 362, 363, 364, 142, 454, 455, 630, 596, 390, 390,
716 620, 54, 174, 620, 426, 656, 370, 139, 759, 66,
717 429, 761, 107, 778, 375, 48, 760, 755, 742, 629,
718 334, 709, 693, 160, 162, 48, 456, 168, 774, 694,
719 65, 453, 631, 158, 191, 782, 48, 785, 775, 48,
720 48, 169, 48, 382, 421, 422, 383, 66, -446, -465,
721 423, -465, 712, 419, -515, 713, 795, 764, 360, -515,
722 767, 834, 424, 194, 759, 450, 183, 157, 450, 197,
723 198, 199, 184, 799, 398, 399, 400, 401, 402, 815,
724 403, 404, 612, 666, 195, 613, 186, 58, 208, 59,
725 831, -365, 642, -365, -365, 180, 4, 5, 337, 349,
726 352, 353, 355, 97, 414, 823, -455, 140, 200, 359,
727 66, 645, 646, 335, 699, 142, 699, 175, 176, 177,
728 187, 742, 178, 365, 211, 860, 62, 841, -496, 357,
729 -496, -496, 607, 608, 821, 358, 140, 416, -391, -510,
730 379, 759, -392, -510, 142, 857, 188, 609, 610, 855,
731 740, 741, 189, 864, 395, 835, 413, 192, 139, 759,
732 -455, 368, 191, -510, 393, 393, 875, 107, 867, 360,
733 759, -359, 669, -360, 48, 630, 366, 877, 855, 369,
734 48, 371, 655, 793, 794, 803, 634, 655, 354, 356,
735 348, 367, 372, 376, 378, 351, 348, 380, 418, 386,
736 656, 351, 387, 452, 430, 656, 451, 696, 586, 700,
737 453, 585, 587, 687, 463, 688, 462, 601, 602, 90,
738 91, 92, 93, 94, 95, 611, 632, 398, 399, 400,
739 401, 402, 702, 403, 404, 1, 2, 3, 4, 5,
740 6, 7, 8, 398, 399, 400, 401, 402, 9, 403,
741 404, 634, 635, 102, 639, 647, 704, 705, 706, 707,
742 11, 708, 709, 717, 710, 652, 80, 81, 82, 83,
743 84, 85, 86, 87, 88, 711, 714, 715, 348, 727,
744 724, 450, 725, 351, 450, 450, 726, 729, 738, 599,
745 731, 739, -24, 743, 747, 791, 748, 348, 348, 749,
746 769, 606, 351, 351, 770, 773, 776, 620, 349, 781,
747 783, 745, 746, 428, 349, 103, 104, 105, 106, 786,
748 797, 798, 22, 808, 800, 754, -595, 172, 804, 809,
749 813, 461, 810, 819, 827, 614, 825, 622, 826, 626,
750 829, 828, 830, 832, 833, 837, 840, 191, 789, 790,
751 157, 839, 844, 845, 159, 847, 848, 604, 856, 174,
752 708, 858, 859, 670, 787, 861, 671, 623, 779, 780,
753 672, 659, 673, 674, 675, 676, 677, 678, 866, 868,
754 633, 754, 869, 379, 636, 870, 871, 874, 872, 771,
755 772, 657, 658, 641, 876, 420, 349, 878, 170, 817,
756 338, 620, 842, 734, 686, 373, 730, 666, 181, 818,
757 450, 450, 668, 167, 385, 349, 349, 374, 820, 459,
758 390, 394, 390, 140, 814, 703, 161, 654, 843, 191,
759 784, 142, 1, 2, 3, 4, 5, 6, 7, 8,
760 196, 620, 638, 584, 873, 615, 792, 765, 0, 620,
761 102, 0, 0, 0, 421, 422, 0, 849, 754, 0,
762 652, 0, 0, 0, 0, 652, 0, 0, 0, 0,
763 0, 0, 424, 620, 0, 0, 754, 0, 0, 1,
764 2, 3, 4, 5, 6, 7, 8, 754, 0, 0,
765 0, 0, 9, 0, 0, 0, 0, 10, 0, 0,
766 735, 736, 0, 0, 11, 12, 13, 0, 670, 0,
767 0, 671, 103, 104, 105, 672, 14, 673, 674, 675,
768 676, 677, 678, 0, 0, 0, 1, 2, 3, 4,
769 5, 6, 7, 8, 0, 0, 0, 0, 679, 134,
770 0, 0, 0, 0, 102, 0, 0, 723, 0, 0,
771 0, 11, 0, 0, 0, 0, 0, 0, 15, 16,
772 17, 18, 19, 20, 21, 692, 22, 0, 0, 0,
773 194, 718, 0, 0, 695, 348, 348, 0, 395, 0,
774 351, 351, 0, 0, 0, 0, 393, 0, 393, 172,
775 0, 23, 0, 0, 0, 0, 24, 0, 25, 0,
776 0, 720, 0, 0, 0, 191, 135, 136, 18, 106,
777 0, 0, 0, 805, 0, 0, 0, 0, 140, 0,
778 359, 174, 654, 140, 0, 737, 142, 654, 0, 0,
779 0, 142, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 137, 0, 762, 157, 0, 416, 0,
781 0, 416, 0, 0, 0, 60, 0, 0, 0, 763,
782 0, 461, 0, 0, 61, 0, 604, 0, 0, 62,
783 63, 202, 203, 204, 64, 0, 0, 0, 0, 623,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 349, 349, 0, 0, 0, 0, 0,
786 802, 0, 0, 0, 0, 1, 2, 3, 4, 5,
787 6, 7, 8, 811, 0, 0, 657, 658, 67, 68,
788 69, 70, 71, 102, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 816, 0, 807, 0, 0, 0,
790 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
791 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
792 88, 89, 90, 91, 92, 93, 94, 95, 0, 846,
793 0, 0, 0, 205, 850, 206, 207, 0, 0, 0,
794 0, 0, 0, 0, 0, 103, 104, 105, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, -571, 0, 850, -571, -571, -571, -571, -571, -571,
797 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
798 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
799 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
800 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
801 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
802 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
803 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
804 -571, 0, -571, 0, -571, -571, -571, -571, -571, -571,
805 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
806 -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
807 -571, -571, -571, -571, -571, -571, -571, -571, 0, -571,
808 -571, 0, -571, -571, -571, -571, -571, 212, 0, 0,
809 213, 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, 0, 240, 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, 0, 289, 0,
817 290, 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, 0, 0, 324, 0, 325, 326,
821 327, 328, 329, 464, 0, 0, 465, 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, 0, 492, 493, 494, 495, 496, 369,
825 667, 497, 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, 0, 539, 0, 540, 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 0, 0, 574, 0, 575, 576, 577, 578, 579, 464,
834 0, 0, 465, 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, 0,
837 492, 493, 494, 495, 496, 369, 0, 497, 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, 0,
842 539, 0, 540, 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, 0, 0, 574, 0,
846 575, 576, 577, 578, 579, 1, 2, 3, 4, 5,
847 6, 7, 8, 0, 0, 0, 0, 0, 9, 0,
848 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
849 11, 0, 0, 0, 0, 0, 0, 0, 733, 0,
850 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
851 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
852 0, 102, 0, 0, 0, 0, 0, 0, 11, 0,
853 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
854 0, 0, 0, 0, 9, 135, 136, 18, 106, 102,
855 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
858 7, 8, 648, 135, 136, 18, 106, 9, 0, 0,
859 0, 0, 165, 0, 0, 0, 0, 0, 0, 11,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 135, 136, 18, 106, 0, 0, 0, 0, 0,
862 137, 60, 1, 2, 3, 4, 5, 6, 7, 8,
863 61, 0, 0, 0, 0, 62, 63, 588, 0, 0,
864 684, 589, 0, 590, 0, 591, 341, 11, 648, 0,
865 592, 0, 0, 166, 103, 104, 105, 106, 0, 0,
866 0, 0, 0, 0, 0, 343, 344, 66, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 0, 345, 346,
868 0, 0, 0, 0, 67, 68, 69, 70, 71, 0,
869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870 0, 0, 103, 104, 105, 685, 72, 0, 73, 74,
871 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
872 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
873 92, 93, 94, 95, 60, 0, 0, 0, 0, 0,
874 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
875 660, 661, 662, 64, 589, 0, 590, 663, 591, 341,
876 0, 0, 0, 592, 0, 0, 0, 0, 0, 1,
877 2, 3, 4, 5, 6, 7, 8, 0, 343, 344,
878 66, 0, 697, 0, 0, 0, 0, 102, 0, 0,
879 0, 345, 346, 0, 11, 0, 0, 67, 68, 69,
880 70, 71, 1, 2, 3, 4, 5, 6, 7, 8,
881 0, 0, 0, 0, 0, 9, 0, 0, 0, 72,
882 102, 73, 74, 75, 76, 77, 78, 11, 79, 698,
883 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
884 89, 90, 91, 92, 93, 94, 95, 60, 0, 103,
885 104, 105, 389, 0, 0, 0, 61, 0, 0, 0,
886 0, 62, 63, 750, 0, 0, 64, 589, 0, 590,
887 0, 591, 341, 0, 0, 0, 592, 0, 0, 110,
888 0, 0, 103, 104, 105, 106, 0, 0, 162, 0,
889 0, 343, 344, 66, 0, 0, 0, 0, 0, 0,
890 0, 0, 0, 0, 345, 346, 0, 0, 0, 0,
891 67, 68, 69, 70, 71, 111, 112, 113, 114, 115,
892 116, 117, 118, 119, 120, 121, 122, 0, 123, 124,
893 125, 126, 72, 751, 752, 74, 75, 76, 77, 78,
894 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
895 86, 87, 88, 753, 90, 91, 92, 93, 94, 95,
896 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
897 0, 0, 0, 0, 62, 63, 588, 0, 0, 64,
898 589, 0, 590, 0, 591, 341, 0, 0, 0, 592,
899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 162, 0, 0, 343, 344, 66, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 345, 346, 0,
902 0, 822, 0, 67, 68, 69, 70, 71, 1, 2,
903 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
904 0, 9, 0, 0, 0, 72, 102, 73, 74, 75,
905 76, 77, 78, 11, 79, 0, 0, 80, 81, 82,
906 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
907 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
908 0, 0, 61, 0, 0, 0, 0, 62, 63, 588,
909 0, 0, 64, 589, -622, 590, 0, 591, 341, 0,
910 0, 0, 592, 0, 0, 0, 0, 0, 103, 104,
911 105, 106, 0, 0, 162, 0, 0, 343, 344, 66,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 345, 346, 0, 0, 0, 0, 67, 68, 69, 70,
914 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
916 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
917 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
918 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
919 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
920 62, 63, 588, 0, 0, 64, 589, 0, 590, 0,
921 591, 341, 0, 0, 0, 592, 0, 0, 0, 0,
922 0, 0, 593, 0, 0, 0, 0, 0, 0, 0,
923 343, 344, 66, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 345, 346, 0, 0, 0, 0, 67,
925 68, 69, 70, 71, 1, 2, 3, 4, 5, 6,
926 7, 8, 0, 0, 0, 0, 0, 9, 0, 0,
927 0, 72, 102, 73, 74, 75, 76, 77, 78, 11,
928 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
929 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
930 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
931 0, 0, 0, 62, 63, 588, 0, 0, 64, 589,
932 0, 590, 0, 591, 341, 0, 0, 0, 592, 0,
933 0, 0, 0, 0, 135, 136, 18, 106, 0, 0,
934 162, 0, 0, 343, 344, 66, 0, 0, 0, 0,
935 0, 0, 0, 0, 0, 0, 345, 346, 0, 0,
936 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
938 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
939 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
940 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
941 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
942 0, 61, 0, 0, 0, 0, 62, 63, 750, 0,
943 0, 64, 589, 0, 590, 0, 591, 341, 0, 0,
944 0, 592, 0, 0, 0, 0, 0, 1, 2, 3,
945 4, 5, 6, 7, 8, 0, 343, 344, 66, 0,
946 697, 0, 0, 0, 0, 102, 0, 0, 0, 345,
947 346, 0, 11, 0, 0, 67, 68, 69, 70, 71,
948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 0, 0, 0, 0, 0, 72, 751, 752,
950 74, 75, 76, 77, 78, 0, 79, 701, 0, 80,
951 81, 82, 83, 84, 85, 86, 87, 88, 753, 90,
952 91, 92, 93, 94, 95, 60, 0, 103, 104, 105,
953 389, 0, 0, 0, 61, 0, 0, 0, 0, 62,
954 63, 588, 0, 0, 64, 589, 0, 590, 0, 591,
955 341, 0, 0, 0, 592, 0, 0, 0, 150, 1,
956 2, 151, 4, 5, 6, 152, 8, 153, 0, 343,
957 344, 66, 154, 0, 0, 0, 0, 102, 0, 0,
958 0, 0, 345, 346, 0, 0, 0, 0, 67, 68,
959 69, 70, 71, 1, 2, 3, 4, 5, 6, 7,
960 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
961 72, 102, 73, 74, 75, 76, 77, 78, 11, 79,
962 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
963 88, 89, 90, 91, 92, 93, 94, 95, 60, 103,
964 104, 105, 0, 0, 0, 0, 0, 61, 0, 0,
965 0, 0, 62, 63, 0, 0, 0, 64, 0, 0,
966 339, 0, 340, 341, 0, 0, 0, 342, 0, 0,
967 0, 0, 0, 103, 104, 105, 106, 0, 0, 0,
968 0, 0, 343, 344, 0, 0, 0, 0, 0, 0,
969 0, 0, 0, 0, 0, 345, 346, 0, 0, 0,
970 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
971 0, 0, 0, 347, 0, 0, 0, 0, 0, 0,
972 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
973 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
974 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
975 95, 60, 0, 0, 0, 0, 0, 0, 0, 0,
976 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
977 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
978 65, 0, 0, 0, 0, 1, 2, 3, 4, 5,
979 6, 7, 8, 0, 0, 0, 0, 66, 388, 0,
980 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
981 11, 0, 0, 0, 67, 68, 69, 70, 71, 1,
982 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
983 0, 0, 154, 0, 0, 0, 72, 102, 73, 74,
984 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
985 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
986 92, 93, 94, 95, 60, 103, 104, 105, 389, 0,
987 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
988 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, -520, 0, 0, 0, 0, 0, 103,
990 104, 105, 1, 2, 3, 4, 5, 6, 7, 8,
991 66, 0, 0, 0, 0, 605, 0, 0, 0, 0,
992 102, 0, 0, 0, 0, 0, 0, 67, 68, 69,
993 70, 71, 0, 0, 0, 0, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
995 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
996 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
997 89, 90, 91, 92, 93, 94, 95, 60, 0, 0,
998 0, 0, 103, 104, 105, 0, 61, 716, 0, 0,
999 0, 62, 63, 0, 0, 0, 64, 0, 431, 432,
1000 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1001 443, 444, 445, 446, 447, 448, 0, 0, 0, 0,
1002 0, 690, 0, 66, 0, 0, 0, 0, 0, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1007 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1008 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1009 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
1010 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
1011 0, 640, 0, 0, 0, 0, 0, 0, 0, 193,
1012 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
1013 441, 442, 443, 444, 445, 446, 447, 448, 0, 0,
1014 0, 0, 0, 449, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 67, 68, 69, 70, 71, 0, 0,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
1018 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
1019 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1020 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
1021 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
1022 0, 0, 64, 0, 744, 0, 0, 0, 0, 0,
1023 0, 0, 427, 431, 432, 433, 434, 435, 436, 437,
1024 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1025 448, 0, 0, 0, 0, 0, 690, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
1027 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
1029 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1030 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1031 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
1032 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
1033 62, 63, 0, 0, 0, 64, 0, 865, 0, 0,
1034 0, 0, 0, 0, 0, 460, 431, 432, 433, 434,
1035 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1036 445, 446, 447, 448, 0, 0, 0, 0, 0, 690,
1037 0, 0, 0, 0, 0, 60, 0, 0, 0, 67,
1038 68, 69, 70, 71, 61, 0, 0, 0, 0, 62,
1039 63, 0, 0, 0, 64, 0, 0, 0, 0, 0,
1040 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1041 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1042 87, 88, 89, 90, 91, 92, 93, 94, 95, 0,
1043 0, 0, 0, 0, 0, 0, 719, 0, 67, 68,
1044 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1046 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1047 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1048 88, 89, 90, 91, 92, 93, 94, 95, 60, 0,
1049 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
1050 836, 0, 766, 63, 0, 0, 0, 64, 431, 432,
1051 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1052 443, 444, 445, 446, 447, 448, 0, 0, 0, 0,
1053 0, 690, 0, 0, 66, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, 0, 0, 0, 60, 0, 0,
1055 0, 67, 68, 69, 70, 71, 61, 0, 0, 0,
1056 0, 62, 63, 0, 0, 0, 64, 0, 0, 0,
1057 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
1058 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
1059 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1060 95, 0, 0, 0, 0, 0, 60, 0, 806, 0,
1061 67, 68, 69, 70, 71, 61, 0, 0, 0, 0,
1062 62, 63, 0, 0, 0, 64, 0, 0, 0, 0,
1063 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1064 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1065 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1066 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1067 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1069 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1070 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1071 87, 88, 89, 90, 91, 92, 93, 94, 95, 728,
1072 0, 0, 0, 0, 0, 0, 431, 432, 433, 434,
1073 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1074 445, 446, 447, 448, 788, 0, 0, 0, 0, 449,
1075 0, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1076 440, 441, 442, 443, 444, 445, 446, 447, 448, 0,
1077 0, 0, 689, 0, 690, 431, 432, 433, 434, 435,
1078 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1079 446, 447, 448, 0, 0, 0, 0, 0, 690, 431,
1080 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1081 442, 443, 444, 445, 446, 447, 448, 0, 0, 0,
1082 0, 0, 449, 431, 432, 433, 434, 435, 436, 437,
1083 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1084 448, 0, 0, 0, 0, 0, 690, 431, 432, 433,
1085 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1086 444, 445, 446, 447, 448, 0, 0, 0, 0, 0,
1087 449, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1088 440, 441, 442, 443, 444, 445, 446, 447, 448, 0,
1092 static const short int yycheck
[] =
1094 33, 22, 11, 129, 0, 9, 65, 402, 9, 379,
1095 19, 133, 16, 17, 18, 15, 133, 453, 10, 350,
1096 145, 146, 147, 15, 361, 362, 405, 376, 186, 187,
1097 399, 27, 33, 402, 342, 453, 160, 15, 704, 49,
1098 348, 706, 10, 734, 168, 0, 704, 704, 682, 37,
1099 26, 24, 26, 21, 44, 10, 31, 25, 25, 33,
1100 32, 36, 411, 26, 65, 739, 21, 741, 35, 24,
1101 25, 0, 27, 6, 26, 27, 9, 49, 31, 32,
1102 32, 34, 31, 209, 31, 34, 752, 711, 35, 36,
1103 714, 64, 44, 97, 760, 426, 31, 106, 429, 103,
1104 104, 105, 125, 760, 92, 93, 94, 95, 96, 783,
1105 98, 99, 34, 462, 124, 37, 32, 9, 122, 11,
1106 811, 31, 430, 33, 34, 6, 7, 8, 132, 133,
1107 134, 135, 136, 134, 193, 800, 32, 137, 34, 143,
1108 49, 449, 450, 119, 608, 137, 610, 4, 5, 6,
1109 32, 785, 9, 154, 30, 846, 17, 18, 31, 137,
1110 33, 34, 33, 34, 798, 31, 166, 200, 35, 36,
1111 174, 837, 35, 36, 166, 840, 36, 33, 34, 837,
1112 33, 34, 36, 848, 188, 819, 190, 87, 166, 855,
1113 32, 159, 193, 36, 186, 187, 870, 165, 855, 35,
1114 866, 23, 37, 23, 159, 584, 23, 872, 866, 36,
1115 165, 36, 648, 17, 18, 33, 34, 653, 135, 136,
1116 342, 31, 23, 38, 32, 342, 348, 6, 118, 32,
1117 648, 348, 31, 35, 32, 653, 31, 607, 31, 609,
1118 36, 32, 31, 592, 368, 594, 40, 6, 26, 110,
1119 111, 112, 113, 114, 115, 40, 33, 92, 93, 94,
1120 95, 96, 611, 98, 99, 4, 5, 6, 7, 8,
1121 9, 10, 11, 92, 93, 94, 95, 96, 17, 98,
1122 99, 34, 32, 22, 22, 32, 40, 31, 40, 31,
1123 29, 32, 24, 33, 40, 453, 100, 101, 102, 103,
1124 104, 105, 106, 107, 108, 32, 32, 31, 430, 34,
1125 33, 642, 33, 430, 645, 646, 33, 25, 31, 378,
1126 35, 35, 33, 33, 33, 109, 33, 449, 450, 33,
1127 33, 390, 449, 450, 34, 34, 34, 706, 342, 33,
1128 35, 690, 691, 347, 348, 84, 85, 86, 87, 40,
1129 32, 32, 91, 25, 34, 704, 33, 390, 33, 35,
1130 31, 365, 32, 32, 97, 398, 33, 400, 31, 402,
1131 35, 33, 25, 34, 31, 34, 34, 378, 748, 749,
1132 389, 33, 32, 34, 123, 24, 32, 388, 33, 390,
1133 32, 25, 25, 3, 743, 33, 6, 401, 735, 736,
1134 10, 460, 12, 13, 14, 15, 16, 17, 34, 34,
1135 414, 760, 33, 417, 423, 35, 33, 25, 34, 727,
1136 728, 454, 455, 427, 33, 332, 430, 33, 27, 786,
1137 132, 800, 827, 653, 592, 166, 648, 786, 39, 788,
1138 771, 772, 582, 24, 181, 449, 450, 167, 797, 364,
1139 608, 187, 610, 453, 778, 612, 21, 453, 827, 460,
1140 741, 453, 4, 5, 6, 7, 8, 9, 10, 11,
1141 98, 840, 423, 371, 866, 398, 751, 713, -1, 848,
1142 22, -1, -1, -1, 26, 27, -1, 836, 837, -1,
1143 648, -1, -1, -1, -1, 653, -1, -1, -1, -1,
1144 -1, -1, 44, 872, -1, -1, 855, -1, -1, 4,
1145 5, 6, 7, 8, 9, 10, 11, 866, -1, -1,
1146 -1, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1147 655, 656, -1, -1, 29, 30, 31, -1, 3, -1,
1148 -1, 6, 84, 85, 86, 10, 41, 12, 13, 14,
1149 15, 16, 17, -1, -1, -1, 4, 5, 6, 7,
1150 8, 9, 10, 11, -1, -1, -1, -1, 33, 17,
1151 -1, -1, -1, -1, 22, -1, -1, 636, -1, -1,
1152 -1, 29, -1, -1, -1, -1, -1, -1, 83, 84,
1153 85, 86, 87, 88, 89, 599, 91, -1, -1, -1,
1154 604, 634, -1, -1, 605, 727, 728, -1, 612, -1,
1155 727, 728, -1, -1, -1, -1, 608, -1, 610, 652,
1156 -1, 116, -1, -1, -1, -1, 121, -1, 123, -1,
1157 -1, 635, -1, -1, -1, 636, 84, 85, 86, 87,
1158 -1, -1, -1, 769, -1, -1, -1, -1, 648, -1,
1159 654, 652, 648, 653, -1, 659, 648, 653, -1, -1,
1160 -1, 653, -1, -1, -1, -1, -1, -1, -1, -1,
1161 -1, -1, -1, 121, -1, 708, 685, -1, 711, -1,
1162 -1, 714, -1, -1, -1, 3, -1, -1, -1, 710,
1163 -1, 695, -1, -1, 12, -1, 697, -1, -1, 17,
1164 18, 19, 20, 21, 22, -1, -1, -1, -1, 713,
1165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1166 -1, -1, -1, 727, 728, -1, -1, -1, -1, -1,
1167 763, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1168 9, 10, 11, 776, -1, -1, 779, 780, 66, 67,
1169 68, 69, 70, 22, -1, -1, -1, -1, -1, -1,
1170 -1, -1, -1, -1, 785, -1, 770, -1, -1, -1,
1171 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1172 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1173 108, 109, 110, 111, 112, 113, 114, 115, -1, 832,
1174 -1, -1, -1, 121, 837, 123, 124, -1, -1, -1,
1175 -1, -1, -1, -1, -1, 84, 85, 86, -1, -1,
1176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1177 -1, 0, -1, 866, 3, 4, 5, 6, 7, 8,
1178 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1179 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1180 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1181 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1182 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1183 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1184 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1185 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1186 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1187 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1188 109, 110, 111, 112, 113, 114, 115, 116, -1, 118,
1189 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1190 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1191 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1192 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1193 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1194 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1195 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1196 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1197 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1198 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1199 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1200 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1201 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1202 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1203 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1204 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1205 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1206 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1207 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1208 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1209 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1210 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1211 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1212 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1213 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1214 -1, -1, 119, -1, 121, 122, 123, 124, 125, 0,
1215 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1216 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1217 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
1218 31, 32, 33, 34, 35, 36, -1, 38, 39, 40,
1219 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1220 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1221 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1222 71, 72, 73, 74, 75, 76, 77, 78, 79, -1,
1223 81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
1224 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1225 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1226 111, 112, 113, 114, 115, 116, -1, -1, 119, -1,
1227 121, 122, 123, 124, 125, 4, 5, 6, 7, 8,
1228 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1229 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1230 29, -1, -1, -1, -1, -1, -1, -1, 37, -1,
1231 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1232 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1233 -1, 22, -1, -1, -1, -1, -1, -1, 29, -1,
1234 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1235 -1, -1, -1, -1, 17, 84, 85, 86, 87, 22,
1236 -1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
1237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1238 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1239 10, 11, 121, 84, 85, 86, 87, 17, -1, -1,
1240 -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
1241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1242 -1, 84, 85, 86, 87, -1, -1, -1, -1, -1,
1243 121, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1244 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1245 22, 23, -1, 25, -1, 27, 28, 29, 121, -1,
1246 32, -1, -1, 83, 84, 85, 86, 87, -1, -1,
1247 -1, -1, -1, -1, -1, 47, 48, 49, -1, -1,
1248 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1249 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1251 -1, -1, 84, 85, 86, 87, 88, -1, 90, 91,
1252 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1253 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1254 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
1255 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1256 19, 20, 21, 22, 23, -1, 25, 26, 27, 28,
1257 -1, -1, -1, 32, -1, -1, -1, -1, -1, 4,
1258 5, 6, 7, 8, 9, 10, 11, -1, 47, 48,
1259 49, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1260 -1, 60, 61, -1, 29, -1, -1, 66, 67, 68,
1261 69, 70, 4, 5, 6, 7, 8, 9, 10, 11,
1262 -1, -1, -1, -1, -1, 17, -1, -1, -1, 88,
1263 22, 90, 91, 92, 93, 94, 95, 29, 97, 64,
1264 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1265 109, 110, 111, 112, 113, 114, 115, 3, -1, 84,
1266 85, 86, 87, -1, -1, -1, 12, -1, -1, -1,
1267 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
1268 -1, 27, 28, -1, -1, -1, 32, -1, -1, 30,
1269 -1, -1, 84, 85, 86, 87, -1, -1, 44, -1,
1270 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1271 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1272 66, 67, 68, 69, 70, 66, 67, 68, 69, 70,
1273 71, 72, 73, 74, 75, 76, 77, -1, 79, 80,
1274 81, 82, 88, 89, 90, 91, 92, 93, 94, 95,
1275 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1276 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1277 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1278 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1279 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
1280 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1281 -1, 44, -1, -1, 47, 48, 49, -1, -1, -1,
1282 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1283 -1, 64, -1, 66, 67, 68, 69, 70, 4, 5,
1284 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1285 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1286 93, 94, 95, 29, 97, -1, -1, 100, 101, 102,
1287 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1288 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1289 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1290 -1, -1, 22, 23, 24, 25, -1, 27, 28, -1,
1291 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1292 86, 87, -1, -1, 44, -1, -1, 47, 48, 49,
1293 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1294 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1295 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1296 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1297 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1298 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1299 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1300 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1301 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1302 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1303 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
1304 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1305 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1306 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1307 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1308 -1, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1309 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1310 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1311 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1312 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1313 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1314 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1315 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1316 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1317 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1318 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1319 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1320 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1321 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1322 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1323 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1324 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
1325 -1, 32, -1, -1, -1, -1, -1, 4, 5, 6,
1326 7, 8, 9, 10, 11, -1, 47, 48, 49, -1,
1327 17, -1, -1, -1, -1, 22, -1, -1, -1, 60,
1328 61, -1, 29, -1, -1, 66, 67, 68, 69, 70,
1329 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1330 -1, -1, -1, -1, -1, -1, -1, 88, 89, 90,
1331 91, 92, 93, 94, 95, -1, 97, 64, -1, 100,
1332 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1333 111, 112, 113, 114, 115, 3, -1, 84, 85, 86,
1334 87, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1335 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
1336 28, -1, -1, -1, 32, -1, -1, -1, 3, 4,
1337 5, 6, 7, 8, 9, 10, 11, 12, -1, 47,
1338 48, 49, 17, -1, -1, -1, -1, 22, -1, -1,
1339 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1340 68, 69, 70, 4, 5, 6, 7, 8, 9, 10,
1341 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1342 88, 22, 90, 91, 92, 93, 94, 95, 29, 97,
1343 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1344 108, 109, 110, 111, 112, 113, 114, 115, 3, 84,
1345 85, 86, -1, -1, -1, -1, -1, 12, -1, -1,
1346 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1347 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
1348 -1, -1, -1, 84, 85, 86, 87, -1, -1, -1,
1349 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1350 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1351 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1352 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1353 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1354 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1355 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1356 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1357 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1358 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1359 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1360 9, 10, 11, -1, -1, -1, -1, 49, 17, -1,
1361 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1362 29, -1, -1, -1, 66, 67, 68, 69, 70, 4,
1363 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1364 -1, -1, 17, -1, -1, -1, 88, 22, 90, 91,
1365 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1366 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1367 112, 113, 114, 115, 3, 84, 85, 86, 87, -1,
1368 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1369 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1370 -1, -1, -1, 32, -1, -1, -1, -1, -1, 84,
1371 85, 86, 4, 5, 6, 7, 8, 9, 10, 11,
1372 49, -1, -1, -1, -1, 17, -1, -1, -1, -1,
1373 22, -1, -1, -1, -1, -1, -1, 66, 67, 68,
1374 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1375 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1376 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1377 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1378 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
1379 -1, -1, 84, 85, 86, -1, 12, 31, -1, -1,
1380 -1, 17, 18, -1, -1, -1, 22, -1, 42, 43,
1381 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1382 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1383 -1, 65, -1, 49, -1, -1, -1, -1, -1, -1,
1384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1385 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1387 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1388 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1389 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1390 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1391 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1392 -1, 33, -1, -1, -1, -1, -1, -1, -1, 32,
1393 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1394 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1395 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
1396 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1397 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1398 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1399 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1400 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1401 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1402 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1403 -1, -1, 22, -1, 33, -1, -1, -1, -1, -1,
1404 -1, -1, 32, 42, 43, 44, 45, 46, 47, 48,
1405 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1406 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
1407 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1408 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1409 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1410 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1411 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1412 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1413 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1414 17, 18, -1, -1, -1, 22, -1, 33, -1, -1,
1415 -1, -1, -1, -1, -1, 32, 42, 43, 44, 45,
1416 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1417 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1418 -1, -1, -1, -1, -1, 3, -1, -1, -1, 66,
1419 67, 68, 69, 70, 12, -1, -1, -1, -1, 17,
1420 18, -1, -1, -1, 22, -1, -1, -1, -1, -1,
1421 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1422 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1423 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1424 -1, -1, -1, -1, -1, -1, 64, -1, 66, 67,
1425 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1426 -1, -1, -1, -1, -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, 3, -1,
1430 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1431 34, -1, 17, 18, -1, -1, -1, 22, 42, 43,
1432 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1433 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1434 -1, 65, -1, -1, 49, -1, -1, -1, -1, -1,
1435 -1, -1, -1, -1, -1, -1, -1, 3, -1, -1,
1436 -1, 66, 67, 68, 69, 70, 12, -1, -1, -1,
1437 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
1438 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1439 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1440 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1441 115, -1, -1, -1, -1, -1, 3, -1, 64, -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, -1, -1, -1, -1, 66,
1448 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1449 -1, -1, -1, -1, -1, -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, 35,
1453 -1, -1, -1, -1, -1, -1, 42, 43, 44, 45,
1454 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1455 56, 57, 58, 59, 35, -1, -1, -1, -1, 65,
1456 -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1457 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1458 -1, -1, 39, -1, 65, 42, 43, 44, 45, 46,
1459 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1460 57, 58, 59, -1, -1, -1, -1, -1, 65, 42,
1461 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1462 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1463 -1, -1, 65, 42, 43, 44, 45, 46, 47, 48,
1464 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1465 59, -1, -1, -1, -1, -1, 65, 42, 43, 44,
1466 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1467 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1468 65, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1469 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1473 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1474 symbol of state STATE-NUM. */
1475 static const unsigned short int yystos
[] =
1477 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1478 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1479 88, 89, 91, 116, 121, 123, 134, 135, 136, 137,
1480 138, 156, 161, 166, 167, 168, 169, 170, 171, 172,
1481 173, 178, 181, 182, 185, 189, 190, 191, 192, 193,
1482 194, 197, 199, 200, 206, 214, 225, 226, 9, 11,
1483 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1484 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1485 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1486 110, 111, 112, 113, 114, 115, 131, 222, 223, 224,
1487 241, 253, 22, 84, 85, 86, 87, 190, 197, 167,
1488 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1489 75, 76, 77, 79, 80, 81, 82, 139, 140, 141,
1490 142, 144, 145, 146, 17, 84, 85, 121, 162, 164,
1491 191, 192, 197, 206, 215, 216, 131, 131, 131, 217,
1492 3, 6, 10, 12, 17, 157, 158, 167, 26, 123,
1493 190, 226, 44, 261, 262, 22, 83, 189, 190, 0,
1494 136, 131, 198, 221, 222, 4, 5, 6, 9, 174,
1495 6, 171, 177, 31, 125, 179, 32, 32, 36, 36,
1496 221, 222, 87, 32, 131, 124, 224, 131, 131, 131,
1497 34, 183, 19, 20, 21, 121, 123, 124, 131, 147,
1498 148, 30, 0, 3, 4, 5, 6, 7, 8, 9,
1499 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1500 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1501 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1502 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1503 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1504 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1505 71, 72, 73, 74, 75, 76, 77, 78, 79, 81,
1506 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1507 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1508 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1509 113, 114, 115, 116, 119, 121, 122, 123, 124, 125,
1510 132, 151, 152, 151, 26, 119, 143, 131, 147, 25,
1511 27, 28, 32, 47, 48, 60, 61, 78, 130, 131,
1512 153, 211, 131, 131, 217, 131, 217, 164, 31, 131,
1513 35, 219, 219, 219, 219, 222, 23, 31, 190, 36,
1514 186, 36, 23, 162, 179, 186, 38, 220, 32, 131,
1515 6, 175, 6, 9, 176, 174, 32, 31, 17, 87,
1516 166, 195, 196, 197, 195, 131, 207, 208, 92, 93,
1517 94, 95, 96, 98, 99, 232, 233, 234, 247, 250,
1518 256, 257, 258, 131, 221, 184, 198, 222, 118, 151,
1519 132, 26, 27, 32, 44, 213, 153, 32, 131, 153,
1520 32, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1521 51, 52, 53, 54, 55, 56, 57, 58, 59, 65,
1522 129, 31, 35, 36, 202, 202, 31, 201, 202, 201,
1523 32, 131, 40, 186, 0, 3, 4, 5, 6, 7,
1524 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1525 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1526 28, 29, 31, 32, 33, 34, 35, 38, 39, 40,
1527 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1528 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1529 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1530 71, 72, 73, 74, 75, 76, 77, 78, 79, 81,
1531 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1532 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1533 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1534 113, 114, 115, 116, 119, 121, 122, 123, 124, 125,
1535 133, 186, 187, 188, 232, 32, 31, 31, 19, 23,
1536 25, 27, 32, 39, 130, 198, 209, 210, 211, 221,
1537 220, 6, 26, 180, 222, 17, 221, 33, 34, 33,
1538 34, 40, 34, 37, 198, 237, 209, 229, 251, 252,
1539 253, 261, 198, 131, 259, 260, 198, 248, 252, 37,
1540 233, 209, 33, 131, 34, 32, 167, 212, 213, 22,
1541 33, 131, 153, 154, 155, 153, 153, 32, 121, 163,
1542 164, 165, 166, 203, 206, 215, 216, 198, 198, 221,
1543 19, 20, 21, 26, 159, 160, 209, 37, 188, 37,
1544 3, 6, 10, 12, 13, 14, 15, 16, 17, 33,
1545 227, 228, 230, 231, 22, 87, 166, 209, 209, 39,
1546 65, 129, 131, 26, 33, 222, 220, 17, 64, 196,
1547 220, 64, 209, 208, 40, 31, 40, 31, 32, 24,
1548 40, 32, 31, 34, 32, 31, 31, 33, 198, 64,
1549 131, 149, 150, 221, 33, 33, 33, 34, 35, 25,
1550 165, 35, 218, 37, 163, 219, 219, 131, 31, 35,
1551 33, 34, 229, 33, 33, 209, 209, 33, 33, 33,
1552 19, 89, 90, 109, 209, 236, 238, 239, 240, 241,
1553 262, 251, 198, 261, 184, 260, 17, 184, 249, 33,
1554 34, 153, 153, 34, 25, 35, 34, 204, 218, 202,
1555 202, 33, 230, 35, 228, 230, 40, 209, 35, 220,
1556 220, 109, 238, 17, 18, 241, 244, 32, 32, 236,
1557 34, 254, 198, 33, 33, 151, 64, 131, 25, 35,
1558 32, 198, 205, 31, 204, 230, 261, 159, 209, 32,
1559 209, 229, 64, 251, 255, 33, 31, 97, 33, 35,
1560 25, 218, 34, 31, 64, 229, 34, 34, 242, 33,
1561 34, 18, 252, 253, 32, 34, 198, 24, 32, 209,
1562 198, 235, 236, 237, 243, 262, 33, 251, 25, 25,
1563 218, 33, 245, 246, 251, 33, 34, 236, 34, 33,
1564 35, 33, 34, 235, 25, 230, 33, 251, 33
1567 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1568 static const unsigned short int yyr1
[] =
1570 0, 128, 129, 129, 129, 129, 129, 129, 129, 129,
1571 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1572 130, 130, 130, 130, 131, 131, 131, 131, 131, 131,
1573 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1574 131, 131, 131, 132, 132, 132, 132, 132, 132, 132,
1575 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1576 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1577 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1578 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1579 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
1580 132, 132, 132, 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, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1587 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1588 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1589 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1590 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1591 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1592 133, 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, 134, 134, 135,
1598 135, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1599 136, 136, 136, 136, 136, 137, 138, 138, 139, 139,
1600 139, 139, 139, 139, 139, 139, 140, 140, 141, 141,
1601 142, 142, 142, 143, 143, 144, 144, 145, 145, 145,
1602 146, 146, 147, 147, 147, 147, 147, 147, 147, 148,
1603 148, 149, 149, 149, 149, 150, 150, 151, 151, 152,
1604 152, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1605 153, 153, 154, 154, 155, 155, 156, 157, 158, 158,
1606 158, 158, 159, 159, 159, 160, 160, 160, 160, 161,
1607 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
1608 164, 165, 165, 165, 165, 165, 166, 166, 166, 167,
1609 167, 168, 168, 168, 169, 169, 169, 170, 170, 170,
1610 171, 171, 172, 172, 172, 173, 173, 173, 173, 174,
1611 174, 174, 174, 174, 175, 175, 176, 176, 176, 176,
1612 177, 177, 177, 178, 178, 179, 179, 180, 180, 181,
1613 182, 183, 183, 184, 184, 185, 185, 185, 186, 187,
1614 187, 188, 188, 189, 189, 190, 190, 191, 191, 192,
1615 192, 193, 193, 193, 193, 194, 194, 195, 195, 195,
1616 195, 196, 196, 196, 196, 197, 197, 197, 197, 198,
1617 198, 199, 200, 201, 201, 202, 203, 203, 204, 204,
1618 205, 205, 206, 207, 207, 208, 208, 209, 209, 209,
1619 209, 209, 209, 210, 210, 210, 210, 210, 210, 211,
1620 211, 212, 212, 213, 213, 213, 214, 215, 216, 217,
1621 217, 218, 218, 218, 218, 219, 219, 220, 220, 220,
1622 221, 221, 222, 222, 223, 223, 224, 224, 225, 225,
1623 226, 226, 226, 227, 227, 228, 228, 229, 230, 231,
1624 231, 231, 231, 231, 231, 231, 231, 231, 232, 232,
1625 233, 233, 233, 233, 233, 234, 234, 235, 235, 235,
1626 236, 236, 236, 236, 236, 236, 237, 237, 238, 239,
1627 240, 241, 241, 241, 241, 241, 241, 241, 241, 241,
1628 241, 242, 242, 243, 243, 244, 244, 245, 245, 246,
1629 246, 247, 248, 248, 249, 249, 249, 250, 251, 251,
1630 251, 252, 252, 253, 253, 253, 253, 253, 253, 253,
1631 253, 254, 254, 255, 255, 256, 257, 257, 258, 259,
1632 259, 260, 261, 261, 262
1635 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1636 static const unsigned char yyr2
[] =
1638 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1640 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1641 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1644 1, 1, 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, 0, 1, 1,
1666 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1667 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1668 1, 2, 2, 2, 1, 2, 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, 6,
1671 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1672 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1673 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1674 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1675 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1676 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1677 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1678 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1679 1, 2, 1, 2, 0, 1, 0, 1, 1, 2,
1680 0, 1, 2, 3, 4, 0, 4, 1, 2, 2,
1681 3, 0, 2, 1, 3, 3, 3, 4, 3, 1,
1682 2, 1, 1, 1, 2, 1, 1, 5, 7, 5,
1683 7, 6, 7, 6, 5, 1, 2, 0, 1, 1,
1684 3, 1, 2, 3, 2, 1, 2, 4, 3, 3,
1685 2, 4, 4, 1, 1, 3, 4, 5, 0, 2,
1686 2, 4, 4, 1, 3, 1, 3, 1, 4, 3,
1687 3, 2, 5, 1, 1, 1, 1, 1, 1, 4,
1688 2, 1, 2, 2, 1, 1, 2, 2, 2, 0,
1689 1, 0, 2, 7, 9, 0, 7, 0, 2, 3,
1690 0, 1, 1, 2, 1, 2, 1, 2, 4, 5,
1691 7, 8, 13, 1, 3, 2, 4, 2, 1, 1,
1692 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
1693 1, 1, 1, 1, 1, 3, 6, 1, 2, 1,
1694 1, 1, 1, 2, 1, 1, 3, 4, 6, 8,
1695 5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1696 1, 0, 2, 1, 3, 1, 1, 0, 1, 1,
1697 3, 3, 6, 1, 0, 1, 1, 3, 1, 1,
1698 3, 5, 6, 1, 1, 1, 1, 1, 1, 1,
1699 1, 0, 2, 1, 3, 3, 1, 1, 3, 1,
1704 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1705 static const unsigned char yydprec
[] =
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 1, 2, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 2, 1, 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,
1772 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1773 static const unsigned char yymerger
[] =
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1840 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1841 in the case of predicates. */
1842 static const yybool yyimmediate
[] =
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1909 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1910 list of conflicting reductions corresponding to action entry for
1911 state STATE-NUM in yytable. 0 means no conflicts. The list in
1912 yyconfl is terminated by a rule number of 0. */
1913 static const unsigned short int yyconflp
[] =
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 5, 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, 257, 0, 259, 261, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 265, 0,
1931 267, 269, 0, 0, 0, 0, 0, 0, 251, 0,
1932 0, 0, 253, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 255, 0, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 263, 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, 271, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 7, 0, 0, 9, 11, 13, 15, 17, 19,
1999 21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
2000 41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
2001 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
2002 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
2003 101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
2004 121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
2005 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
2006 161, 0, 163, 0, 165, 167, 169, 171, 173, 175,
2007 177, 179, 181, 183, 185, 187, 189, 191, 193, 195,
2008 197, 199, 201, 203, 205, 207, 209, 211, 213, 215,
2009 217, 219, 221, 223, 225, 227, 229, 231, 0, 233,
2010 235, 0, 237, 239, 241, 243, 245, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 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, 1, 0, 0, 0, 0,
2084 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 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, 247, 0, 0, 0,
2163 0, 249, 0, 0, 0, 0, 0, 0, 0, 0,
2164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 273, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2294 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2295 0, pointed into by YYCONFLP. */
2296 static const short int yyconfl
[] =
2298 0, 396, 0, 396, 0, 465, 0, 609, 0, 609,
2299 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2300 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2301 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2302 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2303 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2304 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2305 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2306 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2307 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2308 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2309 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2310 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2311 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2312 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2313 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2314 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2315 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2316 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2317 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2318 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2319 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2320 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2321 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
2322 0, 609, 0, 609, 0, 609, 0, 396, 0, 396,
2323 0, 510, 0, 510, 0, 42, 0, 496, 0, 496,
2324 0, 496, 0, 396, 0, 560, 0, 560, 0, 560,
2325 0, 610, 0, 344, 0, 492, 0
2328 /* Error token number */
2335 #define yynerrs (yystackp->yyerrcnt)
2337 #define yychar (yystackp->yyrawchar)
2339 #define yylval (yystackp->yyval)
2341 #define yylloc (yystackp->yyloc)
2342 #define psi_parser_proc_nerrs yynerrs
2343 #define psi_parser_proc_char yychar
2344 #define psi_parser_proc_lval yylval
2345 #define psi_parser_proc_lloc yylloc
2347 static const int YYEOF
= 0;
2348 static const int YYEMPTY
= -2;
2350 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2352 #define YYCHK(YYE) \
2354 YYRESULTTAG yychk_flag = YYE; \
2355 if (yychk_flag != yyok) \
2356 return yychk_flag; \
2362 # define YYFPRINTF fprintf
2365 /* This macro is provided for backward compatibility. */
2366 #ifndef YY_LOCATION_PRINT
2367 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2371 # define YYDPRINTF(Args) \
2378 /*----------------------------------------.
2379 | Print this symbol's value on YYOUTPUT. |
2380 `----------------------------------------*/
2383 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2385 FILE *yyo
= yyoutput
;
2396 /*--------------------------------.
2397 | Print this symbol on YYOUTPUT. |
2398 `--------------------------------*/
2401 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2403 YYFPRINTF (yyoutput
, "%s %s (",
2404 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2406 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2407 YYFPRINTF (yyoutput
, ")");
2410 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2414 YYFPRINTF (stderr, "%s ", Title); \
2415 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2416 YYFPRINTF (stderr, "\n"); \
2420 /* Nonzero means print parse trace. It is left uninitialized so that
2421 multiple parsers can coexist. */
2425 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2426 YY_ATTRIBUTE_UNUSED
;
2427 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2428 YY_ATTRIBUTE_UNUSED
;
2430 #else /* !YYDEBUG */
2432 # define YYDPRINTF(Args)
2433 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2435 #endif /* !YYDEBUG */
2437 /* YYINITDEPTH -- initial size of the parser's stacks. */
2439 # define YYINITDEPTH 200
2442 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2443 if the built-in stack extension method is used).
2445 Do not make this value too large; the results are undefined if
2446 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2447 evaluated with infinite-precision integer arithmetic. */
2450 # define YYMAXDEPTH 10000
2453 /* Minimum number of free items on the stack allowed after an
2454 allocation. This is to allow allocation and initialization
2455 to be completed by functions that call yyexpandGLRStack before the
2456 stack is expanded, thus insuring that all necessary pointers get
2457 properly redirected to new data. */
2458 #define YYHEADROOM 2
2460 #ifndef YYSTACKEXPANDABLE
2461 # define YYSTACKEXPANDABLE 1
2464 #if YYSTACKEXPANDABLE
2465 # define YY_RESERVE_GLRSTACK(Yystack) \
2467 if (Yystack->yyspaceLeft < YYHEADROOM) \
2468 yyexpandGLRStack (Yystack); \
2471 # define YY_RESERVE_GLRSTACK(Yystack) \
2473 if (Yystack->yyspaceLeft < YYHEADROOM) \
2474 yyMemoryExhausted (Yystack); \
2482 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2483 # define yystpcpy stpcpy
2485 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2488 yystpcpy (char *yydest
, const char *yysrc
)
2491 const char *yys
= yysrc
;
2493 while ((*yyd
++ = *yys
++) != '\0')
2502 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2503 quotes and backslashes, so that it's suitable for yyerror. The
2504 heuristic is that double-quoting is unnecessary unless the string
2505 contains an apostrophe, a comma, or backslash (other than
2506 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2507 null, do not copy; instead, return the length of what the result
2510 yytnamerr (char *yyres
, const char *yystr
)
2515 char const *yyp
= yystr
;
2522 goto do_not_strip_quotes
;
2526 goto do_not_strip_quotes
;
2539 do_not_strip_quotes
: ;
2543 return strlen (yystr
);
2545 return yystpcpy (yyres
, yystr
) - yyres
;
2549 #endif /* !YYERROR_VERBOSE */
2551 /** State numbers, as in LALR(1) machine */
2552 typedef int yyStateNum
;
2554 /** Rule numbers, as in LALR(1) machine */
2555 typedef int yyRuleNum
;
2557 /** Grammar symbol */
2558 typedef int yySymbol
;
2560 /** Item references, as in LALR(1) machine */
2561 typedef short int yyItemNum
;
2563 typedef struct yyGLRState yyGLRState
;
2564 typedef struct yyGLRStateSet yyGLRStateSet
;
2565 typedef struct yySemanticOption yySemanticOption
;
2566 typedef union yyGLRStackItem yyGLRStackItem
;
2567 typedef struct yyGLRStack yyGLRStack
;
2570 /** Type tag: always true. */
2572 /** Type tag for yysemantics. If true, yysval applies, otherwise
2573 * yyfirstVal applies. */
2575 /** Number of corresponding LALR(1) machine state. */
2576 yyStateNum yylrState
;
2577 /** Preceding state in this stack */
2579 /** Source position of the last token produced by my symbol */
2582 /** First in a chain of alternative reductions producing the
2583 * non-terminal corresponding to this state, threaded through
2585 yySemanticOption
* yyfirstVal
;
2586 /** Semantic value for this state. */
2591 struct yyGLRStateSet
{
2592 yyGLRState
** yystates
;
2593 /** During nondeterministic operation, yylookaheadNeeds tracks which
2594 * stacks have actually needed the current lookahead. During deterministic
2595 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2596 * duplicate yychar != YYEMPTY. */
2597 yybool
* yylookaheadNeeds
;
2598 size_t yysize
, yycapacity
;
2601 struct yySemanticOption
{
2602 /** Type tag: always false. */
2604 /** Rule number for this reduction */
2606 /** The last RHS state in the list of states to be reduced. */
2607 yyGLRState
* yystate
;
2608 /** The lookahead for this reduction. */
2611 /** Next sibling in chain of options. To facilitate merging,
2612 * options are chained in decreasing order by address. */
2613 yySemanticOption
* yynext
;
2616 /** Type of the items in the GLR stack. The yyisState field
2617 * indicates which item of the union is valid. */
2618 union yyGLRStackItem
{
2620 yySemanticOption yyoption
;
2631 YYJMP_BUF yyexception_buffer
;
2632 yyGLRStackItem
* yyitems
;
2633 yyGLRStackItem
* yynextFree
;
2635 yyGLRState
* yysplitPoint
;
2636 yyGLRState
* yylastDeleted
;
2637 yyGLRStateSet yytops
;
2640 #if YYSTACKEXPANDABLE
2641 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2644 static _Noreturn
void
2645 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2647 if (yymsg
!= YY_NULLPTR
)
2648 yyerror (P
, tokens
, index
, yymsg
);
2649 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2652 static _Noreturn
void
2653 yyMemoryExhausted (yyGLRStack
* yystackp
)
2655 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2658 #if YYDEBUG || YYERROR_VERBOSE
2659 /** A printable representation of TOKEN. */
2660 static inline const char*
2661 yytokenName (yySymbol yytoken
)
2663 if (yytoken
== YYEMPTY
)
2666 return yytname
[yytoken
];
2670 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2671 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2672 * containing the pointer to the next state in the chain. */
2673 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2675 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2678 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2679 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2682 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2684 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2686 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2688 /* The effect of using yysval or yyloc (in an immediate rule) is
2690 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2691 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2695 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2696 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2697 * For convenience, always return YYLOW1. */
2698 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2699 YY_ATTRIBUTE_UNUSED
;
2701 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2703 if (!yynormal
&& yylow1
< *yylow
)
2705 yyfillin (yyvsp
, *yylow
, yylow1
);
2711 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2712 * and top stack item YYVSP. YYLVALP points to place to put semantic
2713 * value ($$), and yylocp points to place for location information
2714 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2715 * yyerr for YYERROR, yyabort for YYABORT. */
2717 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2718 yyGLRStack
* yystackp
,
2719 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2721 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2729 # define yyerrok (yystackp->yyerrState = 0)
2731 # define YYACCEPT return yyaccept
2733 # define YYABORT return yyabort
2735 # define YYERROR return yyerrok, yyerr
2736 # undef YYRECOVERING
2737 # define YYRECOVERING() (yystackp->yyerrState != 0)
2739 # define yyclearin (yychar = YYEMPTY)
2741 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2743 # define YYBACKUP(Token, Value) \
2744 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2749 *yyvalp
= yyval_default
;
2751 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2755 #line 398 "src/parser_proc_grammar.y" /* glr.c:816 */
2757 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2758 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2759 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2762 #line 2763 "src/parser_proc.c" /* glr.c:816 */
2766 #line 404 "src/parser_proc_grammar.y" /* glr.c:816 */
2769 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2770 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2772 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
);
2775 #line 2776 "src/parser_proc.c" /* glr.c:816 */
2779 #line 412 "src/parser_proc_grammar.y" /* glr.c:816 */
2781 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2783 #line 2784 "src/parser_proc.c" /* glr.c:816 */
2787 #line 415 "src/parser_proc_grammar.y" /* glr.c:816 */
2789 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2791 #line 2792 "src/parser_proc.c" /* glr.c:816 */
2795 #line 420 "src/parser_proc_grammar.y" /* glr.c:816 */
2797 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2799 #line 2800 "src/parser_proc.c" /* glr.c:816 */
2803 #line 423 "src/parser_proc_grammar.y" /* glr.c:816 */
2805 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2807 #line 2808 "src/parser_proc.c" /* glr.c:816 */
2811 #line 426 "src/parser_proc_grammar.y" /* glr.c:816 */
2813 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2815 #line 2816 "src/parser_proc.c" /* glr.c:816 */
2819 #line 429 "src/parser_proc_grammar.y" /* glr.c:816 */
2821 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2823 #line 2824 "src/parser_proc.c" /* glr.c:816 */
2827 #line 432 "src/parser_proc_grammar.y" /* glr.c:816 */
2829 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2831 #line 2832 "src/parser_proc.c" /* glr.c:816 */
2835 #line 438 "src/parser_proc_grammar.y" /* glr.c:816 */
2837 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2839 #line 2840 "src/parser_proc.c" /* glr.c:816 */
2843 #line 444 "src/parser_proc_grammar.y" /* glr.c:816 */
2845 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2847 #line 2848 "src/parser_proc.c" /* glr.c:816 */
2851 #line 447 "src/parser_proc_grammar.y" /* glr.c:816 */
2853 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2855 #line 2856 "src/parser_proc.c" /* glr.c:816 */
2859 #line 453 "src/parser_proc_grammar.y" /* glr.c:816 */
2861 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2862 struct psi_token
*msg
= NULL
;
2864 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2866 struct psi_token
*next
;
2868 msg
= psi_token_copy(msg
);
2869 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2870 struct psi_token
*old
= msg
;
2871 msg
= psi_token_cat(" ", 2, msg
, next
);
2875 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2877 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2879 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2881 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2883 #line 2884 "src/parser_proc.c" /* glr.c:816 */
2887 #line 476 "src/parser_proc_grammar.y" /* glr.c:816 */
2889 (*(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
))));
2890 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2892 #line 2893 "src/parser_proc.c" /* glr.c:816 */
2896 #line 480 "src/parser_proc_grammar.y" /* glr.c:816 */
2898 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2899 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2901 #line 2902 "src/parser_proc.c" /* glr.c:816 */
2905 #line 484 "src/parser_proc_grammar.y" /* glr.c:816 */
2907 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2908 (*(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
))));
2909 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2911 #line 2912 "src/parser_proc.c" /* glr.c:816 */
2915 #line 489 "src/parser_proc_grammar.y" /* glr.c:816 */
2917 (*(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
)));
2918 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2920 #line 2921 "src/parser_proc.c" /* glr.c:816 */
2924 #line 493 "src/parser_proc_grammar.y" /* glr.c:816 */
2926 (*(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
)));
2927 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2929 #line 2930 "src/parser_proc.c" /* glr.c:816 */
2933 #line 497 "src/parser_proc_grammar.y" /* glr.c:816 */
2935 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2936 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2938 #line 2939 "src/parser_proc.c" /* glr.c:816 */
2942 #line 501 "src/parser_proc_grammar.y" /* glr.c:816 */
2944 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2945 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2947 #line 2948 "src/parser_proc.c" /* glr.c:816 */
2951 #line 555 "src/parser_proc_grammar.y" /* glr.c:816 */
2953 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2954 (*(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
);
2955 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2957 #line 2958 "src/parser_proc.c" /* glr.c:816 */
2961 #line 560 "src/parser_proc_grammar.y" /* glr.c:816 */
2963 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2964 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(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 (-1)].yystate
.yysemantics
.yysval
)));
2967 #line 2968 "src/parser_proc.c" /* glr.c:816 */
2971 #line 568 "src/parser_proc_grammar.y" /* glr.c:816 */
2973 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2975 #line 2976 "src/parser_proc.c" /* glr.c:816 */
2979 #line 571 "src/parser_proc_grammar.y" /* glr.c:816 */
2981 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2983 #line 2984 "src/parser_proc.c" /* glr.c:816 */
2987 #line 575 "src/parser_proc_grammar.y" /* glr.c:816 */
2989 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
2991 #line 2992 "src/parser_proc.c" /* glr.c:816 */
2995 #line 581 "src/parser_proc_grammar.y" /* glr.c:816 */
2997 (*(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
)));
2998 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2999 (*(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
)));
3001 #line 3002 "src/parser_proc.c" /* glr.c:816 */
3005 #line 586 "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((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3011 #line 3012 "src/parser_proc.c" /* glr.c:816 */
3015 #line 594 "src/parser_proc_grammar.y" /* glr.c:816 */
3017 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3019 #line 3020 "src/parser_proc.c" /* glr.c:816 */
3023 #line 601 "src/parser_proc_grammar.y" /* glr.c:816 */
3025 (*(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
)));
3026 (*(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
)));
3028 #line 3029 "src/parser_proc.c" /* glr.c:816 */
3032 #line 605 "src/parser_proc_grammar.y" /* glr.c:816 */
3034 (*(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
)));
3035 (*(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
)));
3037 #line 3038 "src/parser_proc.c" /* glr.c:816 */
3041 #line 612 "src/parser_proc_grammar.y" /* glr.c:816 */
3043 (*(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
)));
3044 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3046 #line 3047 "src/parser_proc.c" /* glr.c:816 */
3050 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
3052 (*(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
)));
3053 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3055 #line 3056 "src/parser_proc.c" /* glr.c:816 */
3059 #line 620 "src/parser_proc_grammar.y" /* glr.c:816 */
3061 (*(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
)));
3062 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3064 #line 3065 "src/parser_proc.c" /* glr.c:816 */
3068 #line 624 "src/parser_proc_grammar.y" /* glr.c:816 */
3070 (*(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
)));
3071 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3073 #line 3074 "src/parser_proc.c" /* glr.c:816 */
3077 #line 629 "src/parser_proc_grammar.y" /* glr.c:816 */
3082 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3083 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3084 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3085 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3088 #line 3089 "src/parser_proc.c" /* glr.c:816 */
3092 #line 639 "src/parser_proc_grammar.y" /* glr.c:816 */
3097 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3098 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3099 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3100 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3103 #line 3104 "src/parser_proc.c" /* glr.c:816 */
3107 #line 649 "src/parser_proc_grammar.y" /* glr.c:816 */
3109 (*(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
));
3110 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3111 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3113 #line 3114 "src/parser_proc.c" /* glr.c:816 */
3117 #line 654 "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
, 0));
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 659 "src/parser_proc_grammar.y" /* glr.c:816 */
3129 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3130 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3132 #line 3133 "src/parser_proc.c" /* glr.c:816 */
3136 #line 663 "src/parser_proc_grammar.y" /* glr.c:816 */
3138 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3139 (*(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));
3140 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3141 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3143 #line 3144 "src/parser_proc.c" /* glr.c:816 */
3147 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3149 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3150 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3151 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));
3152 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3154 #line 3155 "src/parser_proc.c" /* glr.c:816 */
3158 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
3160 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3162 #line 3163 "src/parser_proc.c" /* glr.c:816 */
3166 #line 685 "src/parser_proc_grammar.y" /* glr.c:816 */
3168 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3169 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3171 #line 3172 "src/parser_proc.c" /* glr.c:816 */
3175 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
3177 (*(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
)));
3179 #line 3180 "src/parser_proc.c" /* glr.c:816 */
3183 #line 695 "src/parser_proc_grammar.y" /* glr.c:816 */
3185 (*(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
)));
3186 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3188 #line 3189 "src/parser_proc.c" /* glr.c:816 */
3192 #line 702 "src/parser_proc_grammar.y" /* glr.c:816 */
3194 (*(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
);
3196 #line 3197 "src/parser_proc.c" /* glr.c:816 */
3200 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
3202 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3204 #line 3205 "src/parser_proc.c" /* glr.c:816 */
3208 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
3210 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
)) {
3212 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3214 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3215 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3217 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3221 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3222 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3223 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3224 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3225 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3226 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3227 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3228 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3229 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3230 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3236 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3238 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3240 #line 3241 "src/parser_proc.c" /* glr.c:816 */
3244 #line 749 "src/parser_proc_grammar.y" /* glr.c:816 */
3246 (*(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
);
3247 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3249 #line 3250 "src/parser_proc.c" /* glr.c:816 */
3253 #line 763 "src/parser_proc_grammar.y" /* glr.c:816 */
3255 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3257 #line 3258 "src/parser_proc.c" /* glr.c:816 */
3261 #line 766 "src/parser_proc_grammar.y" /* glr.c:816 */
3263 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3264 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3265 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3267 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3268 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3269 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3271 #line 3272 "src/parser_proc.c" /* glr.c:816 */
3275 #line 775 "src/parser_proc_grammar.y" /* glr.c:816 */
3277 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3279 #line 3280 "src/parser_proc.c" /* glr.c:816 */
3283 #line 781 "src/parser_proc_grammar.y" /* glr.c:816 */
3285 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3287 #line 3288 "src/parser_proc.c" /* glr.c:816 */
3291 #line 784 "src/parser_proc_grammar.y" /* glr.c:816 */
3293 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3295 #line 3296 "src/parser_proc.c" /* glr.c:816 */
3299 #line 790 "src/parser_proc_grammar.y" /* glr.c:816 */
3301 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3303 #line 3304 "src/parser_proc.c" /* glr.c:816 */
3307 #line 793 "src/parser_proc_grammar.y" /* glr.c:816 */
3309 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3311 #line 3312 "src/parser_proc.c" /* glr.c:816 */
3315 #line 800 "src/parser_proc_grammar.y" /* glr.c:816 */
3317 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3318 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3319 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3321 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3322 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3324 #line 3325 "src/parser_proc.c" /* glr.c:816 */
3328 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
3330 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3331 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3332 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3333 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3335 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3336 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3337 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3338 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3340 #line 3341 "src/parser_proc.c" /* glr.c:816 */
3344 #line 819 "src/parser_proc_grammar.y" /* glr.c:816 */
3346 (*(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
)));
3347 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3348 (*(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
)));
3349 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3350 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3351 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3352 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3354 #line 3355 "src/parser_proc.c" /* glr.c:816 */
3358 #line 828 "src/parser_proc_grammar.y" /* glr.c:816 */
3360 (*(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
)));
3361 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3362 (*(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
)));
3363 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3364 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3365 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3366 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3368 #line 3369 "src/parser_proc.c" /* glr.c:816 */
3372 #line 841 "src/parser_proc_grammar.y" /* glr.c:816 */
3374 (*(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));
3375 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3377 #line 3378 "src/parser_proc.c" /* glr.c:816 */
3381 #line 845 "src/parser_proc_grammar.y" /* glr.c:816 */
3383 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3384 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3385 psi_decl_var_init(NULL
, 0, 0)
3387 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3388 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3389 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3390 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3392 #line 3393 "src/parser_proc.c" /* glr.c:816 */
3396 #line 855 "src/parser_proc_grammar.y" /* glr.c:816 */
3398 (*(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));
3399 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3400 (*(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
)));
3401 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3402 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3403 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3404 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3406 #line 3407 "src/parser_proc.c" /* glr.c:816 */
3410 #line 864 "src/parser_proc_grammar.y" /* glr.c:816 */
3412 (*(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));
3413 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3414 (*(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
)));
3415 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3416 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3417 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3418 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3420 #line 3421 "src/parser_proc.c" /* glr.c:816 */
3424 #line 876 "src/parser_proc_grammar.y" /* glr.c:816 */
3426 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3428 #line 3429 "src/parser_proc.c" /* glr.c:816 */
3432 #line 879 "src/parser_proc_grammar.y" /* glr.c:816 */
3434 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3436 #line 3437 "src/parser_proc.c" /* glr.c:816 */
3440 #line 886 "src/parser_proc_grammar.y" /* glr.c:816 */
3442 (*(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
);
3443 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3445 #line 3446 "src/parser_proc.c" /* glr.c:816 */
3449 #line 894 "src/parser_proc_grammar.y" /* glr.c:816 */
3451 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3452 (*(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
);
3453 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3455 #line 3456 "src/parser_proc.c" /* glr.c:816 */
3459 #line 899 "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 904 "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 914 "src/parser_proc_grammar.y" /* glr.c:816 */
3481 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3483 #line 3484 "src/parser_proc.c" /* glr.c:816 */
3487 #line 920 "src/parser_proc_grammar.y" /* glr.c:816 */
3489 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3491 #line 3492 "src/parser_proc.c" /* glr.c:816 */
3495 #line 923 "src/parser_proc_grammar.y" /* glr.c:816 */
3497 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3499 #line 3500 "src/parser_proc.c" /* glr.c:816 */
3503 #line 926 "src/parser_proc_grammar.y" /* glr.c:816 */
3505 (*(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
)));
3507 #line 3508 "src/parser_proc.c" /* glr.c:816 */
3511 #line 937 "src/parser_proc_grammar.y" /* glr.c:816 */
3513 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3515 #line 3516 "src/parser_proc.c" /* glr.c:816 */
3519 #line 940 "src/parser_proc_grammar.y" /* glr.c:816 */
3521 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3523 #line 3524 "src/parser_proc.c" /* glr.c:816 */
3527 #line 943 "src/parser_proc_grammar.y" /* glr.c:816 */
3529 (*(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
)));
3531 #line 3532 "src/parser_proc.c" /* glr.c:816 */
3535 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3537 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3539 #line 3540 "src/parser_proc.c" /* glr.c:816 */
3543 #line 952 "src/parser_proc_grammar.y" /* glr.c:816 */
3545 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3547 #line 3548 "src/parser_proc.c" /* glr.c:816 */
3551 #line 955 "src/parser_proc_grammar.y" /* glr.c:816 */
3553 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3554 (*(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
)));
3555 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3557 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3560 #line 3561 "src/parser_proc.c" /* glr.c:816 */
3564 #line 963 "src/parser_proc_grammar.y" /* glr.c:816 */
3566 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3567 (*(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
)));
3568 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3569 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3571 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3574 #line 3575 "src/parser_proc.c" /* glr.c:816 */
3578 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3580 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3582 #line 3583 "src/parser_proc.c" /* glr.c:816 */
3586 #line 978 "src/parser_proc_grammar.y" /* glr.c:816 */
3588 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3590 #line 3591 "src/parser_proc.c" /* glr.c:816 */
3594 #line 981 "src/parser_proc_grammar.y" /* glr.c:816 */
3596 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3597 (*(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
)));
3599 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3602 #line 3603 "src/parser_proc.c" /* glr.c:816 */
3606 #line 988 "src/parser_proc_grammar.y" /* glr.c:816 */
3608 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3610 #line 3611 "src/parser_proc.c" /* glr.c:816 */
3614 #line 991 "src/parser_proc_grammar.y" /* glr.c:816 */
3616 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3617 (*(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
)));
3619 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3622 #line 3623 "src/parser_proc.c" /* glr.c:816 */
3626 #line 1001 "src/parser_proc_grammar.y" /* glr.c:816 */
3628 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3630 #line 3631 "src/parser_proc.c" /* glr.c:816 */
3634 #line 1007 "src/parser_proc_grammar.y" /* glr.c:816 */
3636 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3638 #line 3639 "src/parser_proc.c" /* glr.c:816 */
3642 #line 1016 "src/parser_proc_grammar.y" /* glr.c:816 */
3644 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3646 #line 3647 "src/parser_proc.c" /* glr.c:816 */
3650 #line 1019 "src/parser_proc_grammar.y" /* glr.c:816 */
3652 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3654 #line 3655 "src/parser_proc.c" /* glr.c:816 */
3658 #line 1022 "src/parser_proc_grammar.y" /* glr.c:816 */
3660 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3661 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3662 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3664 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3667 #line 3668 "src/parser_proc.c" /* glr.c:816 */
3671 #line 1033 "src/parser_proc_grammar.y" /* glr.c:816 */
3673 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3675 #line 3676 "src/parser_proc.c" /* glr.c:816 */
3679 #line 1036 "src/parser_proc_grammar.y" /* glr.c:816 */
3681 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3683 #line 3684 "src/parser_proc.c" /* glr.c:816 */
3687 #line 1056 "src/parser_proc_grammar.y" /* glr.c:816 */
3689 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3691 #line 3692 "src/parser_proc.c" /* glr.c:816 */
3695 #line 1063 "src/parser_proc_grammar.y" /* glr.c:816 */
3697 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3699 #line 3700 "src/parser_proc.c" /* glr.c:816 */
3703 #line 1069 "src/parser_proc_grammar.y" /* glr.c:816 */
3705 (*(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
)));
3707 #line 3708 "src/parser_proc.c" /* glr.c:816 */
3711 #line 1072 "src/parser_proc_grammar.y" /* glr.c:816 */
3713 (*(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
)));
3715 #line 3716 "src/parser_proc.c" /* glr.c:816 */
3719 #line 1078 "src/parser_proc_grammar.y" /* glr.c:816 */
3721 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3723 #line 3724 "src/parser_proc.c" /* glr.c:816 */
3727 #line 1081 "src/parser_proc_grammar.y" /* glr.c:816 */
3729 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3731 #line 3732 "src/parser_proc.c" /* glr.c:816 */
3735 #line 1084 "src/parser_proc_grammar.y" /* glr.c:816 */
3737 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3739 #line 3740 "src/parser_proc.c" /* glr.c:816 */
3743 #line 1105 "src/parser_proc_grammar.y" /* glr.c:816 */
3745 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3746 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3748 #line 3749 "src/parser_proc.c" /* glr.c:816 */
3752 #line 1117 "src/parser_proc_grammar.y" /* glr.c:816 */
3754 (*(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
)));
3755 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3756 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3757 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3760 #line 3761 "src/parser_proc.c" /* glr.c:816 */
3764 #line 1124 "src/parser_proc_grammar.y" /* glr.c:816 */
3766 (*(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
)));
3767 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3768 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3769 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3770 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3773 #line 3774 "src/parser_proc.c" /* glr.c:816 */
3777 #line 1135 "src/parser_proc_grammar.y" /* glr.c:816 */
3779 (*(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
)));
3780 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3781 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3782 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3785 #line 3786 "src/parser_proc.c" /* glr.c:816 */
3789 #line 1142 "src/parser_proc_grammar.y" /* glr.c:816 */
3791 (*(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
)));
3792 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3793 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3794 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3795 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3798 #line 3799 "src/parser_proc.c" /* glr.c:816 */
3802 #line 1153 "src/parser_proc_grammar.y" /* glr.c:816 */
3804 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3805 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3806 (*(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));
3807 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3808 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3810 #line 3811 "src/parser_proc.c" /* glr.c:816 */
3814 #line 1160 "src/parser_proc_grammar.y" /* glr.c:816 */
3816 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3817 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3818 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3819 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
),
3820 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)
3822 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3823 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3824 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3826 #line 3827 "src/parser_proc.c" /* glr.c:816 */
3830 #line 1171 "src/parser_proc_grammar.y" /* glr.c:816 */
3832 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3833 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3834 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3835 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
),
3836 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)
3838 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3839 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3840 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3842 #line 3843 "src/parser_proc.c" /* glr.c:816 */
3846 #line 1182 "src/parser_proc_grammar.y" /* glr.c:816 */
3848 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3849 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3850 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3851 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
),
3852 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3854 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3855 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3856 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3858 #line 3859 "src/parser_proc.c" /* glr.c:816 */
3862 #line 1197 "src/parser_proc_grammar.y" /* glr.c:816 */
3864 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3865 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
),
3866 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3868 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3869 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3870 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3872 #line 3873 "src/parser_proc.c" /* glr.c:816 */
3876 #line 1209 "src/parser_proc_grammar.y" /* glr.c:816 */
3878 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3880 #line 3881 "src/parser_proc.c" /* glr.c:816 */
3884 #line 1212 "src/parser_proc_grammar.y" /* glr.c:816 */
3886 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3888 #line 3889 "src/parser_proc.c" /* glr.c:816 */
3892 #line 1215 "src/parser_proc_grammar.y" /* glr.c:816 */
3894 (*(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
)));
3896 #line 3897 "src/parser_proc.c" /* glr.c:816 */
3900 #line 1218 "src/parser_proc_grammar.y" /* glr.c:816 */
3902 (*(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
)));
3904 #line 3905 "src/parser_proc.c" /* glr.c:816 */
3908 #line 1225 "src/parser_proc_grammar.y" /* glr.c:816 */
3910 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3912 #line 3913 "src/parser_proc.c" /* glr.c:816 */
3916 #line 1228 "src/parser_proc_grammar.y" /* glr.c:816 */
3918 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3919 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3920 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3923 #line 3924 "src/parser_proc.c" /* glr.c:816 */
3927 #line 1234 "src/parser_proc_grammar.y" /* glr.c:816 */
3929 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3930 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
),
3931 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3933 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3934 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3935 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3937 #line 3938 "src/parser_proc.c" /* glr.c:816 */
3941 #line 1243 "src/parser_proc_grammar.y" /* glr.c:816 */
3943 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3944 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
),
3945 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3947 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3948 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3949 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3951 #line 3952 "src/parser_proc.c" /* glr.c:816 */
3955 #line 1255 "src/parser_proc_grammar.y" /* glr.c:816 */
3957 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3958 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3959 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3961 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3962 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3964 #line 3965 "src/parser_proc.c" /* glr.c:816 */
3968 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
3970 (*(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
)));
3972 #line 3973 "src/parser_proc.c" /* glr.c:816 */
3976 #line 1266 "src/parser_proc_grammar.y" /* glr.c:816 */
3978 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3979 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3980 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
),
3981 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)
3983 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3984 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3985 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3987 #line 3988 "src/parser_proc.c" /* glr.c:816 */
3991 #line 1276 "src/parser_proc_grammar.y" /* glr.c:816 */
3993 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3994 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3995 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
),
3996 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)
3998 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3999 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4000 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4002 #line 4003 "src/parser_proc.c" /* glr.c:816 */
4006 #line 1289 "src/parser_proc_grammar.y" /* glr.c:816 */
4008 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4009 (*(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
)));
4010 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4012 #line 4013 "src/parser_proc.c" /* glr.c:816 */
4016 #line 1294 "src/parser_proc_grammar.y" /* glr.c:816 */
4018 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4019 (*(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
)));
4020 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4022 #line 4023 "src/parser_proc.c" /* glr.c:816 */
4026 #line 1302 "src/parser_proc_grammar.y" /* glr.c:816 */
4028 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4029 (*(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
)));
4030 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4031 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4032 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4034 #line 4035 "src/parser_proc.c" /* glr.c:816 */
4038 #line 1312 "src/parser_proc_grammar.y" /* glr.c:816 */
4040 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4041 (*(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
)));
4042 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4043 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4044 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4046 #line 4047 "src/parser_proc.c" /* glr.c:816 */
4050 #line 1322 "src/parser_proc_grammar.y" /* glr.c:816 */
4052 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4054 #line 4055 "src/parser_proc.c" /* glr.c:816 */
4058 #line 1329 "src/parser_proc_grammar.y" /* glr.c:816 */
4060 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4062 #line 4063 "src/parser_proc.c" /* glr.c:816 */
4066 #line 1335 "src/parser_proc_grammar.y" /* glr.c:816 */
4068 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4069 (*(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
)));
4070 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4072 struct psi_decl_arg
*arg
;
4074 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4075 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4076 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4078 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4081 #line 4082 "src/parser_proc.c" /* glr.c:816 */
4085 #line 1349 "src/parser_proc_grammar.y" /* glr.c:816 */
4087 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4088 (*(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
)));
4089 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4091 struct psi_decl_arg
*arg
;
4093 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4094 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4095 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4097 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4100 #line 4101 "src/parser_proc.c" /* glr.c:816 */
4104 #line 1366 "src/parser_proc_grammar.y" /* glr.c:816 */
4106 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4108 #line 4109 "src/parser_proc.c" /* glr.c:816 */
4112 #line 1369 "src/parser_proc_grammar.y" /* glr.c:816 */
4114 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4116 #line 4117 "src/parser_proc.c" /* glr.c:816 */
4120 #line 1375 "src/parser_proc_grammar.y" /* glr.c:816 */
4123 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4124 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4125 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4128 #line 4129 "src/parser_proc.c" /* glr.c:816 */
4132 #line 1382 "src/parser_proc_grammar.y" /* glr.c:816 */
4135 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4136 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4137 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4140 #line 4141 "src/parser_proc.c" /* glr.c:816 */
4144 #line 1392 "src/parser_proc_grammar.y" /* glr.c:816 */
4146 (*(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
)));
4147 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4149 #line 4150 "src/parser_proc.c" /* glr.c:816 */
4153 #line 1399 "src/parser_proc_grammar.y" /* glr.c:816 */
4155 (*(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
)));
4157 #line 4158 "src/parser_proc.c" /* glr.c:816 */
4161 #line 1402 "src/parser_proc_grammar.y" /* glr.c:816 */
4163 (*(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
)));
4165 #line 4166 "src/parser_proc.c" /* glr.c:816 */
4169 #line 1408 "src/parser_proc_grammar.y" /* glr.c:816 */
4171 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4172 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4173 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4175 #line 4176 "src/parser_proc.c" /* glr.c:816 */
4179 #line 1413 "src/parser_proc_grammar.y" /* glr.c:816 */
4181 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4182 (*(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
)));
4183 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4185 #line 4186 "src/parser_proc.c" /* glr.c:816 */
4189 #line 1421 "src/parser_proc_grammar.y" /* glr.c:816 */
4191 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4192 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4194 #line 4195 "src/parser_proc.c" /* glr.c:816 */
4198 #line 1425 "src/parser_proc_grammar.y" /* glr.c:816 */
4200 (*(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
)));
4201 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4203 #line 4204 "src/parser_proc.c" /* glr.c:816 */
4207 #line 1429 "src/parser_proc_grammar.y" /* glr.c:816 */
4209 (*(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
)));
4210 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4212 #line 4213 "src/parser_proc.c" /* glr.c:816 */
4216 #line 1433 "src/parser_proc_grammar.y" /* glr.c:816 */
4218 (*(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
)));
4219 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4221 #line 4222 "src/parser_proc.c" /* glr.c:816 */
4225 #line 1437 "src/parser_proc_grammar.y" /* glr.c:816 */
4227 (*(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
)));
4228 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4230 #line 4231 "src/parser_proc.c" /* glr.c:816 */
4234 #line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */
4236 (*(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
)));
4237 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4239 #line 4240 "src/parser_proc.c" /* glr.c:816 */
4243 #line 1448 "src/parser_proc_grammar.y" /* glr.c:816 */
4245 (*(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
);
4246 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4248 #line 4249 "src/parser_proc.c" /* glr.c:816 */
4252 #line 1452 "src/parser_proc_grammar.y" /* glr.c:816 */
4254 (*(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);
4255 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4257 #line 4258 "src/parser_proc.c" /* glr.c:816 */
4261 #line 1456 "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
, 0);
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 1460 "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 1464 "src/parser_proc_grammar.y" /* glr.c:816 */
4281 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4282 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4284 #line 4285 "src/parser_proc.c" /* glr.c:816 */
4288 #line 1468 "src/parser_proc_grammar.y" /* glr.c:816 */
4290 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4292 #line 4293 "src/parser_proc.c" /* glr.c:816 */
4296 #line 1474 "src/parser_proc_grammar.y" /* glr.c:816 */
4298 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4299 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4301 #line 4302 "src/parser_proc.c" /* glr.c:816 */
4305 #line 1478 "src/parser_proc_grammar.y" /* glr.c:816 */
4307 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4308 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4310 #line 4311 "src/parser_proc.c" /* glr.c:816 */
4314 #line 1485 "src/parser_proc_grammar.y" /* glr.c:816 */
4316 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4318 #line 4319 "src/parser_proc.c" /* glr.c:816 */
4322 #line 1488 "src/parser_proc_grammar.y" /* glr.c:816 */
4324 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4325 int8_t sizeof_void_p
= sizeof(void *);
4326 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4328 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4331 #line 4332 "src/parser_proc.c" /* glr.c:816 */
4335 #line 1499 "src/parser_proc_grammar.y" /* glr.c:816 */
4337 int8_t sizeof_void_p
= sizeof(void *);
4338 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4340 #line 4341 "src/parser_proc.c" /* glr.c:816 */
4344 #line 1503 "src/parser_proc_grammar.y" /* glr.c:816 */
4346 int8_t sizeof_a
= sizeof('a');
4347 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4349 #line 4350 "src/parser_proc.c" /* glr.c:816 */
4353 #line 1507 "src/parser_proc_grammar.y" /* glr.c:816 */
4355 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4357 #line 4358 "src/parser_proc.c" /* glr.c:816 */
4361 #line 1513 "src/parser_proc_grammar.y" /* glr.c:816 */
4363 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4364 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4368 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4369 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4372 #line 4373 "src/parser_proc.c" /* glr.c:816 */
4376 #line 1526 "src/parser_proc_grammar.y" /* glr.c:816 */
4378 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4379 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4383 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4384 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4387 #line 4388 "src/parser_proc.c" /* glr.c:816 */
4391 #line 1539 "src/parser_proc_grammar.y" /* glr.c:816 */
4393 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4394 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4398 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4399 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4402 #line 4403 "src/parser_proc.c" /* glr.c:816 */
4406 #line 1552 "src/parser_proc_grammar.y" /* glr.c:816 */
4408 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4410 #line 4411 "src/parser_proc.c" /* glr.c:816 */
4414 #line 1555 "src/parser_proc_grammar.y" /* glr.c:816 */
4416 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4417 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4419 #line 4420 "src/parser_proc.c" /* glr.c:816 */
4423 #line 1562 "src/parser_proc_grammar.y" /* glr.c:816 */
4425 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4427 #line 4428 "src/parser_proc.c" /* glr.c:816 */
4431 #line 1565 "src/parser_proc_grammar.y" /* glr.c:816 */
4433 (*(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
));
4435 #line 4436 "src/parser_proc.c" /* glr.c:816 */
4439 #line 1568 "src/parser_proc_grammar.y" /* glr.c:816 */
4441 (*(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
);
4443 #line 4444 "src/parser_proc.c" /* glr.c:816 */
4447 #line 1571 "src/parser_proc_grammar.y" /* glr.c:816 */
4449 (*(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
));
4451 #line 4452 "src/parser_proc.c" /* glr.c:816 */
4455 #line 1577 "src/parser_proc_grammar.y" /* glr.c:816 */
4457 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4458 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4460 #line 4461 "src/parser_proc.c" /* glr.c:816 */
4464 #line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */
4466 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4467 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4469 #line 4470 "src/parser_proc.c" /* glr.c:816 */
4473 #line 1588 "src/parser_proc_grammar.y" /* glr.c:816 */
4475 (*(size_t*)(&(*yyvalp
))) = 0;
4477 #line 4478 "src/parser_proc.c" /* glr.c:816 */
4481 #line 1591 "src/parser_proc_grammar.y" /* glr.c:816 */
4483 (*(size_t*)(&(*yyvalp
))) = 0;
4485 #line 4486 "src/parser_proc.c" /* glr.c:816 */
4489 #line 1594 "src/parser_proc_grammar.y" /* glr.c:816 */
4491 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
)) {
4492 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4494 (*(size_t*)(&(*yyvalp
))) = 0;
4497 #line 4498 "src/parser_proc.c" /* glr.c:816 */
4501 #line 1604 "src/parser_proc_grammar.y" /* glr.c:816 */
4503 (*(size_t*)(&(*yyvalp
))) = 0;
4505 #line 4506 "src/parser_proc.c" /* glr.c:816 */
4509 #line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */
4511 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4513 #line 4514 "src/parser_proc.c" /* glr.c:816 */
4517 #line 1614 "src/parser_proc_grammar.y" /* glr.c:816 */
4519 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4521 #line 4522 "src/parser_proc.c" /* glr.c:816 */
4525 #line 1620 "src/parser_proc_grammar.y" /* glr.c:816 */
4527 (*(size_t*)(&(*yyvalp
))) = 1;
4529 #line 4530 "src/parser_proc.c" /* glr.c:816 */
4533 #line 1623 "src/parser_proc_grammar.y" /* glr.c:816 */
4535 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4537 #line 4538 "src/parser_proc.c" /* glr.c:816 */
4541 #line 1640 "src/parser_proc_grammar.y" /* glr.c:816 */
4543 (*(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
)));
4545 #line 4546 "src/parser_proc.c" /* glr.c:816 */
4549 #line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */
4551 (*(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
)));
4552 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4554 #line 4555 "src/parser_proc.c" /* glr.c:816 */
4558 #line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */
4560 (*(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
)));
4561 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4562 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4564 #line 4565 "src/parser_proc.c" /* glr.c:816 */
4568 #line 1655 "src/parser_proc_grammar.y" /* glr.c:816 */
4570 (*(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
)));
4571 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4572 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4574 #line 4575 "src/parser_proc.c" /* glr.c:816 */
4578 #line 1660 "src/parser_proc_grammar.y" /* glr.c:816 */
4580 (*(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
)));
4581 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4582 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4583 (*(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
);
4584 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4586 #line 4587 "src/parser_proc.c" /* glr.c:816 */
4590 #line 1670 "src/parser_proc_grammar.y" /* glr.c:816 */
4592 (*(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
)));
4594 #line 4595 "src/parser_proc.c" /* glr.c:816 */
4598 #line 1673 "src/parser_proc_grammar.y" /* glr.c:816 */
4600 (*(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
)));
4602 #line 4603 "src/parser_proc.c" /* glr.c:816 */
4606 #line 1679 "src/parser_proc_grammar.y" /* glr.c:816 */
4608 (*(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
);
4610 #line 4611 "src/parser_proc.c" /* glr.c:816 */
4614 #line 1682 "src/parser_proc_grammar.y" /* glr.c:816 */
4616 (*(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
)));
4618 #line 4619 "src/parser_proc.c" /* glr.c:816 */
4622 #line 1688 "src/parser_proc_grammar.y" /* glr.c:816 */
4624 (*(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
)));
4625 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4627 #line 4628 "src/parser_proc.c" /* glr.c:816 */
4631 #line 1695 "src/parser_proc_grammar.y" /* glr.c:816 */
4633 (*(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
);
4634 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4636 #line 4637 "src/parser_proc.c" /* glr.c:816 */
4640 #line 1714 "src/parser_proc_grammar.y" /* glr.c:816 */
4642 (*(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
)));
4644 #line 4645 "src/parser_proc.c" /* glr.c:816 */
4648 #line 1717 "src/parser_proc_grammar.y" /* glr.c:816 */
4650 (*(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
)));
4652 #line 4653 "src/parser_proc.c" /* glr.c:816 */
4656 #line 1723 "src/parser_proc_grammar.y" /* glr.c:816 */
4658 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4660 #line 4661 "src/parser_proc.c" /* glr.c:816 */
4664 #line 1726 "src/parser_proc_grammar.y" /* glr.c:816 */
4666 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4668 #line 4669 "src/parser_proc.c" /* glr.c:816 */
4672 #line 1729 "src/parser_proc_grammar.y" /* glr.c:816 */
4674 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4676 #line 4677 "src/parser_proc.c" /* glr.c:816 */
4680 #line 1732 "src/parser_proc_grammar.y" /* glr.c:816 */
4682 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4684 #line 4685 "src/parser_proc.c" /* glr.c:816 */
4688 #line 1735 "src/parser_proc_grammar.y" /* glr.c:816 */
4690 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4692 #line 4693 "src/parser_proc.c" /* glr.c:816 */
4696 #line 1741 "src/parser_proc_grammar.y" /* glr.c:816 */
4698 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4699 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4701 #line 4702 "src/parser_proc.c" /* glr.c:816 */
4705 #line 1745 "src/parser_proc_grammar.y" /* glr.c:816 */
4707 (*(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
))));
4708 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4709 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4711 #line 4712 "src/parser_proc.c" /* glr.c:816 */
4715 #line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */
4717 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4718 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4720 #line 4721 "src/parser_proc.c" /* glr.c:816 */
4724 #line 1758 "src/parser_proc_grammar.y" /* glr.c:816 */
4726 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4727 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4729 #line 4730 "src/parser_proc.c" /* glr.c:816 */
4733 #line 1765 "src/parser_proc_grammar.y" /* glr.c:816 */
4735 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4737 #line 4738 "src/parser_proc.c" /* glr.c:816 */
4741 #line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */
4743 (*(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
)));
4745 #line 4746 "src/parser_proc.c" /* glr.c:816 */
4749 #line 1771 "src/parser_proc_grammar.y" /* glr.c:816 */
4751 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4753 #line 4754 "src/parser_proc.c" /* glr.c:816 */
4757 #line 1774 "src/parser_proc_grammar.y" /* glr.c:816 */
4759 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4760 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4762 #line 4763 "src/parser_proc.c" /* glr.c:816 */
4766 #line 1778 "src/parser_proc_grammar.y" /* glr.c:816 */
4768 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4770 #line 4771 "src/parser_proc.c" /* glr.c:816 */
4774 #line 1781 "src/parser_proc_grammar.y" /* glr.c:816 */
4776 (*(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
)));
4778 #line 4779 "src/parser_proc.c" /* glr.c:816 */
4782 #line 1787 "src/parser_proc_grammar.y" /* glr.c:816 */
4784 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4785 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4787 #line 4788 "src/parser_proc.c" /* glr.c:816 */
4791 #line 1791 "src/parser_proc_grammar.y" /* glr.c:816 */
4793 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4794 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4795 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4797 #line 4798 "src/parser_proc.c" /* glr.c:816 */
4801 #line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */
4803 (*(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
)));
4804 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4806 #line 4807 "src/parser_proc.c" /* glr.c:816 */
4810 #line 1806 "src/parser_proc_grammar.y" /* glr.c:816 */
4812 (*(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
)));
4813 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4814 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4816 #line 4817 "src/parser_proc.c" /* glr.c:816 */
4820 #line 1814 "src/parser_proc_grammar.y" /* glr.c:816 */
4822 (*(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
)));
4823 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4824 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4826 #line 4827 "src/parser_proc.c" /* glr.c:816 */
4830 #line 1835 "src/parser_proc_grammar.y" /* glr.c:816 */
4832 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4834 #line 4835 "src/parser_proc.c" /* glr.c:816 */
4838 #line 1838 "src/parser_proc_grammar.y" /* glr.c:816 */
4840 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4842 #line 4843 "src/parser_proc.c" /* glr.c:816 */
4846 #line 1844 "src/parser_proc_grammar.y" /* glr.c:816 */
4848 (*(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
)));
4850 #line 4851 "src/parser_proc.c" /* glr.c:816 */
4854 #line 1847 "src/parser_proc_grammar.y" /* glr.c:816 */
4856 (*(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
)));
4858 #line 4859 "src/parser_proc.c" /* glr.c:816 */
4862 #line 1858 "src/parser_proc_grammar.y" /* glr.c:816 */
4864 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4866 #line 4867 "src/parser_proc.c" /* glr.c:816 */
4870 #line 1861 "src/parser_proc_grammar.y" /* glr.c:816 */
4872 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4874 #line 4875 "src/parser_proc.c" /* glr.c:816 */
4878 #line 1867 "src/parser_proc_grammar.y" /* glr.c:816 */
4880 (*(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
)));
4882 #line 4883 "src/parser_proc.c" /* glr.c:816 */
4886 #line 1870 "src/parser_proc_grammar.y" /* glr.c:816 */
4888 (*(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
)));
4890 #line 4891 "src/parser_proc.c" /* glr.c:816 */
4894 #line 1876 "src/parser_proc_grammar.y" /* glr.c:816 */
4896 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4897 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4899 #line 4900 "src/parser_proc.c" /* glr.c:816 */
4903 #line 1883 "src/parser_proc_grammar.y" /* glr.c:816 */
4905 (*(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
))));
4906 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
4908 #line 4909 "src/parser_proc.c" /* glr.c:816 */
4912 #line 1887 "src/parser_proc_grammar.y" /* glr.c:816 */
4914 (*(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
))));
4915 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4917 #line 4918 "src/parser_proc.c" /* glr.c:816 */
4921 #line 1894 "src/parser_proc_grammar.y" /* glr.c:816 */
4923 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4925 #line 4926 "src/parser_proc.c" /* glr.c:816 */
4929 #line 1897 "src/parser_proc_grammar.y" /* glr.c:816 */
4931 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4933 #line 4934 "src/parser_proc.c" /* glr.c:816 */
4937 #line 1900 "src/parser_proc_grammar.y" /* glr.c:816 */
4939 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4941 #line 4942 "src/parser_proc.c" /* glr.c:816 */
4945 #line 1906 "src/parser_proc_grammar.y" /* glr.c:816 */
4947 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4948 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4950 #line 4951 "src/parser_proc.c" /* glr.c:816 */
4954 #line 1913 "src/parser_proc_grammar.y" /* glr.c:816 */
4956 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4958 #line 4959 "src/parser_proc.c" /* glr.c:816 */
4962 #line 1916 "src/parser_proc_grammar.y" /* glr.c:816 */
4964 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4966 #line 4967 "src/parser_proc.c" /* glr.c:816 */
4970 #line 1919 "src/parser_proc_grammar.y" /* glr.c:816 */
4972 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4973 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4975 #line 4976 "src/parser_proc.c" /* glr.c:816 */
4979 #line 1926 "src/parser_proc_grammar.y" /* glr.c:816 */
4981 (*(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
)));
4982 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4983 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4985 #line 4986 "src/parser_proc.c" /* glr.c:816 */
4989 #line 1931 "src/parser_proc_grammar.y" /* glr.c:816 */
4991 (*(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
)));
4992 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4993 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4995 #line 4996 "src/parser_proc.c" /* glr.c:816 */
4999 #line 1950 "src/parser_proc_grammar.y" /* glr.c:816 */
5001 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5003 #line 5004 "src/parser_proc.c" /* glr.c:816 */
5007 #line 1953 "src/parser_proc_grammar.y" /* glr.c:816 */
5009 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5011 #line 5012 "src/parser_proc.c" /* glr.c:816 */
5015 #line 1959 "src/parser_proc_grammar.y" /* glr.c:816 */
5017 (*(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
)));
5019 #line 5020 "src/parser_proc.c" /* glr.c:816 */
5023 #line 1962 "src/parser_proc_grammar.y" /* glr.c:816 */
5025 (*(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
)));
5027 #line 5028 "src/parser_proc.c" /* glr.c:816 */
5031 #line 1968 "src/parser_proc_grammar.y" /* glr.c:816 */
5033 (*(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
)));
5034 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5036 #line 5037 "src/parser_proc.c" /* glr.c:816 */
5040 #line 1980 "src/parser_proc_grammar.y" /* glr.c:816 */
5042 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5043 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5045 #line 5046 "src/parser_proc.c" /* glr.c:816 */
5049 #line 1987 "src/parser_proc_grammar.y" /* glr.c:816 */
5051 (*(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
)));
5053 #line 5054 "src/parser_proc.c" /* glr.c:816 */
5057 #line 1990 "src/parser_proc_grammar.y" /* glr.c:816 */
5059 (*(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
)));
5061 #line 5062 "src/parser_proc.c" /* glr.c:816 */
5065 #line 1996 "src/parser_proc_grammar.y" /* glr.c:816 */
5067 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5068 (*(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
)));
5069 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5071 #line 5072 "src/parser_proc.c" /* glr.c:816 */
5075 #line 2004 "src/parser_proc_grammar.y" /* glr.c:816 */
5077 (*(bool*)(&(*yyvalp
))) = false;
5079 #line 5080 "src/parser_proc.c" /* glr.c:816 */
5083 #line 2007 "src/parser_proc_grammar.y" /* glr.c:816 */
5085 (*(bool*)(&(*yyvalp
))) = true;
5087 #line 5088 "src/parser_proc.c" /* glr.c:816 */
5091 #line 5092 "src/parser_proc.c" /* glr.c:816 */
5102 # undef YYRECOVERING
5107 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5119 /* Bison grammar-table manipulation. */
5121 /*-----------------------------------------------.
5122 | Release the memory associated to this symbol. |
5123 `-----------------------------------------------*/
5126 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5134 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5136 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5139 case 129: /* binary_op_token */
5140 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5142 #line 5143 "src/parser_proc.c" /* glr.c:846 */
5145 case 130: /* unary_op_token */
5146 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5148 #line 5149 "src/parser_proc.c" /* glr.c:846 */
5151 case 131: /* name_token */
5152 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5154 #line 5155 "src/parser_proc.c" /* glr.c:846 */
5157 case 132: /* any_noeol_token */
5158 #line 262 "src/parser_proc_grammar.y" /* glr.c:846 */
5160 #line 5161 "src/parser_proc.c" /* glr.c:846 */
5164 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5165 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5166 #line 5167 "src/parser_proc.c" /* glr.c:846 */
5170 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5171 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5172 #line 5173 "src/parser_proc.c" /* glr.c:846 */
5175 case 139: /* cpp_exp */
5176 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
5177 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5178 #line 5179 "src/parser_proc.c" /* glr.c:846 */
5181 case 141: /* cpp_message_token */
5182 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5184 #line 5185 "src/parser_proc.c" /* glr.c:846 */
5187 case 142: /* cpp_include_token */
5188 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5190 #line 5191 "src/parser_proc.c" /* glr.c:846 */
5193 case 143: /* cpp_header_token */
5194 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5196 #line 5197 "src/parser_proc.c" /* glr.c:846 */
5199 case 144: /* cpp_no_arg_token */
5200 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5202 #line 5203 "src/parser_proc.c" /* glr.c:846 */
5205 case 145: /* cpp_name_arg_token */
5206 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5208 #line 5209 "src/parser_proc.c" /* glr.c:846 */
5211 case 146: /* cpp_exp_arg_token */
5212 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5214 #line 5215 "src/parser_proc.c" /* glr.c:846 */
5217 case 147: /* cpp_special_name_token */
5218 #line 259 "src/parser_proc_grammar.y" /* glr.c:846 */
5220 #line 5221 "src/parser_proc.c" /* glr.c:846 */
5223 case 148: /* cpp_macro_decl */
5224 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5225 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5226 #line 5227 "src/parser_proc.c" /* glr.c:846 */
5229 case 149: /* cpp_macro_sig */
5230 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5231 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5232 #line 5233 "src/parser_proc.c" /* glr.c:846 */
5235 case 150: /* cpp_macro_sig_args */
5236 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5237 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5238 #line 5239 "src/parser_proc.c" /* glr.c:846 */
5241 case 151: /* cpp_macro_decl_tokens */
5242 #line 275 "src/parser_proc_grammar.y" /* glr.c:846 */
5243 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5244 #line 5245 "src/parser_proc.c" /* glr.c:846 */
5247 case 152: /* cpp_macro_decl_token_list */
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 153: /* cpp_macro_exp */
5254 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
5255 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5256 #line 5257 "src/parser_proc.c" /* glr.c:846 */
5259 case 154: /* cpp_macro_call_args */
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 155: /* cpp_macro_call_arg_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 156: /* constant */
5272 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
5273 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5274 #line 5275 "src/parser_proc.c" /* glr.c:846 */
5277 case 157: /* constant_type */
5278 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5279 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5280 #line 5281 "src/parser_proc.c" /* glr.c:846 */
5283 case 158: /* constant_type_token */
5284 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5286 #line 5287 "src/parser_proc.c" /* glr.c:846 */
5289 case 159: /* impl_def_val */
5290 #line 287 "src/parser_proc_grammar.y" /* glr.c:846 */
5291 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5292 #line 5293 "src/parser_proc.c" /* glr.c:846 */
5295 case 160: /* impl_def_val_token */
5296 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
5298 #line 5299 "src/parser_proc.c" /* glr.c:846 */
5301 case 161: /* decl_typedef */
5302 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5303 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5304 #line 5305 "src/parser_proc.c" /* glr.c:846 */
5307 case 162: /* typedef */
5308 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5309 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5310 #line 5311 "src/parser_proc.c" /* glr.c:846 */
5313 case 163: /* typedef_anon */
5314 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5315 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5316 #line 5317 "src/parser_proc.c" /* glr.c:846 */
5319 case 164: /* typedef_decl */
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 165: /* typedef_anon_decl */
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 166: /* qualified_decl_type */
5332 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5333 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5334 #line 5335 "src/parser_proc.c" /* glr.c:846 */
5337 case 167: /* decl_type */
5338 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5339 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5340 #line 5341 "src/parser_proc.c" /* glr.c:846 */
5343 case 168: /* decl_type_complex */
5344 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5345 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5346 #line 5347 "src/parser_proc.c" /* glr.c:846 */
5349 case 169: /* decl_type_simple */
5350 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5351 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5352 #line 5353 "src/parser_proc.c" /* glr.c:846 */
5355 case 170: /* decl_real_type */
5356 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
5357 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5358 #line 5359 "src/parser_proc.c" /* glr.c:846 */
5361 case 171: /* int_signed */
5362 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5364 #line 5365 "src/parser_proc.c" /* glr.c:846 */
5367 case 172: /* int_width */
5368 #line 265 "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 173: /* decl_int_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 174: /* int_signed_types */
5380 #line 265 "src/parser_proc_grammar.y" /* glr.c:846 */
5381 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5382 #line 5383 "src/parser_proc.c" /* glr.c:846 */
5385 case 175: /* signed_short_types */
5386 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5388 #line 5389 "src/parser_proc.c" /* glr.c:846 */
5391 case 176: /* signed_long_types */
5392 #line 268 "src/parser_proc_grammar.y" /* glr.c:846 */
5394 #line 5395 "src/parser_proc.c" /* glr.c:846 */
5397 case 177: /* int_width_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 178: /* decl_stmt */
5404 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5405 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5406 #line 5407 "src/parser_proc.c" /* glr.c:846 */
5409 case 184: /* decl_vars */
5410 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5411 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5412 #line 5413 "src/parser_proc.c" /* glr.c:846 */
5415 case 189: /* decl */
5416 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5417 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5418 #line 5419 "src/parser_proc.c" /* glr.c:846 */
5421 case 190: /* decl_body */
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 191: /* decl_func_body */
5428 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5429 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5430 #line 5431 "src/parser_proc.c" /* glr.c:846 */
5433 case 192: /* decl_functor_body */
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 193: /* decl_functor */
5440 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5441 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5442 #line 5443 "src/parser_proc.c" /* glr.c:846 */
5445 case 194: /* decl_func */
5446 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5447 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5448 #line 5449 "src/parser_proc.c" /* glr.c:846 */
5451 case 195: /* decl_args */
5452 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5453 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5454 #line 5455 "src/parser_proc.c" /* glr.c:846 */
5457 case 196: /* decl_anon_arg */
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 197: /* decl_arg */
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 198: /* decl_var */
5470 #line 299 "src/parser_proc_grammar.y" /* glr.c:846 */
5471 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5472 #line 5473 "src/parser_proc.c" /* glr.c:846 */
5475 case 199: /* decl_union */
5476 #line 303 "src/parser_proc_grammar.y" /* glr.c:846 */
5477 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5478 #line 5479 "src/parser_proc.c" /* glr.c:846 */
5481 case 200: /* decl_struct */
5482 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5483 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5484 #line 5485 "src/parser_proc.c" /* glr.c:846 */
5487 case 201: /* decl_struct_args */
5488 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5489 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5490 #line 5491 "src/parser_proc.c" /* glr.c:846 */
5493 case 202: /* struct_args_block */
5494 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5495 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5496 #line 5497 "src/parser_proc.c" /* glr.c:846 */
5499 case 203: /* struct_args */
5500 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5501 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5502 #line 5503 "src/parser_proc.c" /* glr.c:846 */
5505 case 204: /* struct_arg_var_list */
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 205: /* decl_vars_with_layout */
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 206: /* decl_enum */
5518 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5519 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5520 #line 5521 "src/parser_proc.c" /* glr.c:846 */
5523 case 207: /* decl_enum_items */
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 208: /* decl_enum_item */
5530 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5531 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5532 #line 5533 "src/parser_proc.c" /* glr.c:846 */
5535 case 209: /* num_exp */
5536 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5537 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5538 #line 5539 "src/parser_proc.c" /* glr.c:846 */
5541 case 210: /* number */
5542 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5543 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5544 #line 5545 "src/parser_proc.c" /* glr.c:846 */
5547 case 211: /* sizeof */
5548 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5549 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5550 #line 5551 "src/parser_proc.c" /* glr.c:846 */
5553 case 212: /* sizeof_body */
5554 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5555 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5556 #line 5557 "src/parser_proc.c" /* glr.c:846 */
5559 case 213: /* sizeof_body_notypes */
5560 #line 317 "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 214: /* enum_name */
5566 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5567 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5568 #line 5569 "src/parser_proc.c" /* glr.c:846 */
5571 case 215: /* union_name */
5572 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5573 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5574 #line 5575 "src/parser_proc.c" /* glr.c:846 */
5577 case 216: /* struct_name */
5578 #line 256 "src/parser_proc_grammar.y" /* glr.c:846 */
5579 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5580 #line 5581 "src/parser_proc.c" /* glr.c:846 */
5583 case 217: /* optional_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 218: /* decl_layout */
5590 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5591 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5592 #line 5593 "src/parser_proc.c" /* glr.c:846 */
5595 case 219: /* align_and_size */
5596 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5598 #line 5599 "src/parser_proc.c" /* glr.c:846 */
5601 case 220: /* array_size */
5602 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5604 #line 5605 "src/parser_proc.c" /* glr.c:846 */
5607 case 221: /* indirection */
5608 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5610 #line 5611 "src/parser_proc.c" /* glr.c:846 */
5613 case 222: /* pointers */
5614 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5616 #line 5617 "src/parser_proc.c" /* glr.c:846 */
5619 case 223: /* asterisks */
5620 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5622 #line 5623 "src/parser_proc.c" /* glr.c:846 */
5625 case 225: /* impl */
5626 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5627 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5628 #line 5629 "src/parser_proc.c" /* glr.c:846 */
5631 case 226: /* impl_func */
5632 #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */
5633 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5634 #line 5635 "src/parser_proc.c" /* glr.c:846 */
5637 case 227: /* impl_args */
5638 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5639 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5640 #line 5641 "src/parser_proc.c" /* glr.c:846 */
5643 case 228: /* impl_arg */
5644 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
5645 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5646 #line 5647 "src/parser_proc.c" /* glr.c:846 */
5649 case 229: /* impl_var */
5650 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5651 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5652 #line 5653 "src/parser_proc.c" /* glr.c:846 */
5655 case 230: /* impl_type */
5656 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5657 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5658 #line 5659 "src/parser_proc.c" /* glr.c:846 */
5661 case 231: /* impl_type_token */
5662 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5663 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5664 #line 5665 "src/parser_proc.c" /* glr.c:846 */
5667 case 232: /* impl_stmts */
5668 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5669 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5670 #line 5671 "src/parser_proc.c" /* glr.c:846 */
5673 case 233: /* impl_stmt */
5674 #line 358 "src/parser_proc_grammar.y" /* glr.c:846 */
5675 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5676 #line 5677 "src/parser_proc.c" /* glr.c:846 */
5679 case 234: /* let_stmt */
5680 #line 331 "src/parser_proc_grammar.y" /* glr.c:846 */
5681 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5682 #line 5683 "src/parser_proc.c" /* glr.c:846 */
5685 case 235: /* let_exp */
5686 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5687 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5688 #line 5689 "src/parser_proc.c" /* glr.c:846 */
5691 case 236: /* let_exp_byref */
5692 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5693 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5694 #line 5695 "src/parser_proc.c" /* glr.c:846 */
5697 case 237: /* let_exp_assign */
5698 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5699 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5700 #line 5701 "src/parser_proc.c" /* glr.c:846 */
5703 case 238: /* let_calloc */
5704 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5705 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5706 #line 5707 "src/parser_proc.c" /* glr.c:846 */
5709 case 239: /* let_callback */
5710 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5711 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5712 #line 5713 "src/parser_proc.c" /* glr.c:846 */
5715 case 240: /* let_func */
5716 #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */
5717 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5718 #line 5719 "src/parser_proc.c" /* glr.c:846 */
5721 case 241: /* let_func_token */
5722 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5723 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5724 #line 5725 "src/parser_proc.c" /* glr.c:846 */
5727 case 242: /* let_func_exps */
5728 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5729 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5730 #line 5731 "src/parser_proc.c" /* glr.c:846 */
5733 case 243: /* let_exps */
5734 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5735 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5736 #line 5737 "src/parser_proc.c" /* glr.c:846 */
5739 case 244: /* callback_rval */
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 245: /* callback_arg_list */
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 246: /* callback_args */
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 247: /* return_stmt */
5758 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
5759 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5760 #line 5761 "src/parser_proc.c" /* glr.c:846 */
5763 case 248: /* return_exp */
5764 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5765 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5766 #line 5767 "src/parser_proc.c" /* glr.c:846 */
5769 case 249: /* call_decl_vars */
5770 #line 309 "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 250: /* set_stmt */
5776 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
5777 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5778 #line 5779 "src/parser_proc.c" /* glr.c:846 */
5781 case 251: /* set_exp */
5782 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5783 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5784 #line 5785 "src/parser_proc.c" /* glr.c:846 */
5787 case 252: /* set_func */
5788 #line 345 "src/parser_proc_grammar.y" /* glr.c:846 */
5789 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5790 #line 5791 "src/parser_proc.c" /* glr.c:846 */
5793 case 253: /* set_func_token */
5794 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5795 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5796 #line 5797 "src/parser_proc.c" /* glr.c:846 */
5799 case 254: /* set_func_exps */
5800 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5801 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5802 #line 5803 "src/parser_proc.c" /* glr.c:846 */
5805 case 255: /* set_exps */
5806 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5807 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5808 #line 5809 "src/parser_proc.c" /* glr.c:846 */
5811 case 256: /* assert_stmt */
5812 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
5813 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5814 #line 5815 "src/parser_proc.c" /* glr.c:846 */
5817 case 257: /* assert_stmt_token */
5818 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5819 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5820 #line 5821 "src/parser_proc.c" /* glr.c:846 */
5823 case 258: /* free_stmt */
5824 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5825 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5826 #line 5827 "src/parser_proc.c" /* glr.c:846 */
5829 case 259: /* free_exps */
5830 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5831 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5832 #line 5833 "src/parser_proc.c" /* glr.c:846 */
5835 case 260: /* free_exp */
5836 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
5837 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5838 #line 5839 "src/parser_proc.c" /* glr.c:846 */
5841 case 261: /* reference */
5842 #line 372 "src/parser_proc_grammar.y" /* glr.c:846 */
5844 #line 5845 "src/parser_proc.c" /* glr.c:846 */
5851 YY_IGNORE_MAYBE_UNINITIALIZED_END
5854 /** Number of symbols composing the right hand side of rule #RULE. */
5856 yyrhsLength (yyRuleNum yyrule
)
5858 return yyr2
[yyrule
];
5862 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5864 if (yys
->yyresolved
)
5865 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5866 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5872 if (yys
->yysemantics
.yyfirstVal
)
5873 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5875 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5876 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5880 if (yys
->yysemantics
.yyfirstVal
)
5882 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5885 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5887 yyrh
= yyrh
->yypred
, yyn
-= 1)
5888 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5893 /** Left-hand-side symbol for rule #YYRULE. */
5894 static inline yySymbol
5895 yylhsNonterm (yyRuleNum yyrule
)
5897 return yyr1
[yyrule
];
5900 #define yypact_value_is_default(Yystate) \
5901 (!!((Yystate) == (-692)))
5903 /** True iff LR state YYSTATE has only a default reduction (regardless
5905 static inline yybool
5906 yyisDefaultedState (yyStateNum yystate
)
5908 return yypact_value_is_default (yypact
[yystate
]);
5911 /** The default reduction for YYSTATE, assuming it has one. */
5912 static inline yyRuleNum
5913 yydefaultAction (yyStateNum yystate
)
5915 return yydefact
[yystate
];
5918 #define yytable_value_is_error(Yytable_value) \
5921 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5923 * R < 0: Reduce on rule -R.
5925 * R > 0: Shift to state R.
5926 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5927 * of conflicting reductions.
5930 yygetLRActions (yyStateNum yystate
, int yytoken
,
5931 int* yyaction
, const short int** yyconflicts
)
5933 int yyindex
= yypact
[yystate
] + yytoken
;
5934 if (yypact_value_is_default (yypact
[yystate
])
5935 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5937 *yyaction
= -yydefact
[yystate
];
5938 *yyconflicts
= yyconfl
;
5940 else if (! yytable_value_is_error (yytable
[yyindex
]))
5942 *yyaction
= yytable
[yyindex
];
5943 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5948 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5952 /** Compute post-reduction state.
5953 * \param yystate the current state
5954 * \param yysym the nonterminal to push on the stack
5956 static inline yyStateNum
5957 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5959 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5960 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5961 return yytable
[yyr
];
5963 return yydefgoto
[yysym
- YYNTOKENS
];
5966 static inline yybool
5967 yyisShiftAction (int yyaction
)
5969 return 0 < yyaction
;
5972 static inline yybool
5973 yyisErrorAction (int yyaction
)
5975 return yyaction
== 0;
5980 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5981 * if YYISSTATE, and otherwise a semantic option. Callers should call
5982 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5985 static inline yyGLRStackItem
*
5986 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5988 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5989 yystackp
->yyspaceLeft
-= 1;
5990 yystackp
->yynextFree
+= 1;
5991 yynewItem
->yystate
.yyisState
= yyisState
;
5995 /** Add a new semantic action that will execute the action for rule
5996 * YYRULE on the semantic values in YYRHS to the list of
5997 * alternative actions for YYSTATE. Assumes that YYRHS comes from
5998 * stack #YYK of *YYSTACKP. */
6000 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6001 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6003 yySemanticOption
* yynewOption
=
6004 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6005 YYASSERT (!yynewOption
->yyisState
);
6006 yynewOption
->yystate
= yyrhs
;
6007 yynewOption
->yyrule
= yyrule
;
6008 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6010 yynewOption
->yyrawchar
= yychar
;
6011 yynewOption
->yyval
= yylval
;
6014 yynewOption
->yyrawchar
= YYEMPTY
;
6015 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6016 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6018 YY_RESERVE_GLRSTACK (yystackp
);
6023 /** Initialize YYSET to a singleton set containing an empty stack. */
6025 yyinitStateSet (yyGLRStateSet
* yyset
)
6028 yyset
->yycapacity
= 16;
6029 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6030 if (! yyset
->yystates
)
6032 yyset
->yystates
[0] = YY_NULLPTR
;
6033 yyset
->yylookaheadNeeds
=
6034 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6035 if (! yyset
->yylookaheadNeeds
)
6037 YYFREE (yyset
->yystates
);
6043 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6045 YYFREE (yyset
->yystates
);
6046 YYFREE (yyset
->yylookaheadNeeds
);
6049 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6050 * capacity for all stacks of YYSIZE. */
6052 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6054 yystackp
->yyerrState
= 0;
6056 yystackp
->yyspaceLeft
= yysize
;
6058 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6059 if (!yystackp
->yyitems
)
6061 yystackp
->yynextFree
= yystackp
->yyitems
;
6062 yystackp
->yysplitPoint
= YY_NULLPTR
;
6063 yystackp
->yylastDeleted
= YY_NULLPTR
;
6064 return yyinitStateSet (&yystackp
->yytops
);
6068 #if YYSTACKEXPANDABLE
6069 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6070 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6072 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6073 stack from outside should be considered invalid after this call.
6074 We always expand when there are 1 or fewer items left AFTER an
6075 allocation, so that we can avoid having external pointers exist
6076 across an allocation. */
6078 yyexpandGLRStack (yyGLRStack
* yystackp
)
6080 yyGLRStackItem
* yynewItems
;
6081 yyGLRStackItem
* yyp0
, *yyp1
;
6084 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6085 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6086 yyMemoryExhausted (yystackp
);
6087 yynewSize
= 2*yysize
;
6088 if (YYMAXDEPTH
< yynewSize
)
6089 yynewSize
= YYMAXDEPTH
;
6090 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6092 yyMemoryExhausted (yystackp
);
6093 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6095 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6098 if (*(yybool
*) yyp0
)
6100 yyGLRState
* yys0
= &yyp0
->yystate
;
6101 yyGLRState
* yys1
= &yyp1
->yystate
;
6102 if (yys0
->yypred
!= YY_NULLPTR
)
6104 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6105 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6106 yys1
->yysemantics
.yyfirstVal
=
6107 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6111 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6112 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6113 if (yyv0
->yystate
!= YY_NULLPTR
)
6114 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6115 if (yyv0
->yynext
!= YY_NULLPTR
)
6116 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6119 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6120 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6121 yystackp
->yysplitPoint
, yystate
);
6123 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6124 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6125 yystackp
->yytops
.yystates
[yyn
] =
6126 YYRELOC (yystackp
->yyitems
, yynewItems
,
6127 yystackp
->yytops
.yystates
[yyn
], yystate
);
6128 YYFREE (yystackp
->yyitems
);
6129 yystackp
->yyitems
= yynewItems
;
6130 yystackp
->yynextFree
= yynewItems
+ yysize
;
6131 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6136 yyfreeGLRStack (yyGLRStack
* yystackp
)
6138 YYFREE (yystackp
->yyitems
);
6139 yyfreeStateSet (&yystackp
->yytops
);
6142 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6143 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6146 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6148 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6149 yystackp
->yysplitPoint
= yys
;
6152 /** Invalidate stack #YYK in *YYSTACKP. */
6154 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6156 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6157 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6158 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6161 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6162 only be done once after a deletion, and only when all other stacks have
6165 yyundeleteLastStack (yyGLRStack
* yystackp
)
6167 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6169 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6170 yystackp
->yytops
.yysize
= 1;
6171 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6172 yystackp
->yylastDeleted
= YY_NULLPTR
;
6176 yyremoveDeletes (yyGLRStack
* yystackp
)
6180 while (yyj
< yystackp
->yytops
.yysize
)
6182 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6186 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6188 yystackp
->yytops
.yysize
-= 1;
6192 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6193 /* In the current implementation, it's unnecessary to copy
6194 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6195 yyremoveDeletes returns, the parser immediately either enters
6196 deterministic operation or shifts a token. However, it doesn't
6197 hurt, and the code might evolve to need it. */
6198 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6199 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6202 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6203 (unsigned long int) yyi
, (unsigned long int) yyj
));
6211 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6212 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6213 * value *YYVALP and source location *YYLOCP. */
6215 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6219 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6221 yynewState
->yylrState
= yylrState
;
6222 yynewState
->yyposn
= yyposn
;
6223 yynewState
->yyresolved
= yytrue
;
6224 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6225 yynewState
->yysemantics
.yysval
= *yyvalp
;
6226 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6228 YY_RESERVE_GLRSTACK (yystackp
);
6231 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6232 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6233 * semantic value of YYRHS under the action for YYRULE. */
6235 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6236 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6238 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6239 YYASSERT (yynewState
->yyisState
);
6241 yynewState
->yylrState
= yylrState
;
6242 yynewState
->yyposn
= yyposn
;
6243 yynewState
->yyresolved
= yyfalse
;
6244 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6245 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6246 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6248 /* Invokes YY_RESERVE_GLRSTACK. */
6249 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6253 # define YY_REDUCE_PRINT(Args)
6255 # define YY_REDUCE_PRINT(Args) \
6258 yy_reduce_print Args; \
6261 /*----------------------------------------------------------------------.
6262 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6263 `----------------------------------------------------------------------*/
6266 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6267 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6269 int yynrhs
= yyrhsLength (yyrule
);
6271 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6272 (unsigned long int) yyk
, yyrule
- 1,
6273 (unsigned long int) yyrline
[yyrule
]);
6275 yyfillin (yyvsp
, 1, -yynrhs
);
6276 /* The symbols being reduced. */
6277 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6279 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6280 yy_symbol_print (stderr
,
6281 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6282 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6283 , P
, tokens
, index
);
6284 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6285 YYFPRINTF (stderr
, " (unresolved)");
6286 YYFPRINTF (stderr
, "\n");
6291 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6292 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6293 * semantic values. Assumes that all ambiguities in semantic values
6294 * have been previously resolved. Set *YYVALP to the resulting value,
6295 * and *YYLOCP to the computed location (if any). Return value is as
6296 * for userAction. */
6297 static inline YYRESULTTAG
6298 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6299 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6301 int yynrhs
= yyrhsLength (yyrule
);
6303 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6305 /* Standard special case: single stack. */
6306 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6307 YYASSERT (yyk
== 0);
6308 yystackp
->yynextFree
-= yynrhs
;
6309 yystackp
->yyspaceLeft
+= yynrhs
;
6310 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6311 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6312 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6313 yyvalp
, P
, tokens
, index
);
6319 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6320 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6321 = yystackp
->yytops
.yystates
[yyk
];
6322 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6327 yyupdateSplit (yystackp
, yys
);
6328 yystackp
->yytops
.yystates
[yyk
] = yys
;
6329 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6330 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6331 yystackp
, yyvalp
, P
, tokens
, index
);
6335 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6336 * and push back on the resulting nonterminal symbol. Perform the
6337 * semantic action associated with YYRULE and store its value with the
6338 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6339 * unambiguous. Otherwise, store the deferred semantic action with
6340 * the new state. If the new state would have an identical input
6341 * position, LR state, and predecessor to an existing state on the stack,
6342 * it is identified with that existing state, eliminating stack #YYK from
6343 * *YYSTACKP. In this case, the semantic value is
6344 * added to the options for the existing state's semantic value.
6346 static inline YYRESULTTAG
6347 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6348 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6350 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6352 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6356 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6357 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6359 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6360 (unsigned long int) yyk
, yyrule
- 1));
6364 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6365 yyglrShift (yystackp
, yyk
,
6366 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6367 yylhsNonterm (yyrule
)),
6374 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6375 yyStateNum yynewLRState
;
6377 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6383 yyupdateSplit (yystackp
, yys
);
6384 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6386 "Reduced stack %lu by rule #%d; action deferred. "
6387 "Now in state %d.\n",
6388 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6389 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6390 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6392 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6393 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6394 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6396 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6398 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6399 yymarkStackDeleted (yystackp
, yyk
);
6400 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6401 (unsigned long int) yyk
,
6402 (unsigned long int) yyi
));
6408 yystackp
->yytops
.yystates
[yyk
] = yys
;
6409 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6415 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6417 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6419 YYASSERT (yyk
== 0);
6420 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6422 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6424 yyGLRState
** yynewStates
;
6425 yybool
* yynewLookaheadNeeds
;
6427 yynewStates
= YY_NULLPTR
;
6429 if (yystackp
->yytops
.yycapacity
6430 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6431 yyMemoryExhausted (yystackp
);
6432 yystackp
->yytops
.yycapacity
*= 2;
6435 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6436 (yystackp
->yytops
.yycapacity
6437 * sizeof yynewStates
[0]));
6438 if (yynewStates
== YY_NULLPTR
)
6439 yyMemoryExhausted (yystackp
);
6440 yystackp
->yytops
.yystates
= yynewStates
;
6442 yynewLookaheadNeeds
=
6443 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6444 (yystackp
->yytops
.yycapacity
6445 * sizeof yynewLookaheadNeeds
[0]));
6446 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6447 yyMemoryExhausted (yystackp
);
6448 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6450 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6451 = yystackp
->yytops
.yystates
[yyk
];
6452 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6453 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6454 yystackp
->yytops
.yysize
+= 1;
6455 return yystackp
->yytops
.yysize
-1;
6458 /** True iff YYY0 and YYY1 represent identical options at the top level.
6459 * That is, they represent the same rule applied to RHS symbols
6460 * that produce the same terminal symbols. */
6462 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6464 if (yyy0
->yyrule
== yyy1
->yyrule
)
6466 yyGLRState
*yys0
, *yys1
;
6468 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6469 yyn
= yyrhsLength (yyy0
->yyrule
);
6471 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6472 if (yys0
->yyposn
!= yys1
->yyposn
)
6480 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6481 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6483 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6485 yyGLRState
*yys0
, *yys1
;
6487 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6488 yyn
= yyrhsLength (yyy0
->yyrule
);
6490 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6494 else if (yys0
->yyresolved
)
6496 yys1
->yyresolved
= yytrue
;
6497 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6499 else if (yys1
->yyresolved
)
6501 yys0
->yyresolved
= yytrue
;
6502 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6506 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6507 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6510 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6512 else if (*yyz0p
== YY_NULLPTR
)
6517 else if (*yyz0p
< yyz1
)
6519 yySemanticOption
* yyz
= *yyz0p
;
6521 yyz1
= yyz1
->yynext
;
6522 (*yyz0p
)->yynext
= yyz
;
6524 yyz0p
= &(*yyz0p
)->yynext
;
6526 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6531 /** Y0 and Y1 represent two possible actions to take in a given
6532 * parsing state; return 0 if no combination is possible,
6533 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6535 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6537 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6538 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6542 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6547 if (p0
== 0 || p1
== 0)
6556 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6557 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6560 /** Resolve the previous YYN states starting at and including state YYS
6561 * on *YYSTACKP. If result != yyok, some states may have been left
6562 * unresolved possibly with empty semantic option chains. Regardless
6563 * of whether result = yyok, each state has been left with consistent
6564 * data so that yydestroyGLRState can be invoked if necessary. */
6566 yyresolveStates (yyGLRState
* yys
, int yyn
,
6567 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6571 YYASSERT (yys
->yypred
);
6572 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6573 if (! yys
->yyresolved
)
6574 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6579 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6580 * user action, and return the semantic value and location in *YYVALP
6581 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6582 * have been destroyed (assuming the user action destroys all RHS
6583 * semantic values if invoked). */
6585 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6586 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6588 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6589 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6590 YYRESULTTAG yyflag
=
6591 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6595 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6596 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6600 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6602 int yychar_current
= yychar
;
6603 YYSTYPE yylval_current
= yylval
;
6604 yychar
= yyopt
->yyrawchar
;
6605 yylval
= yyopt
->yyval
;
6606 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6607 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6608 yystackp
, yyvalp
, P
, tokens
, index
);
6609 yychar
= yychar_current
;
6610 yylval
= yylval_current
;
6617 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6619 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6622 yyGLRState
* yystates
[1 + YYMAXRHS
];
6623 yyGLRState yyleftmost_state
;
6625 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6626 yystates
[yyi
] = yys
;
6627 if (yys
== YY_NULLPTR
)
6629 yyleftmost_state
.yyposn
= 0;
6630 yystates
[0] = &yyleftmost_state
;
6635 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6636 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6637 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6640 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6641 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6642 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6643 (unsigned long int) yyx
->yystate
->yyposn
);
6644 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6646 if (yystates
[yyi
]->yyresolved
)
6648 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6649 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6650 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6652 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6653 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6654 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6655 (unsigned long int) yystates
[yyi
]->yyposn
);
6658 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6664 yyreportAmbiguity (yySemanticOption
* yyx0
,
6665 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6671 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6672 YYFPRINTF (stderr
, "Option 1,\n");
6673 yyreportTree (yyx0
, 2);
6674 YYFPRINTF (stderr
, "\nOption 2,\n");
6675 yyreportTree (yyx1
, 2);
6676 YYFPRINTF (stderr
, "\n");
6679 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6683 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6684 * perform the indicated actions, and set the semantic value of YYS.
6685 * If result != yyok, the chain of semantic options in YYS has been
6686 * cleared instead or it has been left unmodified except that
6687 * redundant options may have been removed. Regardless of whether
6688 * result = yyok, YYS has been left with consistent data so that
6689 * yydestroyGLRState can be invoked if necessary. */
6691 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6693 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6694 yySemanticOption
* yybest
= yyoptionList
;
6695 yySemanticOption
** yypp
;
6696 yybool yymerge
= yyfalse
;
6700 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6702 yySemanticOption
* yyp
= *yypp
;
6704 if (yyidenticalOptions (yybest
, yyp
))
6706 yymergeOptionSets (yybest
, yyp
);
6707 *yypp
= yyp
->yynext
;
6711 switch (yypreference (yybest
, yyp
))
6714 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6726 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6727 but some compilers complain if the default case is
6731 yypp
= &yyp
->yynext
;
6737 yySemanticOption
* yyp
;
6738 int yyprec
= yydprec
[yybest
->yyrule
];
6739 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6741 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6743 if (yyprec
== yydprec
[yyp
->yyrule
])
6745 YYSTYPE yysval_other
;
6746 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6749 yydestruct ("Cleanup: discarding incompletely merged value for",
6750 yystos
[yys
->yylrState
],
6751 &yysval
, P
, tokens
, index
);
6754 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6759 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6763 yys
->yyresolved
= yytrue
;
6764 yys
->yysemantics
.yysval
= yysval
;
6767 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6772 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6774 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6779 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6780 yys
!= yystackp
->yysplitPoint
;
6781 yys
= yys
->yypred
, yyn
+= 1)
6783 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6784 , P
, tokens
, index
));
6790 yycompressStack (yyGLRStack
* yystackp
)
6792 yyGLRState
* yyp
, *yyq
, *yyr
;
6794 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6797 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6798 yyp
!= yystackp
->yysplitPoint
;
6799 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6802 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6803 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6804 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6805 yystackp
->yysplitPoint
= YY_NULLPTR
;
6806 yystackp
->yylastDeleted
= YY_NULLPTR
;
6808 while (yyr
!= YY_NULLPTR
)
6810 yystackp
->yynextFree
->yystate
= *yyr
;
6812 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6813 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6814 yystackp
->yynextFree
+= 1;
6815 yystackp
->yyspaceLeft
-= 1;
6820 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6821 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6823 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6825 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6826 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6827 (unsigned long int) yyk
, yystate
));
6829 YYASSERT (yystate
!= YYFINAL
);
6831 if (yyisDefaultedState (yystate
))
6834 yyRuleNum yyrule
= yydefaultAction (yystate
);
6837 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6838 (unsigned long int) yyk
));
6839 yymarkStackDeleted (yystackp
, yyk
);
6842 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6843 if (yyflag
== yyerr
)
6847 "(predicate failure or explicit user error).\n",
6848 (unsigned long int) yyk
));
6849 yymarkStackDeleted (yystackp
, yyk
);
6859 const short int* yyconflicts
;
6861 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6862 if (yychar
== YYEMPTY
)
6864 YYDPRINTF ((stderr
, "Reading a token: "));
6865 yychar
= yylex (&yylval
, P
, tokens
, index
);
6868 if (yychar
<= YYEOF
)
6870 yychar
= yytoken
= YYEOF
;
6871 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6875 yytoken
= YYTRANSLATE (yychar
);
6876 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6879 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6881 while (*yyconflicts
!= 0)
6884 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6885 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6886 (unsigned long int) yynewStack
,
6887 (unsigned long int) yyk
));
6888 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6890 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6892 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6893 yyposn
, P
, tokens
, index
));
6894 else if (yyflag
== yyerr
)
6896 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6897 (unsigned long int) yynewStack
));
6898 yymarkStackDeleted (yystackp
, yynewStack
);
6905 if (yyisShiftAction (yyaction
))
6907 else if (yyisErrorAction (yyaction
))
6909 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6910 (unsigned long int) yyk
));
6911 yymarkStackDeleted (yystackp
, yyk
);
6916 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6917 yyimmediate
[-yyaction
], P
, tokens
, index
);
6918 if (yyflag
== yyerr
)
6922 "(predicate failure or explicit user error).\n",
6923 (unsigned long int) yyk
));
6924 yymarkStackDeleted (yystackp
, yyk
);
6927 else if (yyflag
!= yyok
)
6936 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6938 if (yystackp
->yyerrState
!= 0)
6940 #if ! YYERROR_VERBOSE
6941 yyerror (P
, tokens
, index
, YY_("syntax error"));
6944 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6945 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6946 size_t yysize
= yysize0
;
6947 yybool yysize_overflow
= yyfalse
;
6948 char* yymsg
= YY_NULLPTR
;
6949 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6950 /* Internationalized format string. */
6951 const char *yyformat
= YY_NULLPTR
;
6952 /* Arguments of yyformat. */
6953 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6954 /* Number of reported tokens (one for the "unexpected", one per
6958 /* There are many possibilities here to consider:
6959 - If this state is a consistent state with a default action, then
6960 the only way this function was invoked is if the default action
6961 is an error action. In that case, don't check for expected
6962 tokens because there are none.
6963 - The only way there can be no lookahead present (in yychar) is if
6964 this state is a consistent state with a default action. Thus,
6965 detecting the absence of a lookahead is sufficient to determine
6966 that there is no unexpected or expected token to report. In that
6967 case, just report a simple "syntax error".
6968 - Don't assume there isn't a lookahead just because this state is a
6969 consistent state with a default action. There might have been a
6970 previous inconsistent state, consistent state with a non-default
6971 action, or user semantic action that manipulated yychar.
6972 - Of course, the expected token list depends on states to have
6973 correct lookahead information, and it depends on the parser not
6974 to perform extra reductions after fetching a lookahead from the
6975 scanner and before detecting a syntax error. Thus, state merging
6976 (from LALR or IELR) and default reductions corrupt the expected
6977 token list. However, the list is correct for canonical LR with
6978 one exception: it will still contain any token that will not be
6979 accepted due to an error action in a later state.
6981 if (yytoken
!= YYEMPTY
)
6983 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6984 yyarg
[yycount
++] = yytokenName (yytoken
);
6985 if (!yypact_value_is_default (yyn
))
6987 /* Start YYX at -YYN if negative to avoid negative indexes in
6988 YYCHECK. In other words, skip the first -YYN actions for this
6989 state because they are default actions. */
6990 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
6991 /* Stay within bounds of both yycheck and yytname. */
6992 int yychecklim
= YYLAST
- yyn
+ 1;
6993 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
6995 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
6996 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
6997 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
6999 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7005 yyarg
[yycount
++] = yytokenName (yyx
);
7007 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7008 yysize_overflow
|= yysz
< yysize
;
7017 #define YYCASE_(N, S) \
7021 YYCASE_(0, YY_("syntax error"));
7022 YYCASE_(1, YY_("syntax error, unexpected %s"));
7023 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7024 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7025 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7026 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7031 size_t yysz
= yysize
+ strlen (yyformat
);
7032 yysize_overflow
|= yysz
< yysize
;
7036 if (!yysize_overflow
)
7037 yymsg
= (char *) YYMALLOC (yysize
);
7043 while ((*yyp
= *yyformat
))
7045 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7047 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7056 yyerror (P
, tokens
, index
, yymsg
);
7061 yyerror (P
, tokens
, index
, YY_("syntax error"));
7062 yyMemoryExhausted (yystackp
);
7065 #endif /* YYERROR_VERBOSE */
7069 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7070 yylval, and yylloc are the syntactic category, semantic value, and location
7071 of the lookahead. */
7073 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7078 if (yystackp
->yyerrState
== 3)
7079 /* We just shifted the error token and (perhaps) took some
7080 reductions. Skip tokens until we can proceed. */
7084 if (yychar
== YYEOF
)
7085 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7086 if (yychar
!= YYEMPTY
)
7088 yytoken
= YYTRANSLATE (yychar
);
7089 yydestruct ("Error: discarding",
7090 yytoken
, &yylval
, P
, tokens
, index
);
7092 YYDPRINTF ((stderr
, "Reading a token: "));
7093 yychar
= yylex (&yylval
, P
, tokens
, index
);
7094 if (yychar
<= YYEOF
)
7096 yychar
= yytoken
= YYEOF
;
7097 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7101 yytoken
= YYTRANSLATE (yychar
);
7102 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7104 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7105 if (yypact_value_is_default (yyj
))
7108 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7110 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7113 else if (! yytable_value_is_error (yytable
[yyj
]))
7117 /* Reduce to one stack. */
7118 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7119 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7121 if (yyk
>= yystackp
->yytops
.yysize
)
7122 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7123 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7124 yymarkStackDeleted (yystackp
, yyk
);
7125 yyremoveDeletes (yystackp
);
7126 yycompressStack (yystackp
);
7128 /* Now pop stack until we find a state that shifts the error token. */
7129 yystackp
->yyerrState
= 3;
7130 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7132 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7133 yyj
= yypact
[yys
->yylrState
];
7134 if (! yypact_value_is_default (yyj
))
7137 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7138 && yyisShiftAction (yytable
[yyj
]))
7140 /* Shift the error token. */
7141 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7142 &yylval
, &yyerrloc
);
7143 yyglrShift (yystackp
, 0, yytable
[yyj
],
7144 yys
->yyposn
, &yylval
);
7145 yys
= yystackp
->yytops
.yystates
[0];
7149 if (yys
->yypred
!= YY_NULLPTR
)
7150 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7151 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7152 yystackp
->yynextFree
-= 1;
7153 yystackp
->yyspaceLeft
+= 1;
7155 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7156 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7159 #define YYCHK1(YYE) \
7169 goto yyuser_error; \
7180 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7184 yyGLRStack
* const yystackp
= &yystack
;
7187 YYDPRINTF ((stderr
, "Starting parse\n"));
7190 yylval
= yyval_default
;
7192 /* User initialization code. */
7193 #line 106 "src/parser_proc_grammar.y" /* glr.c:2270 */
7197 #line 7198 "src/parser_proc.c" /* glr.c:2270 */
7199 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7200 goto yyexhaustedlab
;
7201 switch (YYSETJMP (yystack
.yyexception_buffer
))
7204 case 1: goto yyabortlab
;
7205 case 2: goto yyexhaustedlab
;
7206 default: goto yybuglab
;
7208 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7213 /* For efficiency, we have two loops, the first of which is
7214 specialized to deterministic operation (single stack, no
7215 potential ambiguity). */
7221 const short int* yyconflicts
;
7223 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7224 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7225 if (yystate
== YYFINAL
)
7227 if (yyisDefaultedState (yystate
))
7229 yyrule
= yydefaultAction (yystate
);
7233 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7236 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7241 if (yychar
== YYEMPTY
)
7243 YYDPRINTF ((stderr
, "Reading a token: "));
7244 yychar
= yylex (&yylval
, P
, tokens
, index
);
7247 if (yychar
<= YYEOF
)
7249 yychar
= yytoken
= YYEOF
;
7250 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7254 yytoken
= YYTRANSLATE (yychar
);
7255 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7258 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7259 if (*yyconflicts
!= 0)
7261 if (yyisShiftAction (yyaction
))
7263 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7266 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7267 if (0 < yystack
.yyerrState
)
7268 yystack
.yyerrState
-= 1;
7270 else if (yyisErrorAction (yyaction
))
7273 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7277 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7283 yySymbol yytoken_to_shift
;
7286 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7287 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7289 /* yyprocessOneStack returns one of three things:
7291 - An error flag. If the caller is yyprocessOneStack, it
7292 immediately returns as well. When the caller is finally
7293 yyparse, it jumps to an error label via YYCHK1.
7295 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7296 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7297 yyparse's following invocation of yyremoveDeletes will remove
7300 - yyok, when ready to shift a token.
7302 Except in the first case, yyparse will invoke yyremoveDeletes and
7303 then shift the next token onto all remaining stacks. This
7304 synchronization of the shift (that is, after all preceding
7305 reductions on all stacks) helps prevent double destructor calls
7306 on yylval in the event of memory exhaustion. */
7308 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7309 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7310 yyremoveDeletes (&yystack
);
7311 if (yystack
.yytops
.yysize
== 0)
7313 yyundeleteLastStack (&yystack
);
7314 if (yystack
.yytops
.yysize
== 0)
7315 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7316 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7317 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7319 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7323 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7324 a copy of yylval will already be on stack 0 in the event of a
7325 failure in the following loop. Thus, yychar is set to YYEMPTY
7326 before the loop to make sure the user destructor for yylval isn't
7328 yytoken_to_shift
= YYTRANSLATE (yychar
);
7331 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7334 const short int* yyconflicts
;
7335 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7336 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7338 /* Note that yyconflicts were handled by yyprocessOneStack. */
7339 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7340 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7341 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7343 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7344 (unsigned long int) yys
,
7345 yystack
.yytops
.yystates
[yys
]->yylrState
));
7348 if (yystack
.yytops
.yysize
== 1)
7350 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7351 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7352 yycompressStack (&yystack
);
7358 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7359 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7375 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7380 if (yychar
!= YYEMPTY
)
7381 yydestruct ("Cleanup: discarding lookahead",
7382 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7384 /* If the stack is well-formed, pop the stack until it is empty,
7385 destroying its entries as we go. But free the stack regardless
7386 of whether it is well-formed. */
7387 if (yystack
.yyitems
)
7389 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7392 size_t yysize
= yystack
.yytops
.yysize
;
7394 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7397 while (yystates
[yyk
])
7399 yyGLRState
*yys
= yystates
[yyk
];
7400 if (yys
->yypred
!= YY_NULLPTR
)
7401 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7402 yystates
[yyk
] = yys
->yypred
;
7403 yystack
.yynextFree
-= 1;
7404 yystack
.yyspaceLeft
+= 1;
7409 yyfreeGLRStack (&yystack
);
7415 /* DEBUGGING ONLY */
7418 yy_yypstack (yyGLRState
* yys
)
7422 yy_yypstack (yys
->yypred
);
7423 YYFPRINTF (stderr
, " -> ");
7425 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7426 (unsigned long int) yys
->yyposn
);
7430 yypstates (yyGLRState
* yyst
)
7432 if (yyst
== YY_NULLPTR
)
7433 YYFPRINTF (stderr
, "<null>");
7436 YYFPRINTF (stderr
, "\n");
7440 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7442 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7445 #define YYINDEX(YYX) \
7446 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7450 yypdumpstack (yyGLRStack
* yystackp
)
7452 yyGLRStackItem
* yyp
;
7454 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7456 YYFPRINTF (stderr
, "%3lu. ",
7457 (unsigned long int) (yyp
- yystackp
->yyitems
));
7458 if (*(yybool
*) yyp
)
7460 YYASSERT (yyp
->yystate
.yyisState
);
7461 YYASSERT (yyp
->yyoption
.yyisState
);
7462 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7463 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7464 (unsigned long int) yyp
->yystate
.yyposn
,
7465 (long int) YYINDEX (yyp
->yystate
.yypred
));
7466 if (! yyp
->yystate
.yyresolved
)
7467 YYFPRINTF (stderr
, ", firstVal: %ld",
7468 (long int) YYINDEX (yyp
->yystate
7469 .yysemantics
.yyfirstVal
));
7473 YYASSERT (!yyp
->yystate
.yyisState
);
7474 YYASSERT (!yyp
->yyoption
.yyisState
);
7475 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7476 yyp
->yyoption
.yyrule
- 1,
7477 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7478 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7480 YYFPRINTF (stderr
, "\n");
7482 YYFPRINTF (stderr
, "Tops:");
7483 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7484 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7485 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7486 YYFPRINTF (stderr
, "\n");
7494 /* Substitute the variable and function names. */
7495 #define yyparse psi_parser_proc_parse
7496 #define yylex psi_parser_proc_lex
7497 #define yyerror psi_parser_proc_error
7498 #define yylval psi_parser_proc_lval
7499 #define yychar psi_parser_proc_char
7500 #define yydebug psi_parser_proc_debug
7501 #define yynerrs psi_parser_proc_nerrs
7503 #line 2016 "src/parser_proc_grammar.y" /* glr.c:2584 */
7508 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7510 struct psi_token
*token
;
7512 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7513 if (P
->flags
& PSI_DEBUG
) {
7514 psi_token_dump(2, token
);
7517 *((struct psi_token
**)lvalp
) = token
;
7521 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7527 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7529 struct psi_token
*T
= NULL
;
7538 psi_plist_get(tokens
, last
, &T
);
7540 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7542 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);