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 140
283 /* YYNNTS -- Number of nonterminals. */
285 /* YYNRULES -- Number of rules. */
287 /* YYNRULES -- Number of states. */
288 #define YYNSTATES 880
289 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
291 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
292 accessed by $0, $-1, etc., in any rule. */
295 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
297 #define YYMAXUTOK 394
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,
343 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
344 135, 136, 137, 138, 139
348 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
349 static const unsigned short int yyrline
[] =
351 0, 399, 399, 399, 399, 399, 399, 399, 399, 399,
352 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
353 400, 400, 400, 400, 401, 401, 401, 401, 401, 401,
354 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
355 401, 401, 401, 402, 402, 402, 402, 402, 402, 402,
356 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
357 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
358 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
359 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
360 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
361 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
362 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
363 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
364 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
365 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
366 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
367 402, 403, 403, 403, 403, 403, 403, 403, 403, 403,
368 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
369 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
370 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
371 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
372 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
373 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
374 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
375 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
376 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
377 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
378 403, 403, 403, 403, 403, 403, 403, 407, 408, 411,
379 412, 415, 416, 417, 418, 424, 432, 435, 438, 439,
380 440, 443, 446, 449, 452, 458, 464, 467, 473, 496,
381 500, 504, 509, 513, 517, 521, 528, 529, 533, 534,
382 538, 539, 540, 544, 545, 549, 550, 554, 555, 556,
383 560, 561, 565, 566, 567, 568, 569, 570, 571, 575,
384 580, 588, 591, 594, 595, 601, 606, 614, 617, 621,
385 625, 632, 636, 640, 644, 649, 659, 669, 674, 679,
386 683, 689, 698, 701, 705, 709, 715, 722, 728, 729,
387 730, 731, 735, 738, 769, 776, 777, 778, 779, 783,
388 786, 795, 801, 804, 810, 813, 819, 820, 828, 839,
389 848, 860, 861, 865, 875, 884, 896, 899, 902, 906,
390 910, 914, 919, 924, 932, 933, 934, 940, 943, 946,
391 952, 953, 957, 960, 963, 969, 972, 975, 983, 995,
392 998, 1001, 1004, 1011, 1014, 1024, 1027, 1030, 1033, 1034,
393 1035, 1039, 1042, 1045, 1056, 1059, 1065, 1066, 1070, 1071,
394 1075, 1079, 1085, 1086, 1092, 1095, 1101, 1104, 1107, 1113,
395 1117, 1118, 1122, 1123, 1127, 1128, 1135, 1136, 1140, 1147,
396 1158, 1165, 1176, 1183, 1194, 1205, 1219, 1220, 1232, 1235,
397 1238, 1241, 1248, 1251, 1257, 1266, 1278, 1286, 1289, 1299,
398 1312, 1317, 1325, 1335, 1345, 1348, 1352, 1358, 1372, 1389,
399 1392, 1398, 1405, 1415, 1422, 1425, 1431, 1436, 1444, 1448,
400 1452, 1456, 1460, 1464, 1471, 1475, 1479, 1483, 1487, 1491,
401 1497, 1501, 1508, 1511, 1522, 1526, 1530, 1536, 1549, 1562,
402 1575, 1578, 1585, 1588, 1591, 1594, 1600, 1604, 1611, 1614,
403 1617, 1627, 1630, 1636, 1637, 1643, 1646, 1652, 1653, 1663,
404 1666, 1673, 1678, 1683, 1693, 1696, 1702, 1705, 1711, 1718,
405 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1737,
406 1740, 1746, 1749, 1752, 1755, 1758, 1764, 1768, 1776, 1777,
407 1781, 1788, 1791, 1794, 1797, 1801, 1804, 1810, 1814, 1822,
408 1829, 1837, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852,
409 1853, 1854, 1858, 1861, 1867, 1870, 1876, 1877, 1881, 1884,
410 1890, 1893, 1899, 1906, 1910, 1917, 1920, 1923, 1929, 1936,
411 1939, 1942, 1949, 1954, 1962, 1963, 1964, 1965, 1966, 1967,
412 1968, 1969, 1973, 1976, 1982, 1985, 1991, 1998, 1999, 2003,
413 2010, 2013, 2019, 2027, 2030, 2036
417 #if YYDEBUG || YYERROR_VERBOSE || 1
418 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
419 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
420 static const char *const yytname
[] =
422 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
423 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
424 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
425 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
426 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
427 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
428 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
429 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
430 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
431 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
432 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
433 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
434 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
435 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
436 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
437 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
438 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
439 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
440 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
441 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
442 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
443 "$accept", "binary_op_token", "unary_op_token", "name_token",
444 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
445 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
446 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
447 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_special_name_token",
448 "cpp_macro_decl", "cpp_macro_sig", "cpp_macro_sig_args",
449 "cpp_macro_decl_tokens", "cpp_macro_decl_token_list", "cpp_macro_exp",
450 "cpp_macro_call_args", "cpp_macro_call_arg_list", "constant",
451 "constant_type", "constant_type_token", "impl_def_val",
452 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
453 "typedef_decl", "typedef_anon_decl", "qualified_decl_type", "decl_type",
454 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
455 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
456 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
457 "ignored_quoted_strings", "decl_ext_var_stmt", "decl_ext_var",
458 "decl_ext_var_list", "decl_vars", "ignored_decl", "ignored_decl_body",
459 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
460 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
461 "decl_args", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
462 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
463 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
464 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
465 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
466 "struct_name", "optional_name", "decl_layout", "align_and_size",
467 "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl",
468 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
469 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
470 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
471 "let_func", "let_func_token", "let_func_exps", "let_exps",
472 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
473 "return_exp", "call_decl_vars", "set_stmt", "set_exp", "set_func",
474 "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
475 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
480 #define YYPACT_NINF -693
481 #define YYTABLE_NINF -624
483 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
485 static const short int yypact
[] =
487 694, -693, -693, -693, -693, -693, 45, -693, -693, 2647,
488 1697, 1496, -693, -693, 436, 1370, 3502, 3502, 3502, 2454,
489 49, 270, 55, -693, 1470, 1923, 141, 694, -693, -693,
490 -693, -693, -693, 2873, -693, -693, -693, -693, 157, 146,
491 -693, -693, -693, 154, -693, -54, -693, -693, 54, 145,
492 155, -693, -693, -693, -693, 159, -693, 166, -693, -693,
493 -693, -693, -693, 832, -693, 160, 126, -693, -693, -693,
494 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
495 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
496 -693, -693, -693, -693, -693, -693, -693, 2986, -2, -693,
497 -693, -693, -693, 3502, 3502, 3502, 72, -693, 71, -693,
498 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
499 -693, -693, 460, -693, -693, -693, -693, 189, 958, 958,
500 20, -693, 460, 2534, 2647, 3502, 3502, 2149, 193, -693,
501 -693, -693, 195, 3502, 194, 194, 38, 38, 196, -693,
502 -693, 202, 207, -693, 160, 210, -693, -693, 215, 1923,
503 211, 213, -693, 227, -693, 2488, 1398, -54, 211, -693,
504 -693, 214, -693, 222, 3502, -693, 249, -693, 164, -693,
505 -693, -693, 239, -693, -693, 224, 229, 2680, 2680, 3502,
506 190, 3502, -693, -693, 160, -693, -693, -693, -693, -693,
507 -693, 2873, -693, -693, -693, -693, -693, -693, -693, 140,
508 958, -693, -693, -693, -693, -693, -693, -693, -693, -693,
509 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
510 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
511 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
512 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
513 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
514 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
515 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
516 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
517 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
518 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
519 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
520 -693, -693, -693, 958, -693, -693, -693, -693, -693, -693,
521 -693, -693, 191, 2534, -693, -693, -693, -693, 3099, 2534,
522 230, 3656, -693, 232, 83, -693, 88, -693, -693, -693,
523 -693, 238, 228, 228, 56, 56, 3212, 250, -693, 211,
524 1210, -693, 190, 259, 262, 263, -693, 2082, -693, 160,
525 214, -693, -693, -693, 289, -693, -693, 271, -693, 17,
526 2714, 2873, 100, -693, -693, 131, 256, 149, -693, 2873,
527 2195, 2873, 3502, 2873, -693, -693, 18, -693, -693, -693,
528 -693, -693, 2421, -693, 267, 3502, 269, -693, 3502, 273,
529 -693, -693, -693, -693, 745, 279, -693, 2977, 3502, -693,
530 -693, 2534, -693, -693, -693, -693, -693, -693, -693, -693,
531 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
532 2534, 2534, -693, 274, 1429, 2873, 2873, -693, -693, -693,
533 -693, 160, -693, 1630, -693, -693, -693, -693, -693, -693,
534 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
535 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
536 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
537 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
538 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
539 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
540 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
541 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
542 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
543 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
544 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
545 -693, -693, -693, 1084, -693, 173, 301, -693, -693, -693,
546 -693, -693, -693, 1517, -693, 2421, -693, 3632, -693, -693,
547 3502, -693, -693, -693, 26, 2986, 160, 222, 214, 1664,
548 214, 2342, 2421, 3502, -693, 268, 278, 3680, 272, 288,
549 -693, 293, 302, 287, 300, 163, -693, 303, 306, -693,
550 -693, -693, 2855, -693, 305, 2873, 3271, 160, 310, -693,
551 -693, -693, 311, 3656, 312, 299, 3583, -693, 314, 2149,
552 313, -693, -693, 2760, 1332, 3502, 194, 194, -693, -693,
553 3502, 75, -693, -693, -693, 315, -693, 3680, -693, -693,
554 -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
555 316, 142, -693, 55, -693, 319, 1496, 320, 3090, -693,
556 -693, 2421, 2421, 327, -693, -693, 3212, -693, 17, 329,
557 -693, -693, 331, 3680, -693, 1743, -693, 2195, -693, 2873,
558 -693, 55, 2873, -693, 3502, 3384, -693, -693, -693, -693,
559 -693, -693, 332, 333, -693, -693, -693, -693, 2534, 2534,
560 335, -693, 28, 337, -693, 313, 228, 228, 339, -693,
561 528, 338, 528, 307, 2421, -693, 3608, -693, -693, 214,
562 214, 104, 265, 383, 343, 3680, -693, -693, -693, -693,
563 345, 2308, -693, 344, 2873, 167, -693, 346, 269, 347,
564 958, 3443, 3656, 3704, 356, 348, 350, 2873, 354, 337,
565 2873, 2873, -693, -693, 528, -693, 55, 1630, -693, 2421,
566 -693, -693, 343, -693, -693, -693, -693, 355, 2421, 55,
567 -693, 1856, 359, 358, -693, 297, -693, -693, -693, 363,
568 362, 378, 313, 370, -693, 374, -693, 27, -693, 3728,
569 55, 3365, 372, 376, -693, 373, -693, -693, 127, -693,
570 380, 379, -693, 2873, -693, 390, 384, 2421, 1743, 382,
571 -693, 2195, -693, -693, 385, 395, 401, 313, 396, 1969,
572 3203, 268, -693, -693, -693, 397, 2308, -693, -693, 398,
573 402, -693, 399, 403, 404, -693, -693, 1743, -693, 405,
574 -693, 528, 406, 2195, -693, 407, -693, -693, -693, -693
577 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
578 Performed when YYTABLE does not specify something else to do. Zero
579 means the default is an error. */
580 static const unsigned short int yydefact
[] =
582 277, 405, 402, 406, 400, 401, 403, 397, 398, 0,
583 396, 0, 282, 281, 0, 0, 0, 0, 510, 0,
584 0, 0, 623, 283, 0, 0, 0, 278, 279, 285,
585 284, 286, 290, 521, 388, 390, 389, 395, 409, 421,
586 394, 287, 289, 0, 288, 426, 444, 446, 447, 0,
587 0, 456, 292, 291, 293, 0, 294, 0, 404, 399,
588 33, 34, 611, 572, 24, 521, 527, 39, 38, 37,
589 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
590 580, 579, 577, 575, 576, 578, 574, 573, 581, 30,
591 609, 607, 606, 608, 605, 604, 457, 0, 523, 525,
592 41, 42, 396, 0, 0, 0, 0, 445, 432, 387,
593 296, 307, 304, 306, 308, 309, 320, 317, 318, 315,
594 321, 316, 0, 319, 310, 311, 312, 0, 337, 337,
595 0, 300, 0, 0, 0, 510, 510, 0, 0, 372,
596 377, 466, 376, 0, 516, 516, 391, 392, 393, 507,
597 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
598 0, 0, 625, 0, 624, 396, 0, 426, 0, 1,
599 280, 518, 467, 0, 522, 411, 415, 413, 417, 410,
600 407, 422, 409, 408, 430, 0, 0, 458, 458, 0,
601 0, 0, 522, 528, 521, 469, 524, 526, 391, 392,
602 393, 0, 431, 323, 324, 325, 327, 328, 326, 322,
603 337, 302, 297, 68, 43, 44, 45, 46, 47, 48,
604 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
605 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
606 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
607 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
608 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
609 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
610 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
611 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
612 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
613 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
614 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
615 157, 339, 305, 338, 298, 313, 314, 299, 322, 301,
616 347, 348, 0, 0, 22, 23, 20, 21, 0, 0,
617 350, 303, 349, 457, 391, 509, 392, 508, 373, 369,
618 378, 0, 0, 0, 0, 0, 0, 0, 295, 0,
619 0, 436, 0, 0, 0, 0, 437, 0, 471, 521,
620 518, 416, 412, 418, 419, 414, 423, 0, 424, 459,
621 0, 521, 0, 460, 462, 0, 486, 0, 484, 0,
622 623, 0, 0, 0, 617, 618, 0, 549, 552, 551,
623 553, 554, 0, 555, 0, 0, 433, 434, 0, 0,
624 330, 340, 506, 505, 0, 0, 501, 0, 0, 345,
625 342, 352, 2, 3, 4, 5, 6, 7, 8, 9,
626 10, 11, 13, 12, 14, 15, 16, 17, 18, 19,
627 0, 0, 370, 0, 0, 0, 0, 474, 473, 475,
628 472, 521, 468, 362, 438, 186, 161, 162, 163, 164,
629 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
630 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
631 185, 274, 275, 187, 188, 189, 190, 191, 192, 193,
632 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
633 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
634 214, 215, 216, 217, 218, 224, 222, 223, 221, 219,
635 220, 225, 226, 227, 228, 229, 230, 231, 232, 233,
636 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
637 244, 245, 246, 247, 248, 276, 249, 250, 251, 252,
638 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
639 263, 264, 265, 266, 267, 268, 272, 269, 270, 271,
640 273, 442, 443, 0, 440, 0, 0, 371, 425, 497,
641 495, 494, 496, 0, 519, 0, 498, 0, 488, 499,
642 0, 470, 420, 428, 0, 465, 0, 463, 518, 0,
643 518, 0, 0, 0, 483, 0, 0, 600, 0, 0,
644 599, 42, 0, 0, 0, 0, 620, 0, 0, 594,
645 529, 550, 0, 455, 0, 0, 331, 521, 0, 502,
646 504, 341, 0, 354, 0, 353, 0, 343, 0, 0,
647 512, 381, 374, 382, 0, 383, 516, 516, 380, 379,
648 0, 497, 366, 367, 368, 0, 364, 363, 439, 441,
649 530, 542, 543, 544, 545, 541, 546, 547, 548, 540,
650 0, 0, 534, 623, 539, 24, 0, 0, 0, 492,
651 520, 0, 0, 0, 429, 427, 464, 450, 0, 0,
652 461, 448, 0, 487, 485, 0, 556, 623, 598, 0,
653 538, 623, 0, 619, 0, 595, 592, 616, 454, 435,
654 332, 335, 0, 333, 503, 500, 346, 351, 0, 0,
655 0, 375, 0, 479, 476, 512, 0, 0, 0, 356,
656 0, 0, 0, 536, 0, 490, 0, 491, 452, 518,
657 518, 497, 0, 31, 30, 562, 567, 563, 565, 566,
658 41, 0, 601, 612, 0, 0, 621, 611, 597, 0,
659 337, 0, 355, 344, 0, 513, 0, 0, 0, 479,
660 385, 384, 453, 531, 0, 535, 623, 362, 489, 0,
661 451, 449, 0, 564, 586, 572, 587, 0, 0, 623,
662 568, 623, 0, 0, 622, 0, 329, 334, 336, 0,
663 0, 0, 512, 480, 477, 0, 532, 0, 537, 493,
664 623, 0, 582, 0, 614, 613, 602, 557, 0, 517,
665 0, 0, 481, 0, 478, 0, 0, 0, 0, 0,
666 603, 623, 610, 593, 0, 0, 0, 512, 0, 588,
667 0, 498, 584, 560, 558, 583, 0, 571, 615, 0,
668 0, 482, 0, 0, 589, 590, 569, 0, 559, 0,
669 514, 0, 0, 623, 585, 0, 533, 570, 591, 515
672 /* YYPGOTO[NTERM-NUM]. */
673 static const short int yypgoto
[] =
675 -693, -323, -129, -7, 108, -693, -693, -693, 415, -693,
676 -693, -693, -693, -693, -693, -693, -693, -693, -693, 322,
677 -693, -693, -693, -126, -693, -301, -693, -693, -693, -693,
678 -693, -341, -693, -693, 282, -203, 22, -189, -156, -6,
679 -693, -693, -693, 423, -693, -693, 285, -693, -693, -693,
680 -693, 304, -693, -693, -693, -693, -504, -693, -135, -693,
681 -119, 444, 47, 3, 40, -693, -693, 281, -463, 5,
682 -33, -693, -693, 105, -346, -693, -305, -693, 7, -693,
683 -138, -342, -693, -121, -693, 52, -693, -428, -418, 80,
684 -692, -124, -351, -51, -3, -693, 394, -693, 473, -693,
685 -243, -639, -682, -693, 128, -387, -693, -366, -666, 120,
686 -232, -693, -693, -660, -693, -693, -693, -693, -693, -693,
687 -693, -693, -693, -669, -395, -376, -693, -693, -693, -693,
688 -693, -693, -193, -21, -664
691 /* YYDEFGOTO[NTERM-NUM]. */
692 static const short int yydefgoto
[] =
694 -1, 692, 595, 171, 331, 581, 26, 27, 28, 29,
695 30, 127, 128, 129, 130, 337, 131, 132, 133, 210,
696 211, 722, 723, 332, 333, 351, 644, 645, 31, 155,
697 156, 665, 666, 32, 138, 650, 651, 652, 33, 34,
698 35, 36, 37, 38, 39, 40, 180, 382, 385, 183,
699 41, 186, 604, 42, 43, 202, 416, 44, 582, 583,
700 584, 45, 46, 47, 141, 49, 50, 392, 393, 51,
701 596, 52, 53, 458, 459, 654, 778, 813, 143, 397,
702 398, 617, 598, 599, 638, 426, 55, 144, 145, 149,
703 733, 362, 378, 173, 418, 98, 99, 56, 57, 681,
704 682, 618, 683, 684, 406, 407, 408, 852, 853, 854,
705 757, 758, 759, 100, 839, 855, 797, 863, 864, 409,
706 628, 769, 410, 619, 620, 101, 802, 825, 411, 412,
707 413, 625, 626, 622, 164
710 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
711 positive, shift that token. If negative, reduce the rule whose
712 number is the opposite. If YYTABLE_NINF, syntax error. */
713 static const short int yytable
[] =
715 172, 163, 96, 334, 349, 109, 97, 54, 629, 146,
716 147, 148, 352, 157, 191, 108, 455, 456, 140, 631,
717 142, 363, 364, 365, 621, 371, 656, 621, 451, 601,
718 174, 391, 391, 376, 54, 597, 657, 139, 762, 756,
719 48, 761, 427, 779, 743, 760, 335, 66, 430, 65,
720 48, 710, 694, 775, 58, 630, 59, 107, 783, 695,
721 786, 48, 192, 776, 48, 48, 66, 48, 160, -516,
722 632, 185, 168, 361, -516, 158, 1, 2, 3, 4,
723 5, 6, 7, 8, 420, -447, -466, 457, -466, 154,
724 195, 835, 454, 796, 102, 800, 198, 199, 200, 162,
725 157, 760, 816, -456, 451, 201, -365, 451, -365, -365,
726 399, 400, 401, 402, 403, 209, 404, 405, -391, -511,
727 832, 667, 196, -392, -511, 338, 350, 353, 354, 356,
728 643, 97, 824, 608, 609, -497, 360, -497, -497, 336,
729 140, 169, 142, 415, 62, 842, 700, 743, 700, 646,
730 647, 366, 181, 4, 5, 861, 103, 104, 105, 358,
731 822, 175, 176, 177, 610, 611, 178, 380, 417, 140,
732 383, 142, 858, 384, 856, 741, 742, 187, 760, 179,
733 865, 836, 396, 613, 414, 184, 614, 188, 139, 876,
734 868, 192, 394, 394, 713, 189, 760, 714, 631, 48,
735 804, 635, 190, 856, 878, 48, 369, 760, 765, 66,
736 670, 768, 107, 193, 349, 355, 357, 422, 423, 212,
737 349, 656, 352, 424, 359, -359, 656, -456, 352, 361,
738 -360, 657, -511, 367, 464, 425, 657, 90, 91, 92,
739 93, 94, 95, 175, 176, 177, 368, 370, 178, 372,
740 373, 688, 377, 689, 379, 381, 387, 697, 419, 701,
741 388, 179, 431, 452, 454, 399, 400, 401, 402, 403,
742 703, 404, 405, 453, 1, 2, 3, 4, 5, 6,
743 7, 8, 399, 400, 401, 402, 403, 9, 404, 405,
744 463, 586, 102, 587, 588, 602, 612, 603, 653, 11,
745 633, 640, 349, 635, 671, 636, 648, 672, 705, 706,
746 352, 673, 707, 674, 675, 676, 677, 678, 679, 708,
747 451, 349, 349, 451, 451, 709, 710, 711, 600, 352,
748 352, 621, 712, 728, 680, 715, 350, 716, 718, 730,
749 607, 429, 350, 725, 726, 727, 739, 787, 732, 746,
750 747, 740, -24, 744, 103, 104, 105, 106, 172, 462,
751 748, 22, 749, 755, 750, 770, 615, 771, 623, 774,
752 627, 777, 782, 784, 792, 798, 192, 799, 801, -596,
753 805, 809, 811, 810, 157, 814, 605, 820, 174, 827,
754 780, 781, 826, 159, 828, 624, 829, 830, 790, 791,
755 794, 795, 788, 831, 833, 834, 838, 841, 634, 840,
756 660, 380, 845, 846, 848, 857, 849, 709, 637, 755,
757 859, 642, 658, 659, 350, 621, 860, 772, 773, 862,
758 875, 867, 869, 843, 871, 870, 872, 687, 873, 877,
759 879, 421, 170, 350, 350, 667, 818, 819, 374, 451,
760 451, 735, 844, 391, 339, 391, 821, 140, 192, 142,
761 731, 655, 182, 60, 669, 621, 110, 386, 167, 395,
762 460, 375, 61, 621, 815, 704, 639, 62, 63, 203,
763 204, 205, 64, 80, 81, 82, 83, 84, 85, 86,
764 87, 88, 197, 653, 161, 850, 755, 621, 653, 785,
765 585, 874, 111, 112, 113, 114, 115, 116, 117, 118,
766 119, 120, 121, 122, 755, 123, 124, 125, 126, 616,
767 793, 766, 0, 0, 0, 755, 67, 68, 69, 70,
768 71, 671, 736, 737, 672, 0, 0, 0, 673, 0,
769 674, 675, 676, 677, 678, 679, 0, 0, 72, 0,
770 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
771 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
772 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
773 0, 206, 0, 207, 208, 0, 724, 0, 0, 0,
774 0, 0, 0, 693, 0, 0, 0, 0, 195, 349,
775 349, 0, 719, 696, 0, 0, 396, 352, 352, 0,
776 0, 0, 0, 0, 394, 0, 394, 0, 0, 0,
777 172, 0, 0, 0, 0, 0, 0, 0, 0, 721,
778 0, 0, 0, 0, 192, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 806, 0, 0, 0, 360, 0,
780 174, 0, 140, 738, 142, 0, 655, 140, 0, 142,
781 0, 655, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 763, 0, 0, 417,
783 157, 0, 417, 0, 0, 0, 0, 0, 0, 462,
784 764, 0, 0, 0, 0, 605, 0, 0, 1, 2,
785 3, 4, 5, 6, 7, 8, 0, 624, 0, 0,
786 0, 9, 0, 0, 0, 0, 10, 0, 0, 0,
787 0, 350, 350, 11, 12, 13, 0, 0, 0, 0,
788 0, 803, 0, 0, 0, 14, 0, 0, 0, 0,
789 0, 0, 0, 0, 812, 0, 0, 658, 659, 1,
790 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
791 0, 0, 0, 0, 808, 817, 0, 102, 0, 0,
792 0, 422, 423, 0, 0, 0, 0, 15, 16, 17,
793 18, 19, 20, 21, 0, 22, 0, 0, 0, 425,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 847, 0, 0, 0, 0, 851, 0, 0, 0, 0,
796 23, 0, 0, 0, 0, 24, 0, 25, 0, 0,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
798 104, 105, -572, 0, 851, -572, -572, -572, -572, -572,
799 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
800 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
801 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
802 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
803 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
804 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
805 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
806 -572, -572, 0, -572, 0, -572, -572, -572, -572, -572,
807 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
808 -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
809 -572, -572, -572, -572, -572, -572, -572, -572, -572, 0,
810 -572, -572, 0, -572, -572, -572, -572, -572, 213, 0,
811 0, 214, 215, 216, 217, 218, 219, 220, 221, 222,
812 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
813 233, 234, 235, 236, 237, 238, 239, 240, 0, 241,
814 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
815 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
816 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
817 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
818 282, 283, 284, 285, 286, 287, 288, 289, 0, 290,
819 0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
820 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
821 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
822 320, 321, 322, 323, 324, 0, 0, 325, 0, 326,
823 327, 328, 329, 330, 465, 0, 0, 466, 467, 468,
824 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
825 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
826 489, 490, 491, 492, 0, 493, 494, 495, 496, 497,
827 370, 668, 498, 499, 500, 501, 502, 503, 504, 505,
828 506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
829 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
830 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
831 536, 537, 538, 539, 0, 540, 0, 541, 542, 543,
832 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
833 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
834 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
835 574, 0, 0, 575, 0, 576, 577, 578, 579, 580,
836 465, 0, 0, 466, 467, 468, 469, 470, 471, 472,
837 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
838 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
839 0, 493, 494, 495, 496, 497, 370, 0, 498, 499,
840 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
841 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
842 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
843 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
844 0, 540, 0, 541, 542, 543, 544, 545, 546, 547,
845 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
846 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
847 568, 569, 570, 571, 572, 573, 574, 0, 0, 575,
848 0, 576, 577, 578, 579, 580, 1, 2, 3, 4,
849 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
850 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
851 0, 11, 0, 0, 0, 0, 0, 0, 0, 734,
852 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
853 7, 8, 0, 0, 0, 0, 0, 134, 0, 0,
854 0, 0, 102, 0, 0, 0, 0, 0, 0, 11,
855 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
856 0, 0, 0, 0, 0, 9, 135, 136, 18, 106,
857 102, 0, 0, 0, 0, 0, 0, 11, 0, 0,
858 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
859 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
860 0, 102, 0, 649, 135, 136, 18, 106, 11, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
863 7, 8, 135, 136, 18, 106, 0, 9, 0, 0,
864 0, 137, 165, 0, 0, 0, 0, 0, 0, 11,
865 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
866 0, 0, 0, 135, 136, 18, 106, 0, 102, 137,
867 60, 1, 2, 3, 4, 5, 6, 7, 8, 61,
868 0, 0, 0, 0, 62, 63, 589, 0, 0, 685,
869 590, 0, 591, 0, 592, 342, 11, 0, 0, 593,
870 649, 0, 0, 166, 103, 104, 105, 106, 0, 0,
871 0, 0, 0, 0, 344, 345, 66, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 346, 347, 0,
873 103, 104, 105, 67, 68, 69, 70, 71, 0, 0,
874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 103, 104, 105, 686, 72, 0, 73, 74, 75,
876 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
877 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
878 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
879 0, 0, 61, 0, 0, 0, 0, 62, 63, 661,
880 662, 663, 64, 590, 0, 591, 664, 592, 342, 0,
881 0, 0, 593, 0, 0, 0, 0, 0, 1, 2,
882 3, 4, 5, 6, 7, 8, 0, 344, 345, 66,
883 0, 698, 0, 0, 0, 0, 102, 0, 0, 0,
884 346, 347, 0, 11, 0, 0, 67, 68, 69, 70,
885 71, 1, 2, 3, 4, 5, 6, 7, 8, 0,
886 0, 0, 0, 0, 9, 0, 0, 0, 72, 102,
887 73, 74, 75, 76, 77, 78, 11, 79, 699, 0,
888 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
889 90, 91, 92, 93, 94, 95, 60, 0, 103, 104,
890 105, 390, 0, 0, 0, 61, 0, 0, 0, 0,
891 62, 63, 751, 0, 0, 64, 590, 0, 591, 0,
892 592, 342, 0, 0, 0, 593, 0, 0, 0, 0,
893 0, 103, 104, 105, 106, 0, 0, 162, 0, 0,
894 344, 345, 66, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 346, 347, 0, 0, 0, 0, 67,
896 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
898 0, 72, 752, 753, 74, 75, 76, 77, 78, 0,
899 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
900 87, 88, 754, 90, 91, 92, 93, 94, 95, 60,
901 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
902 0, 0, 0, 62, 63, 589, 0, 0, 64, 590,
903 0, 591, 0, 592, 342, 0, 0, 0, 593, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 162, 0, 0, 344, 345, 66, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 346, 347, 0, 0,
907 823, 0, 67, 68, 69, 70, 71, 1, 2, 3,
908 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
909 9, 0, 0, 0, 72, 102, 73, 74, 75, 76,
910 77, 78, 11, 79, 0, 0, 80, 81, 82, 83,
911 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
912 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
913 0, 61, 0, 0, 0, 0, 62, 63, 589, 0,
914 0, 64, 590, -623, 591, 0, 592, 342, 0, 0,
915 0, 593, 0, 0, 0, 0, 0, 103, 104, 105,
916 106, 0, 0, 162, 0, 0, 344, 345, 66, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 346,
918 347, 0, 0, 0, 0, 67, 68, 69, 70, 71,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
921 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
922 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
923 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
924 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
925 63, 589, 0, 0, 64, 590, 0, 591, 0, 592,
926 342, 0, 0, 0, 593, 0, 0, 0, 0, 0,
927 0, 594, 0, 0, 0, 0, 0, 0, 0, 344,
928 345, 66, 0, 0, 0, 0, 0, 0, 0, 0,
929 0, 0, 346, 347, 0, 0, 0, 0, 67, 68,
930 69, 70, 71, 1, 2, 3, 4, 5, 6, 7,
931 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
932 72, 102, 73, 74, 75, 76, 77, 78, 11, 79,
933 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
934 88, 89, 90, 91, 92, 93, 94, 95, 60, 0,
935 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
936 0, 0, 62, 63, 589, 0, 0, 64, 590, 0,
937 591, 0, 592, 342, 0, 0, 0, 593, 0, 0,
938 0, 0, 0, 135, 136, 18, 106, 0, 0, 162,
939 0, 0, 344, 345, 66, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 346, 347, 0, 0, 0,
941 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
944 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
945 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
946 95, 60, 0, 0, 0, 0, 0, 0, 0, 0,
947 61, 0, 0, 0, 0, 62, 63, 751, 0, 0,
948 64, 590, 0, 591, 0, 592, 342, 0, 0, 0,
949 593, 0, 0, 0, 0, 0, 1, 2, 3, 4,
950 5, 6, 7, 8, 0, 344, 345, 66, 0, 698,
951 0, 0, 0, 0, 102, 0, 0, 0, 346, 347,
952 0, 11, 0, 0, 67, 68, 69, 70, 71, 0,
953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 0, 0, 72, 752, 753, 74,
955 75, 76, 77, 78, 0, 79, 702, 0, 80, 81,
956 82, 83, 84, 85, 86, 87, 88, 754, 90, 91,
957 92, 93, 94, 95, 60, 0, 103, 104, 105, 390,
958 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
959 589, 0, 0, 64, 590, 0, 591, 0, 592, 342,
960 0, 0, 0, 593, 0, 0, 0, 150, 1, 2,
961 151, 4, 5, 6, 152, 8, 153, 0, 344, 345,
962 66, 154, 0, 0, 0, 0, 102, 0, 0, 0,
963 0, 346, 347, 0, 0, 0, 0, 67, 68, 69,
964 70, 71, 1, 2, 3, 4, 5, 6, 7, 8,
965 0, 0, 0, 0, 0, 9, 0, 0, 0, 72,
966 102, 73, 74, 75, 76, 77, 78, 11, 79, 0,
967 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
968 89, 90, 91, 92, 93, 94, 95, 60, 103, 104,
969 105, 0, 0, 0, 0, 0, 61, 0, 0, 0,
970 0, 62, 63, 0, 0, 0, 64, 0, 0, 340,
971 0, 341, 342, 0, 0, 0, 343, 0, 0, 0,
972 0, 0, 103, 104, 105, 106, 0, 0, 0, 0,
973 0, 344, 345, 0, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 346, 347, 0, 0, 0, 0,
975 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
976 0, 0, 348, 0, 0, 0, 0, 0, 0, 0,
977 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
978 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
979 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
980 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
981 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
982 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,
983 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
984 7, 8, 0, 0, 0, 0, 66, 389, 0, 0,
985 0, 0, 102, 0, 0, 0, 0, 0, 0, 11,
986 0, 0, 0, 67, 68, 69, 70, 71, 1, 2,
987 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
988 0, 606, 0, 0, 0, 72, 102, 73, 74, 75,
989 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
990 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
991 93, 94, 95, 60, 103, 104, 105, 390, 0, 0,
992 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
993 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
994 0, 0, -521, 0, 0, 0, 0, 0, 103, 104,
995 105, 0, 0, 0, 0, 0, 0, 0, 0, 66,
996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
998 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
1000 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1001 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1002 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
1003 0, 0, 0, 0, 0, 61, 717, 0, 0, 0,
1004 62, 63, 0, 0, 0, 64, 0, 432, 433, 434,
1005 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1006 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
1007 691, 0, 66, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1009 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1012 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1013 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
1014 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
1015 0, 0, 0, 62, 63, 0, 0, 0, 64, 0,
1016 641, 0, 0, 0, 0, 0, 0, 0, 194, 432,
1017 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1018 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
1019 0, 0, 450, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1022 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
1023 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
1024 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1025 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
1026 0, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1027 0, 64, 0, 745, 0, 0, 0, 0, 0, 0,
1028 0, 428, 432, 433, 434, 435, 436, 437, 438, 439,
1029 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1030 0, 0, 0, 0, 0, 691, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 67, 68, 69, 70, 71,
1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1034 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
1035 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1036 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
1037 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
1038 63, 0, 0, 0, 64, 0, 866, 0, 0, 0,
1039 0, 0, 0, 0, 461, 432, 433, 434, 435, 436,
1040 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1041 447, 448, 449, 0, 0, 0, 0, 0, 691, 0,
1042 0, 0, 0, 0, 60, 0, 0, 0, 67, 68,
1043 69, 70, 71, 61, 0, 0, 0, 0, 62, 63,
1044 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
1045 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1046 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1047 88, 89, 90, 91, 92, 93, 94, 95, 0, 0,
1048 0, 0, 0, 0, 0, 720, 0, 67, 68, 69,
1049 70, 71, 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
1051 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1052 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1053 89, 90, 91, 92, 93, 94, 95, 60, 0, 0,
1054 0, 0, 0, 0, 0, 0, 61, 0, 0, 837,
1055 0, 767, 63, 0, 0, 0, 64, 432, 433, 434,
1056 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1057 445, 446, 447, 448, 449, 0, 0, 0, 0, 0,
1058 691, 0, 0, 66, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
1060 67, 68, 69, 70, 71, 61, 0, 0, 0, 0,
1061 62, 63, 0, 0, 0, 64, 0, 0, 0, 0,
1062 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1063 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1064 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1065 0, 0, 0, 0, 0, 60, 0, 807, 0, 67,
1066 68, 69, 70, 71, 61, 0, 0, 0, 0, 62,
1067 63, 0, 0, 0, 64, 0, 0, 0, 0, 0,
1068 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1069 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1070 87, 88, 89, 90, 91, 92, 93, 94, 95, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0, 67, 68,
1072 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
1073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1074 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1075 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1076 88, 89, 90, 91, 92, 93, 94, 95, 729, 0,
1077 0, 0, 0, 0, 0, 432, 433, 434, 435, 436,
1078 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1079 447, 448, 449, 789, 0, 0, 0, 0, 450, 0,
1080 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1081 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
1082 0, 690, 0, 691, 432, 433, 434, 435, 436, 437,
1083 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1084 448, 449, 0, 0, 0, 0, 0, 691, 432, 433,
1085 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1086 444, 445, 446, 447, 448, 449, 0, 0, 0, 0,
1087 0, 450, 432, 433, 434, 435, 436, 437, 438, 439,
1088 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1089 0, 0, 0, 0, 0, 691, 432, 433, 434, 435,
1090 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1091 446, 447, 448, 449, 0, 0, 0, 0, 0, 450,
1092 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1093 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
1097 static const short int yycheck
[] =
1099 33, 22, 9, 129, 133, 11, 9, 0, 403, 16,
1100 17, 18, 133, 19, 65, 10, 362, 363, 15, 406,
1101 15, 145, 146, 147, 400, 160, 454, 403, 351, 380,
1102 33, 187, 188, 168, 27, 377, 454, 15, 707, 705,
1103 0, 705, 343, 735, 683, 705, 26, 49, 349, 32,
1104 10, 24, 26, 25, 9, 37, 11, 10, 740, 33,
1105 742, 21, 65, 35, 24, 25, 49, 27, 21, 31,
1106 412, 125, 25, 35, 36, 26, 4, 5, 6, 7,
1107 8, 9, 10, 11, 210, 31, 32, 31, 34, 17,
1108 97, 64, 36, 753, 22, 761, 103, 104, 105, 44,
1109 106, 761, 784, 32, 427, 34, 31, 430, 33, 34,
1110 92, 93, 94, 95, 96, 122, 98, 99, 35, 36,
1111 812, 463, 124, 35, 36, 132, 133, 134, 135, 136,
1112 431, 134, 801, 33, 34, 31, 143, 33, 34, 119,
1113 137, 0, 137, 194, 17, 18, 609, 786, 611, 450,
1114 451, 154, 6, 7, 8, 847, 84, 85, 86, 137,
1115 799, 4, 5, 6, 33, 34, 9, 174, 201, 166,
1116 6, 166, 841, 9, 838, 33, 34, 32, 838, 22,
1117 849, 820, 189, 34, 191, 31, 37, 32, 166, 871,
1118 856, 194, 187, 188, 31, 36, 856, 34, 585, 159,
1119 33, 34, 36, 867, 873, 165, 159, 867, 712, 49,
1120 37, 715, 165, 87, 343, 135, 136, 26, 27, 30,
1121 349, 649, 343, 32, 31, 23, 654, 32, 349, 35,
1122 23, 649, 36, 23, 369, 44, 654, 110, 111, 112,
1123 113, 114, 115, 4, 5, 6, 31, 36, 9, 36,
1124 23, 593, 38, 595, 32, 6, 32, 608, 118, 610,
1125 31, 22, 32, 31, 36, 92, 93, 94, 95, 96,
1126 612, 98, 99, 35, 4, 5, 6, 7, 8, 9,
1127 10, 11, 92, 93, 94, 95, 96, 17, 98, 99,
1128 40, 32, 22, 31, 31, 6, 40, 26, 454, 29,
1129 33, 22, 431, 34, 3, 32, 32, 6, 40, 31,
1130 431, 10, 40, 12, 13, 14, 15, 16, 17, 31,
1131 643, 450, 451, 646, 647, 32, 24, 40, 379, 450,
1132 451, 707, 32, 34, 33, 32, 343, 31, 33, 25,
1133 391, 348, 349, 33, 33, 33, 31, 40, 35, 691,
1134 692, 35, 33, 33, 84, 85, 86, 87, 391, 366,
1135 33, 91, 33, 705, 33, 33, 399, 34, 401, 34,
1136 403, 34, 33, 35, 109, 32, 379, 32, 34, 33,
1137 33, 25, 32, 35, 390, 31, 389, 32, 391, 31,
1138 736, 737, 33, 123, 97, 402, 33, 35, 749, 750,
1139 17, 18, 744, 25, 34, 31, 34, 34, 415, 33,
1140 461, 418, 32, 34, 24, 33, 32, 32, 424, 761,
1141 25, 428, 455, 456, 431, 801, 25, 728, 729, 33,
1142 25, 34, 34, 828, 35, 33, 33, 593, 34, 33,
1143 33, 333, 27, 450, 451, 787, 787, 789, 166, 772,
1144 773, 654, 828, 609, 132, 611, 798, 454, 461, 454,
1145 649, 454, 39, 3, 583, 841, 30, 182, 24, 188,
1146 365, 167, 12, 849, 779, 613, 424, 17, 18, 19,
1147 20, 21, 22, 100, 101, 102, 103, 104, 105, 106,
1148 107, 108, 98, 649, 21, 837, 838, 873, 654, 742,
1149 372, 867, 66, 67, 68, 69, 70, 71, 72, 73,
1150 74, 75, 76, 77, 856, 79, 80, 81, 82, 399,
1151 752, 714, -1, -1, -1, 867, 66, 67, 68, 69,
1152 70, 3, 656, 657, 6, -1, -1, -1, 10, -1,
1153 12, 13, 14, 15, 16, 17, -1, -1, 88, -1,
1154 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1155 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1156 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1157 -1, 121, -1, 123, 124, -1, 637, -1, -1, -1,
1158 -1, -1, -1, 600, -1, -1, -1, -1, 605, 728,
1159 729, -1, 635, 606, -1, -1, 613, 728, 729, -1,
1160 -1, -1, -1, -1, 609, -1, 611, -1, -1, -1,
1161 653, -1, -1, -1, -1, -1, -1, -1, -1, 636,
1162 -1, -1, -1, -1, 637, -1, -1, -1, -1, -1,
1163 -1, -1, -1, -1, 770, -1, -1, -1, 655, -1,
1164 653, -1, 649, 660, 649, -1, 649, 654, -1, 654,
1165 -1, 654, -1, -1, -1, -1, -1, -1, -1, -1,
1166 -1, -1, -1, -1, -1, -1, 709, -1, -1, 712,
1167 686, -1, 715, -1, -1, -1, -1, -1, -1, 696,
1168 711, -1, -1, -1, -1, 698, -1, -1, 4, 5,
1169 6, 7, 8, 9, 10, 11, -1, 714, -1, -1,
1170 -1, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1171 -1, 728, 729, 29, 30, 31, -1, -1, -1, -1,
1172 -1, 764, -1, -1, -1, 41, -1, -1, -1, -1,
1173 -1, -1, -1, -1, 777, -1, -1, 780, 781, 4,
1174 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1175 -1, -1, -1, -1, 771, 786, -1, 22, -1, -1,
1176 -1, 26, 27, -1, -1, -1, -1, 83, 84, 85,
1177 86, 87, 88, 89, -1, 91, -1, -1, -1, 44,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1179 833, -1, -1, -1, -1, 838, -1, -1, -1, -1,
1180 116, -1, -1, -1, -1, 121, -1, 123, -1, -1,
1181 -1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
1182 85, 86, 0, -1, 867, 3, 4, 5, 6, 7,
1183 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1184 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1185 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1186 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1187 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1188 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1189 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1190 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1191 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1192 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1193 108, 109, 110, 111, 112, 113, 114, 115, 116, -1,
1194 118, 119, -1, 121, 122, 123, 124, 125, 0, -1,
1195 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1196 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1197 22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
1198 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1199 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1200 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1201 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1202 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1203 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1204 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1205 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1206 112, 113, 114, 115, 116, -1, -1, 119, -1, 121,
1207 122, 123, 124, 125, 0, -1, -1, 3, 4, 5,
1208 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1209 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1210 26, 27, 28, 29, -1, 31, 32, 33, 34, 35,
1211 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1212 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1213 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1214 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1215 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1216 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1217 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1218 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1219 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
1220 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1221 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1222 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1223 -1, 31, 32, 33, 34, 35, 36, -1, 38, 39,
1224 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1225 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1226 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1227 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1228 -1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
1229 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1230 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1231 110, 111, 112, 113, 114, 115, 116, -1, -1, 119,
1232 -1, 121, 122, 123, 124, 125, 4, 5, 6, 7,
1233 8, 9, 10, 11, -1, -1, -1, -1, -1, 17,
1234 -1, -1, -1, -1, 22, -1, -1, -1, -1, -1,
1235 -1, 29, -1, -1, -1, -1, -1, -1, -1, 37,
1236 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1237 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1238 -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
1239 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1240 -1, -1, -1, -1, -1, 17, 84, 85, 86, 87,
1241 22, -1, -1, -1, -1, -1, -1, 29, -1, -1,
1242 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1243 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1244 -1, 22, -1, 121, 84, 85, 86, 87, 29, -1,
1245 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1246 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1247 10, 11, 84, 85, 86, 87, -1, 17, -1, -1,
1248 -1, 121, 22, -1, -1, -1, -1, -1, -1, 29,
1249 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1250 -1, -1, -1, 84, 85, 86, 87, -1, 22, 121,
1251 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1252 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1253 23, -1, 25, -1, 27, 28, 29, -1, -1, 32,
1254 121, -1, -1, 83, 84, 85, 86, 87, -1, -1,
1255 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1257 84, 85, 86, 66, 67, 68, 69, 70, -1, -1,
1258 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1259 -1, 84, 85, 86, 87, 88, -1, 90, 91, 92,
1260 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1261 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1262 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1263 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1264 20, 21, 22, 23, -1, 25, 26, 27, 28, -1,
1265 -1, -1, 32, -1, -1, -1, -1, -1, 4, 5,
1266 6, 7, 8, 9, 10, 11, -1, 47, 48, 49,
1267 -1, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1268 60, 61, -1, 29, -1, -1, 66, 67, 68, 69,
1269 70, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1270 -1, -1, -1, -1, 17, -1, -1, -1, 88, 22,
1271 90, 91, 92, 93, 94, 95, 29, 97, 64, -1,
1272 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1273 110, 111, 112, 113, 114, 115, 3, -1, 84, 85,
1274 86, 87, -1, -1, -1, 12, -1, -1, -1, -1,
1275 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1276 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1277 -1, 84, 85, 86, 87, -1, -1, 44, -1, -1,
1278 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1279 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1280 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1282 -1, 88, 89, 90, 91, 92, 93, 94, 95, -1,
1283 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1284 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1285 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1286 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1287 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1289 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1290 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1291 64, -1, 66, 67, 68, 69, 70, 4, 5, 6,
1292 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1293 17, -1, -1, -1, 88, 22, 90, 91, 92, 93,
1294 94, 95, 29, 97, -1, -1, 100, 101, 102, 103,
1295 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1296 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1297 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1298 -1, 22, 23, 24, 25, -1, 27, 28, -1, -1,
1299 -1, 32, -1, -1, -1, -1, -1, 84, 85, 86,
1300 87, -1, -1, 44, -1, -1, 47, 48, 49, -1,
1301 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1302 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1303 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1304 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1305 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1306 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1307 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1308 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1309 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
1310 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1311 -1, 39, -1, -1, -1, -1, -1, -1, -1, 47,
1312 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1313 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1314 68, 69, 70, 4, 5, 6, 7, 8, 9, 10,
1315 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1316 88, 22, 90, 91, 92, 93, 94, 95, 29, 97,
1317 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1318 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1319 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1320 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
1321 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
1322 -1, -1, -1, 84, 85, 86, 87, -1, -1, 44,
1323 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
1324 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1325 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1327 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1328 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1329 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1330 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1331 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1332 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
1333 32, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1334 8, 9, 10, 11, -1, 47, 48, 49, -1, 17,
1335 -1, -1, -1, -1, 22, -1, -1, -1, 60, 61,
1336 -1, 29, -1, -1, 66, 67, 68, 69, 70, -1,
1337 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1338 -1, -1, -1, -1, -1, -1, 88, 89, 90, 91,
1339 92, 93, 94, 95, -1, 97, 64, -1, 100, 101,
1340 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1341 112, 113, 114, 115, 3, -1, 84, 85, 86, 87,
1342 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1343 19, -1, -1, 22, 23, -1, 25, -1, 27, 28,
1344 -1, -1, -1, 32, -1, -1, -1, 3, 4, 5,
1345 6, 7, 8, 9, 10, 11, 12, -1, 47, 48,
1346 49, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1347 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1348 69, 70, 4, 5, 6, 7, 8, 9, 10, 11,
1349 -1, -1, -1, -1, -1, 17, -1, -1, -1, 88,
1350 22, 90, 91, 92, 93, 94, 95, 29, 97, -1,
1351 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1352 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
1353 86, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1354 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1355 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1356 -1, -1, 84, 85, 86, 87, -1, -1, -1, -1,
1357 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1358 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1359 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1360 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1362 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1363 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1364 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1365 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1366 -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
1367 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1368 10, 11, -1, -1, -1, -1, 49, 17, -1, -1,
1369 -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
1370 -1, -1, -1, 66, 67, 68, 69, 70, 4, 5,
1371 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1372 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1373 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1374 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1375 113, 114, 115, 3, 84, 85, 86, 87, -1, -1,
1376 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1377 -1, -1, 22, -1, -1, -1, -1, -1, -1, -1,
1378 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1379 86, -1, -1, -1, -1, -1, -1, -1, -1, 49,
1380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1381 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1382 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1384 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1385 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1386 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1387 -1, -1, -1, -1, -1, 12, 31, -1, -1, -1,
1388 17, 18, -1, -1, -1, 22, -1, 42, 43, 44,
1389 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1390 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1391 65, -1, 49, -1, -1, -1, -1, -1, -1, -1,
1392 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
1393 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1395 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1396 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1397 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1398 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1399 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1400 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
1401 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1402 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1403 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
1404 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1406 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1407 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1408 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1409 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1410 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1411 -1, 22, -1, 33, -1, -1, -1, -1, -1, -1,
1412 -1, 32, 42, 43, 44, 45, 46, 47, 48, 49,
1413 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1414 -1, -1, -1, -1, -1, 65, -1, -1, -1, -1,
1415 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1416 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1417 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1418 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1419 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1420 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1421 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1422 18, -1, -1, -1, 22, -1, 33, -1, -1, -1,
1423 -1, -1, -1, -1, 32, 42, 43, 44, 45, 46,
1424 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1425 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1426 -1, -1, -1, -1, 3, -1, -1, -1, 66, 67,
1427 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
1428 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1429 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1430 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1431 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
1432 -1, -1, -1, -1, -1, 64, -1, 66, 67, 68,
1433 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1434 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1435 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1436 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1437 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
1438 -1, -1, -1, -1, -1, -1, 12, -1, -1, 34,
1439 -1, 17, 18, -1, -1, -1, 22, 42, 43, 44,
1440 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1441 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1442 65, -1, -1, 49, -1, -1, -1, -1, -1, -1,
1443 -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
1444 66, 67, 68, 69, 70, 12, -1, -1, -1, -1,
1445 17, 18, -1, -1, -1, 22, -1, -1, -1, -1,
1446 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1447 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1448 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1449 -1, -1, -1, -1, -1, 3, -1, 64, -1, 66,
1450 67, 68, 69, 70, 12, -1, -1, -1, -1, 17,
1451 18, -1, -1, -1, 22, -1, -1, -1, -1, -1,
1452 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1453 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1454 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1455 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
1456 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1457 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1458 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1459 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1460 108, 109, 110, 111, 112, 113, 114, 115, 35, -1,
1461 -1, -1, -1, -1, -1, 42, 43, 44, 45, 46,
1462 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1463 57, 58, 59, 35, -1, -1, -1, -1, 65, -1,
1464 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1465 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1466 -1, 39, -1, 65, 42, 43, 44, 45, 46, 47,
1467 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1468 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
1469 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1470 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1471 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1472 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1473 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1474 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1475 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1476 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1477 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1481 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1482 symbol of state STATE-NUM. */
1483 static const unsigned short int yystos
[] =
1485 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1486 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1487 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
1488 150, 168, 173, 178, 179, 180, 181, 182, 183, 184,
1489 185, 190, 193, 194, 197, 201, 202, 203, 204, 205,
1490 206, 209, 211, 212, 218, 226, 237, 238, 9, 11,
1491 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1492 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1493 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1494 110, 111, 112, 113, 114, 115, 143, 234, 235, 236,
1495 253, 265, 22, 84, 85, 86, 87, 202, 209, 179,
1496 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1497 75, 76, 77, 79, 80, 81, 82, 151, 152, 153,
1498 154, 156, 157, 158, 17, 84, 85, 121, 174, 176,
1499 203, 204, 209, 218, 227, 228, 143, 143, 143, 229,
1500 3, 6, 10, 12, 17, 169, 170, 179, 26, 123,
1501 202, 238, 44, 273, 274, 22, 83, 201, 202, 0,
1502 148, 143, 210, 233, 234, 4, 5, 6, 9, 22,
1503 186, 6, 183, 189, 31, 125, 191, 32, 32, 36,
1504 36, 233, 234, 87, 32, 143, 124, 236, 143, 143,
1505 143, 34, 195, 19, 20, 21, 121, 123, 124, 143,
1506 159, 160, 30, 0, 3, 4, 5, 6, 7, 8,
1507 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1508 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1509 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1510 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1511 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1512 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1513 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1514 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1515 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1516 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1517 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1518 125, 144, 163, 164, 163, 26, 119, 155, 143, 159,
1519 25, 27, 28, 32, 47, 48, 60, 61, 78, 142,
1520 143, 165, 223, 143, 143, 229, 143, 229, 176, 31,
1521 143, 35, 231, 231, 231, 231, 234, 23, 31, 202,
1522 36, 198, 36, 23, 174, 191, 198, 38, 232, 32,
1523 143, 6, 187, 6, 9, 188, 186, 32, 31, 17,
1524 87, 178, 207, 208, 209, 207, 143, 219, 220, 92,
1525 93, 94, 95, 96, 98, 99, 244, 245, 246, 259,
1526 262, 268, 269, 270, 143, 233, 196, 210, 234, 118,
1527 163, 144, 26, 27, 32, 44, 225, 165, 32, 143,
1528 165, 32, 42, 43, 44, 45, 46, 47, 48, 49,
1529 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1530 65, 141, 31, 35, 36, 214, 214, 31, 213, 214,
1531 213, 32, 143, 40, 198, 0, 3, 4, 5, 6,
1532 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1533 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1534 27, 28, 29, 31, 32, 33, 34, 35, 38, 39,
1535 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1536 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1537 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1538 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1539 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1540 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1541 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1542 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1543 125, 145, 198, 199, 200, 244, 32, 31, 31, 19,
1544 23, 25, 27, 32, 39, 142, 210, 221, 222, 223,
1545 233, 232, 6, 26, 192, 234, 17, 233, 33, 34,
1546 33, 34, 40, 34, 37, 210, 249, 221, 241, 263,
1547 264, 265, 273, 210, 143, 271, 272, 210, 260, 264,
1548 37, 245, 221, 33, 143, 34, 32, 179, 224, 225,
1549 22, 33, 143, 165, 166, 167, 165, 165, 32, 121,
1550 175, 176, 177, 178, 215, 218, 227, 228, 210, 210,
1551 233, 19, 20, 21, 26, 171, 172, 221, 37, 200,
1552 37, 3, 6, 10, 12, 13, 14, 15, 16, 17,
1553 33, 239, 240, 242, 243, 22, 87, 178, 221, 221,
1554 39, 65, 141, 143, 26, 33, 234, 232, 17, 64,
1555 208, 232, 64, 221, 220, 40, 31, 40, 31, 32,
1556 24, 40, 32, 31, 34, 32, 31, 31, 33, 210,
1557 64, 143, 161, 162, 233, 33, 33, 33, 34, 35,
1558 25, 177, 35, 230, 37, 175, 231, 231, 143, 31,
1559 35, 33, 34, 241, 33, 33, 221, 221, 33, 33,
1560 33, 19, 89, 90, 109, 221, 248, 250, 251, 252,
1561 253, 274, 263, 210, 273, 196, 272, 17, 196, 261,
1562 33, 34, 165, 165, 34, 25, 35, 34, 216, 230,
1563 214, 214, 33, 242, 35, 240, 242, 40, 221, 35,
1564 232, 232, 109, 250, 17, 18, 253, 256, 32, 32,
1565 248, 34, 266, 210, 33, 33, 163, 64, 143, 25,
1566 35, 32, 210, 217, 31, 216, 242, 273, 171, 221,
1567 32, 221, 241, 64, 263, 267, 33, 31, 97, 33,
1568 35, 25, 230, 34, 31, 64, 241, 34, 34, 254,
1569 33, 34, 18, 264, 265, 32, 34, 210, 24, 32,
1570 221, 210, 247, 248, 249, 255, 274, 33, 263, 25,
1571 25, 230, 33, 257, 258, 263, 33, 34, 248, 34,
1572 33, 35, 33, 34, 247, 25, 242, 33, 263, 33
1575 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1576 static const unsigned short int yyr1
[] =
1578 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
1579 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1580 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
1581 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1582 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
1583 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1584 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1585 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1586 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1587 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1588 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1589 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1590 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1591 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1592 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1593 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1594 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1595 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1596 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1597 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1598 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1599 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1600 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1601 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1602 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1603 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1604 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1605 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
1606 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
1607 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
1608 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
1609 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
1610 158, 158, 159, 159, 159, 159, 159, 159, 159, 160,
1611 160, 161, 161, 161, 161, 162, 162, 163, 163, 164,
1612 164, 165, 165, 165, 165, 165, 165, 165, 165, 165,
1613 165, 165, 166, 166, 167, 167, 168, 169, 170, 170,
1614 170, 170, 171, 171, 171, 172, 172, 172, 172, 173,
1615 173, 173, 174, 174, 175, 175, 176, 176, 176, 176,
1616 176, 177, 177, 177, 177, 177, 178, 178, 178, 179,
1617 179, 180, 180, 180, 181, 181, 181, 182, 182, 182,
1618 183, 183, 184, 184, 184, 185, 185, 185, 185, 186,
1619 186, 186, 186, 186, 186, 187, 187, 188, 188, 188,
1620 188, 189, 189, 189, 190, 190, 191, 191, 192, 192,
1621 193, 194, 195, 195, 196, 196, 197, 197, 197, 198,
1622 199, 199, 200, 200, 201, 201, 202, 202, 203, 203,
1623 204, 204, 205, 205, 205, 205, 206, 206, 207, 207,
1624 207, 207, 208, 208, 208, 208, 209, 209, 209, 209,
1625 210, 210, 211, 212, 213, 213, 214, 215, 215, 216,
1626 216, 217, 217, 218, 219, 219, 220, 220, 221, 221,
1627 221, 221, 221, 221, 222, 222, 222, 222, 222, 222,
1628 223, 223, 224, 224, 225, 225, 225, 226, 227, 228,
1629 229, 229, 230, 230, 230, 230, 231, 231, 232, 232,
1630 232, 233, 233, 234, 234, 235, 235, 236, 236, 237,
1631 237, 238, 238, 238, 239, 239, 240, 240, 241, 242,
1632 243, 243, 243, 243, 243, 243, 243, 243, 243, 244,
1633 244, 245, 245, 245, 245, 245, 246, 246, 247, 247,
1634 247, 248, 248, 248, 248, 248, 248, 249, 249, 250,
1635 251, 252, 253, 253, 253, 253, 253, 253, 253, 253,
1636 253, 253, 254, 254, 255, 255, 256, 256, 257, 257,
1637 258, 258, 259, 260, 260, 261, 261, 261, 262, 263,
1638 263, 263, 264, 264, 265, 265, 265, 265, 265, 265,
1639 265, 265, 266, 266, 267, 267, 268, 269, 269, 270,
1640 271, 271, 272, 273, 273, 274
1643 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1644 static const unsigned char yyr2
[] =
1646 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1672 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1673 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1674 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1675 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1676 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
1677 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1678 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
1679 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1680 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1681 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1682 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1683 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1684 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1685 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1686 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1687 1, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1688 2, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1689 2, 3, 0, 2, 1, 3, 3, 3, 4, 3,
1690 1, 2, 1, 1, 1, 2, 1, 1, 5, 7,
1691 5, 7, 6, 7, 6, 5, 1, 2, 0, 1,
1692 1, 3, 1, 2, 3, 2, 1, 2, 4, 3,
1693 3, 2, 4, 4, 1, 1, 3, 4, 5, 0,
1694 2, 2, 4, 4, 1, 3, 1, 3, 1, 4,
1695 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
1696 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
1697 0, 1, 0, 2, 7, 9, 0, 7, 0, 2,
1698 3, 0, 1, 1, 2, 1, 2, 1, 2, 4,
1699 5, 7, 8, 13, 1, 3, 2, 4, 2, 1,
1700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1701 2, 1, 1, 1, 1, 1, 3, 6, 1, 2,
1702 1, 1, 1, 1, 2, 1, 1, 3, 4, 6,
1703 8, 5, 1, 1, 1, 1, 1, 1, 1, 1,
1704 1, 1, 0, 2, 1, 3, 1, 1, 0, 1,
1705 1, 3, 3, 6, 1, 0, 1, 1, 3, 1,
1706 1, 3, 5, 6, 1, 1, 1, 1, 1, 1,
1707 1, 1, 0, 2, 1, 3, 3, 1, 1, 3,
1712 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1713 static const unsigned char yydprec
[] =
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 2, 1, 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, 2, 1, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 2, 1, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1781 static const unsigned char yymerger
[] =
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1849 in the case of predicates. */
1850 static const yybool yyimmediate
[] =
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1918 list of conflicting reductions corresponding to action entry for
1919 state STATE-NUM in yytable. 0 means no conflicts. The list in
1920 yyconfl is terminated by a rule number of 0. */
1921 static const unsigned short int yyconflp
[] =
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 7, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 261, 0, 263, 265,
1934 0, 0, 0, 0, 0, 0, 0, 0, 255, 0,
1935 0, 0, 0, 257, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 269, 0, 271, 273, 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, 5,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 253, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 259, 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, 267, 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, 275,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 9, 0, 0, 11, 13, 15, 17, 19,
2007 21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
2008 41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
2009 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
2010 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
2011 101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
2012 121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
2013 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
2014 161, 163, 0, 165, 0, 167, 169, 171, 173, 175,
2015 177, 179, 181, 183, 185, 187, 189, 191, 193, 195,
2016 197, 199, 201, 203, 205, 207, 209, 211, 213, 215,
2017 217, 219, 221, 223, 225, 227, 229, 231, 233, 0,
2018 235, 237, 0, 239, 241, 243, 245, 247, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2094 0, 0, 0, 0, 1, 0, 0, 0, 0, 3,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 0, 0, 0, 0, 249, 0, 0, 0, 0,
2174 251, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
2300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2305 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2306 0, pointed into by YYCONFLP. */
2307 static const short int yyconfl
[] =
2309 0, 396, 0, 396, 0, 409, 0, 466, 0, 610,
2310 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2311 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2312 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2313 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2314 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2315 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2316 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2317 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2318 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2319 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2320 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2321 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2322 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2323 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2324 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2325 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2326 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2327 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2328 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2329 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2330 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2331 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2332 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
2333 0, 610, 0, 610, 0, 610, 0, 610, 0, 396,
2334 0, 396, 0, 409, 0, 511, 0, 511, 0, 42,
2335 0, 497, 0, 497, 0, 497, 0, 396, 0, 561,
2336 0, 561, 0, 561, 0, 611, 0, 344, 0, 493,
2340 /* Error token number */
2347 #define yynerrs (yystackp->yyerrcnt)
2349 #define yychar (yystackp->yyrawchar)
2351 #define yylval (yystackp->yyval)
2353 #define yylloc (yystackp->yyloc)
2354 #define psi_parser_proc_nerrs yynerrs
2355 #define psi_parser_proc_char yychar
2356 #define psi_parser_proc_lval yylval
2357 #define psi_parser_proc_lloc yylloc
2359 static const int YYEOF
= 0;
2360 static const int YYEMPTY
= -2;
2362 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2364 #define YYCHK(YYE) \
2366 YYRESULTTAG yychk_flag = YYE; \
2367 if (yychk_flag != yyok) \
2368 return yychk_flag; \
2374 # define YYFPRINTF fprintf
2377 /* This macro is provided for backward compatibility. */
2378 #ifndef YY_LOCATION_PRINT
2379 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2383 # define YYDPRINTF(Args) \
2390 /*----------------------------------------.
2391 | Print this symbol's value on YYOUTPUT. |
2392 `----------------------------------------*/
2395 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2397 FILE *yyo
= yyoutput
;
2408 /*--------------------------------.
2409 | Print this symbol on YYOUTPUT. |
2410 `--------------------------------*/
2413 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2415 YYFPRINTF (yyoutput
, "%s %s (",
2416 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2418 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2419 YYFPRINTF (yyoutput
, ")");
2422 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2426 YYFPRINTF (stderr, "%s ", Title); \
2427 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2428 YYFPRINTF (stderr, "\n"); \
2432 /* Nonzero means print parse trace. It is left uninitialized so that
2433 multiple parsers can coexist. */
2437 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2438 YY_ATTRIBUTE_UNUSED
;
2439 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2440 YY_ATTRIBUTE_UNUSED
;
2442 #else /* !YYDEBUG */
2444 # define YYDPRINTF(Args)
2445 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2447 #endif /* !YYDEBUG */
2449 /* YYINITDEPTH -- initial size of the parser's stacks. */
2451 # define YYINITDEPTH 200
2454 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2455 if the built-in stack extension method is used).
2457 Do not make this value too large; the results are undefined if
2458 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2459 evaluated with infinite-precision integer arithmetic. */
2462 # define YYMAXDEPTH 10000
2465 /* Minimum number of free items on the stack allowed after an
2466 allocation. This is to allow allocation and initialization
2467 to be completed by functions that call yyexpandGLRStack before the
2468 stack is expanded, thus insuring that all necessary pointers get
2469 properly redirected to new data. */
2470 #define YYHEADROOM 2
2472 #ifndef YYSTACKEXPANDABLE
2473 # define YYSTACKEXPANDABLE 1
2476 #if YYSTACKEXPANDABLE
2477 # define YY_RESERVE_GLRSTACK(Yystack) \
2479 if (Yystack->yyspaceLeft < YYHEADROOM) \
2480 yyexpandGLRStack (Yystack); \
2483 # define YY_RESERVE_GLRSTACK(Yystack) \
2485 if (Yystack->yyspaceLeft < YYHEADROOM) \
2486 yyMemoryExhausted (Yystack); \
2494 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2495 # define yystpcpy stpcpy
2497 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2500 yystpcpy (char *yydest
, const char *yysrc
)
2503 const char *yys
= yysrc
;
2505 while ((*yyd
++ = *yys
++) != '\0')
2514 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2515 quotes and backslashes, so that it's suitable for yyerror. The
2516 heuristic is that double-quoting is unnecessary unless the string
2517 contains an apostrophe, a comma, or backslash (other than
2518 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2519 null, do not copy; instead, return the length of what the result
2522 yytnamerr (char *yyres
, const char *yystr
)
2527 char const *yyp
= yystr
;
2534 goto do_not_strip_quotes
;
2538 goto do_not_strip_quotes
;
2551 do_not_strip_quotes
: ;
2555 return strlen (yystr
);
2557 return yystpcpy (yyres
, yystr
) - yyres
;
2561 #endif /* !YYERROR_VERBOSE */
2563 /** State numbers, as in LALR(1) machine */
2564 typedef int yyStateNum
;
2566 /** Rule numbers, as in LALR(1) machine */
2567 typedef int yyRuleNum
;
2569 /** Grammar symbol */
2570 typedef int yySymbol
;
2572 /** Item references, as in LALR(1) machine */
2573 typedef short int yyItemNum
;
2575 typedef struct yyGLRState yyGLRState
;
2576 typedef struct yyGLRStateSet yyGLRStateSet
;
2577 typedef struct yySemanticOption yySemanticOption
;
2578 typedef union yyGLRStackItem yyGLRStackItem
;
2579 typedef struct yyGLRStack yyGLRStack
;
2582 /** Type tag: always true. */
2584 /** Type tag for yysemantics. If true, yysval applies, otherwise
2585 * yyfirstVal applies. */
2587 /** Number of corresponding LALR(1) machine state. */
2588 yyStateNum yylrState
;
2589 /** Preceding state in this stack */
2591 /** Source position of the last token produced by my symbol */
2594 /** First in a chain of alternative reductions producing the
2595 * non-terminal corresponding to this state, threaded through
2597 yySemanticOption
* yyfirstVal
;
2598 /** Semantic value for this state. */
2603 struct yyGLRStateSet
{
2604 yyGLRState
** yystates
;
2605 /** During nondeterministic operation, yylookaheadNeeds tracks which
2606 * stacks have actually needed the current lookahead. During deterministic
2607 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2608 * duplicate yychar != YYEMPTY. */
2609 yybool
* yylookaheadNeeds
;
2610 size_t yysize
, yycapacity
;
2613 struct yySemanticOption
{
2614 /** Type tag: always false. */
2616 /** Rule number for this reduction */
2618 /** The last RHS state in the list of states to be reduced. */
2619 yyGLRState
* yystate
;
2620 /** The lookahead for this reduction. */
2623 /** Next sibling in chain of options. To facilitate merging,
2624 * options are chained in decreasing order by address. */
2625 yySemanticOption
* yynext
;
2628 /** Type of the items in the GLR stack. The yyisState field
2629 * indicates which item of the union is valid. */
2630 union yyGLRStackItem
{
2632 yySemanticOption yyoption
;
2643 YYJMP_BUF yyexception_buffer
;
2644 yyGLRStackItem
* yyitems
;
2645 yyGLRStackItem
* yynextFree
;
2647 yyGLRState
* yysplitPoint
;
2648 yyGLRState
* yylastDeleted
;
2649 yyGLRStateSet yytops
;
2652 #if YYSTACKEXPANDABLE
2653 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2656 static _Noreturn
void
2657 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2659 if (yymsg
!= YY_NULLPTR
)
2660 yyerror (P
, tokens
, index
, yymsg
);
2661 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2664 static _Noreturn
void
2665 yyMemoryExhausted (yyGLRStack
* yystackp
)
2667 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2670 #if YYDEBUG || YYERROR_VERBOSE
2671 /** A printable representation of TOKEN. */
2672 static inline const char*
2673 yytokenName (yySymbol yytoken
)
2675 if (yytoken
== YYEMPTY
)
2678 return yytname
[yytoken
];
2682 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2683 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2684 * containing the pointer to the next state in the chain. */
2685 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2687 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2690 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2691 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2694 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2696 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2698 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2700 /* The effect of using yysval or yyloc (in an immediate rule) is
2702 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2703 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2707 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2708 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2709 * For convenience, always return YYLOW1. */
2710 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2711 YY_ATTRIBUTE_UNUSED
;
2713 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2715 if (!yynormal
&& yylow1
< *yylow
)
2717 yyfillin (yyvsp
, *yylow
, yylow1
);
2723 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2724 * and top stack item YYVSP. YYLVALP points to place to put semantic
2725 * value ($$), and yylocp points to place for location information
2726 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2727 * yyerr for YYERROR, yyabort for YYABORT. */
2729 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2730 yyGLRStack
* yystackp
,
2731 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2733 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2741 # define yyerrok (yystackp->yyerrState = 0)
2743 # define YYACCEPT return yyaccept
2745 # define YYABORT return yyabort
2747 # define YYERROR return yyerrok, yyerr
2748 # undef YYRECOVERING
2749 # define YYRECOVERING() (yystackp->yyerrState != 0)
2751 # define yyclearin (yychar = YYEMPTY)
2753 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2755 # define YYBACKUP(Token, Value) \
2756 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2761 *yyvalp
= yyval_default
;
2763 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2767 #line 418 "src/parser_proc_grammar.y" /* glr.c:816 */
2769 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2770 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2771 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2774 #line 2775 "src/parser_proc.c" /* glr.c:816 */
2778 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2781 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2782 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2784 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
);
2787 #line 2788 "src/parser_proc.c" /* glr.c:816 */
2791 #line 432 "src/parser_proc_grammar.y" /* glr.c:816 */
2793 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2795 #line 2796 "src/parser_proc.c" /* glr.c:816 */
2799 #line 435 "src/parser_proc_grammar.y" /* glr.c:816 */
2801 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2803 #line 2804 "src/parser_proc.c" /* glr.c:816 */
2807 #line 440 "src/parser_proc_grammar.y" /* glr.c:816 */
2809 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2811 #line 2812 "src/parser_proc.c" /* glr.c:816 */
2815 #line 443 "src/parser_proc_grammar.y" /* glr.c:816 */
2817 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2819 #line 2820 "src/parser_proc.c" /* glr.c:816 */
2823 #line 446 "src/parser_proc_grammar.y" /* glr.c:816 */
2825 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2827 #line 2828 "src/parser_proc.c" /* glr.c:816 */
2831 #line 449 "src/parser_proc_grammar.y" /* glr.c:816 */
2833 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2835 #line 2836 "src/parser_proc.c" /* glr.c:816 */
2839 #line 452 "src/parser_proc_grammar.y" /* glr.c:816 */
2841 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2843 #line 2844 "src/parser_proc.c" /* glr.c:816 */
2847 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
2849 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2851 #line 2852 "src/parser_proc.c" /* glr.c:816 */
2855 #line 464 "src/parser_proc_grammar.y" /* glr.c:816 */
2857 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2859 #line 2860 "src/parser_proc.c" /* glr.c:816 */
2863 #line 467 "src/parser_proc_grammar.y" /* glr.c:816 */
2865 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2867 #line 2868 "src/parser_proc.c" /* glr.c:816 */
2871 #line 473 "src/parser_proc_grammar.y" /* glr.c:816 */
2873 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2874 struct psi_token
*msg
= NULL
;
2876 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2878 struct psi_token
*next
;
2880 msg
= psi_token_copy(msg
);
2881 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2882 struct psi_token
*old
= msg
;
2883 msg
= psi_token_cat(" ", 2, msg
, next
);
2887 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2889 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2891 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2893 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2895 #line 2896 "src/parser_proc.c" /* glr.c:816 */
2899 #line 496 "src/parser_proc_grammar.y" /* glr.c:816 */
2901 (*(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
))));
2902 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2904 #line 2905 "src/parser_proc.c" /* glr.c:816 */
2908 #line 500 "src/parser_proc_grammar.y" /* glr.c:816 */
2910 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2911 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2913 #line 2914 "src/parser_proc.c" /* glr.c:816 */
2917 #line 504 "src/parser_proc_grammar.y" /* glr.c:816 */
2919 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2920 (*(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
))));
2921 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2923 #line 2924 "src/parser_proc.c" /* glr.c:816 */
2927 #line 509 "src/parser_proc_grammar.y" /* glr.c:816 */
2929 (*(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
)));
2930 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2932 #line 2933 "src/parser_proc.c" /* glr.c:816 */
2936 #line 513 "src/parser_proc_grammar.y" /* glr.c:816 */
2938 (*(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
)));
2939 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2941 #line 2942 "src/parser_proc.c" /* glr.c:816 */
2945 #line 517 "src/parser_proc_grammar.y" /* glr.c:816 */
2947 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2948 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2950 #line 2951 "src/parser_proc.c" /* glr.c:816 */
2954 #line 521 "src/parser_proc_grammar.y" /* glr.c:816 */
2956 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2957 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2959 #line 2960 "src/parser_proc.c" /* glr.c:816 */
2963 #line 575 "src/parser_proc_grammar.y" /* glr.c:816 */
2965 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2966 (*(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
);
2967 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2969 #line 2970 "src/parser_proc.c" /* glr.c:816 */
2973 #line 580 "src/parser_proc_grammar.y" /* glr.c:816 */
2975 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2976 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2977 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2979 #line 2980 "src/parser_proc.c" /* glr.c:816 */
2983 #line 588 "src/parser_proc_grammar.y" /* glr.c:816 */
2985 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2987 #line 2988 "src/parser_proc.c" /* glr.c:816 */
2991 #line 591 "src/parser_proc_grammar.y" /* glr.c:816 */
2993 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2995 #line 2996 "src/parser_proc.c" /* glr.c:816 */
2999 #line 595 "src/parser_proc_grammar.y" /* glr.c:816 */
3001 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3003 #line 3004 "src/parser_proc.c" /* glr.c:816 */
3007 #line 601 "src/parser_proc_grammar.y" /* glr.c:816 */
3009 (*(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
)));
3010 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3011 (*(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
)));
3013 #line 3014 "src/parser_proc.c" /* glr.c:816 */
3017 #line 606 "src/parser_proc_grammar.y" /* glr.c:816 */
3019 (*(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
)));
3020 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3021 (*(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
)));
3023 #line 3024 "src/parser_proc.c" /* glr.c:816 */
3027 #line 614 "src/parser_proc_grammar.y" /* glr.c:816 */
3029 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3031 #line 3032 "src/parser_proc.c" /* glr.c:816 */
3035 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
3037 (*(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
)));
3038 (*(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
)));
3040 #line 3041 "src/parser_proc.c" /* glr.c:816 */
3044 #line 625 "src/parser_proc_grammar.y" /* glr.c:816 */
3046 (*(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
)));
3047 (*(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
)));
3049 #line 3050 "src/parser_proc.c" /* glr.c:816 */
3053 #line 632 "src/parser_proc_grammar.y" /* glr.c:816 */
3055 (*(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
)));
3056 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3058 #line 3059 "src/parser_proc.c" /* glr.c:816 */
3062 #line 636 "src/parser_proc_grammar.y" /* glr.c:816 */
3064 (*(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
)));
3065 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3067 #line 3068 "src/parser_proc.c" /* glr.c:816 */
3071 #line 640 "src/parser_proc_grammar.y" /* glr.c:816 */
3073 (*(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
)));
3074 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3076 #line 3077 "src/parser_proc.c" /* glr.c:816 */
3080 #line 644 "src/parser_proc_grammar.y" /* glr.c:816 */
3082 (*(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
)));
3083 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3085 #line 3086 "src/parser_proc.c" /* glr.c:816 */
3089 #line 649 "src/parser_proc_grammar.y" /* glr.c:816 */
3094 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3095 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3096 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3097 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3100 #line 3101 "src/parser_proc.c" /* glr.c:816 */
3104 #line 659 "src/parser_proc_grammar.y" /* glr.c:816 */
3109 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3110 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3111 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3112 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3115 #line 3116 "src/parser_proc.c" /* glr.c:816 */
3119 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3121 (*(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
));
3122 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3123 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3125 #line 3126 "src/parser_proc.c" /* glr.c:816 */
3129 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
3131 (*(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));
3132 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3133 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3135 #line 3136 "src/parser_proc.c" /* glr.c:816 */
3139 #line 679 "src/parser_proc_grammar.y" /* glr.c:816 */
3141 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3142 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3144 #line 3145 "src/parser_proc.c" /* glr.c:816 */
3148 #line 683 "src/parser_proc_grammar.y" /* glr.c:816 */
3150 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3151 (*(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));
3152 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3153 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3155 #line 3156 "src/parser_proc.c" /* glr.c:816 */
3159 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
3161 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3162 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3163 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));
3164 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3166 #line 3167 "src/parser_proc.c" /* glr.c:816 */
3170 #line 698 "src/parser_proc_grammar.y" /* glr.c:816 */
3172 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3174 #line 3175 "src/parser_proc.c" /* glr.c:816 */
3178 #line 705 "src/parser_proc_grammar.y" /* glr.c:816 */
3180 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3181 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3183 #line 3184 "src/parser_proc.c" /* glr.c:816 */
3187 #line 709 "src/parser_proc_grammar.y" /* glr.c:816 */
3189 (*(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
)));
3191 #line 3192 "src/parser_proc.c" /* glr.c:816 */
3195 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
3197 (*(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
)));
3198 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3200 #line 3201 "src/parser_proc.c" /* glr.c:816 */
3204 #line 722 "src/parser_proc_grammar.y" /* glr.c:816 */
3206 (*(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
);
3208 #line 3209 "src/parser_proc.c" /* glr.c:816 */
3212 #line 735 "src/parser_proc_grammar.y" /* glr.c:816 */
3214 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3216 #line 3217 "src/parser_proc.c" /* glr.c:816 */
3220 #line 738 "src/parser_proc_grammar.y" /* glr.c:816 */
3222 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
)) {
3224 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3226 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3227 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3229 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3233 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3234 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3235 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3236 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3237 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3238 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3239 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3240 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3241 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3242 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3248 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3250 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3252 #line 3253 "src/parser_proc.c" /* glr.c:816 */
3256 #line 769 "src/parser_proc_grammar.y" /* glr.c:816 */
3258 (*(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
);
3259 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3261 #line 3262 "src/parser_proc.c" /* glr.c:816 */
3265 #line 783 "src/parser_proc_grammar.y" /* glr.c:816 */
3267 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3269 #line 3270 "src/parser_proc.c" /* glr.c:816 */
3273 #line 786 "src/parser_proc_grammar.y" /* glr.c:816 */
3275 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3276 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3277 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3279 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3280 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3281 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3283 #line 3284 "src/parser_proc.c" /* glr.c:816 */
3287 #line 795 "src/parser_proc_grammar.y" /* glr.c:816 */
3289 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3291 #line 3292 "src/parser_proc.c" /* glr.c:816 */
3295 #line 801 "src/parser_proc_grammar.y" /* glr.c:816 */
3297 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3299 #line 3300 "src/parser_proc.c" /* glr.c:816 */
3303 #line 804 "src/parser_proc_grammar.y" /* glr.c:816 */
3305 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3307 #line 3308 "src/parser_proc.c" /* glr.c:816 */
3311 #line 810 "src/parser_proc_grammar.y" /* glr.c:816 */
3313 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3315 #line 3316 "src/parser_proc.c" /* glr.c:816 */
3319 #line 813 "src/parser_proc_grammar.y" /* glr.c:816 */
3321 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3323 #line 3324 "src/parser_proc.c" /* glr.c:816 */
3327 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
3329 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3330 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3331 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3333 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3334 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3336 #line 3337 "src/parser_proc.c" /* glr.c:816 */
3340 #line 828 "src/parser_proc_grammar.y" /* glr.c:816 */
3342 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3343 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3344 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3345 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3347 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3348 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3349 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3350 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3352 #line 3353 "src/parser_proc.c" /* glr.c:816 */
3356 #line 839 "src/parser_proc_grammar.y" /* glr.c:816 */
3358 (*(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
)));
3359 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3360 (*(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
)));
3361 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3362 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3363 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3364 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3366 #line 3367 "src/parser_proc.c" /* glr.c:816 */
3370 #line 848 "src/parser_proc_grammar.y" /* glr.c:816 */
3372 (*(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
)));
3373 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3374 (*(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
)));
3375 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3376 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3377 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3378 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3380 #line 3381 "src/parser_proc.c" /* glr.c:816 */
3384 #line 861 "src/parser_proc_grammar.y" /* glr.c:816 */
3386 (*(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));
3387 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3389 #line 3390 "src/parser_proc.c" /* glr.c:816 */
3393 #line 865 "src/parser_proc_grammar.y" /* glr.c:816 */
3395 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3396 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3397 psi_decl_var_init(NULL
, 0, 0)
3399 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3400 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3401 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3402 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3404 #line 3405 "src/parser_proc.c" /* glr.c:816 */
3408 #line 875 "src/parser_proc_grammar.y" /* glr.c:816 */
3410 (*(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));
3411 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3412 (*(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
)));
3413 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3414 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3415 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3416 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3418 #line 3419 "src/parser_proc.c" /* glr.c:816 */
3422 #line 884 "src/parser_proc_grammar.y" /* glr.c:816 */
3424 (*(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));
3425 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3426 (*(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
)));
3427 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3428 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3429 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3430 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3432 #line 3433 "src/parser_proc.c" /* glr.c:816 */
3436 #line 896 "src/parser_proc_grammar.y" /* glr.c:816 */
3438 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3440 #line 3441 "src/parser_proc.c" /* glr.c:816 */
3444 #line 899 "src/parser_proc_grammar.y" /* glr.c:816 */
3446 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3448 #line 3449 "src/parser_proc.c" /* glr.c:816 */
3452 #line 906 "src/parser_proc_grammar.y" /* glr.c:816 */
3454 (*(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
);
3455 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3457 #line 3458 "src/parser_proc.c" /* glr.c:816 */
3461 #line 914 "src/parser_proc_grammar.y" /* glr.c:816 */
3463 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3464 (*(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
);
3465 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3467 #line 3468 "src/parser_proc.c" /* glr.c:816 */
3471 #line 919 "src/parser_proc_grammar.y" /* glr.c:816 */
3473 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3474 (*(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
);
3475 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3477 #line 3478 "src/parser_proc.c" /* glr.c:816 */
3481 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3483 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3484 (*(struct psi_decl_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
);
3485 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3487 #line 3488 "src/parser_proc.c" /* glr.c:816 */
3491 #line 934 "src/parser_proc_grammar.y" /* glr.c:816 */
3493 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3495 #line 3496 "src/parser_proc.c" /* glr.c:816 */
3499 #line 940 "src/parser_proc_grammar.y" /* glr.c:816 */
3501 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3503 #line 3504 "src/parser_proc.c" /* glr.c:816 */
3507 #line 943 "src/parser_proc_grammar.y" /* glr.c:816 */
3509 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3511 #line 3512 "src/parser_proc.c" /* glr.c:816 */
3515 #line 946 "src/parser_proc_grammar.y" /* glr.c:816 */
3517 (*(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
)));
3519 #line 3520 "src/parser_proc.c" /* glr.c:816 */
3523 #line 957 "src/parser_proc_grammar.y" /* glr.c:816 */
3525 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3527 #line 3528 "src/parser_proc.c" /* glr.c:816 */
3531 #line 960 "src/parser_proc_grammar.y" /* glr.c:816 */
3533 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3535 #line 3536 "src/parser_proc.c" /* glr.c:816 */
3539 #line 963 "src/parser_proc_grammar.y" /* glr.c:816 */
3541 (*(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
)));
3543 #line 3544 "src/parser_proc.c" /* glr.c:816 */
3547 #line 969 "src/parser_proc_grammar.y" /* glr.c:816 */
3549 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3551 #line 3552 "src/parser_proc.c" /* glr.c:816 */
3555 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3557 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3559 #line 3560 "src/parser_proc.c" /* glr.c:816 */
3563 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3565 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3566 (*(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
)));
3567 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3569 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3572 #line 3573 "src/parser_proc.c" /* glr.c:816 */
3576 #line 983 "src/parser_proc_grammar.y" /* glr.c:816 */
3578 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3579 (*(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
)));
3580 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3581 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3583 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3586 #line 3587 "src/parser_proc.c" /* glr.c:816 */
3590 #line 995 "src/parser_proc_grammar.y" /* glr.c:816 */
3592 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3594 #line 3595 "src/parser_proc.c" /* glr.c:816 */
3598 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3600 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3602 #line 3603 "src/parser_proc.c" /* glr.c:816 */
3606 #line 1001 "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 1004 "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 1011 "src/parser_proc_grammar.y" /* glr.c:816 */
3628 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3630 #line 3631 "src/parser_proc.c" /* glr.c:816 */
3634 #line 1014 "src/parser_proc_grammar.y" /* glr.c:816 */
3636 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3637 (*(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
)));
3639 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3642 #line 3643 "src/parser_proc.c" /* glr.c:816 */
3646 #line 1024 "src/parser_proc_grammar.y" /* glr.c:816 */
3648 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3650 #line 3651 "src/parser_proc.c" /* glr.c:816 */
3654 #line 1030 "src/parser_proc_grammar.y" /* glr.c:816 */
3656 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3658 #line 3659 "src/parser_proc.c" /* glr.c:816 */
3662 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3664 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3666 #line 3667 "src/parser_proc.c" /* glr.c:816 */
3670 #line 1042 "src/parser_proc_grammar.y" /* glr.c:816 */
3672 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3674 #line 3675 "src/parser_proc.c" /* glr.c:816 */
3678 #line 1045 "src/parser_proc_grammar.y" /* glr.c:816 */
3680 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3681 (*(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
)));
3682 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3684 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3687 #line 3688 "src/parser_proc.c" /* glr.c:816 */
3691 #line 1056 "src/parser_proc_grammar.y" /* glr.c:816 */
3693 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3695 #line 3696 "src/parser_proc.c" /* glr.c:816 */
3699 #line 1059 "src/parser_proc_grammar.y" /* glr.c:816 */
3701 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3703 #line 3704 "src/parser_proc.c" /* glr.c:816 */
3707 #line 1079 "src/parser_proc_grammar.y" /* glr.c:816 */
3709 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3711 #line 3712 "src/parser_proc.c" /* glr.c:816 */
3715 #line 1086 "src/parser_proc_grammar.y" /* glr.c:816 */
3717 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3719 #line 3720 "src/parser_proc.c" /* glr.c:816 */
3723 #line 1092 "src/parser_proc_grammar.y" /* glr.c:816 */
3725 (*(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
)));
3727 #line 3728 "src/parser_proc.c" /* glr.c:816 */
3731 #line 1095 "src/parser_proc_grammar.y" /* glr.c:816 */
3733 (*(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
)));
3735 #line 3736 "src/parser_proc.c" /* glr.c:816 */
3739 #line 1101 "src/parser_proc_grammar.y" /* glr.c:816 */
3741 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3743 #line 3744 "src/parser_proc.c" /* glr.c:816 */
3747 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3749 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3751 #line 3752 "src/parser_proc.c" /* glr.c:816 */
3755 #line 1107 "src/parser_proc_grammar.y" /* glr.c:816 */
3757 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3759 #line 3760 "src/parser_proc.c" /* glr.c:816 */
3763 #line 1128 "src/parser_proc_grammar.y" /* glr.c:816 */
3765 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3766 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3768 #line 3769 "src/parser_proc.c" /* glr.c:816 */
3772 #line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */
3774 (*(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
)));
3775 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3776 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3777 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3780 #line 3781 "src/parser_proc.c" /* glr.c:816 */
3784 #line 1147 "src/parser_proc_grammar.y" /* glr.c:816 */
3786 (*(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
)));
3787 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3788 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3789 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3790 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3793 #line 3794 "src/parser_proc.c" /* glr.c:816 */
3797 #line 1158 "src/parser_proc_grammar.y" /* glr.c:816 */
3799 (*(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
)));
3800 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3801 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3802 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3805 #line 3806 "src/parser_proc.c" /* glr.c:816 */
3809 #line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */
3811 (*(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
)));
3812 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3813 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3814 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3815 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3818 #line 3819 "src/parser_proc.c" /* glr.c:816 */
3822 #line 1176 "src/parser_proc_grammar.y" /* glr.c:816 */
3824 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3825 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3826 (*(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));
3827 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3828 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3830 #line 3831 "src/parser_proc.c" /* glr.c:816 */
3834 #line 1183 "src/parser_proc_grammar.y" /* glr.c:816 */
3836 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3837 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3838 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3839 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
),
3840 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)
3842 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3843 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3844 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3846 #line 3847 "src/parser_proc.c" /* glr.c:816 */
3850 #line 1194 "src/parser_proc_grammar.y" /* glr.c:816 */
3852 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3853 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3854 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3855 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
),
3856 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)
3858 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3859 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3860 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3862 #line 3863 "src/parser_proc.c" /* glr.c:816 */
3866 #line 1205 "src/parser_proc_grammar.y" /* glr.c:816 */
3868 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3869 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3870 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3871 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
),
3872 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3874 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3875 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3876 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3878 #line 3879 "src/parser_proc.c" /* glr.c:816 */
3882 #line 1220 "src/parser_proc_grammar.y" /* glr.c:816 */
3884 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3885 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
),
3886 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3888 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3889 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3890 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3892 #line 3893 "src/parser_proc.c" /* glr.c:816 */
3896 #line 1232 "src/parser_proc_grammar.y" /* glr.c:816 */
3898 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3900 #line 3901 "src/parser_proc.c" /* glr.c:816 */
3904 #line 1235 "src/parser_proc_grammar.y" /* glr.c:816 */
3906 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3908 #line 3909 "src/parser_proc.c" /* glr.c:816 */
3912 #line 1238 "src/parser_proc_grammar.y" /* glr.c:816 */
3914 (*(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
)));
3916 #line 3917 "src/parser_proc.c" /* glr.c:816 */
3920 #line 1241 "src/parser_proc_grammar.y" /* glr.c:816 */
3922 (*(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
)));
3924 #line 3925 "src/parser_proc.c" /* glr.c:816 */
3928 #line 1248 "src/parser_proc_grammar.y" /* glr.c:816 */
3930 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3932 #line 3933 "src/parser_proc.c" /* glr.c:816 */
3936 #line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */
3938 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3939 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3940 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3943 #line 3944 "src/parser_proc.c" /* glr.c:816 */
3947 #line 1257 "src/parser_proc_grammar.y" /* glr.c:816 */
3949 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3950 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
),
3951 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3953 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3954 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3955 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3957 #line 3958 "src/parser_proc.c" /* glr.c:816 */
3961 #line 1266 "src/parser_proc_grammar.y" /* glr.c:816 */
3963 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3964 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
),
3965 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3967 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3968 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3969 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3971 #line 3972 "src/parser_proc.c" /* glr.c:816 */
3975 #line 1278 "src/parser_proc_grammar.y" /* glr.c:816 */
3977 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3978 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3979 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3981 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3982 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3984 #line 3985 "src/parser_proc.c" /* glr.c:816 */
3988 #line 1286 "src/parser_proc_grammar.y" /* glr.c:816 */
3990 (*(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
)));
3992 #line 3993 "src/parser_proc.c" /* glr.c:816 */
3996 #line 1289 "src/parser_proc_grammar.y" /* glr.c:816 */
3998 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3999 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4000 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
),
4001 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)
4003 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4004 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4005 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4007 #line 4008 "src/parser_proc.c" /* glr.c:816 */
4011 #line 1299 "src/parser_proc_grammar.y" /* glr.c:816 */
4013 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4014 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4015 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
),
4016 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)
4018 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4019 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4020 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4022 #line 4023 "src/parser_proc.c" /* glr.c:816 */
4026 #line 1312 "src/parser_proc_grammar.y" /* glr.c:816 */
4028 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4029 (*(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
)));
4030 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4032 #line 4033 "src/parser_proc.c" /* glr.c:816 */
4036 #line 1317 "src/parser_proc_grammar.y" /* glr.c:816 */
4038 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4039 (*(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
)));
4040 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4042 #line 4043 "src/parser_proc.c" /* glr.c:816 */
4046 #line 1325 "src/parser_proc_grammar.y" /* glr.c:816 */
4048 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4049 (*(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
)));
4050 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4051 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4052 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4054 #line 4055 "src/parser_proc.c" /* glr.c:816 */
4058 #line 1335 "src/parser_proc_grammar.y" /* glr.c:816 */
4060 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4061 (*(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
)));
4062 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4063 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4064 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4066 #line 4067 "src/parser_proc.c" /* glr.c:816 */
4070 #line 1345 "src/parser_proc_grammar.y" /* glr.c:816 */
4072 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4074 #line 4075 "src/parser_proc.c" /* glr.c:816 */
4078 #line 1352 "src/parser_proc_grammar.y" /* glr.c:816 */
4080 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4082 #line 4083 "src/parser_proc.c" /* glr.c:816 */
4086 #line 1358 "src/parser_proc_grammar.y" /* glr.c:816 */
4088 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4089 (*(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
)));
4090 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4092 struct psi_decl_arg
*arg
;
4094 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4095 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4096 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4098 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4101 #line 4102 "src/parser_proc.c" /* glr.c:816 */
4105 #line 1372 "src/parser_proc_grammar.y" /* glr.c:816 */
4107 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4108 (*(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
)));
4109 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4111 struct psi_decl_arg
*arg
;
4113 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4114 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4115 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4117 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4120 #line 4121 "src/parser_proc.c" /* glr.c:816 */
4124 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
4126 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4128 #line 4129 "src/parser_proc.c" /* glr.c:816 */
4132 #line 1392 "src/parser_proc_grammar.y" /* glr.c:816 */
4134 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4136 #line 4137 "src/parser_proc.c" /* glr.c:816 */
4140 #line 1398 "src/parser_proc_grammar.y" /* glr.c:816 */
4143 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4144 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4145 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4148 #line 4149 "src/parser_proc.c" /* glr.c:816 */
4152 #line 1405 "src/parser_proc_grammar.y" /* glr.c:816 */
4155 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4156 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4157 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4160 #line 4161 "src/parser_proc.c" /* glr.c:816 */
4164 #line 1415 "src/parser_proc_grammar.y" /* glr.c:816 */
4166 (*(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
)));
4167 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4169 #line 4170 "src/parser_proc.c" /* glr.c:816 */
4173 #line 1422 "src/parser_proc_grammar.y" /* glr.c:816 */
4175 (*(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
)));
4177 #line 4178 "src/parser_proc.c" /* glr.c:816 */
4181 #line 1425 "src/parser_proc_grammar.y" /* glr.c:816 */
4183 (*(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
)));
4185 #line 4186 "src/parser_proc.c" /* glr.c:816 */
4189 #line 1431 "src/parser_proc_grammar.y" /* glr.c:816 */
4191 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4192 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4193 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4195 #line 4196 "src/parser_proc.c" /* glr.c:816 */
4199 #line 1436 "src/parser_proc_grammar.y" /* glr.c:816 */
4201 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4202 (*(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
)));
4203 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4205 #line 4206 "src/parser_proc.c" /* glr.c:816 */
4209 #line 1444 "src/parser_proc_grammar.y" /* glr.c:816 */
4211 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4212 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4214 #line 4215 "src/parser_proc.c" /* glr.c:816 */
4218 #line 1448 "src/parser_proc_grammar.y" /* glr.c:816 */
4220 (*(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
)));
4221 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4223 #line 4224 "src/parser_proc.c" /* glr.c:816 */
4227 #line 1452 "src/parser_proc_grammar.y" /* glr.c:816 */
4229 (*(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
)));
4230 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4232 #line 4233 "src/parser_proc.c" /* glr.c:816 */
4236 #line 1456 "src/parser_proc_grammar.y" /* glr.c:816 */
4238 (*(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
)));
4239 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4241 #line 4242 "src/parser_proc.c" /* glr.c:816 */
4245 #line 1460 "src/parser_proc_grammar.y" /* glr.c:816 */
4247 (*(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
)));
4248 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4250 #line 4251 "src/parser_proc.c" /* glr.c:816 */
4254 #line 1464 "src/parser_proc_grammar.y" /* glr.c:816 */
4256 (*(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
)));
4257 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4259 #line 4260 "src/parser_proc.c" /* glr.c:816 */
4263 #line 1471 "src/parser_proc_grammar.y" /* glr.c:816 */
4265 (*(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
);
4266 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4268 #line 4269 "src/parser_proc.c" /* glr.c:816 */
4272 #line 1475 "src/parser_proc_grammar.y" /* glr.c:816 */
4274 (*(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);
4275 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4277 #line 4278 "src/parser_proc.c" /* glr.c:816 */
4281 #line 1479 "src/parser_proc_grammar.y" /* glr.c:816 */
4283 (*(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);
4284 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4286 #line 4287 "src/parser_proc.c" /* glr.c:816 */
4290 #line 1483 "src/parser_proc_grammar.y" /* glr.c:816 */
4292 (*(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);
4293 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4295 #line 4296 "src/parser_proc.c" /* glr.c:816 */
4299 #line 1487 "src/parser_proc_grammar.y" /* glr.c:816 */
4301 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4302 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4304 #line 4305 "src/parser_proc.c" /* glr.c:816 */
4308 #line 1491 "src/parser_proc_grammar.y" /* glr.c:816 */
4310 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4312 #line 4313 "src/parser_proc.c" /* glr.c:816 */
4316 #line 1497 "src/parser_proc_grammar.y" /* glr.c:816 */
4318 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4319 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4321 #line 4322 "src/parser_proc.c" /* glr.c:816 */
4325 #line 1501 "src/parser_proc_grammar.y" /* glr.c:816 */
4327 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4328 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4330 #line 4331 "src/parser_proc.c" /* glr.c:816 */
4334 #line 1508 "src/parser_proc_grammar.y" /* glr.c:816 */
4336 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4338 #line 4339 "src/parser_proc.c" /* glr.c:816 */
4342 #line 1511 "src/parser_proc_grammar.y" /* glr.c:816 */
4344 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4345 int8_t sizeof_void_p
= sizeof(void *);
4346 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4348 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4351 #line 4352 "src/parser_proc.c" /* glr.c:816 */
4355 #line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */
4357 int8_t sizeof_void_p
= sizeof(void *);
4358 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4360 #line 4361 "src/parser_proc.c" /* glr.c:816 */
4364 #line 1526 "src/parser_proc_grammar.y" /* glr.c:816 */
4366 int8_t sizeof_a
= sizeof('a');
4367 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4369 #line 4370 "src/parser_proc.c" /* glr.c:816 */
4373 #line 1530 "src/parser_proc_grammar.y" /* glr.c:816 */
4375 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4377 #line 4378 "src/parser_proc.c" /* glr.c:816 */
4381 #line 1536 "src/parser_proc_grammar.y" /* glr.c:816 */
4383 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4384 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4388 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4389 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4392 #line 4393 "src/parser_proc.c" /* glr.c:816 */
4396 #line 1549 "src/parser_proc_grammar.y" /* glr.c:816 */
4398 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4399 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4403 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4404 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4407 #line 4408 "src/parser_proc.c" /* glr.c:816 */
4411 #line 1562 "src/parser_proc_grammar.y" /* glr.c:816 */
4413 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4414 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4418 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4419 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4422 #line 4423 "src/parser_proc.c" /* glr.c:816 */
4426 #line 1575 "src/parser_proc_grammar.y" /* glr.c:816 */
4428 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4430 #line 4431 "src/parser_proc.c" /* glr.c:816 */
4434 #line 1578 "src/parser_proc_grammar.y" /* glr.c:816 */
4436 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4437 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4439 #line 4440 "src/parser_proc.c" /* glr.c:816 */
4443 #line 1585 "src/parser_proc_grammar.y" /* glr.c:816 */
4445 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4447 #line 4448 "src/parser_proc.c" /* glr.c:816 */
4451 #line 1588 "src/parser_proc_grammar.y" /* glr.c:816 */
4453 (*(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
));
4455 #line 4456 "src/parser_proc.c" /* glr.c:816 */
4459 #line 1591 "src/parser_proc_grammar.y" /* glr.c:816 */
4461 (*(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
);
4463 #line 4464 "src/parser_proc.c" /* glr.c:816 */
4467 #line 1594 "src/parser_proc_grammar.y" /* glr.c:816 */
4469 (*(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
));
4471 #line 4472 "src/parser_proc.c" /* glr.c:816 */
4475 #line 1600 "src/parser_proc_grammar.y" /* glr.c:816 */
4477 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4478 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4480 #line 4481 "src/parser_proc.c" /* glr.c:816 */
4484 #line 1604 "src/parser_proc_grammar.y" /* glr.c:816 */
4486 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4487 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4489 #line 4490 "src/parser_proc.c" /* glr.c:816 */
4493 #line 1611 "src/parser_proc_grammar.y" /* glr.c:816 */
4495 (*(size_t*)(&(*yyvalp
))) = 0;
4497 #line 4498 "src/parser_proc.c" /* glr.c:816 */
4501 #line 1614 "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 1617 "src/parser_proc_grammar.y" /* glr.c:816 */
4511 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
)) {
4512 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4514 (*(size_t*)(&(*yyvalp
))) = 0;
4517 #line 4518 "src/parser_proc.c" /* glr.c:816 */
4521 #line 1627 "src/parser_proc_grammar.y" /* glr.c:816 */
4523 (*(size_t*)(&(*yyvalp
))) = 0;
4525 #line 4526 "src/parser_proc.c" /* glr.c:816 */
4529 #line 1630 "src/parser_proc_grammar.y" /* glr.c:816 */
4531 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4533 #line 4534 "src/parser_proc.c" /* glr.c:816 */
4537 #line 1637 "src/parser_proc_grammar.y" /* glr.c:816 */
4539 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4541 #line 4542 "src/parser_proc.c" /* glr.c:816 */
4545 #line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */
4547 (*(size_t*)(&(*yyvalp
))) = 1;
4549 #line 4550 "src/parser_proc.c" /* glr.c:816 */
4553 #line 1646 "src/parser_proc_grammar.y" /* glr.c:816 */
4555 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4557 #line 4558 "src/parser_proc.c" /* glr.c:816 */
4561 #line 1663 "src/parser_proc_grammar.y" /* glr.c:816 */
4563 (*(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
)));
4565 #line 4566 "src/parser_proc.c" /* glr.c:816 */
4569 #line 1666 "src/parser_proc_grammar.y" /* glr.c:816 */
4571 (*(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
)));
4572 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4574 #line 4575 "src/parser_proc.c" /* glr.c:816 */
4578 #line 1673 "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 (-4)].yystate
.yysemantics
.yysval
))->text
, NULL
, (*(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 (-4)].yystate
.yysemantics
.yysval
)));
4582 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4584 #line 4585 "src/parser_proc.c" /* glr.c:816 */
4588 #line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */
4590 (*(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
)));
4591 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4592 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4594 #line 4595 "src/parser_proc.c" /* glr.c:816 */
4598 #line 1683 "src/parser_proc_grammar.y" /* glr.c:816 */
4600 (*(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
)));
4601 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4602 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4603 (*(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
);
4604 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4606 #line 4607 "src/parser_proc.c" /* glr.c:816 */
4610 #line 1693 "src/parser_proc_grammar.y" /* glr.c:816 */
4612 (*(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
)));
4614 #line 4615 "src/parser_proc.c" /* glr.c:816 */
4618 #line 1696 "src/parser_proc_grammar.y" /* glr.c:816 */
4620 (*(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
)));
4622 #line 4623 "src/parser_proc.c" /* glr.c:816 */
4626 #line 1702 "src/parser_proc_grammar.y" /* glr.c:816 */
4628 (*(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
);
4630 #line 4631 "src/parser_proc.c" /* glr.c:816 */
4634 #line 1705 "src/parser_proc_grammar.y" /* glr.c:816 */
4636 (*(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
)));
4638 #line 4639 "src/parser_proc.c" /* glr.c:816 */
4642 #line 1711 "src/parser_proc_grammar.y" /* glr.c:816 */
4644 (*(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
)));
4645 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4647 #line 4648 "src/parser_proc.c" /* glr.c:816 */
4651 #line 1718 "src/parser_proc_grammar.y" /* glr.c:816 */
4653 (*(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
);
4654 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4656 #line 4657 "src/parser_proc.c" /* glr.c:816 */
4660 #line 1737 "src/parser_proc_grammar.y" /* glr.c:816 */
4662 (*(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
)));
4664 #line 4665 "src/parser_proc.c" /* glr.c:816 */
4668 #line 1740 "src/parser_proc_grammar.y" /* glr.c:816 */
4670 (*(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
)));
4672 #line 4673 "src/parser_proc.c" /* glr.c:816 */
4676 #line 1746 "src/parser_proc_grammar.y" /* glr.c:816 */
4678 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4680 #line 4681 "src/parser_proc.c" /* glr.c:816 */
4684 #line 1749 "src/parser_proc_grammar.y" /* glr.c:816 */
4686 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4688 #line 4689 "src/parser_proc.c" /* glr.c:816 */
4692 #line 1752 "src/parser_proc_grammar.y" /* glr.c:816 */
4694 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4696 #line 4697 "src/parser_proc.c" /* glr.c:816 */
4700 #line 1755 "src/parser_proc_grammar.y" /* glr.c:816 */
4702 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4704 #line 4705 "src/parser_proc.c" /* glr.c:816 */
4708 #line 1758 "src/parser_proc_grammar.y" /* glr.c:816 */
4710 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4712 #line 4713 "src/parser_proc.c" /* glr.c:816 */
4716 #line 1764 "src/parser_proc_grammar.y" /* glr.c:816 */
4718 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4719 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4721 #line 4722 "src/parser_proc.c" /* glr.c:816 */
4725 #line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */
4727 (*(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
))));
4728 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4729 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4731 #line 4732 "src/parser_proc.c" /* glr.c:816 */
4735 #line 1777 "src/parser_proc_grammar.y" /* glr.c:816 */
4737 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4738 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4740 #line 4741 "src/parser_proc.c" /* glr.c:816 */
4744 #line 1781 "src/parser_proc_grammar.y" /* glr.c:816 */
4746 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4747 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4749 #line 4750 "src/parser_proc.c" /* glr.c:816 */
4753 #line 1788 "src/parser_proc_grammar.y" /* glr.c:816 */
4755 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4757 #line 4758 "src/parser_proc.c" /* glr.c:816 */
4761 #line 1791 "src/parser_proc_grammar.y" /* glr.c:816 */
4763 (*(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
)));
4765 #line 4766 "src/parser_proc.c" /* glr.c:816 */
4769 #line 1794 "src/parser_proc_grammar.y" /* glr.c:816 */
4771 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4773 #line 4774 "src/parser_proc.c" /* glr.c:816 */
4777 #line 1797 "src/parser_proc_grammar.y" /* glr.c:816 */
4779 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4780 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4782 #line 4783 "src/parser_proc.c" /* glr.c:816 */
4786 #line 1801 "src/parser_proc_grammar.y" /* glr.c:816 */
4788 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4790 #line 4791 "src/parser_proc.c" /* glr.c:816 */
4794 #line 1804 "src/parser_proc_grammar.y" /* glr.c:816 */
4796 (*(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
)));
4798 #line 4799 "src/parser_proc.c" /* glr.c:816 */
4802 #line 1810 "src/parser_proc_grammar.y" /* glr.c:816 */
4804 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4805 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4807 #line 4808 "src/parser_proc.c" /* glr.c:816 */
4811 #line 1814 "src/parser_proc_grammar.y" /* glr.c:816 */
4813 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4814 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4815 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4817 #line 4818 "src/parser_proc.c" /* glr.c:816 */
4821 #line 1822 "src/parser_proc_grammar.y" /* glr.c:816 */
4823 (*(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
)));
4824 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4826 #line 4827 "src/parser_proc.c" /* glr.c:816 */
4830 #line 1829 "src/parser_proc_grammar.y" /* glr.c:816 */
4832 (*(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
)));
4833 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4834 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4836 #line 4837 "src/parser_proc.c" /* glr.c:816 */
4840 #line 1837 "src/parser_proc_grammar.y" /* glr.c:816 */
4842 (*(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
)));
4843 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4844 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4846 #line 4847 "src/parser_proc.c" /* glr.c:816 */
4850 #line 1858 "src/parser_proc_grammar.y" /* glr.c:816 */
4852 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4854 #line 4855 "src/parser_proc.c" /* glr.c:816 */
4858 #line 1861 "src/parser_proc_grammar.y" /* glr.c:816 */
4860 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4862 #line 4863 "src/parser_proc.c" /* glr.c:816 */
4866 #line 1867 "src/parser_proc_grammar.y" /* glr.c:816 */
4868 (*(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
)));
4870 #line 4871 "src/parser_proc.c" /* glr.c:816 */
4874 #line 1870 "src/parser_proc_grammar.y" /* glr.c:816 */
4876 (*(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
)));
4878 #line 4879 "src/parser_proc.c" /* glr.c:816 */
4882 #line 1881 "src/parser_proc_grammar.y" /* glr.c:816 */
4884 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4886 #line 4887 "src/parser_proc.c" /* glr.c:816 */
4890 #line 1884 "src/parser_proc_grammar.y" /* glr.c:816 */
4892 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4894 #line 4895 "src/parser_proc.c" /* glr.c:816 */
4898 #line 1890 "src/parser_proc_grammar.y" /* glr.c:816 */
4900 (*(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
)));
4902 #line 4903 "src/parser_proc.c" /* glr.c:816 */
4906 #line 1893 "src/parser_proc_grammar.y" /* glr.c:816 */
4908 (*(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
)));
4910 #line 4911 "src/parser_proc.c" /* glr.c:816 */
4914 #line 1899 "src/parser_proc_grammar.y" /* glr.c:816 */
4916 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4917 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4919 #line 4920 "src/parser_proc.c" /* glr.c:816 */
4923 #line 1906 "src/parser_proc_grammar.y" /* glr.c:816 */
4925 (*(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
))));
4926 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
4928 #line 4929 "src/parser_proc.c" /* glr.c:816 */
4932 #line 1910 "src/parser_proc_grammar.y" /* glr.c:816 */
4934 (*(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
))));
4935 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4937 #line 4938 "src/parser_proc.c" /* glr.c:816 */
4941 #line 1917 "src/parser_proc_grammar.y" /* glr.c:816 */
4943 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4945 #line 4946 "src/parser_proc.c" /* glr.c:816 */
4949 #line 1920 "src/parser_proc_grammar.y" /* glr.c:816 */
4951 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4953 #line 4954 "src/parser_proc.c" /* glr.c:816 */
4957 #line 1923 "src/parser_proc_grammar.y" /* glr.c:816 */
4959 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4961 #line 4962 "src/parser_proc.c" /* glr.c:816 */
4965 #line 1929 "src/parser_proc_grammar.y" /* glr.c:816 */
4967 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4968 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4970 #line 4971 "src/parser_proc.c" /* glr.c:816 */
4974 #line 1936 "src/parser_proc_grammar.y" /* glr.c:816 */
4976 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4978 #line 4979 "src/parser_proc.c" /* glr.c:816 */
4982 #line 1939 "src/parser_proc_grammar.y" /* glr.c:816 */
4984 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4986 #line 4987 "src/parser_proc.c" /* glr.c:816 */
4990 #line 1942 "src/parser_proc_grammar.y" /* glr.c:816 */
4992 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4993 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4995 #line 4996 "src/parser_proc.c" /* glr.c:816 */
4999 #line 1949 "src/parser_proc_grammar.y" /* glr.c:816 */
5001 (*(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
)));
5002 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5003 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5005 #line 5006 "src/parser_proc.c" /* glr.c:816 */
5009 #line 1954 "src/parser_proc_grammar.y" /* glr.c:816 */
5011 (*(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
)));
5012 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5013 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5015 #line 5016 "src/parser_proc.c" /* glr.c:816 */
5019 #line 1973 "src/parser_proc_grammar.y" /* glr.c:816 */
5021 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5023 #line 5024 "src/parser_proc.c" /* glr.c:816 */
5027 #line 1976 "src/parser_proc_grammar.y" /* glr.c:816 */
5029 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5031 #line 5032 "src/parser_proc.c" /* glr.c:816 */
5035 #line 1982 "src/parser_proc_grammar.y" /* glr.c:816 */
5037 (*(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
)));
5039 #line 5040 "src/parser_proc.c" /* glr.c:816 */
5043 #line 1985 "src/parser_proc_grammar.y" /* glr.c:816 */
5045 (*(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
)));
5047 #line 5048 "src/parser_proc.c" /* glr.c:816 */
5051 #line 1991 "src/parser_proc_grammar.y" /* glr.c:816 */
5053 (*(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
)));
5054 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5056 #line 5057 "src/parser_proc.c" /* glr.c:816 */
5060 #line 2003 "src/parser_proc_grammar.y" /* glr.c:816 */
5062 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5063 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5065 #line 5066 "src/parser_proc.c" /* glr.c:816 */
5069 #line 2010 "src/parser_proc_grammar.y" /* glr.c:816 */
5071 (*(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
)));
5073 #line 5074 "src/parser_proc.c" /* glr.c:816 */
5077 #line 2013 "src/parser_proc_grammar.y" /* glr.c:816 */
5079 (*(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
)));
5081 #line 5082 "src/parser_proc.c" /* glr.c:816 */
5085 #line 2019 "src/parser_proc_grammar.y" /* glr.c:816 */
5087 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5088 (*(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
)));
5089 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5091 #line 5092 "src/parser_proc.c" /* glr.c:816 */
5095 #line 2027 "src/parser_proc_grammar.y" /* glr.c:816 */
5097 (*(bool*)(&(*yyvalp
))) = false;
5099 #line 5100 "src/parser_proc.c" /* glr.c:816 */
5103 #line 2030 "src/parser_proc_grammar.y" /* glr.c:816 */
5105 (*(bool*)(&(*yyvalp
))) = true;
5107 #line 5108 "src/parser_proc.c" /* glr.c:816 */
5111 #line 5112 "src/parser_proc.c" /* glr.c:816 */
5122 # undef YYRECOVERING
5127 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5139 /* Bison grammar-table manipulation. */
5141 /*-----------------------------------------------.
5142 | Release the memory associated to this symbol. |
5143 `-----------------------------------------------*/
5146 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5154 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5156 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5159 case 141: /* binary_op_token */
5160 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5162 #line 5163 "src/parser_proc.c" /* glr.c:846 */
5165 case 142: /* unary_op_token */
5166 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5168 #line 5169 "src/parser_proc.c" /* glr.c:846 */
5171 case 143: /* name_token */
5172 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5174 #line 5175 "src/parser_proc.c" /* glr.c:846 */
5177 case 144: /* any_noeol_token */
5178 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5180 #line 5181 "src/parser_proc.c" /* glr.c:846 */
5184 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5185 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5186 #line 5187 "src/parser_proc.c" /* glr.c:846 */
5190 #line 291 "src/parser_proc_grammar.y" /* glr.c:846 */
5191 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5192 #line 5193 "src/parser_proc.c" /* glr.c:846 */
5195 case 151: /* cpp_exp */
5196 #line 291 "src/parser_proc_grammar.y" /* glr.c:846 */
5197 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5198 #line 5199 "src/parser_proc.c" /* glr.c:846 */
5201 case 153: /* cpp_message_token */
5202 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5204 #line 5205 "src/parser_proc.c" /* glr.c:846 */
5207 case 154: /* cpp_include_token */
5208 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5210 #line 5211 "src/parser_proc.c" /* glr.c:846 */
5213 case 155: /* cpp_header_token */
5214 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5216 #line 5217 "src/parser_proc.c" /* glr.c:846 */
5219 case 156: /* cpp_no_arg_token */
5220 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5222 #line 5223 "src/parser_proc.c" /* glr.c:846 */
5225 case 157: /* cpp_name_arg_token */
5226 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5228 #line 5229 "src/parser_proc.c" /* glr.c:846 */
5231 case 158: /* cpp_exp_arg_token */
5232 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5234 #line 5235 "src/parser_proc.c" /* glr.c:846 */
5237 case 159: /* cpp_special_name_token */
5238 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5240 #line 5241 "src/parser_proc.c" /* glr.c:846 */
5243 case 160: /* cpp_macro_decl */
5244 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5245 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5246 #line 5247 "src/parser_proc.c" /* glr.c:846 */
5249 case 161: /* cpp_macro_sig */
5250 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5251 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5252 #line 5253 "src/parser_proc.c" /* glr.c:846 */
5255 case 162: /* cpp_macro_sig_args */
5256 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5257 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5258 #line 5259 "src/parser_proc.c" /* glr.c:846 */
5261 case 163: /* cpp_macro_decl_tokens */
5262 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5263 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5264 #line 5265 "src/parser_proc.c" /* glr.c:846 */
5267 case 164: /* cpp_macro_decl_token_list */
5268 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5269 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5270 #line 5271 "src/parser_proc.c" /* glr.c:846 */
5273 case 165: /* cpp_macro_exp */
5274 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5275 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5276 #line 5277 "src/parser_proc.c" /* glr.c:846 */
5279 case 166: /* cpp_macro_call_args */
5280 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5281 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5282 #line 5283 "src/parser_proc.c" /* glr.c:846 */
5285 case 167: /* cpp_macro_call_arg_list */
5286 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5287 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5288 #line 5289 "src/parser_proc.c" /* glr.c:846 */
5291 case 168: /* constant */
5292 #line 303 "src/parser_proc_grammar.y" /* glr.c:846 */
5293 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5294 #line 5295 "src/parser_proc.c" /* glr.c:846 */
5297 case 169: /* constant_type */
5298 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5299 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5300 #line 5301 "src/parser_proc.c" /* glr.c:846 */
5303 case 170: /* constant_type_token */
5304 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5306 #line 5307 "src/parser_proc.c" /* glr.c:846 */
5309 case 171: /* impl_def_val */
5310 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5311 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5312 #line 5313 "src/parser_proc.c" /* glr.c:846 */
5315 case 172: /* impl_def_val_token */
5316 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5318 #line 5319 "src/parser_proc.c" /* glr.c:846 */
5321 case 173: /* decl_typedef */
5322 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5323 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5324 #line 5325 "src/parser_proc.c" /* glr.c:846 */
5327 case 174: /* typedef */
5328 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5329 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5330 #line 5331 "src/parser_proc.c" /* glr.c:846 */
5333 case 175: /* typedef_anon */
5334 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5335 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5336 #line 5337 "src/parser_proc.c" /* glr.c:846 */
5339 case 176: /* typedef_decl */
5340 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5341 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5342 #line 5343 "src/parser_proc.c" /* glr.c:846 */
5345 case 177: /* typedef_anon_decl */
5346 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5347 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5348 #line 5349 "src/parser_proc.c" /* glr.c:846 */
5351 case 178: /* qualified_decl_type */
5352 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5353 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5354 #line 5355 "src/parser_proc.c" /* glr.c:846 */
5357 case 179: /* decl_type */
5358 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5359 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5360 #line 5361 "src/parser_proc.c" /* glr.c:846 */
5363 case 180: /* decl_type_complex */
5364 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5365 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5366 #line 5367 "src/parser_proc.c" /* glr.c:846 */
5369 case 181: /* decl_type_simple */
5370 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5371 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5372 #line 5373 "src/parser_proc.c" /* glr.c:846 */
5375 case 182: /* decl_real_type */
5376 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5377 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5378 #line 5379 "src/parser_proc.c" /* glr.c:846 */
5381 case 183: /* int_signed */
5382 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5384 #line 5385 "src/parser_proc.c" /* glr.c:846 */
5387 case 184: /* int_width */
5388 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5389 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5390 #line 5391 "src/parser_proc.c" /* glr.c:846 */
5393 case 185: /* decl_int_type */
5394 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5395 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5396 #line 5397 "src/parser_proc.c" /* glr.c:846 */
5399 case 186: /* int_signed_types */
5400 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5401 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5402 #line 5403 "src/parser_proc.c" /* glr.c:846 */
5405 case 187: /* signed_short_types */
5406 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5408 #line 5409 "src/parser_proc.c" /* glr.c:846 */
5411 case 188: /* signed_long_types */
5412 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5414 #line 5415 "src/parser_proc.c" /* glr.c:846 */
5417 case 189: /* int_width_types */
5418 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5419 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5420 #line 5421 "src/parser_proc.c" /* glr.c:846 */
5423 case 190: /* decl_stmt */
5424 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5425 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5426 #line 5427 "src/parser_proc.c" /* glr.c:846 */
5429 case 196: /* decl_vars */
5430 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5431 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5432 #line 5433 "src/parser_proc.c" /* glr.c:846 */
5435 case 201: /* decl */
5436 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5437 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5438 #line 5439 "src/parser_proc.c" /* glr.c:846 */
5441 case 202: /* decl_body */
5442 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5443 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5444 #line 5445 "src/parser_proc.c" /* glr.c:846 */
5447 case 203: /* decl_func_body */
5448 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5449 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5450 #line 5451 "src/parser_proc.c" /* glr.c:846 */
5453 case 204: /* decl_functor_body */
5454 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5455 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5456 #line 5457 "src/parser_proc.c" /* glr.c:846 */
5459 case 205: /* decl_functor */
5460 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5461 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5462 #line 5463 "src/parser_proc.c" /* glr.c:846 */
5465 case 206: /* decl_func */
5466 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5467 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5468 #line 5469 "src/parser_proc.c" /* glr.c:846 */
5471 case 207: /* decl_args */
5472 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5473 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5474 #line 5475 "src/parser_proc.c" /* glr.c:846 */
5477 case 208: /* decl_anon_arg */
5478 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5479 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5480 #line 5481 "src/parser_proc.c" /* glr.c:846 */
5483 case 209: /* decl_arg */
5484 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5485 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5486 #line 5487 "src/parser_proc.c" /* glr.c:846 */
5489 case 210: /* decl_var */
5490 #line 319 "src/parser_proc_grammar.y" /* glr.c:846 */
5491 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5492 #line 5493 "src/parser_proc.c" /* glr.c:846 */
5495 case 211: /* decl_union */
5496 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
5497 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5498 #line 5499 "src/parser_proc.c" /* glr.c:846 */
5501 case 212: /* decl_struct */
5502 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5503 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5504 #line 5505 "src/parser_proc.c" /* glr.c:846 */
5507 case 213: /* decl_struct_args */
5508 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5509 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5510 #line 5511 "src/parser_proc.c" /* glr.c:846 */
5513 case 214: /* struct_args_block */
5514 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5515 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5516 #line 5517 "src/parser_proc.c" /* glr.c:846 */
5519 case 215: /* struct_args */
5520 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5521 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5522 #line 5523 "src/parser_proc.c" /* glr.c:846 */
5525 case 216: /* struct_arg_var_list */
5526 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5527 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5528 #line 5529 "src/parser_proc.c" /* glr.c:846 */
5531 case 217: /* decl_vars_with_layout */
5532 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5533 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5534 #line 5535 "src/parser_proc.c" /* glr.c:846 */
5537 case 218: /* decl_enum */
5538 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5539 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5540 #line 5541 "src/parser_proc.c" /* glr.c:846 */
5543 case 219: /* decl_enum_items */
5544 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5545 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5546 #line 5547 "src/parser_proc.c" /* glr.c:846 */
5549 case 220: /* decl_enum_item */
5550 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5551 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5552 #line 5553 "src/parser_proc.c" /* glr.c:846 */
5555 case 221: /* num_exp */
5556 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
5557 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5558 #line 5559 "src/parser_proc.c" /* glr.c:846 */
5561 case 222: /* number */
5562 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
5563 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5564 #line 5565 "src/parser_proc.c" /* glr.c:846 */
5567 case 223: /* sizeof */
5568 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5569 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5570 #line 5571 "src/parser_proc.c" /* glr.c:846 */
5573 case 224: /* sizeof_body */
5574 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5575 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5576 #line 5577 "src/parser_proc.c" /* glr.c:846 */
5579 case 225: /* sizeof_body_notypes */
5580 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5581 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5582 #line 5583 "src/parser_proc.c" /* glr.c:846 */
5585 case 226: /* enum_name */
5586 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5587 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5588 #line 5589 "src/parser_proc.c" /* glr.c:846 */
5591 case 227: /* union_name */
5592 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5593 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5594 #line 5595 "src/parser_proc.c" /* glr.c:846 */
5597 case 228: /* struct_name */
5598 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5599 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5600 #line 5601 "src/parser_proc.c" /* glr.c:846 */
5603 case 229: /* optional_name */
5604 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5605 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5606 #line 5607 "src/parser_proc.c" /* glr.c:846 */
5609 case 230: /* decl_layout */
5610 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5611 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5612 #line 5613 "src/parser_proc.c" /* glr.c:846 */
5615 case 231: /* align_and_size */
5616 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5618 #line 5619 "src/parser_proc.c" /* glr.c:846 */
5621 case 232: /* array_size */
5622 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5624 #line 5625 "src/parser_proc.c" /* glr.c:846 */
5627 case 233: /* indirection */
5628 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5630 #line 5631 "src/parser_proc.c" /* glr.c:846 */
5633 case 234: /* pointers */
5634 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5636 #line 5637 "src/parser_proc.c" /* glr.c:846 */
5639 case 235: /* asterisks */
5640 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5642 #line 5643 "src/parser_proc.c" /* glr.c:846 */
5645 case 237: /* impl */
5646 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5647 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5648 #line 5649 "src/parser_proc.c" /* glr.c:846 */
5651 case 238: /* impl_func */
5652 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5653 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5654 #line 5655 "src/parser_proc.c" /* glr.c:846 */
5657 case 239: /* impl_args */
5658 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5659 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5660 #line 5661 "src/parser_proc.c" /* glr.c:846 */
5663 case 240: /* impl_arg */
5664 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5665 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5666 #line 5667 "src/parser_proc.c" /* glr.c:846 */
5669 case 241: /* impl_var */
5670 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5671 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5672 #line 5673 "src/parser_proc.c" /* glr.c:846 */
5675 case 242: /* impl_type */
5676 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5677 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5678 #line 5679 "src/parser_proc.c" /* glr.c:846 */
5681 case 243: /* impl_type_token */
5682 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5683 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5684 #line 5685 "src/parser_proc.c" /* glr.c:846 */
5687 case 244: /* impl_stmts */
5688 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5689 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5690 #line 5691 "src/parser_proc.c" /* glr.c:846 */
5693 case 245: /* impl_stmt */
5694 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5695 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5696 #line 5697 "src/parser_proc.c" /* glr.c:846 */
5699 case 246: /* let_stmt */
5700 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5701 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5702 #line 5703 "src/parser_proc.c" /* glr.c:846 */
5705 case 247: /* let_exp */
5706 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5707 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5708 #line 5709 "src/parser_proc.c" /* glr.c:846 */
5711 case 248: /* let_exp_byref */
5712 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5713 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5714 #line 5715 "src/parser_proc.c" /* glr.c:846 */
5717 case 249: /* let_exp_assign */
5718 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5719 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5720 #line 5721 "src/parser_proc.c" /* glr.c:846 */
5723 case 250: /* let_calloc */
5724 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
5725 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5726 #line 5727 "src/parser_proc.c" /* glr.c:846 */
5729 case 251: /* let_callback */
5730 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5731 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5732 #line 5733 "src/parser_proc.c" /* glr.c:846 */
5735 case 252: /* let_func */
5736 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5737 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5738 #line 5739 "src/parser_proc.c" /* glr.c:846 */
5741 case 253: /* let_func_token */
5742 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5743 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5744 #line 5745 "src/parser_proc.c" /* glr.c:846 */
5747 case 254: /* let_func_exps */
5748 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5749 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5750 #line 5751 "src/parser_proc.c" /* glr.c:846 */
5753 case 255: /* let_exps */
5754 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5755 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5756 #line 5757 "src/parser_proc.c" /* glr.c:846 */
5759 case 256: /* callback_rval */
5760 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5761 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5762 #line 5763 "src/parser_proc.c" /* glr.c:846 */
5765 case 257: /* callback_arg_list */
5766 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5767 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5768 #line 5769 "src/parser_proc.c" /* glr.c:846 */
5771 case 258: /* callback_args */
5772 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5773 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5774 #line 5775 "src/parser_proc.c" /* glr.c:846 */
5777 case 259: /* return_stmt */
5778 #line 369 "src/parser_proc_grammar.y" /* glr.c:846 */
5779 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5780 #line 5781 "src/parser_proc.c" /* glr.c:846 */
5783 case 260: /* return_exp */
5784 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5785 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5786 #line 5787 "src/parser_proc.c" /* glr.c:846 */
5789 case 261: /* call_decl_vars */
5790 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5791 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5792 #line 5793 "src/parser_proc.c" /* glr.c:846 */
5795 case 262: /* set_stmt */
5796 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5797 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5798 #line 5799 "src/parser_proc.c" /* glr.c:846 */
5801 case 263: /* set_exp */
5802 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5803 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5804 #line 5805 "src/parser_proc.c" /* glr.c:846 */
5807 case 264: /* set_func */
5808 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5809 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5810 #line 5811 "src/parser_proc.c" /* glr.c:846 */
5813 case 265: /* set_func_token */
5814 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5815 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5816 #line 5817 "src/parser_proc.c" /* glr.c:846 */
5819 case 266: /* set_func_exps */
5820 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5821 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5822 #line 5823 "src/parser_proc.c" /* glr.c:846 */
5825 case 267: /* set_exps */
5826 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5827 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5828 #line 5829 "src/parser_proc.c" /* glr.c:846 */
5831 case 268: /* assert_stmt */
5832 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5833 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5834 #line 5835 "src/parser_proc.c" /* glr.c:846 */
5837 case 269: /* assert_stmt_token */
5838 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5839 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5840 #line 5841 "src/parser_proc.c" /* glr.c:846 */
5843 case 270: /* free_stmt */
5844 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5845 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5846 #line 5847 "src/parser_proc.c" /* glr.c:846 */
5849 case 271: /* free_exps */
5850 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5851 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5852 #line 5853 "src/parser_proc.c" /* glr.c:846 */
5855 case 272: /* free_exp */
5856 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5857 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5858 #line 5859 "src/parser_proc.c" /* glr.c:846 */
5861 case 273: /* reference */
5862 #line 392 "src/parser_proc_grammar.y" /* glr.c:846 */
5864 #line 5865 "src/parser_proc.c" /* glr.c:846 */
5871 YY_IGNORE_MAYBE_UNINITIALIZED_END
5874 /** Number of symbols composing the right hand side of rule #RULE. */
5876 yyrhsLength (yyRuleNum yyrule
)
5878 return yyr2
[yyrule
];
5882 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5884 if (yys
->yyresolved
)
5885 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5886 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5892 if (yys
->yysemantics
.yyfirstVal
)
5893 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5895 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5896 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5900 if (yys
->yysemantics
.yyfirstVal
)
5902 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5905 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5907 yyrh
= yyrh
->yypred
, yyn
-= 1)
5908 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5913 /** Left-hand-side symbol for rule #YYRULE. */
5914 static inline yySymbol
5915 yylhsNonterm (yyRuleNum yyrule
)
5917 return yyr1
[yyrule
];
5920 #define yypact_value_is_default(Yystate) \
5921 (!!((Yystate) == (-693)))
5923 /** True iff LR state YYSTATE has only a default reduction (regardless
5925 static inline yybool
5926 yyisDefaultedState (yyStateNum yystate
)
5928 return yypact_value_is_default (yypact
[yystate
]);
5931 /** The default reduction for YYSTATE, assuming it has one. */
5932 static inline yyRuleNum
5933 yydefaultAction (yyStateNum yystate
)
5935 return yydefact
[yystate
];
5938 #define yytable_value_is_error(Yytable_value) \
5941 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5943 * R < 0: Reduce on rule -R.
5945 * R > 0: Shift to state R.
5946 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5947 * of conflicting reductions.
5950 yygetLRActions (yyStateNum yystate
, int yytoken
,
5951 int* yyaction
, const short int** yyconflicts
)
5953 int yyindex
= yypact
[yystate
] + yytoken
;
5954 if (yypact_value_is_default (yypact
[yystate
])
5955 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5957 *yyaction
= -yydefact
[yystate
];
5958 *yyconflicts
= yyconfl
;
5960 else if (! yytable_value_is_error (yytable
[yyindex
]))
5962 *yyaction
= yytable
[yyindex
];
5963 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5968 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5972 /** Compute post-reduction state.
5973 * \param yystate the current state
5974 * \param yysym the nonterminal to push on the stack
5976 static inline yyStateNum
5977 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5979 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5980 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5981 return yytable
[yyr
];
5983 return yydefgoto
[yysym
- YYNTOKENS
];
5986 static inline yybool
5987 yyisShiftAction (int yyaction
)
5989 return 0 < yyaction
;
5992 static inline yybool
5993 yyisErrorAction (int yyaction
)
5995 return yyaction
== 0;
6000 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
6001 * if YYISSTATE, and otherwise a semantic option. Callers should call
6002 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6005 static inline yyGLRStackItem
*
6006 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6008 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6009 yystackp
->yyspaceLeft
-= 1;
6010 yystackp
->yynextFree
+= 1;
6011 yynewItem
->yystate
.yyisState
= yyisState
;
6015 /** Add a new semantic action that will execute the action for rule
6016 * YYRULE on the semantic values in YYRHS to the list of
6017 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6018 * stack #YYK of *YYSTACKP. */
6020 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6021 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6023 yySemanticOption
* yynewOption
=
6024 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6025 YYASSERT (!yynewOption
->yyisState
);
6026 yynewOption
->yystate
= yyrhs
;
6027 yynewOption
->yyrule
= yyrule
;
6028 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6030 yynewOption
->yyrawchar
= yychar
;
6031 yynewOption
->yyval
= yylval
;
6034 yynewOption
->yyrawchar
= YYEMPTY
;
6035 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6036 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6038 YY_RESERVE_GLRSTACK (yystackp
);
6043 /** Initialize YYSET to a singleton set containing an empty stack. */
6045 yyinitStateSet (yyGLRStateSet
* yyset
)
6048 yyset
->yycapacity
= 16;
6049 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6050 if (! yyset
->yystates
)
6052 yyset
->yystates
[0] = YY_NULLPTR
;
6053 yyset
->yylookaheadNeeds
=
6054 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6055 if (! yyset
->yylookaheadNeeds
)
6057 YYFREE (yyset
->yystates
);
6063 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6065 YYFREE (yyset
->yystates
);
6066 YYFREE (yyset
->yylookaheadNeeds
);
6069 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6070 * capacity for all stacks of YYSIZE. */
6072 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6074 yystackp
->yyerrState
= 0;
6076 yystackp
->yyspaceLeft
= yysize
;
6078 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6079 if (!yystackp
->yyitems
)
6081 yystackp
->yynextFree
= yystackp
->yyitems
;
6082 yystackp
->yysplitPoint
= YY_NULLPTR
;
6083 yystackp
->yylastDeleted
= YY_NULLPTR
;
6084 return yyinitStateSet (&yystackp
->yytops
);
6088 #if YYSTACKEXPANDABLE
6089 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6090 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6092 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6093 stack from outside should be considered invalid after this call.
6094 We always expand when there are 1 or fewer items left AFTER an
6095 allocation, so that we can avoid having external pointers exist
6096 across an allocation. */
6098 yyexpandGLRStack (yyGLRStack
* yystackp
)
6100 yyGLRStackItem
* yynewItems
;
6101 yyGLRStackItem
* yyp0
, *yyp1
;
6104 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6105 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6106 yyMemoryExhausted (yystackp
);
6107 yynewSize
= 2*yysize
;
6108 if (YYMAXDEPTH
< yynewSize
)
6109 yynewSize
= YYMAXDEPTH
;
6110 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6112 yyMemoryExhausted (yystackp
);
6113 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6115 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6118 if (*(yybool
*) yyp0
)
6120 yyGLRState
* yys0
= &yyp0
->yystate
;
6121 yyGLRState
* yys1
= &yyp1
->yystate
;
6122 if (yys0
->yypred
!= YY_NULLPTR
)
6124 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6125 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6126 yys1
->yysemantics
.yyfirstVal
=
6127 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6131 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6132 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6133 if (yyv0
->yystate
!= YY_NULLPTR
)
6134 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6135 if (yyv0
->yynext
!= YY_NULLPTR
)
6136 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6139 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6140 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6141 yystackp
->yysplitPoint
, yystate
);
6143 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6144 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6145 yystackp
->yytops
.yystates
[yyn
] =
6146 YYRELOC (yystackp
->yyitems
, yynewItems
,
6147 yystackp
->yytops
.yystates
[yyn
], yystate
);
6148 YYFREE (yystackp
->yyitems
);
6149 yystackp
->yyitems
= yynewItems
;
6150 yystackp
->yynextFree
= yynewItems
+ yysize
;
6151 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6156 yyfreeGLRStack (yyGLRStack
* yystackp
)
6158 YYFREE (yystackp
->yyitems
);
6159 yyfreeStateSet (&yystackp
->yytops
);
6162 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6163 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6166 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6168 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6169 yystackp
->yysplitPoint
= yys
;
6172 /** Invalidate stack #YYK in *YYSTACKP. */
6174 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6176 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6177 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6178 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6181 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6182 only be done once after a deletion, and only when all other stacks have
6185 yyundeleteLastStack (yyGLRStack
* yystackp
)
6187 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6189 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6190 yystackp
->yytops
.yysize
= 1;
6191 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6192 yystackp
->yylastDeleted
= YY_NULLPTR
;
6196 yyremoveDeletes (yyGLRStack
* yystackp
)
6200 while (yyj
< yystackp
->yytops
.yysize
)
6202 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6206 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6208 yystackp
->yytops
.yysize
-= 1;
6212 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6213 /* In the current implementation, it's unnecessary to copy
6214 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6215 yyremoveDeletes returns, the parser immediately either enters
6216 deterministic operation or shifts a token. However, it doesn't
6217 hurt, and the code might evolve to need it. */
6218 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6219 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6222 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6223 (unsigned long int) yyi
, (unsigned long int) yyj
));
6231 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6232 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6233 * value *YYVALP and source location *YYLOCP. */
6235 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6239 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6241 yynewState
->yylrState
= yylrState
;
6242 yynewState
->yyposn
= yyposn
;
6243 yynewState
->yyresolved
= yytrue
;
6244 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6245 yynewState
->yysemantics
.yysval
= *yyvalp
;
6246 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6248 YY_RESERVE_GLRSTACK (yystackp
);
6251 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6252 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6253 * semantic value of YYRHS under the action for YYRULE. */
6255 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6256 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6258 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6259 YYASSERT (yynewState
->yyisState
);
6261 yynewState
->yylrState
= yylrState
;
6262 yynewState
->yyposn
= yyposn
;
6263 yynewState
->yyresolved
= yyfalse
;
6264 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6265 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6266 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6268 /* Invokes YY_RESERVE_GLRSTACK. */
6269 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6273 # define YY_REDUCE_PRINT(Args)
6275 # define YY_REDUCE_PRINT(Args) \
6278 yy_reduce_print Args; \
6281 /*----------------------------------------------------------------------.
6282 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6283 `----------------------------------------------------------------------*/
6286 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6287 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6289 int yynrhs
= yyrhsLength (yyrule
);
6291 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6292 (unsigned long int) yyk
, yyrule
- 1,
6293 (unsigned long int) yyrline
[yyrule
]);
6295 yyfillin (yyvsp
, 1, -yynrhs
);
6296 /* The symbols being reduced. */
6297 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6299 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6300 yy_symbol_print (stderr
,
6301 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6302 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6303 , P
, tokens
, index
);
6304 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6305 YYFPRINTF (stderr
, " (unresolved)");
6306 YYFPRINTF (stderr
, "\n");
6311 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6312 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6313 * semantic values. Assumes that all ambiguities in semantic values
6314 * have been previously resolved. Set *YYVALP to the resulting value,
6315 * and *YYLOCP to the computed location (if any). Return value is as
6316 * for userAction. */
6317 static inline YYRESULTTAG
6318 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6319 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6321 int yynrhs
= yyrhsLength (yyrule
);
6323 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6325 /* Standard special case: single stack. */
6326 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6327 YYASSERT (yyk
== 0);
6328 yystackp
->yynextFree
-= yynrhs
;
6329 yystackp
->yyspaceLeft
+= yynrhs
;
6330 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6331 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6332 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6333 yyvalp
, P
, tokens
, index
);
6339 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6340 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6341 = yystackp
->yytops
.yystates
[yyk
];
6342 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6347 yyupdateSplit (yystackp
, yys
);
6348 yystackp
->yytops
.yystates
[yyk
] = yys
;
6349 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6350 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6351 yystackp
, yyvalp
, P
, tokens
, index
);
6355 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6356 * and push back on the resulting nonterminal symbol. Perform the
6357 * semantic action associated with YYRULE and store its value with the
6358 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6359 * unambiguous. Otherwise, store the deferred semantic action with
6360 * the new state. If the new state would have an identical input
6361 * position, LR state, and predecessor to an existing state on the stack,
6362 * it is identified with that existing state, eliminating stack #YYK from
6363 * *YYSTACKP. In this case, the semantic value is
6364 * added to the options for the existing state's semantic value.
6366 static inline YYRESULTTAG
6367 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6368 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6370 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6372 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6376 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6377 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6379 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6380 (unsigned long int) yyk
, yyrule
- 1));
6384 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6385 yyglrShift (yystackp
, yyk
,
6386 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6387 yylhsNonterm (yyrule
)),
6394 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6395 yyStateNum yynewLRState
;
6397 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6403 yyupdateSplit (yystackp
, yys
);
6404 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6406 "Reduced stack %lu by rule #%d; action deferred. "
6407 "Now in state %d.\n",
6408 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6409 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6410 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6412 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6413 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6414 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6416 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6418 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6419 yymarkStackDeleted (yystackp
, yyk
);
6420 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6421 (unsigned long int) yyk
,
6422 (unsigned long int) yyi
));
6428 yystackp
->yytops
.yystates
[yyk
] = yys
;
6429 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6435 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6437 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6439 YYASSERT (yyk
== 0);
6440 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6442 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6444 yyGLRState
** yynewStates
;
6445 yybool
* yynewLookaheadNeeds
;
6447 yynewStates
= YY_NULLPTR
;
6449 if (yystackp
->yytops
.yycapacity
6450 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6451 yyMemoryExhausted (yystackp
);
6452 yystackp
->yytops
.yycapacity
*= 2;
6455 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6456 (yystackp
->yytops
.yycapacity
6457 * sizeof yynewStates
[0]));
6458 if (yynewStates
== YY_NULLPTR
)
6459 yyMemoryExhausted (yystackp
);
6460 yystackp
->yytops
.yystates
= yynewStates
;
6462 yynewLookaheadNeeds
=
6463 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6464 (yystackp
->yytops
.yycapacity
6465 * sizeof yynewLookaheadNeeds
[0]));
6466 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6467 yyMemoryExhausted (yystackp
);
6468 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6470 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6471 = yystackp
->yytops
.yystates
[yyk
];
6472 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6473 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6474 yystackp
->yytops
.yysize
+= 1;
6475 return yystackp
->yytops
.yysize
-1;
6478 /** True iff YYY0 and YYY1 represent identical options at the top level.
6479 * That is, they represent the same rule applied to RHS symbols
6480 * that produce the same terminal symbols. */
6482 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6484 if (yyy0
->yyrule
== yyy1
->yyrule
)
6486 yyGLRState
*yys0
, *yys1
;
6488 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6489 yyn
= yyrhsLength (yyy0
->yyrule
);
6491 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6492 if (yys0
->yyposn
!= yys1
->yyposn
)
6500 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6501 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6503 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6505 yyGLRState
*yys0
, *yys1
;
6507 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6508 yyn
= yyrhsLength (yyy0
->yyrule
);
6510 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6514 else if (yys0
->yyresolved
)
6516 yys1
->yyresolved
= yytrue
;
6517 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6519 else if (yys1
->yyresolved
)
6521 yys0
->yyresolved
= yytrue
;
6522 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6526 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6527 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6530 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6532 else if (*yyz0p
== YY_NULLPTR
)
6537 else if (*yyz0p
< yyz1
)
6539 yySemanticOption
* yyz
= *yyz0p
;
6541 yyz1
= yyz1
->yynext
;
6542 (*yyz0p
)->yynext
= yyz
;
6544 yyz0p
= &(*yyz0p
)->yynext
;
6546 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6551 /** Y0 and Y1 represent two possible actions to take in a given
6552 * parsing state; return 0 if no combination is possible,
6553 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6555 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6557 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6558 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6562 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6567 if (p0
== 0 || p1
== 0)
6576 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6577 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6580 /** Resolve the previous YYN states starting at and including state YYS
6581 * on *YYSTACKP. If result != yyok, some states may have been left
6582 * unresolved possibly with empty semantic option chains. Regardless
6583 * of whether result = yyok, each state has been left with consistent
6584 * data so that yydestroyGLRState can be invoked if necessary. */
6586 yyresolveStates (yyGLRState
* yys
, int yyn
,
6587 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6591 YYASSERT (yys
->yypred
);
6592 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6593 if (! yys
->yyresolved
)
6594 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6599 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6600 * user action, and return the semantic value and location in *YYVALP
6601 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6602 * have been destroyed (assuming the user action destroys all RHS
6603 * semantic values if invoked). */
6605 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6606 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6608 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6609 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6610 YYRESULTTAG yyflag
=
6611 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6615 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6616 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6620 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6622 int yychar_current
= yychar
;
6623 YYSTYPE yylval_current
= yylval
;
6624 yychar
= yyopt
->yyrawchar
;
6625 yylval
= yyopt
->yyval
;
6626 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6627 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6628 yystackp
, yyvalp
, P
, tokens
, index
);
6629 yychar
= yychar_current
;
6630 yylval
= yylval_current
;
6637 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6639 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6642 yyGLRState
* yystates
[1 + YYMAXRHS
];
6643 yyGLRState yyleftmost_state
;
6645 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6646 yystates
[yyi
] = yys
;
6647 if (yys
== YY_NULLPTR
)
6649 yyleftmost_state
.yyposn
= 0;
6650 yystates
[0] = &yyleftmost_state
;
6655 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6656 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6657 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6660 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6661 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6662 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6663 (unsigned long int) yyx
->yystate
->yyposn
);
6664 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6666 if (yystates
[yyi
]->yyresolved
)
6668 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6669 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6670 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6672 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6673 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6674 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6675 (unsigned long int) yystates
[yyi
]->yyposn
);
6678 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6684 yyreportAmbiguity (yySemanticOption
* yyx0
,
6685 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6691 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6692 YYFPRINTF (stderr
, "Option 1,\n");
6693 yyreportTree (yyx0
, 2);
6694 YYFPRINTF (stderr
, "\nOption 2,\n");
6695 yyreportTree (yyx1
, 2);
6696 YYFPRINTF (stderr
, "\n");
6699 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6703 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6704 * perform the indicated actions, and set the semantic value of YYS.
6705 * If result != yyok, the chain of semantic options in YYS has been
6706 * cleared instead or it has been left unmodified except that
6707 * redundant options may have been removed. Regardless of whether
6708 * result = yyok, YYS has been left with consistent data so that
6709 * yydestroyGLRState can be invoked if necessary. */
6711 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6713 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6714 yySemanticOption
* yybest
= yyoptionList
;
6715 yySemanticOption
** yypp
;
6716 yybool yymerge
= yyfalse
;
6720 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6722 yySemanticOption
* yyp
= *yypp
;
6724 if (yyidenticalOptions (yybest
, yyp
))
6726 yymergeOptionSets (yybest
, yyp
);
6727 *yypp
= yyp
->yynext
;
6731 switch (yypreference (yybest
, yyp
))
6734 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6746 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6747 but some compilers complain if the default case is
6751 yypp
= &yyp
->yynext
;
6757 yySemanticOption
* yyp
;
6758 int yyprec
= yydprec
[yybest
->yyrule
];
6759 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6761 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6763 if (yyprec
== yydprec
[yyp
->yyrule
])
6765 YYSTYPE yysval_other
;
6766 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6769 yydestruct ("Cleanup: discarding incompletely merged value for",
6770 yystos
[yys
->yylrState
],
6771 &yysval
, P
, tokens
, index
);
6774 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6779 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6783 yys
->yyresolved
= yytrue
;
6784 yys
->yysemantics
.yysval
= yysval
;
6787 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6792 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6794 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6799 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6800 yys
!= yystackp
->yysplitPoint
;
6801 yys
= yys
->yypred
, yyn
+= 1)
6803 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6804 , P
, tokens
, index
));
6810 yycompressStack (yyGLRStack
* yystackp
)
6812 yyGLRState
* yyp
, *yyq
, *yyr
;
6814 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6817 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6818 yyp
!= yystackp
->yysplitPoint
;
6819 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6822 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6823 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6824 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6825 yystackp
->yysplitPoint
= YY_NULLPTR
;
6826 yystackp
->yylastDeleted
= YY_NULLPTR
;
6828 while (yyr
!= YY_NULLPTR
)
6830 yystackp
->yynextFree
->yystate
= *yyr
;
6832 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6833 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6834 yystackp
->yynextFree
+= 1;
6835 yystackp
->yyspaceLeft
-= 1;
6840 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6841 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6843 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6845 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6846 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6847 (unsigned long int) yyk
, yystate
));
6849 YYASSERT (yystate
!= YYFINAL
);
6851 if (yyisDefaultedState (yystate
))
6854 yyRuleNum yyrule
= yydefaultAction (yystate
);
6857 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6858 (unsigned long int) yyk
));
6859 yymarkStackDeleted (yystackp
, yyk
);
6862 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6863 if (yyflag
== yyerr
)
6867 "(predicate failure or explicit user error).\n",
6868 (unsigned long int) yyk
));
6869 yymarkStackDeleted (yystackp
, yyk
);
6879 const short int* yyconflicts
;
6881 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6882 if (yychar
== YYEMPTY
)
6884 YYDPRINTF ((stderr
, "Reading a token: "));
6885 yychar
= yylex (&yylval
, P
, tokens
, index
);
6888 if (yychar
<= YYEOF
)
6890 yychar
= yytoken
= YYEOF
;
6891 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6895 yytoken
= YYTRANSLATE (yychar
);
6896 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6899 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6901 while (*yyconflicts
!= 0)
6904 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6905 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6906 (unsigned long int) yynewStack
,
6907 (unsigned long int) yyk
));
6908 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6910 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6912 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6913 yyposn
, P
, tokens
, index
));
6914 else if (yyflag
== yyerr
)
6916 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6917 (unsigned long int) yynewStack
));
6918 yymarkStackDeleted (yystackp
, yynewStack
);
6925 if (yyisShiftAction (yyaction
))
6927 else if (yyisErrorAction (yyaction
))
6929 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6930 (unsigned long int) yyk
));
6931 yymarkStackDeleted (yystackp
, yyk
);
6936 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6937 yyimmediate
[-yyaction
], P
, tokens
, index
);
6938 if (yyflag
== yyerr
)
6942 "(predicate failure or explicit user error).\n",
6943 (unsigned long int) yyk
));
6944 yymarkStackDeleted (yystackp
, yyk
);
6947 else if (yyflag
!= yyok
)
6956 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6958 if (yystackp
->yyerrState
!= 0)
6960 #if ! YYERROR_VERBOSE
6961 yyerror (P
, tokens
, index
, YY_("syntax error"));
6964 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6965 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6966 size_t yysize
= yysize0
;
6967 yybool yysize_overflow
= yyfalse
;
6968 char* yymsg
= YY_NULLPTR
;
6969 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6970 /* Internationalized format string. */
6971 const char *yyformat
= YY_NULLPTR
;
6972 /* Arguments of yyformat. */
6973 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6974 /* Number of reported tokens (one for the "unexpected", one per
6978 /* There are many possibilities here to consider:
6979 - If this state is a consistent state with a default action, then
6980 the only way this function was invoked is if the default action
6981 is an error action. In that case, don't check for expected
6982 tokens because there are none.
6983 - The only way there can be no lookahead present (in yychar) is if
6984 this state is a consistent state with a default action. Thus,
6985 detecting the absence of a lookahead is sufficient to determine
6986 that there is no unexpected or expected token to report. In that
6987 case, just report a simple "syntax error".
6988 - Don't assume there isn't a lookahead just because this state is a
6989 consistent state with a default action. There might have been a
6990 previous inconsistent state, consistent state with a non-default
6991 action, or user semantic action that manipulated yychar.
6992 - Of course, the expected token list depends on states to have
6993 correct lookahead information, and it depends on the parser not
6994 to perform extra reductions after fetching a lookahead from the
6995 scanner and before detecting a syntax error. Thus, state merging
6996 (from LALR or IELR) and default reductions corrupt the expected
6997 token list. However, the list is correct for canonical LR with
6998 one exception: it will still contain any token that will not be
6999 accepted due to an error action in a later state.
7001 if (yytoken
!= YYEMPTY
)
7003 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7004 yyarg
[yycount
++] = yytokenName (yytoken
);
7005 if (!yypact_value_is_default (yyn
))
7007 /* Start YYX at -YYN if negative to avoid negative indexes in
7008 YYCHECK. In other words, skip the first -YYN actions for this
7009 state because they are default actions. */
7010 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7011 /* Stay within bounds of both yycheck and yytname. */
7012 int yychecklim
= YYLAST
- yyn
+ 1;
7013 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7015 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7016 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7017 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7019 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7025 yyarg
[yycount
++] = yytokenName (yyx
);
7027 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7028 yysize_overflow
|= yysz
< yysize
;
7037 #define YYCASE_(N, S) \
7041 YYCASE_(0, YY_("syntax error"));
7042 YYCASE_(1, YY_("syntax error, unexpected %s"));
7043 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7044 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7045 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7046 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7051 size_t yysz
= yysize
+ strlen (yyformat
);
7052 yysize_overflow
|= yysz
< yysize
;
7056 if (!yysize_overflow
)
7057 yymsg
= (char *) YYMALLOC (yysize
);
7063 while ((*yyp
= *yyformat
))
7065 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7067 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7076 yyerror (P
, tokens
, index
, yymsg
);
7081 yyerror (P
, tokens
, index
, YY_("syntax error"));
7082 yyMemoryExhausted (yystackp
);
7085 #endif /* YYERROR_VERBOSE */
7089 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7090 yylval, and yylloc are the syntactic category, semantic value, and location
7091 of the lookahead. */
7093 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7098 if (yystackp
->yyerrState
== 3)
7099 /* We just shifted the error token and (perhaps) took some
7100 reductions. Skip tokens until we can proceed. */
7104 if (yychar
== YYEOF
)
7105 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7106 if (yychar
!= YYEMPTY
)
7108 yytoken
= YYTRANSLATE (yychar
);
7109 yydestruct ("Error: discarding",
7110 yytoken
, &yylval
, P
, tokens
, index
);
7112 YYDPRINTF ((stderr
, "Reading a token: "));
7113 yychar
= yylex (&yylval
, P
, tokens
, index
);
7114 if (yychar
<= YYEOF
)
7116 yychar
= yytoken
= YYEOF
;
7117 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7121 yytoken
= YYTRANSLATE (yychar
);
7122 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7124 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7125 if (yypact_value_is_default (yyj
))
7128 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7130 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7133 else if (! yytable_value_is_error (yytable
[yyj
]))
7137 /* Reduce to one stack. */
7138 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7139 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7141 if (yyk
>= yystackp
->yytops
.yysize
)
7142 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7143 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7144 yymarkStackDeleted (yystackp
, yyk
);
7145 yyremoveDeletes (yystackp
);
7146 yycompressStack (yystackp
);
7148 /* Now pop stack until we find a state that shifts the error token. */
7149 yystackp
->yyerrState
= 3;
7150 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7152 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7153 yyj
= yypact
[yys
->yylrState
];
7154 if (! yypact_value_is_default (yyj
))
7157 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7158 && yyisShiftAction (yytable
[yyj
]))
7160 /* Shift the error token. */
7161 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7162 &yylval
, &yyerrloc
);
7163 yyglrShift (yystackp
, 0, yytable
[yyj
],
7164 yys
->yyposn
, &yylval
);
7165 yys
= yystackp
->yytops
.yystates
[0];
7169 if (yys
->yypred
!= YY_NULLPTR
)
7170 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7171 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7172 yystackp
->yynextFree
-= 1;
7173 yystackp
->yyspaceLeft
+= 1;
7175 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7176 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7179 #define YYCHK1(YYE) \
7189 goto yyuser_error; \
7200 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7204 yyGLRStack
* const yystackp
= &yystack
;
7207 YYDPRINTF ((stderr
, "Starting parse\n"));
7210 yylval
= yyval_default
;
7212 /* User initialization code. */
7213 #line 111 "src/parser_proc_grammar.y" /* glr.c:2270 */
7217 #line 7218 "src/parser_proc.c" /* glr.c:2270 */
7219 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7220 goto yyexhaustedlab
;
7221 switch (YYSETJMP (yystack
.yyexception_buffer
))
7224 case 1: goto yyabortlab
;
7225 case 2: goto yyexhaustedlab
;
7226 default: goto yybuglab
;
7228 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7233 /* For efficiency, we have two loops, the first of which is
7234 specialized to deterministic operation (single stack, no
7235 potential ambiguity). */
7241 const short int* yyconflicts
;
7243 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7244 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7245 if (yystate
== YYFINAL
)
7247 if (yyisDefaultedState (yystate
))
7249 yyrule
= yydefaultAction (yystate
);
7253 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7256 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7261 if (yychar
== YYEMPTY
)
7263 YYDPRINTF ((stderr
, "Reading a token: "));
7264 yychar
= yylex (&yylval
, P
, tokens
, index
);
7267 if (yychar
<= YYEOF
)
7269 yychar
= yytoken
= YYEOF
;
7270 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7274 yytoken
= YYTRANSLATE (yychar
);
7275 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7278 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7279 if (*yyconflicts
!= 0)
7281 if (yyisShiftAction (yyaction
))
7283 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7286 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7287 if (0 < yystack
.yyerrState
)
7288 yystack
.yyerrState
-= 1;
7290 else if (yyisErrorAction (yyaction
))
7293 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7297 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7303 yySymbol yytoken_to_shift
;
7306 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7307 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7309 /* yyprocessOneStack returns one of three things:
7311 - An error flag. If the caller is yyprocessOneStack, it
7312 immediately returns as well. When the caller is finally
7313 yyparse, it jumps to an error label via YYCHK1.
7315 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7316 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7317 yyparse's following invocation of yyremoveDeletes will remove
7320 - yyok, when ready to shift a token.
7322 Except in the first case, yyparse will invoke yyremoveDeletes and
7323 then shift the next token onto all remaining stacks. This
7324 synchronization of the shift (that is, after all preceding
7325 reductions on all stacks) helps prevent double destructor calls
7326 on yylval in the event of memory exhaustion. */
7328 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7329 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7330 yyremoveDeletes (&yystack
);
7331 if (yystack
.yytops
.yysize
== 0)
7333 yyundeleteLastStack (&yystack
);
7334 if (yystack
.yytops
.yysize
== 0)
7335 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7336 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7337 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7339 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7343 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7344 a copy of yylval will already be on stack 0 in the event of a
7345 failure in the following loop. Thus, yychar is set to YYEMPTY
7346 before the loop to make sure the user destructor for yylval isn't
7348 yytoken_to_shift
= YYTRANSLATE (yychar
);
7351 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7354 const short int* yyconflicts
;
7355 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7356 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7358 /* Note that yyconflicts were handled by yyprocessOneStack. */
7359 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7360 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7361 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7363 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7364 (unsigned long int) yys
,
7365 yystack
.yytops
.yystates
[yys
]->yylrState
));
7368 if (yystack
.yytops
.yysize
== 1)
7370 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7371 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7372 yycompressStack (&yystack
);
7378 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7379 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7395 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7400 if (yychar
!= YYEMPTY
)
7401 yydestruct ("Cleanup: discarding lookahead",
7402 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7404 /* If the stack is well-formed, pop the stack until it is empty,
7405 destroying its entries as we go. But free the stack regardless
7406 of whether it is well-formed. */
7407 if (yystack
.yyitems
)
7409 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7412 size_t yysize
= yystack
.yytops
.yysize
;
7414 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7417 while (yystates
[yyk
])
7419 yyGLRState
*yys
= yystates
[yyk
];
7420 if (yys
->yypred
!= YY_NULLPTR
)
7421 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7422 yystates
[yyk
] = yys
->yypred
;
7423 yystack
.yynextFree
-= 1;
7424 yystack
.yyspaceLeft
+= 1;
7429 yyfreeGLRStack (&yystack
);
7435 /* DEBUGGING ONLY */
7438 yy_yypstack (yyGLRState
* yys
)
7442 yy_yypstack (yys
->yypred
);
7443 YYFPRINTF (stderr
, " -> ");
7445 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7446 (unsigned long int) yys
->yyposn
);
7450 yypstates (yyGLRState
* yyst
)
7452 if (yyst
== YY_NULLPTR
)
7453 YYFPRINTF (stderr
, "<null>");
7456 YYFPRINTF (stderr
, "\n");
7460 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7462 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7465 #define YYINDEX(YYX) \
7466 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7470 yypdumpstack (yyGLRStack
* yystackp
)
7472 yyGLRStackItem
* yyp
;
7474 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7476 YYFPRINTF (stderr
, "%3lu. ",
7477 (unsigned long int) (yyp
- yystackp
->yyitems
));
7478 if (*(yybool
*) yyp
)
7480 YYASSERT (yyp
->yystate
.yyisState
);
7481 YYASSERT (yyp
->yyoption
.yyisState
);
7482 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7483 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7484 (unsigned long int) yyp
->yystate
.yyposn
,
7485 (long int) YYINDEX (yyp
->yystate
.yypred
));
7486 if (! yyp
->yystate
.yyresolved
)
7487 YYFPRINTF (stderr
, ", firstVal: %ld",
7488 (long int) YYINDEX (yyp
->yystate
7489 .yysemantics
.yyfirstVal
));
7493 YYASSERT (!yyp
->yystate
.yyisState
);
7494 YYASSERT (!yyp
->yyoption
.yyisState
);
7495 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7496 yyp
->yyoption
.yyrule
- 1,
7497 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7498 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7500 YYFPRINTF (stderr
, "\n");
7502 YYFPRINTF (stderr
, "Tops:");
7503 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7504 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7505 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7506 YYFPRINTF (stderr
, "\n");
7514 /* Substitute the variable and function names. */
7515 #define yyparse psi_parser_proc_parse
7516 #define yylex psi_parser_proc_lex
7517 #define yyerror psi_parser_proc_error
7518 #define yylval psi_parser_proc_lval
7519 #define yychar psi_parser_proc_char
7520 #define yydebug psi_parser_proc_debug
7521 #define yynerrs psi_parser_proc_nerrs
7523 #line 2039 "src/parser_proc_grammar.y" /* glr.c:2584 */
7528 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7530 struct psi_token
*token
;
7532 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7533 if (P
->flags
& PSI_DEBUG
) {
7534 psi_token_dump(2, token
);
7537 *((struct psi_token
**)lvalp
) = token
;
7541 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7547 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7549 struct psi_token
*T
= NULL
;
7558 psi_plist_get(tokens
, last
, &T
);
7560 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7562 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);