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 889
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, 1244, 1247, 1254, 1257, 1263, 1272, 1284, 1292, 1295,
398 1305, 1318, 1323, 1331, 1341, 1351, 1354, 1358, 1364, 1378,
399 1395, 1398, 1404, 1411, 1421, 1428, 1431, 1437, 1442, 1450,
400 1454, 1458, 1462, 1466, 1470, 1477, 1481, 1485, 1489, 1493,
401 1497, 1503, 1507, 1514, 1517, 1528, 1532, 1536, 1542, 1555,
402 1568, 1581, 1584, 1591, 1592, 1596, 1599, 1602, 1605, 1611,
403 1615, 1622, 1625, 1628, 1631, 1641, 1644, 1650, 1651, 1657,
404 1660, 1666, 1667, 1677, 1680, 1687, 1692, 1697, 1707, 1710,
405 1716, 1719, 1725, 1732, 1739, 1740, 1741, 1742, 1743, 1744,
406 1745, 1746, 1747, 1751, 1754, 1760, 1763, 1766, 1769, 1772,
407 1778, 1782, 1790, 1791, 1795, 1802, 1805, 1808, 1811, 1815,
408 1818, 1824, 1828, 1836, 1843, 1851, 1859, 1860, 1861, 1862,
409 1863, 1864, 1865, 1866, 1867, 1868, 1872, 1875, 1881, 1884,
410 1890, 1891, 1895, 1898, 1904, 1907, 1913, 1920, 1924, 1931,
411 1934, 1937, 1943, 1950, 1953, 1956, 1963, 1968, 1976, 1977,
412 1978, 1979, 1980, 1981, 1982, 1983, 1987, 1990, 1996, 1999,
413 2005, 2012, 2013, 2017, 2024, 2027, 2033, 2041, 2044, 2050
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_arg_list", "decl_anon_arg", "decl_arg", "decl_var",
462 "decl_union", "decl_struct", "decl_struct_args", "struct_args_block",
463 "struct_args", "struct_arg_var_list", "decl_vars_with_layout",
464 "decl_enum", "decl_enum_items", "decl_enum_item", "num_exp", "number",
465 "sizeof", "sizeof_body", "sizeof_body_notypes", "enum_name",
466 "union_name", "struct_name", "optional_name", "optional_comma",
467 "decl_layout", "align_and_size", "array_size", "indirection", "pointers",
468 "asterisks", "asterisk", "impl", "impl_func", "impl_args", "impl_arg",
469 "impl_var", "impl_type", "impl_type_token", "impl_stmts", "impl_stmt",
470 "let_stmt", "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
471 "let_callback", "let_func", "let_func_token", "let_func_exps",
472 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
473 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
474 "set_func", "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 -704
481 #define YYTABLE_NINF -628
483 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
485 static const short int yypact
[] =
487 555, -704, -704, -704, -704, -704, 172, -704, -704, 2525,
488 734, 545, -704, -704, 718, 294, 3380, 3380, 3380, 1654,
489 32, 253, 49, -704, 1542, 1688, 100, 555, -704, -704,
490 -704, -704, -704, 2751, -704, -704, -704, -704, 65, 154,
491 -704, -704, -704, 91, -704, -59, -704, -704, 145, 99,
492 133, -704, -704, -704, -704, 134, -704, 159, -704, -704,
493 -704, -704, -704, 835, -704, 142, 110, -704, -704, -704,
494 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
495 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
496 -704, -704, -704, -704, -704, -704, -704, 2864, -3, -704,
497 -704, -704, -704, 3380, 3380, 3380, 2366, -704, 20, -704,
498 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
499 -704, -704, 1386, -704, -704, -704, -704, 175, 961, 961,
500 22, -704, 1386, 2412, 2525, 3380, 3380, 1914, 194, -704,
501 -704, -704, 195, 3380, 182, 182, 88, 88, 198, -704,
502 -704, 208, 215, -704, 142, 216, -704, -704, 218, 1688,
503 211, 214, -704, 229, -704, 2027, 460, -59, 211, -704,
504 -704, 217, -704, 222, 3380, -704, 259, -704, 66, -704,
505 -704, -704, 206, -704, -704, 234, 236, 2140, 2140, 3380,
506 193, 3380, -704, -704, 142, -704, -704, -704, -704, -704,
507 -704, 2751, -704, -704, -704, -704, -704, -704, -704, 150,
508 961, -704, -704, -704, -704, -704, -704, -704, -704, -704,
509 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
510 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
511 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
512 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
513 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
514 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
515 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
516 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
517 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
518 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
519 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
520 -704, -704, -704, 961, -704, -704, -704, -704, -704, -704,
521 -704, -704, 76, 2412, -704, -704, -704, -704, 2977, 2412,
522 239, 3534, -704, 241, 111, -704, 118, -704, -704, -704,
523 -704, 238, 240, 240, 68, 68, 3090, 250, -704, 211,
524 1213, -704, 193, 242, 263, 264, -704, 1327, -704, 142,
525 217, -704, -704, -704, 290, -704, -704, 271, -704, 56,
526 2671, 2751, 155, 272, -704, -704, 173, 267, 274, -704,
527 2751, 2073, 2751, 3380, 2751, -704, -704, 18, -704, -704,
528 -704, -704, -704, 2299, -704, 276, 3380, 278, -704, 3380,
529 282, -704, -704, -704, -704, 2558, 288, -704, 2855, 3380,
530 -704, -704, 2412, -704, -704, -704, -704, -704, -704, -704,
531 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
532 -704, 2412, 2412, -704, 285, 696, 2751, 2751, -704, -704,
533 -704, -704, 142, -704, 1621, -704, -704, -704, -704, -704,
534 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
535 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
536 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
537 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
538 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
539 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
540 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
541 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
542 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
543 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
544 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
545 -704, -704, -704, -704, 1087, -704, 185, 524, -704, -704,
546 -704, -704, -704, -704, 1508, -704, 280, 2299, -704, 3510,
547 -704, -704, 3380, -704, -704, -704, 59, 2864, 142, 222,
548 217, 256, 2332, 217, 257, 2299, 3380, 287, 286, 291,
549 3558, 289, 296, -704, 293, 304, 303, 299, 141, -704,
550 314, 316, -704, -704, -704, 2733, -704, 315, 2751, 3149,
551 142, 318, -704, -704, -704, 320, 3534, 321, 323, 3461,
552 -704, 335, 1914, 326, -704, -704, 2638, 72, 3380, 182,
553 182, -704, -704, 3380, 109, -704, -704, -704, 331, -704,
554 3558, -704, -704, -704, -704, -704, -704, -704, -704, -704,
555 -704, -704, -704, 328, 180, -704, 49, -704, 332, 545,
556 333, 2968, -704, -704, -704, 2299, 2299, 337, -704, -704,
557 3090, -704, 339, 56, -704, -704, 340, 3558, -704, -704,
558 1734, -704, 2073, -704, 2751, -704, 49, 2751, -704, 3380,
559 3262, -704, -704, -704, -704, -704, -704, 341, 334, -704,
560 -704, -704, -704, 2412, 2412, 343, -704, 38, 348, -704,
561 326, 240, 240, 350, -704, 577, 349, 577, 346, 2299,
562 -704, 3486, -704, -704, 217, 217, 170, 279, 357, 358,
563 3558, -704, -704, -704, -704, 360, 2186, -704, 359, 2751,
564 186, -704, 361, 278, 362, 961, 3321, 3534, 3582, 374,
565 365, 370, 2751, 373, 348, 2751, 2751, -704, -704, 577,
566 -704, 49, 1621, -704, 2299, -704, -704, 358, -704, 3262,
567 2299, 49, -704, 1847, 372, 377, -704, 313, -704, -704,
568 -704, 378, 381, 392, 326, 384, -704, 388, -704, 27,
569 -704, 3606, 394, 3243, 387, 395, -704, 397, -704, -704,
570 131, -704, 398, 401, -704, 2751, -704, 405, 342, 2299,
571 1734, 404, -704, 2073, -704, -704, 406, 415, 417, 326,
572 410, 396, 3081, 286, -704, -704, -704, 413, 2186, -704,
573 -704, 418, 416, -704, 420, -704, -704, -704, 419, -704,
574 1734, -704, 431, -704, 577, 49, -704, 424, -704, 427,
575 -704, 1960, 439, 426, -704, 440, 2073, -704, -704
578 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
579 Performed when YYTABLE does not specify something else to do. Zero
580 means the default is an error. */
581 static const unsigned short int yydefact
[] =
583 277, 405, 402, 406, 400, 401, 403, 397, 398, 0,
584 396, 0, 282, 281, 0, 0, 0, 0, 511, 0,
585 0, 0, 627, 283, 0, 0, 0, 278, 279, 285,
586 284, 286, 290, 525, 388, 390, 389, 395, 409, 421,
587 394, 287, 289, 0, 288, 426, 444, 446, 447, 0,
588 0, 456, 292, 291, 293, 0, 294, 0, 404, 399,
589 33, 34, 615, 576, 24, 525, 531, 39, 38, 37,
590 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
591 584, 583, 581, 579, 580, 582, 578, 577, 585, 30,
592 613, 611, 610, 612, 609, 608, 457, 0, 527, 529,
593 41, 42, 396, 0, 0, 0, 0, 445, 432, 387,
594 296, 307, 304, 306, 308, 309, 320, 317, 318, 315,
595 321, 316, 0, 319, 310, 311, 312, 0, 337, 337,
596 0, 300, 0, 0, 0, 511, 511, 0, 0, 372,
597 377, 467, 376, 0, 519, 519, 391, 392, 393, 508,
598 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
599 0, 0, 629, 0, 628, 396, 0, 426, 0, 1,
600 280, 521, 468, 0, 526, 411, 415, 413, 417, 410,
601 407, 422, 409, 408, 430, 0, 0, 458, 458, 0,
602 0, 0, 526, 532, 525, 470, 528, 530, 391, 392,
603 393, 0, 431, 323, 324, 325, 327, 328, 326, 322,
604 337, 302, 297, 68, 43, 44, 45, 46, 47, 48,
605 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
606 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
607 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
608 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
609 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
610 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
611 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
612 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
613 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
614 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
615 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
616 157, 339, 305, 338, 298, 313, 314, 299, 322, 301,
617 347, 348, 0, 0, 22, 23, 20, 21, 0, 0,
618 350, 303, 349, 457, 391, 510, 392, 509, 373, 369,
619 378, 0, 0, 0, 0, 0, 0, 0, 295, 0,
620 0, 436, 0, 0, 0, 0, 437, 0, 472, 525,
621 521, 416, 412, 418, 419, 414, 423, 0, 424, 459,
622 0, 525, 0, 460, 461, 463, 0, 487, 513, 485,
623 0, 627, 0, 0, 0, 621, 622, 0, 553, 556,
624 555, 557, 558, 0, 559, 0, 0, 433, 434, 0,
625 0, 330, 340, 507, 506, 0, 0, 502, 0, 0,
626 345, 342, 352, 2, 3, 4, 5, 6, 7, 8,
627 9, 10, 11, 13, 12, 14, 15, 16, 17, 18,
628 19, 0, 0, 370, 0, 0, 0, 0, 475, 474,
629 476, 473, 525, 469, 362, 438, 186, 161, 162, 163,
630 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
631 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
632 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
633 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
634 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
635 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
636 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
637 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
638 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
639 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
640 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
641 271, 273, 442, 443, 0, 440, 0, 0, 371, 425,
642 498, 496, 495, 497, 0, 522, 0, 0, 499, 0,
643 489, 500, 0, 471, 420, 428, 0, 466, 0, 464,
644 521, 0, 0, 521, 0, 0, 514, 0, 0, 0,
645 604, 0, 0, 603, 42, 0, 0, 0, 0, 624,
646 0, 0, 598, 533, 554, 0, 455, 0, 0, 331,
647 525, 0, 503, 505, 341, 0, 354, 0, 353, 0,
648 343, 0, 0, 515, 381, 374, 382, 0, 383, 519,
649 519, 380, 379, 0, 498, 366, 367, 368, 0, 364,
650 363, 439, 441, 534, 546, 547, 548, 549, 545, 550,
651 551, 552, 544, 0, 0, 538, 627, 543, 24, 0,
652 0, 0, 523, 493, 524, 0, 0, 0, 429, 427,
653 465, 450, 0, 0, 462, 448, 0, 488, 486, 484,
654 0, 560, 627, 602, 0, 542, 627, 0, 623, 0,
655 599, 596, 620, 454, 435, 332, 335, 0, 333, 504,
656 501, 346, 351, 0, 0, 0, 375, 0, 480, 477,
657 515, 0, 0, 0, 356, 0, 0, 0, 540, 0,
658 491, 0, 492, 452, 521, 521, 498, 0, 31, 30,
659 566, 571, 567, 569, 570, 41, 0, 605, 616, 0,
660 0, 625, 615, 601, 0, 337, 0, 355, 344, 0,
661 516, 0, 0, 0, 480, 385, 384, 453, 535, 0,
662 539, 627, 362, 490, 0, 451, 449, 0, 568, 599,
663 0, 627, 572, 627, 0, 0, 626, 0, 329, 334,
664 336, 0, 0, 0, 515, 481, 478, 0, 536, 0,
665 541, 494, 0, 0, 586, 0, 618, 617, 606, 561,
666 0, 520, 0, 0, 482, 0, 479, 0, 0, 0,
667 0, 0, 607, 627, 614, 597, 0, 0, 0, 515,
668 0, 0, 0, 499, 588, 564, 562, 587, 0, 575,
669 619, 0, 0, 483, 0, 590, 576, 591, 0, 573,
670 0, 563, 0, 517, 0, 627, 589, 0, 537, 0,
671 518, 592, 0, 593, 594, 0, 627, 574, 595
674 /* YYPGOTO[NTERM-NUM]. */
675 static const short int yypgoto
[] =
677 -704, -294, -119, -7, 146, -704, -704, -704, 447, -704,
678 -704, -704, -704, -704, -704, -704, -704, -704, -704, 353,
679 -704, -704, -704, -126, -704, -300, -704, -704, -704, -704,
680 -704, -317, -704, -704, 312, -177, 26, -171, -162, 1,
681 -704, -704, -704, 448, -704, -704, 306, -704, -704, -704,
682 -704, 319, -704, -704, -704, -704, -194, -704, -136, -704,
683 -93, 468, 43, 7, 35, -704, -704, 317, -704, -106,
684 -2, -33, -704, -704, 143, -335, -704, -277, -704, 6,
685 -704, -107, -346, -704, -117, -704, 85, -704, -434, -417,
686 101, -704, -675, -128, -357, -61, -4, -704, 422, -704,
687 490, -704, -234, -646, -703, -704, 144, -377, -704, -355,
688 -660, 117, -239, -704, -704, -671, -704, -704, -704, -704,
689 -704, -704, -704, -278, -704, -665, -389, -367, -704, -704,
690 -704, -704, -704, -704, -197, -21, -674
693 /* YYDEFGOTO[NTERM-NUM]. */
694 static const short int yydefgoto
[] =
696 -1, 696, 597, 171, 331, 582, 26, 27, 28, 29,
697 30, 127, 128, 129, 130, 337, 131, 132, 133, 210,
698 211, 727, 728, 332, 333, 351, 647, 648, 31, 155,
699 156, 668, 669, 32, 138, 653, 654, 655, 33, 34,
700 35, 36, 37, 38, 39, 40, 180, 382, 385, 183,
701 41, 186, 606, 42, 43, 202, 773, 44, 583, 584,
702 585, 45, 46, 47, 141, 49, 50, 392, 393, 394,
703 51, 598, 52, 53, 459, 460, 657, 783, 815, 143,
704 398, 399, 620, 600, 601, 641, 427, 55, 144, 145,
705 149, 617, 738, 362, 378, 173, 419, 98, 99, 56,
706 57, 684, 685, 621, 686, 687, 407, 408, 409, 854,
707 855, 856, 762, 763, 764, 100, 841, 857, 868, 882,
708 883, 410, 631, 774, 411, 622, 623, 101, 804, 827,
709 412, 413, 414, 628, 629, 625, 164
712 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
713 positive, shift that token. If negative, reduce the rule whose
714 number is the opposite. If YYTABLE_NINF, syntax error. */
715 static const short int yytable
[] =
717 172, 163, 96, 334, 191, 97, 54, 417, 108, 146,
718 147, 148, 109, 142, 349, 632, 352, 363, 364, 365,
719 157, 659, 140, 603, 371, 391, 391, 456, 457, 174,
720 634, 599, 376, 54, 624, 48, 766, 624, 660, 765,
721 748, 139, 788, 428, 791, 48, 66, 767, 335, 431,
722 761, 715, -456, 107, 201, 633, 48, 452, 158, 48,
723 48, 192, 48, 780, 160, 784, 185, 635, 168, 175,
724 176, 177, 383, 781, 178, 384, 1, 2, 3, 4,
725 5, 6, 7, 8, 421, 698, 818, 179, 65, 9,
726 195, 837, 699, 162, 102, 765, 198, 199, 200, 458,
727 169, 11, 423, 424, 455, 66, 802, 157, 425, 739,
728 400, 401, 402, 403, 404, 209, 405, 406, 670, -519,
729 426, 196, 184, 361, -519, 338, 350, 353, 354, 356,
730 97, 187, 646, 416, 452, 142, 360, 452, 826, 834,
731 -365, 336, -365, -365, 140, 748, -391, -512, 62, 844,
732 366, 649, 650, -392, -512, 824, 135, 136, 18, 106,
733 181, 4, 5, 358, 142, 188, 858, 380, 418, 765,
734 189, 878, 718, 140, 863, 719, -447, -467, 860, -467,
735 867, 58, 397, 59, 415, 395, 395, 765, 610, 611,
736 192, 66, 139, 652, 48, 190, 858, 193, 871, 765,
737 48, -498, 369, -498, -498, 212, 613, 614, 107, 634,
738 175, 176, 177, 746, 747, 178, 884, 361, 659, 806,
739 638, 888, 673, 659, 349, 359, 352, -456, 179, 879,
740 349, -359, 352, 465, -512, 660, 355, 357, -360, 367,
741 660, 90, 91, 92, 93, 94, 95, 370, 691, 368,
742 372, 693, 373, 701, 379, 377, 705, 1, 2, 3,
743 4, 5, 6, 7, 8, 381, 387, 388, 420, 707,
744 9, 432, 453, 454, 587, 102, 455, 400, 401, 402,
745 403, 404, 11, 405, 406, 400, 401, 402, 403, 404,
746 464, 405, 406, 656, 588, 589, 604, 605, 1, 2,
747 3, 4, 5, 6, 7, 8, 612, 615, 616, 636,
748 643, 134, 638, 349, 639, 352, 102, 651, 602, 692,
749 702, 706, 711, 11, 709, 714, 710, 713, 715, 712,
750 609, 717, 349, 349, 352, 352, 350, 103, 104, 105,
751 106, 430, 350, 716, 22, 624, 720, 721, 723, 751,
752 752, 730, 452, 731, 732, 452, 452, 733, 172, 463,
753 735, 737, 744, 745, 760, -24, 749, 618, 776, 626,
754 753, 630, 754, 755, 775, 192, 159, 779, 135, 136,
755 18, 106, 782, 787, 789, 607, 792, 174, 797, 799,
756 800, 157, 801, 803, -600, 807, 627, 795, 796, 811,
757 812, 663, 813, 793, 816, 828, 785, 786, 829, 637,
758 830, 831, 380, 865, 866, 137, 832, 833, 835, 836,
759 760, 840, 645, 661, 662, 350, 640, 838, 842, 850,
760 847, 843, 690, 777, 778, 848, 624, 859, 714, 851,
761 861, 845, 862, 864, 350, 350, 670, 870, 821, 873,
762 391, 875, 872, 142, 823, 874, 877, 880, 192, 881,
763 886, 658, 140, 846, 1, 2, 3, 4, 5, 6,
764 7, 8, 885, 887, 170, 820, 624, 9, 374, 422,
765 740, 736, 102, 452, 452, 339, 375, 182, 386, 11,
766 656, 672, 167, 852, 760, 656, 80, 81, 82, 83,
767 84, 85, 86, 87, 88, 396, 704, 817, 461, 708,
768 642, 161, 760, 790, 624, 876, 586, 619, 798, 624,
769 197, 822, 771, 770, 760, 0, 0, 674, 0, 0,
770 675, 741, 742, 0, 676, 0, 677, 678, 679, 680,
771 681, 682, 0, 0, 135, 136, 18, 106, 0, 1,
772 2, 3, 4, 5, 6, 7, 8, 683, 0, 1,
773 2, 3, 4, 5, 6, 7, 8, 102, 0, 0,
774 0, 0, 9, 0, 0, 0, 0, 10, 0, 729,
775 674, 137, 0, 675, 11, 12, 13, 676, 0, 677,
776 678, 679, 680, 681, 682, 697, 14, 0, 0, 0,
777 195, 0, 0, 0, 700, 724, 0, 0, 0, 397,
778 395, 0, 0, 0, 349, 349, 352, 352, 0, 0,
779 0, 0, 0, 172, 0, 0, 0, 0, 0, 103,
780 104, 105, 726, 0, 0, 0, 192, 0, 15, 16,
781 17, 18, 19, 20, 21, 0, 22, 0, 0, 808,
782 142, 360, 174, 0, 0, 142, 743, 0, 658, 140,
783 0, 0, 0, 658, 140, 0, 0, 0, 0, 0,
784 0, 23, 0, 0, 0, 0, 24, 0, 25, 0,
785 0, 768, 0, 0, 418, 0, 0, 418, 0, 0,
786 157, 0, 0, 463, 0, 769, 0, 0, 0, 607,
787 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
788 0, 0, 627, 9, 0, 0, 0, 0, 102, 0,
789 0, 0, 0, 0, 0, 11, 350, 350, 0, 0,
790 0, 0, 0, 0, 0, 0, 805, 0, 1, 2,
791 3, 4, 5, 6, 7, 8, 0, 0, 110, 814,
792 0, 9, 661, 662, 0, 0, 102, 0, 0, 0,
793 0, 0, 0, 11, 0, 0, 418, 0, 0, 810,
794 819, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 135, 136, 18, 106, 111, 112, 113, 114, 115, 116,
796 117, 118, 119, 120, 121, 122, 0, 123, 124, 125,
797 126, 0, 849, 0, 0, 0, 0, 853, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 652, 103, 104,
799 105, 106, 0, 0, 0, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, -576, 0, 853, -576, -576,
801 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
802 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
803 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
804 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
805 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
806 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
807 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
808 -576, -576, -576, -576, -576, 0, -576, 0, -576, -576,
809 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
810 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
811 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
812 -576, -576, 0, -576, -576, 0, -576, -576, -576, -576,
813 -576, 213, 0, 0, 214, 215, 216, 217, 218, 219,
814 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
815 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
816 240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
817 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
818 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
819 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
820 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
821 289, 0, 290, 0, 291, 292, 293, 294, 295, 296,
822 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
823 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
824 317, 318, 319, 320, 321, 322, 323, 324, 0, 0,
825 325, 0, 326, 327, 328, 329, 330, 466, 0, 0,
826 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
827 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
828 487, 488, 489, 490, 491, 492, 493, 0, 494, 495,
829 496, 497, 498, 370, 671, 499, 500, 501, 502, 503,
830 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
831 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
832 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
833 534, 535, 536, 537, 538, 539, 540, 0, 541, 0,
834 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
835 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
836 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
837 572, 573, 574, 575, 0, 0, 576, 0, 577, 578,
838 579, 580, 581, 466, 0, 0, 467, 468, 469, 470,
839 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
840 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
841 491, 492, 493, 0, 494, 495, 496, 497, 498, 370,
842 0, 499, 500, 501, 502, 503, 504, 505, 506, 507,
843 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
844 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
845 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
846 538, 539, 540, 0, 541, 0, 542, 543, 544, 545,
847 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
848 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
849 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
850 60, 0, 576, 0, 577, 578, 579, 580, 581, 61,
851 0, 0, 0, 0, 62, 63, 590, 0, 0, 64,
852 591, 0, 592, 0, 593, 342, 0, 0, 0, 594,
853 0, 0, 0, 0, 0, 0, 595, 0, 0, 0,
854 0, 0, 0, 0, 344, 345, 66, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 346, 347, 60,
856 0, 0, 0, 67, 68, 69, 70, 71, 61, 0,
857 0, 0, 0, 62, 63, 203, 204, 205, 64, 0,
858 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
859 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
860 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
861 93, 94, 95, 0, 0, 0, 0, 0, 0, 0,
862 0, 596, 67, 68, 69, 70, 71, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
865 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
866 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
867 94, 95, 0, 0, 0, 0, 0, 206, 0, 207,
868 208, 60, 1, 2, 3, 4, 5, 6, 7, 8,
869 61, 0, 0, 0, 0, 62, 63, 590, 0, 0,
870 688, 591, 0, 592, 0, 593, 342, 11, 0, 0,
871 594, 0, 0, 0, 0, 0, 1, 2, 3, 4,
872 5, 6, 7, 8, 0, 344, 345, 66, 0, 9,
873 0, 0, 0, 0, 165, 0, 0, 0, 346, 347,
874 0, 11, 0, 0, 67, 68, 69, 70, 71, 0,
875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 103, 104, 105, 689, 72, 0, 73, 74,
877 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
878 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
879 92, 93, 94, 95, 60, 166, 103, 104, 105, 106,
880 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
881 664, 665, 666, 64, 591, 0, 592, 667, 593, 342,
882 0, 0, 0, 594, 0, 0, 0, 150, 1, 2,
883 151, 4, 5, 6, 152, 8, 153, 0, 344, 345,
884 66, 154, 0, 0, 0, 0, 102, 0, 0, 0,
885 0, 346, 347, 0, 0, 0, 0, 67, 68, 69,
886 70, 71, 1, 2, 3, 4, 5, 6, 7, 8,
887 0, 0, 0, 0, 0, 9, 0, 0, 0, 72,
888 102, 73, 74, 75, 76, 77, 78, 11, 79, 0,
889 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
890 89, 90, 91, 92, 93, 94, 95, 60, 103, 104,
891 105, 0, 0, 0, 0, 0, 61, 0, 0, 0,
892 0, 62, 63, 756, 0, 0, 64, 591, 0, 592,
893 0, 593, 342, 0, 0, 0, 594, 0, 0, 0,
894 0, 0, 103, 104, 105, 106, 0, 0, 162, 0,
895 0, 344, 345, 66, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 346, 347, 0, 0, 0, 0,
897 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
899 0, 0, 72, 757, 758, 74, 75, 76, 77, 78,
900 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
901 86, 87, 88, 759, 90, 91, 92, 93, 94, 95,
902 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
903 0, 0, 0, 0, 62, 63, 590, 0, 0, 64,
904 591, 0, 592, 0, 593, 342, 0, 0, 0, 594,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 162, 0, 0, 344, 345, 66, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 346, 347, 0,
908 0, 825, 0, 67, 68, 69, 70, 71, 1, 2,
909 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
910 0, 9, 0, 0, 0, 72, 102, 73, 74, 75,
911 76, 77, 78, 11, 79, 0, 0, 80, 81, 82,
912 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
913 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
914 0, 0, 61, 0, 0, 0, 0, 62, 63, 590,
915 0, 0, 64, 591, -627, 592, 0, 593, 342, 0,
916 0, 0, 594, 0, 0, 0, 0, 0, 135, 136,
917 18, 106, 0, 0, 162, 0, 0, 344, 345, 66,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 346, 347, 0, 0, 0, 0, 67, 68, 69, 70,
920 71, 1, 2, 3, 4, 5, 6, 7, 8, 0,
921 0, 0, 0, 0, 9, 0, 0, 0, 72, 102,
922 73, 74, 75, 76, 77, 78, 11, 79, 0, 0,
923 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
924 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
925 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
926 62, 63, 590, 0, 0, 64, 591, 0, 592, 0,
927 593, 342, 0, 0, 0, 594, 0, 0, 0, 0,
928 0, 103, 104, 105, 106, 0, 0, 162, 0, 0,
929 344, 345, 66, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 346, 347, 0, 0, 0, 0, 67,
931 68, 69, 70, 71, 1, 2, 3, 4, 5, 6,
932 7, 8, 0, 0, 0, 0, 0, 389, 0, 0,
933 0, 72, 102, 73, 74, 75, 76, 77, 78, 11,
934 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
935 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
936 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
937 0, 0, 0, 62, 63, 756, 0, 0, 64, 591,
938 0, 592, 0, 593, 342, 0, 0, 0, 594, 0,
939 0, 0, 0, 0, 103, 104, 105, 390, 0, 0,
940 0, 0, 0, 344, 345, 66, 0, 0, 0, 0,
941 0, 0, 0, 0, 0, 0, 346, 347, 0, 0,
942 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 72, 757, 758, 74, 75, 76,
945 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
946 84, 85, 86, 87, 88, 759, 90, 91, 92, 93,
947 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
948 0, 61, 0, 0, 0, 0, 62, 63, 590, 0,
949 0, 64, 591, 0, 592, 0, 593, 342, 0, 0,
950 0, 594, 0, 0, 0, 0, 1, 2, 3, 4,
951 5, 6, 7, 8, 0, 0, 344, 345, 66, 703,
952 0, 0, 0, 0, 102, 0, 0, 0, 0, 346,
953 347, 11, 0, 0, 0, 67, 68, 69, 70, 71,
954 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
955 0, 0, 0, 154, 0, 0, 0, 72, 102, 73,
956 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
957 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
958 91, 92, 93, 94, 95, 60, 103, 104, 105, 390,
959 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
960 63, 0, 0, 0, 64, 0, 0, 340, 0, 341,
961 342, 0, 0, 0, 343, 0, 0, 0, 0, 0,
962 103, 104, 105, 0, 0, 0, 0, 0, 0, 344,
963 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
964 0, 0, 346, 347, 0, 0, 0, 0, 67, 68,
965 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
966 348, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
968 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
969 88, 89, 90, 91, 92, 93, 94, 95, 60, 0,
970 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
971 0, 0, 62, 63, 0, 0, 0, 64, 0, 0,
972 0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
973 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
974 0, 0, 0, 0, 66, 0, 0, 0, 0, 0,
975 102, 0, 0, 0, 423, 424, 0, 0, 0, 0,
976 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
977 0, 0, 426, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
979 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
980 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
981 95, 60, 103, 104, 105, 0, 0, 0, 0, 0,
982 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
983 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
984 -525, 0, 0, 0, 0, 1, 2, 3, 4, 5,
985 6, 7, 8, 0, 0, 0, 0, 66, 608, 0,
986 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 67, 68, 69, 70, 71, 0,
988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
990 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
991 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
992 92, 93, 94, 95, 60, 103, 104, 105, 0, 0,
993 0, 0, 0, 61, 722, 0, 0, 0, 62, 63,
994 0, 0, 0, 64, 0, 433, 434, 435, 436, 437,
995 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
996 448, 449, 450, 0, 0, 0, 0, 0, 695, 0,
997 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, 67, 68, 69,
999 70, 71, 0, 0, 0, 0, 0, 0, 0, 0,
1000 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
1001 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1002 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1003 89, 90, 91, 92, 93, 94, 95, 60, 0, 0,
1004 0, 0, 0, 0, 0, 0, 61, 0, 0, 0,
1005 0, 62, 63, 0, 0, 0, 64, 0, 644, 0,
1006 0, 0, 0, 0, 0, 0, 194, 433, 434, 435,
1007 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1008 446, 447, 448, 449, 450, 0, 0, 0, 0, 0,
1009 451, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1013 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1014 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1015 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
1016 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
1017 0, 750, 0, 0, 0, 0, 0, 0, 0, 429,
1018 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1019 443, 444, 445, 446, 447, 448, 449, 450, 0, 0,
1020 0, 0, 0, 695, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 67, 68, 69, 70, 71, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
1024 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
1025 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1026 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
1027 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
1028 0, 0, 64, 0, 869, 0, 0, 0, 0, 0,
1029 0, 0, 462, 433, 434, 435, 436, 437, 438, 439,
1030 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1031 450, 0, 0, 0, 0, 0, 695, 0, 0, 0,
1032 0, 0, 60, 0, 0, 0, 67, 68, 69, 70,
1033 71, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1034 0, 64, 0, 0, 0, 0, 0, 0, 72, 0,
1035 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1036 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1037 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
1038 0, 0, 0, 725, 0, 67, 68, 69, 70, 71,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1041 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
1042 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1043 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
1044 0, 0, 0, 0, 61, 0, 0, 839, 0, 772,
1045 63, 0, 0, 0, 64, 433, 434, 435, 436, 437,
1046 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1047 448, 449, 450, 0, 0, 0, 0, 0, 695, 0,
1048 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 60, 0, 0, 0, 67, 68,
1050 69, 70, 71, 61, 0, 0, 0, 0, 62, 63,
1051 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
1052 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1053 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1054 88, 89, 90, 91, 92, 93, 94, 95, 0, 0,
1055 0, 0, 0, 60, 0, 809, 0, 67, 68, 69,
1056 70, 71, 61, 0, 0, 0, 0, 62, 63, 0,
1057 0, 0, 64, 0, 0, 0, 0, 0, 0, 72,
1058 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1059 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1060 89, 90, 91, 92, 93, 94, 95, 0, 0, 0,
1061 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
1062 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
1064 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1065 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1066 90, 91, 92, 93, 94, 95, 734, 0, 0, 0,
1067 0, 0, 0, 433, 434, 435, 436, 437, 438, 439,
1068 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1069 450, 794, 0, 0, 0, 0, 451, 0, 433, 434,
1070 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1071 445, 446, 447, 448, 449, 450, 0, 0, 0, 694,
1072 0, 695, 433, 434, 435, 436, 437, 438, 439, 440,
1073 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
1074 0, 0, 0, 0, 0, 695, 433, 434, 435, 436,
1075 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1076 447, 448, 449, 450, 0, 0, 0, 0, 0, 451,
1077 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1078 443, 444, 445, 446, 447, 448, 449, 450, 0, 0,
1079 0, 0, 0, 695, 433, 434, 435, 436, 437, 438,
1080 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1081 449, 450, 0, 0, 0, 0, 0, 451, 433, 434,
1082 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1083 445, 446, 447, 448, 449, 450, 0, 0, 0, 0,
1087 static const short int yycheck
[] =
1089 33, 22, 9, 129, 65, 9, 0, 201, 10, 16,
1090 17, 18, 11, 15, 133, 404, 133, 145, 146, 147,
1091 19, 455, 15, 380, 160, 187, 188, 362, 363, 33,
1092 407, 377, 168, 27, 401, 0, 710, 404, 455, 710,
1093 686, 15, 745, 343, 747, 10, 49, 712, 26, 349,
1094 710, 24, 32, 10, 34, 37, 21, 351, 26, 24,
1095 25, 65, 27, 25, 21, 740, 125, 413, 25, 4,
1096 5, 6, 6, 35, 9, 9, 4, 5, 6, 7,
1097 8, 9, 10, 11, 210, 26, 789, 22, 32, 17,
1098 97, 64, 33, 44, 22, 766, 103, 104, 105, 31,
1099 0, 29, 26, 27, 36, 49, 766, 106, 32, 37,
1100 92, 93, 94, 95, 96, 122, 98, 99, 464, 31,
1101 44, 124, 31, 35, 36, 132, 133, 134, 135, 136,
1102 134, 32, 432, 194, 428, 137, 143, 431, 803, 814,
1103 31, 119, 33, 34, 137, 791, 35, 36, 17, 18,
1104 154, 451, 452, 35, 36, 801, 84, 85, 86, 87,
1105 6, 7, 8, 137, 166, 32, 840, 174, 201, 840,
1106 36, 874, 31, 166, 849, 34, 31, 32, 843, 34,
1107 851, 9, 189, 11, 191, 187, 188, 858, 33, 34,
1108 194, 49, 166, 121, 159, 36, 870, 87, 858, 870,
1109 165, 31, 159, 33, 34, 30, 33, 34, 165, 586,
1110 4, 5, 6, 33, 34, 9, 881, 35, 652, 33,
1111 34, 886, 37, 657, 343, 31, 343, 32, 22, 875,
1112 349, 23, 349, 369, 36, 652, 135, 136, 23, 23,
1113 657, 110, 111, 112, 113, 114, 115, 36, 594, 31,
1114 36, 597, 23, 610, 32, 38, 613, 4, 5, 6,
1115 7, 8, 9, 10, 11, 6, 32, 31, 118, 615,
1116 17, 32, 31, 35, 32, 22, 36, 92, 93, 94,
1117 95, 96, 29, 98, 99, 92, 93, 94, 95, 96,
1118 40, 98, 99, 455, 31, 31, 6, 26, 4, 5,
1119 6, 7, 8, 9, 10, 11, 34, 40, 34, 33,
1120 22, 17, 34, 432, 32, 432, 22, 32, 379, 39,
1121 64, 64, 31, 29, 37, 32, 40, 31, 24, 40,
1122 391, 32, 451, 452, 451, 452, 343, 84, 85, 86,
1123 87, 348, 349, 40, 91, 712, 32, 31, 33, 695,
1124 696, 33, 646, 33, 33, 649, 650, 34, 391, 366,
1125 25, 35, 31, 35, 710, 33, 33, 400, 34, 402,
1126 33, 404, 33, 33, 33, 379, 123, 34, 84, 85,
1127 86, 87, 34, 33, 35, 389, 40, 391, 109, 32,
1128 32, 390, 32, 34, 33, 33, 403, 754, 755, 25,
1129 35, 462, 32, 749, 31, 33, 741, 742, 31, 416,
1130 97, 33, 419, 17, 18, 121, 35, 25, 34, 31,
1131 766, 34, 429, 456, 457, 432, 425, 33, 33, 24,
1132 32, 34, 594, 733, 734, 34, 803, 33, 32, 97,
1133 25, 830, 25, 33, 451, 452, 792, 34, 794, 33,
1134 612, 32, 34, 455, 800, 35, 25, 33, 462, 32,
1135 34, 455, 455, 830, 4, 5, 6, 7, 8, 9,
1136 10, 11, 33, 33, 27, 792, 843, 17, 166, 333,
1137 657, 652, 22, 777, 778, 132, 167, 39, 182, 29,
1138 652, 584, 24, 839, 840, 657, 100, 101, 102, 103,
1139 104, 105, 106, 107, 108, 188, 612, 784, 365, 616,
1140 425, 21, 858, 747, 881, 870, 372, 400, 757, 886,
1141 98, 799, 719, 717, 870, -1, -1, 3, -1, -1,
1142 6, 659, 660, -1, 10, -1, 12, 13, 14, 15,
1143 16, 17, -1, -1, 84, 85, 86, 87, -1, 4,
1144 5, 6, 7, 8, 9, 10, 11, 33, -1, 4,
1145 5, 6, 7, 8, 9, 10, 11, 22, -1, -1,
1146 -1, -1, 17, -1, -1, -1, -1, 22, -1, 640,
1147 3, 121, -1, 6, 29, 30, 31, 10, -1, 12,
1148 13, 14, 15, 16, 17, 602, 41, -1, -1, -1,
1149 607, -1, -1, -1, 608, 638, -1, -1, -1, 616,
1150 612, -1, -1, -1, 733, 734, 733, 734, -1, -1,
1151 -1, -1, -1, 656, -1, -1, -1, -1, -1, 84,
1152 85, 86, 639, -1, -1, -1, 640, -1, 83, 84,
1153 85, 86, 87, 88, 89, -1, 91, -1, -1, 775,
1154 652, 658, 656, -1, -1, 657, 663, -1, 652, 652,
1155 -1, -1, -1, 657, 657, -1, -1, -1, -1, -1,
1156 -1, 116, -1, -1, -1, -1, 121, -1, 123, -1,
1157 -1, 714, -1, -1, 717, -1, -1, 720, -1, -1,
1158 689, -1, -1, 700, -1, 716, -1, -1, -1, 703,
1159 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1160 -1, -1, 719, 17, -1, -1, -1, -1, 22, -1,
1161 -1, -1, -1, -1, -1, 29, 733, 734, -1, -1,
1162 -1, -1, -1, -1, -1, -1, 769, -1, 4, 5,
1163 6, 7, 8, 9, 10, 11, -1, -1, 30, 782,
1164 -1, 17, 785, 786, -1, -1, 22, -1, -1, -1,
1165 -1, -1, -1, 29, -1, -1, 799, -1, -1, 776,
1166 791, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1167 84, 85, 86, 87, 66, 67, 68, 69, 70, 71,
1168 72, 73, 74, 75, 76, 77, -1, 79, 80, 81,
1169 82, -1, 835, -1, -1, -1, -1, 840, -1, -1,
1170 -1, -1, -1, -1, -1, -1, -1, 121, 84, 85,
1171 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
1172 -1, -1, -1, -1, -1, 0, -1, 870, 3, 4,
1173 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1174 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1175 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1176 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1177 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1178 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1179 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1180 75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
1181 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1182 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1183 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1184 115, 116, -1, 118, 119, -1, 121, 122, 123, 124,
1185 125, 0, -1, -1, 3, 4, 5, 6, 7, 8,
1186 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1187 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1188 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
1189 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1190 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1191 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1192 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1193 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1194 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1195 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1196 109, 110, 111, 112, 113, 114, 115, 116, -1, -1,
1197 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1198 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1199 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1200 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1201 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1202 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1203 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1204 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1205 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1206 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1207 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1208 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1209 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1210 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1211 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1212 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1213 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1214 -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1215 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1216 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1217 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1218 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1219 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1220 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1221 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1222 3, -1, 119, -1, 121, 122, 123, 124, 125, 12,
1223 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1224 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
1225 -1, -1, -1, -1, -1, -1, 39, -1, -1, -1,
1226 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
1227 -1, -1, -1, -1, -1, -1, -1, 60, 61, 3,
1228 -1, -1, -1, 66, 67, 68, 69, 70, 12, -1,
1229 -1, -1, -1, 17, 18, 19, 20, 21, 22, -1,
1230 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1231 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1232 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1233 113, 114, 115, -1, -1, -1, -1, -1, -1, -1,
1234 -1, 124, 66, 67, 68, 69, 70, -1, -1, -1,
1235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1236 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1237 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1238 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1239 114, 115, -1, -1, -1, -1, -1, 121, -1, 123,
1240 124, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1241 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1242 22, 23, -1, 25, -1, 27, 28, 29, -1, -1,
1243 32, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1244 8, 9, 10, 11, -1, 47, 48, 49, -1, 17,
1245 -1, -1, -1, -1, 22, -1, -1, -1, 60, 61,
1246 -1, 29, -1, -1, 66, 67, 68, 69, 70, -1,
1247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1248 -1, -1, 84, 85, 86, 87, 88, -1, 90, 91,
1249 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1250 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1251 112, 113, 114, 115, 3, 83, 84, 85, 86, 87,
1252 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1253 19, 20, 21, 22, 23, -1, 25, 26, 27, 28,
1254 -1, -1, -1, 32, -1, -1, -1, 3, 4, 5,
1255 6, 7, 8, 9, 10, 11, 12, -1, 47, 48,
1256 49, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1257 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1258 69, 70, 4, 5, 6, 7, 8, 9, 10, 11,
1259 -1, -1, -1, -1, -1, 17, -1, -1, -1, 88,
1260 22, 90, 91, 92, 93, 94, 95, 29, 97, -1,
1261 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1262 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
1263 86, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1264 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
1265 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1266 -1, -1, 84, 85, 86, 87, -1, -1, 44, -1,
1267 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1268 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1269 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1270 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1271 -1, -1, 88, 89, 90, 91, 92, 93, 94, 95,
1272 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1273 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1274 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1275 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1276 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
1277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1278 -1, 44, -1, -1, 47, 48, 49, -1, -1, -1,
1279 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1280 -1, 64, -1, 66, 67, 68, 69, 70, 4, 5,
1281 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1282 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1283 93, 94, 95, 29, 97, -1, -1, 100, 101, 102,
1284 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1285 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1286 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1287 -1, -1, 22, 23, 24, 25, -1, 27, 28, -1,
1288 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1289 86, 87, -1, -1, 44, -1, -1, 47, 48, 49,
1290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1291 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1292 70, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1293 -1, -1, -1, -1, 17, -1, -1, -1, 88, 22,
1294 90, 91, 92, 93, 94, 95, 29, 97, -1, -1,
1295 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1296 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1297 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1298 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1299 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1300 -1, 84, 85, 86, 87, -1, -1, 44, -1, -1,
1301 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1302 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1303 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1304 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1305 -1, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1306 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1307 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1308 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1309 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1310 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1311 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1312 -1, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1313 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1314 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1316 -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
1317 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1318 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1319 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1320 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1321 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
1322 -1, 32, -1, -1, -1, -1, 4, 5, 6, 7,
1323 8, 9, 10, 11, -1, -1, 47, 48, 49, 17,
1324 -1, -1, -1, -1, 22, -1, -1, -1, -1, 60,
1325 61, 29, -1, -1, -1, 66, 67, 68, 69, 70,
1326 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1327 -1, -1, -1, 17, -1, -1, -1, 88, 22, 90,
1328 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1329 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1330 111, 112, 113, 114, 115, 3, 84, 85, 86, 87,
1331 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1332 18, -1, -1, -1, 22, -1, -1, 25, -1, 27,
1333 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1334 84, 85, 86, -1, -1, -1, -1, -1, -1, 47,
1335 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1336 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1337 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1338 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1339 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1340 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1341 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1342 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1343 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1344 -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
1345 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1346 -1, -1, -1, -1, 49, -1, -1, -1, -1, -1,
1347 22, -1, -1, -1, 26, 27, -1, -1, -1, -1,
1348 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1349 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1350 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1351 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1352 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1353 115, 3, 84, 85, 86, -1, -1, -1, -1, -1,
1354 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1355 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1356 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1357 9, 10, 11, -1, -1, -1, -1, 49, 17, -1,
1358 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1359 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1362 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1363 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1364 112, 113, 114, 115, 3, 84, 85, 86, -1, -1,
1365 -1, -1, -1, 12, 31, -1, -1, -1, 17, 18,
1366 -1, -1, -1, 22, -1, 42, 43, 44, 45, 46,
1367 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1368 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1369 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1370 -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
1371 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1372 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1373 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1374 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1375 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
1376 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1377 -1, 17, 18, -1, -1, -1, 22, -1, 33, -1,
1378 -1, -1, -1, -1, -1, -1, 32, 42, 43, 44,
1379 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1380 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1381 65, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1382 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1384 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1385 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1386 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1387 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1388 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1389 -1, 33, -1, -1, -1, -1, -1, -1, -1, 32,
1390 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1391 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1392 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
1393 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1396 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1397 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1398 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1399 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1400 -1, -1, 22, -1, 33, -1, -1, -1, -1, -1,
1401 -1, -1, 32, 42, 43, 44, 45, 46, 47, 48,
1402 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1403 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
1404 -1, -1, 3, -1, -1, -1, 66, 67, 68, 69,
1405 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1406 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
1407 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1408 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1409 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1410 -1, -1, -1, 64, -1, 66, 67, 68, 69, 70,
1411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1412 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1413 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1414 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1415 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1416 -1, -1, -1, -1, 12, -1, -1, 34, -1, 17,
1417 18, -1, -1, -1, 22, 42, 43, 44, 45, 46,
1418 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1419 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1420 -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, -1, 3, -1, -1, -1, 66, 67,
1422 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
1423 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1424 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1425 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1426 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
1427 -1, -1, -1, 3, -1, 64, -1, 66, 67, 68,
1428 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
1429 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
1430 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1431 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1432 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
1433 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1434 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1435 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1436 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1437 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1438 110, 111, 112, 113, 114, 115, 35, -1, -1, -1,
1439 -1, -1, -1, 42, 43, 44, 45, 46, 47, 48,
1440 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1441 59, 35, -1, -1, -1, -1, 65, -1, 42, 43,
1442 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1443 54, 55, 56, 57, 58, 59, -1, -1, -1, 39,
1444 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1445 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1446 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1447 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1448 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1449 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1450 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1451 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
1452 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1453 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
1454 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1455 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1459 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1460 symbol of state STATE-NUM. */
1461 static const unsigned short int yystos
[] =
1463 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1464 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1465 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
1466 150, 168, 173, 178, 179, 180, 181, 182, 183, 184,
1467 185, 190, 193, 194, 197, 201, 202, 203, 204, 205,
1468 206, 210, 212, 213, 219, 227, 239, 240, 9, 11,
1469 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1470 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1471 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1472 110, 111, 112, 113, 114, 115, 143, 236, 237, 238,
1473 255, 267, 22, 84, 85, 86, 87, 202, 210, 179,
1474 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1475 75, 76, 77, 79, 80, 81, 82, 151, 152, 153,
1476 154, 156, 157, 158, 17, 84, 85, 121, 174, 176,
1477 203, 204, 210, 219, 228, 229, 143, 143, 143, 230,
1478 3, 6, 10, 12, 17, 169, 170, 179, 26, 123,
1479 202, 240, 44, 275, 276, 22, 83, 201, 202, 0,
1480 148, 143, 211, 235, 236, 4, 5, 6, 9, 22,
1481 186, 6, 183, 189, 31, 125, 191, 32, 32, 36,
1482 36, 235, 236, 87, 32, 143, 124, 238, 143, 143,
1483 143, 34, 195, 19, 20, 21, 121, 123, 124, 143,
1484 159, 160, 30, 0, 3, 4, 5, 6, 7, 8,
1485 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1486 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1487 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1488 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1489 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1490 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1491 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1492 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1493 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1494 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1495 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1496 125, 144, 163, 164, 163, 26, 119, 155, 143, 159,
1497 25, 27, 28, 32, 47, 48, 60, 61, 78, 142,
1498 143, 165, 224, 143, 143, 230, 143, 230, 176, 31,
1499 143, 35, 233, 233, 233, 233, 236, 23, 31, 202,
1500 36, 198, 36, 23, 174, 191, 198, 38, 234, 32,
1501 143, 6, 187, 6, 9, 188, 186, 32, 31, 17,
1502 87, 178, 207, 208, 209, 210, 207, 143, 220, 221,
1503 92, 93, 94, 95, 96, 98, 99, 246, 247, 248,
1504 261, 264, 270, 271, 272, 143, 235, 196, 211, 236,
1505 118, 163, 144, 26, 27, 32, 44, 226, 165, 32,
1506 143, 165, 32, 42, 43, 44, 45, 46, 47, 48,
1507 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1508 59, 65, 141, 31, 35, 36, 215, 215, 31, 214,
1509 215, 214, 32, 143, 40, 198, 0, 3, 4, 5,
1510 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1511 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1512 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
1513 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1514 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1515 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1516 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1517 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
1518 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1519 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1520 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
1521 124, 125, 145, 198, 199, 200, 246, 32, 31, 31,
1522 19, 23, 25, 27, 32, 39, 124, 142, 211, 222,
1523 223, 224, 235, 234, 6, 26, 192, 236, 17, 235,
1524 33, 34, 34, 33, 34, 40, 34, 231, 211, 251,
1525 222, 243, 265, 266, 267, 275, 211, 143, 273, 274,
1526 211, 262, 266, 37, 247, 222, 33, 143, 34, 32,
1527 179, 225, 226, 22, 33, 143, 165, 166, 167, 165,
1528 165, 32, 121, 175, 176, 177, 178, 216, 219, 228,
1529 229, 211, 211, 235, 19, 20, 21, 26, 171, 172,
1530 222, 37, 200, 37, 3, 6, 10, 12, 13, 14,
1531 15, 16, 17, 33, 241, 242, 244, 245, 22, 87,
1532 178, 222, 39, 222, 39, 65, 141, 143, 26, 33,
1533 236, 234, 64, 17, 209, 234, 64, 222, 221, 37,
1534 40, 31, 40, 31, 32, 24, 40, 32, 31, 34,
1535 32, 31, 31, 33, 211, 64, 143, 161, 162, 235,
1536 33, 33, 33, 34, 35, 25, 177, 35, 232, 37,
1537 175, 233, 233, 143, 31, 35, 33, 34, 243, 33,
1538 33, 222, 222, 33, 33, 33, 19, 89, 90, 109,
1539 222, 250, 252, 253, 254, 255, 276, 265, 211, 275,
1540 196, 274, 17, 196, 263, 33, 34, 165, 165, 34,
1541 25, 35, 34, 217, 232, 215, 215, 33, 244, 35,
1542 242, 244, 40, 222, 35, 234, 234, 109, 252, 32,
1543 32, 32, 250, 34, 268, 211, 33, 33, 163, 64,
1544 143, 25, 35, 32, 211, 218, 31, 217, 244, 275,
1545 171, 222, 263, 222, 243, 64, 265, 269, 33, 31,
1546 97, 33, 35, 25, 232, 34, 31, 64, 33, 34,
1547 34, 256, 33, 34, 18, 266, 267, 32, 34, 211,
1548 24, 97, 222, 211, 249, 250, 251, 257, 276, 33,
1549 265, 25, 25, 232, 33, 17, 18, 255, 258, 33,
1550 34, 250, 34, 33, 35, 32, 249, 25, 244, 243,
1551 33, 32, 259, 260, 265, 33, 34, 33, 265
1554 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1555 static const unsigned short int yyr1
[] =
1557 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
1558 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1559 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
1560 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1561 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
1562 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1563 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1564 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1565 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1566 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1567 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1568 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1569 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1570 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1571 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1572 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1573 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1574 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1575 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1576 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1577 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1578 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1579 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1580 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1581 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1582 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1583 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1584 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
1585 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
1586 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
1587 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
1588 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
1589 158, 158, 159, 159, 159, 159, 159, 159, 159, 160,
1590 160, 161, 161, 161, 161, 162, 162, 163, 163, 164,
1591 164, 165, 165, 165, 165, 165, 165, 165, 165, 165,
1592 165, 165, 166, 166, 167, 167, 168, 169, 170, 170,
1593 170, 170, 171, 171, 171, 172, 172, 172, 172, 173,
1594 173, 173, 174, 174, 175, 175, 176, 176, 176, 176,
1595 176, 177, 177, 177, 177, 177, 178, 178, 178, 179,
1596 179, 180, 180, 180, 181, 181, 181, 182, 182, 182,
1597 183, 183, 184, 184, 184, 185, 185, 185, 185, 186,
1598 186, 186, 186, 186, 186, 187, 187, 188, 188, 188,
1599 188, 189, 189, 189, 190, 190, 191, 191, 192, 192,
1600 193, 194, 195, 195, 196, 196, 197, 197, 197, 198,
1601 199, 199, 200, 200, 201, 201, 202, 202, 203, 203,
1602 204, 204, 205, 205, 205, 205, 206, 206, 207, 207,
1603 207, 208, 208, 209, 209, 209, 209, 210, 210, 210,
1604 210, 211, 211, 212, 213, 214, 214, 215, 216, 216,
1605 217, 217, 218, 218, 219, 220, 220, 221, 221, 222,
1606 222, 222, 222, 222, 222, 223, 223, 223, 223, 223,
1607 223, 224, 224, 225, 225, 226, 226, 226, 227, 228,
1608 229, 230, 230, 231, 231, 232, 232, 232, 232, 233,
1609 233, 234, 234, 234, 234, 235, 235, 236, 236, 237,
1610 237, 238, 238, 239, 239, 240, 240, 240, 241, 241,
1611 242, 242, 243, 244, 245, 245, 245, 245, 245, 245,
1612 245, 245, 245, 246, 246, 247, 247, 247, 247, 247,
1613 248, 248, 249, 249, 249, 250, 250, 250, 250, 250,
1614 250, 251, 251, 252, 253, 254, 255, 255, 255, 255,
1615 255, 255, 255, 255, 255, 255, 256, 256, 257, 257,
1616 258, 258, 259, 259, 260, 260, 261, 262, 262, 263,
1617 263, 263, 264, 265, 265, 265, 266, 266, 267, 267,
1618 267, 267, 267, 267, 267, 267, 268, 268, 269, 269,
1619 270, 271, 271, 272, 273, 273, 274, 275, 275, 276
1622 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1623 static const unsigned char yyr2
[] =
1625 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1628 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1629 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1630 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1631 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1632 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1633 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1635 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1637 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1638 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1640 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1641 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1652 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1653 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1654 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1655 1, 2, 2, 2, 1, 2, 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, 6,
1658 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1659 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1660 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1661 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1662 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1663 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1664 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1665 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1666 1, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1667 2, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1668 2, 3, 0, 2, 1, 3, 3, 3, 4, 3,
1669 1, 2, 1, 1, 1, 2, 1, 1, 5, 7,
1670 5, 7, 6, 7, 6, 5, 1, 2, 0, 1,
1671 1, 1, 3, 1, 2, 3, 2, 1, 2, 4,
1672 3, 3, 2, 4, 4, 1, 1, 3, 4, 5,
1673 0, 2, 2, 4, 5, 1, 3, 1, 3, 1,
1674 4, 3, 3, 2, 5, 1, 1, 1, 1, 1,
1675 1, 4, 2, 1, 2, 2, 1, 1, 2, 2,
1676 2, 0, 1, 0, 1, 0, 2, 7, 9, 0,
1677 7, 0, 2, 3, 3, 0, 1, 1, 2, 1,
1678 2, 1, 2, 4, 5, 7, 8, 13, 1, 3,
1679 2, 4, 2, 1, 1, 1, 1, 1, 1, 1,
1680 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1681 3, 6, 1, 2, 1, 1, 1, 1, 2, 1,
1682 1, 3, 4, 6, 12, 5, 1, 1, 1, 1,
1683 1, 1, 1, 1, 1, 1, 0, 2, 1, 3,
1684 1, 1, 0, 1, 1, 3, 3, 6, 1, 0,
1685 1, 1, 3, 1, 1, 3, 5, 6, 1, 1,
1686 1, 1, 1, 1, 1, 1, 0, 2, 1, 3,
1687 3, 1, 1, 3, 1, 3, 4, 0, 1, 1
1691 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1692 static const unsigned char yydprec
[] =
1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 2, 1, 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, 2, 1, 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, 2, 1, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1759 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1760 static const unsigned char yymerger
[] =
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1827 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1828 in the case of predicates. */
1829 static const yybool yyimmediate
[] =
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1896 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1897 list of conflicting reductions corresponding to action entry for
1898 state STATE-NUM in yytable. 0 means no conflicts. The list in
1899 yyconfl is terminated by a rule number of 0. */
1900 static const unsigned short int yyconflp
[] =
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, 5, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 263, 0, 265, 267, 0, 0, 255, 0, 0, 0,
1917 0, 0, 0, 257, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 271, 0, 273, 275, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 253, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 259, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 261, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 269, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 277, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 1, 0, 0, 0, 0, 3, 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, 9, 0, 0, 11, 13,
1986 15, 17, 19, 21, 23, 25, 27, 29, 31, 33,
1987 35, 37, 39, 41, 43, 45, 47, 49, 51, 53,
1988 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
1989 75, 77, 79, 81, 83, 85, 87, 89, 91, 93,
1990 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
1991 115, 117, 119, 121, 123, 125, 127, 129, 131, 133,
1992 135, 137, 139, 141, 143, 145, 147, 149, 151, 153,
1993 155, 157, 159, 161, 163, 0, 165, 0, 167, 169,
1994 171, 173, 175, 177, 179, 181, 183, 185, 187, 189,
1995 191, 193, 195, 197, 199, 201, 203, 205, 207, 209,
1996 211, 213, 215, 217, 219, 221, 223, 225, 227, 229,
1997 231, 233, 0, 235, 237, 0, 239, 241, 243, 245,
1998 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 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, 0, 0, 0, 0, 0, 0,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 249, 0, 0, 0, 0, 251,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 0, 0, 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, 279, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2273 0, pointed into by YYCONFLP. */
2274 static const short int yyconfl
[] =
2276 0, 396, 0, 396, 0, 409, 0, 467, 0, 614,
2277 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2278 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2279 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2280 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2281 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2282 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2283 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2284 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2285 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2286 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2287 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2288 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2289 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2290 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2291 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2292 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2293 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2294 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2295 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2296 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2297 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2298 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2299 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2300 0, 614, 0, 614, 0, 614, 0, 614, 0, 396,
2301 0, 396, 0, 409, 0, 512, 0, 512, 0, 460,
2302 0, 42, 0, 498, 0, 498, 0, 498, 0, 396,
2303 0, 565, 0, 565, 0, 565, 0, 615, 0, 344,
2307 /* Error token number */
2314 #define yynerrs (yystackp->yyerrcnt)
2316 #define yychar (yystackp->yyrawchar)
2318 #define yylval (yystackp->yyval)
2320 #define yylloc (yystackp->yyloc)
2321 #define psi_parser_proc_nerrs yynerrs
2322 #define psi_parser_proc_char yychar
2323 #define psi_parser_proc_lval yylval
2324 #define psi_parser_proc_lloc yylloc
2326 static const int YYEOF
= 0;
2327 static const int YYEMPTY
= -2;
2329 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2331 #define YYCHK(YYE) \
2333 YYRESULTTAG yychk_flag = YYE; \
2334 if (yychk_flag != yyok) \
2335 return yychk_flag; \
2341 # define YYFPRINTF fprintf
2344 /* This macro is provided for backward compatibility. */
2345 #ifndef YY_LOCATION_PRINT
2346 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2350 # define YYDPRINTF(Args) \
2357 /*----------------------------------------.
2358 | Print this symbol's value on YYOUTPUT. |
2359 `----------------------------------------*/
2362 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2364 FILE *yyo
= yyoutput
;
2375 /*--------------------------------.
2376 | Print this symbol on YYOUTPUT. |
2377 `--------------------------------*/
2380 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2382 YYFPRINTF (yyoutput
, "%s %s (",
2383 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2385 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2386 YYFPRINTF (yyoutput
, ")");
2389 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2393 YYFPRINTF (stderr, "%s ", Title); \
2394 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2395 YYFPRINTF (stderr, "\n"); \
2399 /* Nonzero means print parse trace. It is left uninitialized so that
2400 multiple parsers can coexist. */
2404 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2405 YY_ATTRIBUTE_UNUSED
;
2406 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2407 YY_ATTRIBUTE_UNUSED
;
2409 #else /* !YYDEBUG */
2411 # define YYDPRINTF(Args)
2412 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2414 #endif /* !YYDEBUG */
2416 /* YYINITDEPTH -- initial size of the parser's stacks. */
2418 # define YYINITDEPTH 200
2421 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2422 if the built-in stack extension method is used).
2424 Do not make this value too large; the results are undefined if
2425 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2426 evaluated with infinite-precision integer arithmetic. */
2429 # define YYMAXDEPTH 10000
2432 /* Minimum number of free items on the stack allowed after an
2433 allocation. This is to allow allocation and initialization
2434 to be completed by functions that call yyexpandGLRStack before the
2435 stack is expanded, thus insuring that all necessary pointers get
2436 properly redirected to new data. */
2437 #define YYHEADROOM 2
2439 #ifndef YYSTACKEXPANDABLE
2440 # define YYSTACKEXPANDABLE 1
2443 #if YYSTACKEXPANDABLE
2444 # define YY_RESERVE_GLRSTACK(Yystack) \
2446 if (Yystack->yyspaceLeft < YYHEADROOM) \
2447 yyexpandGLRStack (Yystack); \
2450 # define YY_RESERVE_GLRSTACK(Yystack) \
2452 if (Yystack->yyspaceLeft < YYHEADROOM) \
2453 yyMemoryExhausted (Yystack); \
2461 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2462 # define yystpcpy stpcpy
2464 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2467 yystpcpy (char *yydest
, const char *yysrc
)
2470 const char *yys
= yysrc
;
2472 while ((*yyd
++ = *yys
++) != '\0')
2481 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2482 quotes and backslashes, so that it's suitable for yyerror. The
2483 heuristic is that double-quoting is unnecessary unless the string
2484 contains an apostrophe, a comma, or backslash (other than
2485 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2486 null, do not copy; instead, return the length of what the result
2489 yytnamerr (char *yyres
, const char *yystr
)
2494 char const *yyp
= yystr
;
2501 goto do_not_strip_quotes
;
2505 goto do_not_strip_quotes
;
2518 do_not_strip_quotes
: ;
2522 return strlen (yystr
);
2524 return yystpcpy (yyres
, yystr
) - yyres
;
2528 #endif /* !YYERROR_VERBOSE */
2530 /** State numbers, as in LALR(1) machine */
2531 typedef int yyStateNum
;
2533 /** Rule numbers, as in LALR(1) machine */
2534 typedef int yyRuleNum
;
2536 /** Grammar symbol */
2537 typedef int yySymbol
;
2539 /** Item references, as in LALR(1) machine */
2540 typedef short int yyItemNum
;
2542 typedef struct yyGLRState yyGLRState
;
2543 typedef struct yyGLRStateSet yyGLRStateSet
;
2544 typedef struct yySemanticOption yySemanticOption
;
2545 typedef union yyGLRStackItem yyGLRStackItem
;
2546 typedef struct yyGLRStack yyGLRStack
;
2549 /** Type tag: always true. */
2551 /** Type tag for yysemantics. If true, yysval applies, otherwise
2552 * yyfirstVal applies. */
2554 /** Number of corresponding LALR(1) machine state. */
2555 yyStateNum yylrState
;
2556 /** Preceding state in this stack */
2558 /** Source position of the last token produced by my symbol */
2561 /** First in a chain of alternative reductions producing the
2562 * non-terminal corresponding to this state, threaded through
2564 yySemanticOption
* yyfirstVal
;
2565 /** Semantic value for this state. */
2570 struct yyGLRStateSet
{
2571 yyGLRState
** yystates
;
2572 /** During nondeterministic operation, yylookaheadNeeds tracks which
2573 * stacks have actually needed the current lookahead. During deterministic
2574 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2575 * duplicate yychar != YYEMPTY. */
2576 yybool
* yylookaheadNeeds
;
2577 size_t yysize
, yycapacity
;
2580 struct yySemanticOption
{
2581 /** Type tag: always false. */
2583 /** Rule number for this reduction */
2585 /** The last RHS state in the list of states to be reduced. */
2586 yyGLRState
* yystate
;
2587 /** The lookahead for this reduction. */
2590 /** Next sibling in chain of options. To facilitate merging,
2591 * options are chained in decreasing order by address. */
2592 yySemanticOption
* yynext
;
2595 /** Type of the items in the GLR stack. The yyisState field
2596 * indicates which item of the union is valid. */
2597 union yyGLRStackItem
{
2599 yySemanticOption yyoption
;
2610 YYJMP_BUF yyexception_buffer
;
2611 yyGLRStackItem
* yyitems
;
2612 yyGLRStackItem
* yynextFree
;
2614 yyGLRState
* yysplitPoint
;
2615 yyGLRState
* yylastDeleted
;
2616 yyGLRStateSet yytops
;
2619 #if YYSTACKEXPANDABLE
2620 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2623 static _Noreturn
void
2624 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2626 if (yymsg
!= YY_NULLPTR
)
2627 yyerror (P
, tokens
, index
, yymsg
);
2628 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2631 static _Noreturn
void
2632 yyMemoryExhausted (yyGLRStack
* yystackp
)
2634 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2637 #if YYDEBUG || YYERROR_VERBOSE
2638 /** A printable representation of TOKEN. */
2639 static inline const char*
2640 yytokenName (yySymbol yytoken
)
2642 if (yytoken
== YYEMPTY
)
2645 return yytname
[yytoken
];
2649 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2650 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2651 * containing the pointer to the next state in the chain. */
2652 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2654 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2657 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2658 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2661 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2663 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2665 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2667 /* The effect of using yysval or yyloc (in an immediate rule) is
2669 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2670 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2674 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2675 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2676 * For convenience, always return YYLOW1. */
2677 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2678 YY_ATTRIBUTE_UNUSED
;
2680 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2682 if (!yynormal
&& yylow1
< *yylow
)
2684 yyfillin (yyvsp
, *yylow
, yylow1
);
2690 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2691 * and top stack item YYVSP. YYLVALP points to place to put semantic
2692 * value ($$), and yylocp points to place for location information
2693 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2694 * yyerr for YYERROR, yyabort for YYABORT. */
2696 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2697 yyGLRStack
* yystackp
,
2698 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2700 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2708 # define yyerrok (yystackp->yyerrState = 0)
2710 # define YYACCEPT return yyaccept
2712 # define YYABORT return yyabort
2714 # define YYERROR return yyerrok, yyerr
2715 # undef YYRECOVERING
2716 # define YYRECOVERING() (yystackp->yyerrState != 0)
2718 # define yyclearin (yychar = YYEMPTY)
2720 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2722 # define YYBACKUP(Token, Value) \
2723 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2728 *yyvalp
= yyval_default
;
2730 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2734 #line 418 "src/parser_proc_grammar.y" /* glr.c:816 */
2736 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2737 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2738 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2741 #line 2742 "src/parser_proc.c" /* glr.c:816 */
2745 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2748 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2749 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2751 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
);
2754 #line 2755 "src/parser_proc.c" /* glr.c:816 */
2758 #line 432 "src/parser_proc_grammar.y" /* glr.c:816 */
2760 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2762 #line 2763 "src/parser_proc.c" /* glr.c:816 */
2766 #line 435 "src/parser_proc_grammar.y" /* glr.c:816 */
2768 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2770 #line 2771 "src/parser_proc.c" /* glr.c:816 */
2774 #line 440 "src/parser_proc_grammar.y" /* glr.c:816 */
2776 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2778 #line 2779 "src/parser_proc.c" /* glr.c:816 */
2782 #line 443 "src/parser_proc_grammar.y" /* glr.c:816 */
2784 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2786 #line 2787 "src/parser_proc.c" /* glr.c:816 */
2790 #line 446 "src/parser_proc_grammar.y" /* glr.c:816 */
2792 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2794 #line 2795 "src/parser_proc.c" /* glr.c:816 */
2798 #line 449 "src/parser_proc_grammar.y" /* glr.c:816 */
2800 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2802 #line 2803 "src/parser_proc.c" /* glr.c:816 */
2806 #line 452 "src/parser_proc_grammar.y" /* glr.c:816 */
2808 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2810 #line 2811 "src/parser_proc.c" /* glr.c:816 */
2814 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
2816 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2818 #line 2819 "src/parser_proc.c" /* glr.c:816 */
2822 #line 464 "src/parser_proc_grammar.y" /* glr.c:816 */
2824 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2826 #line 2827 "src/parser_proc.c" /* glr.c:816 */
2830 #line 467 "src/parser_proc_grammar.y" /* glr.c:816 */
2832 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2834 #line 2835 "src/parser_proc.c" /* glr.c:816 */
2838 #line 473 "src/parser_proc_grammar.y" /* glr.c:816 */
2840 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2841 struct psi_token
*msg
= NULL
;
2843 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2845 struct psi_token
*next
;
2847 msg
= psi_token_copy(msg
);
2848 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2849 struct psi_token
*old
= msg
;
2850 msg
= psi_token_cat(" ", 2, msg
, next
);
2854 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2856 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2858 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2860 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2862 #line 2863 "src/parser_proc.c" /* glr.c:816 */
2866 #line 496 "src/parser_proc_grammar.y" /* glr.c:816 */
2868 (*(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
))));
2869 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2871 #line 2872 "src/parser_proc.c" /* glr.c:816 */
2875 #line 500 "src/parser_proc_grammar.y" /* glr.c:816 */
2877 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2878 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2880 #line 2881 "src/parser_proc.c" /* glr.c:816 */
2884 #line 504 "src/parser_proc_grammar.y" /* glr.c:816 */
2886 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2887 (*(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
))));
2888 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2890 #line 2891 "src/parser_proc.c" /* glr.c:816 */
2894 #line 509 "src/parser_proc_grammar.y" /* glr.c:816 */
2896 (*(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
)));
2897 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2899 #line 2900 "src/parser_proc.c" /* glr.c:816 */
2903 #line 513 "src/parser_proc_grammar.y" /* glr.c:816 */
2905 (*(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
)));
2906 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2908 #line 2909 "src/parser_proc.c" /* glr.c:816 */
2912 #line 517 "src/parser_proc_grammar.y" /* glr.c:816 */
2914 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2915 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2917 #line 2918 "src/parser_proc.c" /* glr.c:816 */
2921 #line 521 "src/parser_proc_grammar.y" /* glr.c:816 */
2923 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2924 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2926 #line 2927 "src/parser_proc.c" /* glr.c:816 */
2930 #line 575 "src/parser_proc_grammar.y" /* glr.c:816 */
2932 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2933 (*(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
);
2934 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2936 #line 2937 "src/parser_proc.c" /* glr.c:816 */
2940 #line 580 "src/parser_proc_grammar.y" /* glr.c:816 */
2942 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2943 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2944 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2946 #line 2947 "src/parser_proc.c" /* glr.c:816 */
2950 #line 588 "src/parser_proc_grammar.y" /* glr.c:816 */
2952 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2954 #line 2955 "src/parser_proc.c" /* glr.c:816 */
2958 #line 591 "src/parser_proc_grammar.y" /* glr.c:816 */
2960 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2962 #line 2963 "src/parser_proc.c" /* glr.c:816 */
2966 #line 595 "src/parser_proc_grammar.y" /* glr.c:816 */
2968 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
2970 #line 2971 "src/parser_proc.c" /* glr.c:816 */
2974 #line 601 "src/parser_proc_grammar.y" /* glr.c:816 */
2976 (*(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
)));
2977 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2978 (*(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
)));
2980 #line 2981 "src/parser_proc.c" /* glr.c:816 */
2984 #line 606 "src/parser_proc_grammar.y" /* glr.c:816 */
2986 (*(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
)));
2987 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2988 (*(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
)));
2990 #line 2991 "src/parser_proc.c" /* glr.c:816 */
2994 #line 614 "src/parser_proc_grammar.y" /* glr.c:816 */
2996 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2998 #line 2999 "src/parser_proc.c" /* glr.c:816 */
3002 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
3004 (*(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
)));
3005 (*(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
)));
3007 #line 3008 "src/parser_proc.c" /* glr.c:816 */
3011 #line 625 "src/parser_proc_grammar.y" /* glr.c:816 */
3013 (*(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
)));
3014 (*(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
)));
3016 #line 3017 "src/parser_proc.c" /* glr.c:816 */
3020 #line 632 "src/parser_proc_grammar.y" /* glr.c:816 */
3022 (*(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
)));
3023 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3025 #line 3026 "src/parser_proc.c" /* glr.c:816 */
3029 #line 636 "src/parser_proc_grammar.y" /* glr.c:816 */
3031 (*(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
)));
3032 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3034 #line 3035 "src/parser_proc.c" /* glr.c:816 */
3038 #line 640 "src/parser_proc_grammar.y" /* glr.c:816 */
3040 (*(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
)));
3041 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3043 #line 3044 "src/parser_proc.c" /* glr.c:816 */
3047 #line 644 "src/parser_proc_grammar.y" /* glr.c:816 */
3049 (*(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
)));
3050 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3052 #line 3053 "src/parser_proc.c" /* glr.c:816 */
3056 #line 649 "src/parser_proc_grammar.y" /* glr.c:816 */
3061 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3062 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3063 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3064 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3067 #line 3068 "src/parser_proc.c" /* glr.c:816 */
3071 #line 659 "src/parser_proc_grammar.y" /* glr.c:816 */
3076 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3077 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3078 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3079 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3082 #line 3083 "src/parser_proc.c" /* glr.c:816 */
3086 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3088 (*(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
));
3089 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3090 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3092 #line 3093 "src/parser_proc.c" /* glr.c:816 */
3096 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
3098 (*(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));
3099 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3100 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3102 #line 3103 "src/parser_proc.c" /* glr.c:816 */
3106 #line 679 "src/parser_proc_grammar.y" /* glr.c:816 */
3108 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3109 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3111 #line 3112 "src/parser_proc.c" /* glr.c:816 */
3115 #line 683 "src/parser_proc_grammar.y" /* glr.c:816 */
3117 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3118 (*(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));
3119 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3120 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3122 #line 3123 "src/parser_proc.c" /* glr.c:816 */
3126 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
3128 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3129 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3130 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));
3131 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3133 #line 3134 "src/parser_proc.c" /* glr.c:816 */
3137 #line 698 "src/parser_proc_grammar.y" /* glr.c:816 */
3139 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3141 #line 3142 "src/parser_proc.c" /* glr.c:816 */
3145 #line 705 "src/parser_proc_grammar.y" /* glr.c:816 */
3147 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3148 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3150 #line 3151 "src/parser_proc.c" /* glr.c:816 */
3154 #line 709 "src/parser_proc_grammar.y" /* glr.c:816 */
3156 (*(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
)));
3158 #line 3159 "src/parser_proc.c" /* glr.c:816 */
3162 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
3164 (*(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
)));
3165 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3167 #line 3168 "src/parser_proc.c" /* glr.c:816 */
3171 #line 722 "src/parser_proc_grammar.y" /* glr.c:816 */
3173 (*(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
);
3175 #line 3176 "src/parser_proc.c" /* glr.c:816 */
3179 #line 735 "src/parser_proc_grammar.y" /* glr.c:816 */
3181 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3183 #line 3184 "src/parser_proc.c" /* glr.c:816 */
3187 #line 738 "src/parser_proc_grammar.y" /* glr.c:816 */
3189 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
)) {
3191 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3193 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3194 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3196 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3200 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3201 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3202 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3203 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3204 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3205 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3206 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3207 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3208 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3209 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3215 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3217 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3219 #line 3220 "src/parser_proc.c" /* glr.c:816 */
3223 #line 769 "src/parser_proc_grammar.y" /* glr.c:816 */
3225 (*(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
);
3226 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3228 #line 3229 "src/parser_proc.c" /* glr.c:816 */
3232 #line 783 "src/parser_proc_grammar.y" /* glr.c:816 */
3234 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3236 #line 3237 "src/parser_proc.c" /* glr.c:816 */
3240 #line 786 "src/parser_proc_grammar.y" /* glr.c:816 */
3242 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3243 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3244 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3246 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3247 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3248 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3250 #line 3251 "src/parser_proc.c" /* glr.c:816 */
3254 #line 795 "src/parser_proc_grammar.y" /* glr.c:816 */
3256 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3258 #line 3259 "src/parser_proc.c" /* glr.c:816 */
3262 #line 801 "src/parser_proc_grammar.y" /* glr.c:816 */
3264 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3266 #line 3267 "src/parser_proc.c" /* glr.c:816 */
3270 #line 804 "src/parser_proc_grammar.y" /* glr.c:816 */
3272 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3274 #line 3275 "src/parser_proc.c" /* glr.c:816 */
3278 #line 810 "src/parser_proc_grammar.y" /* glr.c:816 */
3280 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3282 #line 3283 "src/parser_proc.c" /* glr.c:816 */
3286 #line 813 "src/parser_proc_grammar.y" /* glr.c:816 */
3288 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3290 #line 3291 "src/parser_proc.c" /* glr.c:816 */
3294 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
3296 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3297 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3298 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3300 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3301 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3303 #line 3304 "src/parser_proc.c" /* glr.c:816 */
3307 #line 828 "src/parser_proc_grammar.y" /* glr.c:816 */
3309 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3310 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3311 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3312 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3314 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3315 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3316 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3317 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3319 #line 3320 "src/parser_proc.c" /* glr.c:816 */
3323 #line 839 "src/parser_proc_grammar.y" /* glr.c:816 */
3325 (*(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
)));
3326 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3327 (*(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
)));
3328 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3329 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3330 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3331 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3333 #line 3334 "src/parser_proc.c" /* glr.c:816 */
3337 #line 848 "src/parser_proc_grammar.y" /* glr.c:816 */
3339 (*(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
)));
3340 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3341 (*(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
)));
3342 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3343 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3344 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3345 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3347 #line 3348 "src/parser_proc.c" /* glr.c:816 */
3351 #line 861 "src/parser_proc_grammar.y" /* glr.c:816 */
3353 (*(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));
3354 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3356 #line 3357 "src/parser_proc.c" /* glr.c:816 */
3360 #line 865 "src/parser_proc_grammar.y" /* glr.c:816 */
3362 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3363 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3364 psi_decl_var_init(NULL
, 0, 0)
3366 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3367 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3368 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3369 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3371 #line 3372 "src/parser_proc.c" /* glr.c:816 */
3375 #line 875 "src/parser_proc_grammar.y" /* glr.c:816 */
3377 (*(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));
3378 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3379 (*(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
)));
3380 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3381 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3382 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3383 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3385 #line 3386 "src/parser_proc.c" /* glr.c:816 */
3389 #line 884 "src/parser_proc_grammar.y" /* glr.c:816 */
3391 (*(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));
3392 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3393 (*(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
)));
3394 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3395 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3396 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3397 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3399 #line 3400 "src/parser_proc.c" /* glr.c:816 */
3403 #line 896 "src/parser_proc_grammar.y" /* glr.c:816 */
3405 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3407 #line 3408 "src/parser_proc.c" /* glr.c:816 */
3411 #line 899 "src/parser_proc_grammar.y" /* glr.c:816 */
3413 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3415 #line 3416 "src/parser_proc.c" /* glr.c:816 */
3419 #line 906 "src/parser_proc_grammar.y" /* glr.c:816 */
3421 (*(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
);
3422 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3424 #line 3425 "src/parser_proc.c" /* glr.c:816 */
3428 #line 914 "src/parser_proc_grammar.y" /* glr.c:816 */
3430 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3431 (*(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
);
3432 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3434 #line 3435 "src/parser_proc.c" /* glr.c:816 */
3438 #line 919 "src/parser_proc_grammar.y" /* glr.c:816 */
3440 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3441 (*(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
);
3442 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3444 #line 3445 "src/parser_proc.c" /* glr.c:816 */
3448 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3450 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3451 (*(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
);
3452 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3454 #line 3455 "src/parser_proc.c" /* glr.c:816 */
3458 #line 934 "src/parser_proc_grammar.y" /* glr.c:816 */
3460 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3462 #line 3463 "src/parser_proc.c" /* glr.c:816 */
3466 #line 940 "src/parser_proc_grammar.y" /* glr.c:816 */
3468 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3470 #line 3471 "src/parser_proc.c" /* glr.c:816 */
3474 #line 943 "src/parser_proc_grammar.y" /* glr.c:816 */
3476 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3478 #line 3479 "src/parser_proc.c" /* glr.c:816 */
3482 #line 946 "src/parser_proc_grammar.y" /* glr.c:816 */
3484 (*(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
)));
3486 #line 3487 "src/parser_proc.c" /* glr.c:816 */
3490 #line 957 "src/parser_proc_grammar.y" /* glr.c:816 */
3492 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3494 #line 3495 "src/parser_proc.c" /* glr.c:816 */
3498 #line 960 "src/parser_proc_grammar.y" /* glr.c:816 */
3500 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3502 #line 3503 "src/parser_proc.c" /* glr.c:816 */
3506 #line 963 "src/parser_proc_grammar.y" /* glr.c:816 */
3508 (*(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
)));
3510 #line 3511 "src/parser_proc.c" /* glr.c:816 */
3514 #line 969 "src/parser_proc_grammar.y" /* glr.c:816 */
3516 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3518 #line 3519 "src/parser_proc.c" /* glr.c:816 */
3522 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3524 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3526 #line 3527 "src/parser_proc.c" /* glr.c:816 */
3530 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3532 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3533 (*(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
)));
3534 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3536 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3539 #line 3540 "src/parser_proc.c" /* glr.c:816 */
3543 #line 983 "src/parser_proc_grammar.y" /* glr.c:816 */
3545 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3546 (*(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
)));
3547 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3548 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3550 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3553 #line 3554 "src/parser_proc.c" /* glr.c:816 */
3557 #line 995 "src/parser_proc_grammar.y" /* glr.c:816 */
3559 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3561 #line 3562 "src/parser_proc.c" /* glr.c:816 */
3565 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3567 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3569 #line 3570 "src/parser_proc.c" /* glr.c:816 */
3573 #line 1001 "src/parser_proc_grammar.y" /* glr.c:816 */
3575 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3577 #line 3578 "src/parser_proc.c" /* glr.c:816 */
3581 #line 1004 "src/parser_proc_grammar.y" /* glr.c:816 */
3583 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3584 (*(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
)));
3586 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3589 #line 3590 "src/parser_proc.c" /* glr.c:816 */
3593 #line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */
3595 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3597 #line 3598 "src/parser_proc.c" /* glr.c:816 */
3601 #line 1014 "src/parser_proc_grammar.y" /* glr.c:816 */
3603 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3604 (*(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
)));
3606 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3609 #line 3610 "src/parser_proc.c" /* glr.c:816 */
3613 #line 1024 "src/parser_proc_grammar.y" /* glr.c:816 */
3615 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3617 #line 3618 "src/parser_proc.c" /* glr.c:816 */
3621 #line 1030 "src/parser_proc_grammar.y" /* glr.c:816 */
3623 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3625 #line 3626 "src/parser_proc.c" /* glr.c:816 */
3629 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3631 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3633 #line 3634 "src/parser_proc.c" /* glr.c:816 */
3637 #line 1042 "src/parser_proc_grammar.y" /* glr.c:816 */
3639 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3641 #line 3642 "src/parser_proc.c" /* glr.c:816 */
3645 #line 1045 "src/parser_proc_grammar.y" /* glr.c:816 */
3647 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3648 (*(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
)));
3649 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3651 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3654 #line 3655 "src/parser_proc.c" /* glr.c:816 */
3658 #line 1056 "src/parser_proc_grammar.y" /* glr.c:816 */
3660 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3662 #line 3663 "src/parser_proc.c" /* glr.c:816 */
3666 #line 1059 "src/parser_proc_grammar.y" /* glr.c:816 */
3668 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3670 #line 3671 "src/parser_proc.c" /* glr.c:816 */
3674 #line 1079 "src/parser_proc_grammar.y" /* glr.c:816 */
3676 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3678 #line 3679 "src/parser_proc.c" /* glr.c:816 */
3682 #line 1086 "src/parser_proc_grammar.y" /* glr.c:816 */
3684 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3686 #line 3687 "src/parser_proc.c" /* glr.c:816 */
3690 #line 1092 "src/parser_proc_grammar.y" /* glr.c:816 */
3692 (*(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
)));
3694 #line 3695 "src/parser_proc.c" /* glr.c:816 */
3698 #line 1095 "src/parser_proc_grammar.y" /* glr.c:816 */
3700 (*(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
)));
3702 #line 3703 "src/parser_proc.c" /* glr.c:816 */
3706 #line 1101 "src/parser_proc_grammar.y" /* glr.c:816 */
3708 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3710 #line 3711 "src/parser_proc.c" /* glr.c:816 */
3714 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3716 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3718 #line 3719 "src/parser_proc.c" /* glr.c:816 */
3722 #line 1107 "src/parser_proc_grammar.y" /* glr.c:816 */
3724 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3726 #line 3727 "src/parser_proc.c" /* glr.c:816 */
3730 #line 1128 "src/parser_proc_grammar.y" /* glr.c:816 */
3732 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3733 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3735 #line 3736 "src/parser_proc.c" /* glr.c:816 */
3739 #line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */
3741 (*(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
)));
3742 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3743 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3744 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3747 #line 3748 "src/parser_proc.c" /* glr.c:816 */
3751 #line 1147 "src/parser_proc_grammar.y" /* glr.c:816 */
3753 (*(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
)));
3754 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3755 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3756 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3757 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3760 #line 3761 "src/parser_proc.c" /* glr.c:816 */
3764 #line 1158 "src/parser_proc_grammar.y" /* glr.c:816 */
3766 (*(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
)));
3767 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3768 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3769 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3772 #line 3773 "src/parser_proc.c" /* glr.c:816 */
3776 #line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */
3778 (*(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
)));
3779 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3780 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3781 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3782 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3785 #line 3786 "src/parser_proc.c" /* glr.c:816 */
3789 #line 1176 "src/parser_proc_grammar.y" /* glr.c:816 */
3791 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3792 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3793 (*(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));
3794 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3795 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3797 #line 3798 "src/parser_proc.c" /* glr.c:816 */
3801 #line 1183 "src/parser_proc_grammar.y" /* glr.c:816 */
3803 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3804 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3805 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3806 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
),
3807 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)
3809 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3810 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3811 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3813 #line 3814 "src/parser_proc.c" /* glr.c:816 */
3817 #line 1194 "src/parser_proc_grammar.y" /* glr.c:816 */
3819 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3820 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3821 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3822 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
),
3823 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), 0)
3825 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3826 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3827 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3829 #line 3830 "src/parser_proc.c" /* glr.c:816 */
3833 #line 1205 "src/parser_proc_grammar.y" /* glr.c:816 */
3835 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3836 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3837 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3838 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
),
3839 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3841 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3842 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3843 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3845 #line 3846 "src/parser_proc.c" /* glr.c:816 */
3849 #line 1220 "src/parser_proc_grammar.y" /* glr.c:816 */
3851 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3852 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
),
3853 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3855 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3856 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3857 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3859 #line 3860 "src/parser_proc.c" /* glr.c:816 */
3863 #line 1232 "src/parser_proc_grammar.y" /* glr.c:816 */
3865 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3867 #line 3868 "src/parser_proc.c" /* glr.c:816 */
3871 #line 1235 "src/parser_proc_grammar.y" /* glr.c:816 */
3873 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3875 #line 3876 "src/parser_proc.c" /* glr.c:816 */
3879 #line 1238 "src/parser_proc_grammar.y" /* glr.c:816 */
3881 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3883 #line 3884 "src/parser_proc.c" /* glr.c:816 */
3887 #line 1244 "src/parser_proc_grammar.y" /* glr.c:816 */
3889 (*(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
)));
3891 #line 3892 "src/parser_proc.c" /* glr.c:816 */
3895 #line 1247 "src/parser_proc_grammar.y" /* glr.c:816 */
3897 (*(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
)));
3899 #line 3900 "src/parser_proc.c" /* glr.c:816 */
3903 #line 1254 "src/parser_proc_grammar.y" /* glr.c:816 */
3905 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3907 #line 3908 "src/parser_proc.c" /* glr.c:816 */
3911 #line 1257 "src/parser_proc_grammar.y" /* glr.c:816 */
3913 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3914 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3915 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3918 #line 3919 "src/parser_proc.c" /* glr.c:816 */
3922 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
3924 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3925 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
),
3926 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3928 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3929 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3930 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3932 #line 3933 "src/parser_proc.c" /* glr.c:816 */
3936 #line 1272 "src/parser_proc_grammar.y" /* glr.c:816 */
3938 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3939 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
),
3940 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3942 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3943 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3944 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3946 #line 3947 "src/parser_proc.c" /* glr.c:816 */
3950 #line 1284 "src/parser_proc_grammar.y" /* glr.c:816 */
3952 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3953 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3954 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3956 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3957 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3959 #line 3960 "src/parser_proc.c" /* glr.c:816 */
3963 #line 1292 "src/parser_proc_grammar.y" /* glr.c:816 */
3965 (*(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
)));
3967 #line 3968 "src/parser_proc.c" /* glr.c:816 */
3971 #line 1295 "src/parser_proc_grammar.y" /* glr.c:816 */
3973 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3974 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3975 psi_decl_type_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3976 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)
3978 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3979 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3980 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3982 #line 3983 "src/parser_proc.c" /* glr.c:816 */
3986 #line 1305 "src/parser_proc_grammar.y" /* glr.c:816 */
3988 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3989 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3990 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
),
3991 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)
3993 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3994 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3995 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3997 #line 3998 "src/parser_proc.c" /* glr.c:816 */
4001 #line 1318 "src/parser_proc_grammar.y" /* glr.c:816 */
4003 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4004 (*(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
)));
4005 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4007 #line 4008 "src/parser_proc.c" /* glr.c:816 */
4011 #line 1323 "src/parser_proc_grammar.y" /* glr.c:816 */
4013 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4014 (*(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
)));
4015 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4017 #line 4018 "src/parser_proc.c" /* glr.c:816 */
4021 #line 1331 "src/parser_proc_grammar.y" /* glr.c:816 */
4023 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4024 (*(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
)));
4025 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4026 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4027 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4029 #line 4030 "src/parser_proc.c" /* glr.c:816 */
4033 #line 1341 "src/parser_proc_grammar.y" /* glr.c:816 */
4035 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4036 (*(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
)));
4037 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4038 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4039 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4041 #line 4042 "src/parser_proc.c" /* glr.c:816 */
4045 #line 1351 "src/parser_proc_grammar.y" /* glr.c:816 */
4047 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4049 #line 4050 "src/parser_proc.c" /* glr.c:816 */
4053 #line 1358 "src/parser_proc_grammar.y" /* glr.c:816 */
4055 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4057 #line 4058 "src/parser_proc.c" /* glr.c:816 */
4061 #line 1364 "src/parser_proc_grammar.y" /* glr.c:816 */
4063 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4064 (*(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
)));
4065 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4067 struct psi_decl_arg
*arg
;
4069 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4070 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4071 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4073 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4076 #line 4077 "src/parser_proc.c" /* glr.c:816 */
4080 #line 1378 "src/parser_proc_grammar.y" /* glr.c:816 */
4082 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4083 (*(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
)));
4084 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4086 struct psi_decl_arg
*arg
;
4088 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4089 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4090 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4092 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4095 #line 4096 "src/parser_proc.c" /* glr.c:816 */
4099 #line 1395 "src/parser_proc_grammar.y" /* glr.c:816 */
4101 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4103 #line 4104 "src/parser_proc.c" /* glr.c:816 */
4107 #line 1398 "src/parser_proc_grammar.y" /* glr.c:816 */
4109 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4111 #line 4112 "src/parser_proc.c" /* glr.c:816 */
4115 #line 1404 "src/parser_proc_grammar.y" /* glr.c:816 */
4118 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4119 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4120 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4123 #line 4124 "src/parser_proc.c" /* glr.c:816 */
4127 #line 1411 "src/parser_proc_grammar.y" /* glr.c:816 */
4130 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4131 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4132 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4135 #line 4136 "src/parser_proc.c" /* glr.c:816 */
4139 #line 1421 "src/parser_proc_grammar.y" /* glr.c:816 */
4141 (*(struct psi_decl_enum
**)(&(*yyvalp
))) = psi_decl_enum_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4142 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
4144 #line 4145 "src/parser_proc.c" /* glr.c:816 */
4148 #line 1428 "src/parser_proc_grammar.y" /* glr.c:816 */
4150 (*(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
)));
4152 #line 4153 "src/parser_proc.c" /* glr.c:816 */
4156 #line 1431 "src/parser_proc_grammar.y" /* glr.c:816 */
4158 (*(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
)));
4160 #line 4161 "src/parser_proc.c" /* glr.c:816 */
4164 #line 1437 "src/parser_proc_grammar.y" /* glr.c:816 */
4166 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4167 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4168 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4170 #line 4171 "src/parser_proc.c" /* glr.c:816 */
4174 #line 1442 "src/parser_proc_grammar.y" /* glr.c:816 */
4176 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4177 (*(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
)));
4178 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4180 #line 4181 "src/parser_proc.c" /* glr.c:816 */
4184 #line 1450 "src/parser_proc_grammar.y" /* glr.c:816 */
4186 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4187 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4189 #line 4190 "src/parser_proc.c" /* glr.c:816 */
4193 #line 1454 "src/parser_proc_grammar.y" /* glr.c:816 */
4195 (*(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
)));
4196 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4198 #line 4199 "src/parser_proc.c" /* glr.c:816 */
4202 #line 1458 "src/parser_proc_grammar.y" /* glr.c:816 */
4204 (*(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
)));
4205 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4207 #line 4208 "src/parser_proc.c" /* glr.c:816 */
4211 #line 1462 "src/parser_proc_grammar.y" /* glr.c:816 */
4213 (*(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
)));
4214 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4216 #line 4217 "src/parser_proc.c" /* glr.c:816 */
4220 #line 1466 "src/parser_proc_grammar.y" /* glr.c:816 */
4222 (*(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
)));
4223 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4225 #line 4226 "src/parser_proc.c" /* glr.c:816 */
4229 #line 1470 "src/parser_proc_grammar.y" /* glr.c:816 */
4231 (*(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
)));
4232 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4234 #line 4235 "src/parser_proc.c" /* glr.c:816 */
4238 #line 1477 "src/parser_proc_grammar.y" /* glr.c:816 */
4240 (*(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
);
4241 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4243 #line 4244 "src/parser_proc.c" /* glr.c:816 */
4247 #line 1481 "src/parser_proc_grammar.y" /* glr.c:816 */
4249 (*(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);
4250 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4252 #line 4253 "src/parser_proc.c" /* glr.c:816 */
4256 #line 1485 "src/parser_proc_grammar.y" /* glr.c:816 */
4258 (*(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);
4259 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4261 #line 4262 "src/parser_proc.c" /* glr.c:816 */
4265 #line 1489 "src/parser_proc_grammar.y" /* glr.c:816 */
4267 (*(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);
4268 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4270 #line 4271 "src/parser_proc.c" /* glr.c:816 */
4274 #line 1493 "src/parser_proc_grammar.y" /* glr.c:816 */
4276 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4277 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4279 #line 4280 "src/parser_proc.c" /* glr.c:816 */
4283 #line 1497 "src/parser_proc_grammar.y" /* glr.c:816 */
4285 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4287 #line 4288 "src/parser_proc.c" /* glr.c:816 */
4291 #line 1503 "src/parser_proc_grammar.y" /* glr.c:816 */
4293 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4294 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4296 #line 4297 "src/parser_proc.c" /* glr.c:816 */
4300 #line 1507 "src/parser_proc_grammar.y" /* glr.c:816 */
4302 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4303 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4305 #line 4306 "src/parser_proc.c" /* glr.c:816 */
4309 #line 1514 "src/parser_proc_grammar.y" /* glr.c:816 */
4311 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4313 #line 4314 "src/parser_proc.c" /* glr.c:816 */
4317 #line 1517 "src/parser_proc_grammar.y" /* glr.c:816 */
4319 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4320 int8_t sizeof_void_p
= sizeof(void *);
4321 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4323 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4326 #line 4327 "src/parser_proc.c" /* glr.c:816 */
4330 #line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */
4332 int8_t sizeof_void_p
= sizeof(void *);
4333 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4335 #line 4336 "src/parser_proc.c" /* glr.c:816 */
4339 #line 1532 "src/parser_proc_grammar.y" /* glr.c:816 */
4341 int8_t sizeof_a
= sizeof('a');
4342 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4344 #line 4345 "src/parser_proc.c" /* glr.c:816 */
4348 #line 1536 "src/parser_proc_grammar.y" /* glr.c:816 */
4350 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4352 #line 4353 "src/parser_proc.c" /* glr.c:816 */
4356 #line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */
4358 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4359 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4363 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4364 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4367 #line 4368 "src/parser_proc.c" /* glr.c:816 */
4371 #line 1555 "src/parser_proc_grammar.y" /* glr.c:816 */
4373 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4374 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4378 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4379 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4382 #line 4383 "src/parser_proc.c" /* glr.c:816 */
4386 #line 1568 "src/parser_proc_grammar.y" /* glr.c:816 */
4388 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4389 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4393 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4394 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4397 #line 4398 "src/parser_proc.c" /* glr.c:816 */
4401 #line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */
4403 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4405 #line 4406 "src/parser_proc.c" /* glr.c:816 */
4409 #line 1584 "src/parser_proc_grammar.y" /* glr.c:816 */
4411 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4412 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4414 #line 4415 "src/parser_proc.c" /* glr.c:816 */
4418 #line 1596 "src/parser_proc_grammar.y" /* glr.c:816 */
4420 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4422 #line 4423 "src/parser_proc.c" /* glr.c:816 */
4426 #line 1599 "src/parser_proc_grammar.y" /* glr.c:816 */
4428 (*(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
));
4430 #line 4431 "src/parser_proc.c" /* glr.c:816 */
4434 #line 1602 "src/parser_proc_grammar.y" /* glr.c:816 */
4436 (*(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
);
4438 #line 4439 "src/parser_proc.c" /* glr.c:816 */
4442 #line 1605 "src/parser_proc_grammar.y" /* glr.c:816 */
4444 (*(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
));
4446 #line 4447 "src/parser_proc.c" /* glr.c:816 */
4450 #line 1611 "src/parser_proc_grammar.y" /* glr.c:816 */
4452 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4453 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4455 #line 4456 "src/parser_proc.c" /* glr.c:816 */
4459 #line 1615 "src/parser_proc_grammar.y" /* glr.c:816 */
4461 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4462 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4464 #line 4465 "src/parser_proc.c" /* glr.c:816 */
4468 #line 1622 "src/parser_proc_grammar.y" /* glr.c:816 */
4470 (*(size_t*)(&(*yyvalp
))) = 0;
4472 #line 4473 "src/parser_proc.c" /* glr.c:816 */
4476 #line 1625 "src/parser_proc_grammar.y" /* glr.c:816 */
4478 (*(size_t*)(&(*yyvalp
))) = 0;
4480 #line 4481 "src/parser_proc.c" /* glr.c:816 */
4484 #line 1628 "src/parser_proc_grammar.y" /* glr.c:816 */
4486 (*(size_t*)(&(*yyvalp
))) = 0;
4488 #line 4489 "src/parser_proc.c" /* glr.c:816 */
4492 #line 1631 "src/parser_proc_grammar.y" /* glr.c:816 */
4494 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
)) {
4495 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4497 (*(size_t*)(&(*yyvalp
))) = 0;
4500 #line 4501 "src/parser_proc.c" /* glr.c:816 */
4504 #line 1641 "src/parser_proc_grammar.y" /* glr.c:816 */
4506 (*(size_t*)(&(*yyvalp
))) = 0;
4508 #line 4509 "src/parser_proc.c" /* glr.c:816 */
4512 #line 1644 "src/parser_proc_grammar.y" /* glr.c:816 */
4514 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4516 #line 4517 "src/parser_proc.c" /* glr.c:816 */
4520 #line 1651 "src/parser_proc_grammar.y" /* glr.c:816 */
4522 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4524 #line 4525 "src/parser_proc.c" /* glr.c:816 */
4528 #line 1657 "src/parser_proc_grammar.y" /* glr.c:816 */
4530 (*(size_t*)(&(*yyvalp
))) = 1;
4532 #line 4533 "src/parser_proc.c" /* glr.c:816 */
4536 #line 1660 "src/parser_proc_grammar.y" /* glr.c:816 */
4538 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4540 #line 4541 "src/parser_proc.c" /* glr.c:816 */
4544 #line 1677 "src/parser_proc_grammar.y" /* glr.c:816 */
4546 (*(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
)));
4548 #line 4549 "src/parser_proc.c" /* glr.c:816 */
4552 #line 1680 "src/parser_proc_grammar.y" /* glr.c:816 */
4554 (*(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
)));
4555 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4557 #line 4558 "src/parser_proc.c" /* glr.c:816 */
4561 #line 1687 "src/parser_proc_grammar.y" /* glr.c:816 */
4563 (*(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
)));
4564 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4565 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4567 #line 4568 "src/parser_proc.c" /* glr.c:816 */
4571 #line 1692 "src/parser_proc_grammar.y" /* glr.c:816 */
4573 (*(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
)));
4574 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4575 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4577 #line 4578 "src/parser_proc.c" /* glr.c:816 */
4581 #line 1697 "src/parser_proc_grammar.y" /* glr.c:816 */
4583 (*(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
)));
4584 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4585 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4586 (*(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
);
4587 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4589 #line 4590 "src/parser_proc.c" /* glr.c:816 */
4593 #line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */
4595 (*(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
)));
4597 #line 4598 "src/parser_proc.c" /* glr.c:816 */
4601 #line 1710 "src/parser_proc_grammar.y" /* glr.c:816 */
4603 (*(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
)));
4605 #line 4606 "src/parser_proc.c" /* glr.c:816 */
4609 #line 1716 "src/parser_proc_grammar.y" /* glr.c:816 */
4611 (*(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
);
4613 #line 4614 "src/parser_proc.c" /* glr.c:816 */
4617 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4619 (*(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
)));
4621 #line 4622 "src/parser_proc.c" /* glr.c:816 */
4625 #line 1725 "src/parser_proc_grammar.y" /* glr.c:816 */
4627 (*(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
)));
4628 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4630 #line 4631 "src/parser_proc.c" /* glr.c:816 */
4634 #line 1732 "src/parser_proc_grammar.y" /* glr.c:816 */
4636 (*(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
);
4637 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4639 #line 4640 "src/parser_proc.c" /* glr.c:816 */
4643 #line 1751 "src/parser_proc_grammar.y" /* glr.c:816 */
4645 (*(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
)));
4647 #line 4648 "src/parser_proc.c" /* glr.c:816 */
4651 #line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */
4653 (*(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
)));
4655 #line 4656 "src/parser_proc.c" /* glr.c:816 */
4659 #line 1760 "src/parser_proc_grammar.y" /* glr.c:816 */
4661 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4663 #line 4664 "src/parser_proc.c" /* glr.c:816 */
4667 #line 1763 "src/parser_proc_grammar.y" /* glr.c:816 */
4669 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4671 #line 4672 "src/parser_proc.c" /* glr.c:816 */
4675 #line 1766 "src/parser_proc_grammar.y" /* glr.c:816 */
4677 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4679 #line 4680 "src/parser_proc.c" /* glr.c:816 */
4683 #line 1769 "src/parser_proc_grammar.y" /* glr.c:816 */
4685 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4687 #line 4688 "src/parser_proc.c" /* glr.c:816 */
4691 #line 1772 "src/parser_proc_grammar.y" /* glr.c:816 */
4693 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4695 #line 4696 "src/parser_proc.c" /* glr.c:816 */
4699 #line 1778 "src/parser_proc_grammar.y" /* glr.c:816 */
4701 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4702 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4704 #line 4705 "src/parser_proc.c" /* glr.c:816 */
4708 #line 1782 "src/parser_proc_grammar.y" /* glr.c:816 */
4710 (*(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
))));
4711 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4712 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4714 #line 4715 "src/parser_proc.c" /* glr.c:816 */
4718 #line 1791 "src/parser_proc_grammar.y" /* glr.c:816 */
4720 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4721 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4723 #line 4724 "src/parser_proc.c" /* glr.c:816 */
4727 #line 1795 "src/parser_proc_grammar.y" /* glr.c:816 */
4729 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4730 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4732 #line 4733 "src/parser_proc.c" /* glr.c:816 */
4736 #line 1802 "src/parser_proc_grammar.y" /* glr.c:816 */
4738 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4740 #line 4741 "src/parser_proc.c" /* glr.c:816 */
4744 #line 1805 "src/parser_proc_grammar.y" /* glr.c:816 */
4746 (*(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
)));
4748 #line 4749 "src/parser_proc.c" /* glr.c:816 */
4752 #line 1808 "src/parser_proc_grammar.y" /* glr.c:816 */
4754 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4756 #line 4757 "src/parser_proc.c" /* glr.c:816 */
4760 #line 1811 "src/parser_proc_grammar.y" /* glr.c:816 */
4762 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4763 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4765 #line 4766 "src/parser_proc.c" /* glr.c:816 */
4769 #line 1815 "src/parser_proc_grammar.y" /* glr.c:816 */
4771 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4773 #line 4774 "src/parser_proc.c" /* glr.c:816 */
4777 #line 1818 "src/parser_proc_grammar.y" /* glr.c:816 */
4779 (*(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
)));
4781 #line 4782 "src/parser_proc.c" /* glr.c:816 */
4785 #line 1824 "src/parser_proc_grammar.y" /* glr.c:816 */
4787 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4788 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4790 #line 4791 "src/parser_proc.c" /* glr.c:816 */
4794 #line 1828 "src/parser_proc_grammar.y" /* glr.c:816 */
4796 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4797 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4798 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4800 #line 4801 "src/parser_proc.c" /* glr.c:816 */
4804 #line 1836 "src/parser_proc_grammar.y" /* glr.c:816 */
4806 (*(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
)));
4807 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4809 #line 4810 "src/parser_proc.c" /* glr.c:816 */
4813 #line 1843 "src/parser_proc_grammar.y" /* glr.c:816 */
4815 (*(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
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
4816 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4817 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
4819 #line 4820 "src/parser_proc.c" /* glr.c:816 */
4823 #line 1851 "src/parser_proc_grammar.y" /* glr.c:816 */
4825 (*(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
)));
4826 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4827 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4829 #line 4830 "src/parser_proc.c" /* glr.c:816 */
4833 #line 1872 "src/parser_proc_grammar.y" /* glr.c:816 */
4835 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4837 #line 4838 "src/parser_proc.c" /* glr.c:816 */
4841 #line 1875 "src/parser_proc_grammar.y" /* glr.c:816 */
4843 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4845 #line 4846 "src/parser_proc.c" /* glr.c:816 */
4849 #line 1881 "src/parser_proc_grammar.y" /* glr.c:816 */
4851 (*(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
)));
4853 #line 4854 "src/parser_proc.c" /* glr.c:816 */
4857 #line 1884 "src/parser_proc_grammar.y" /* glr.c:816 */
4859 (*(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
)));
4861 #line 4862 "src/parser_proc.c" /* glr.c:816 */
4865 #line 1895 "src/parser_proc_grammar.y" /* glr.c:816 */
4867 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4869 #line 4870 "src/parser_proc.c" /* glr.c:816 */
4873 #line 1898 "src/parser_proc_grammar.y" /* glr.c:816 */
4875 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4877 #line 4878 "src/parser_proc.c" /* glr.c:816 */
4881 #line 1904 "src/parser_proc_grammar.y" /* glr.c:816 */
4883 (*(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
)));
4885 #line 4886 "src/parser_proc.c" /* glr.c:816 */
4889 #line 1907 "src/parser_proc_grammar.y" /* glr.c:816 */
4891 (*(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
)));
4893 #line 4894 "src/parser_proc.c" /* glr.c:816 */
4897 #line 1913 "src/parser_proc_grammar.y" /* glr.c:816 */
4899 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4900 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4902 #line 4903 "src/parser_proc.c" /* glr.c:816 */
4906 #line 1920 "src/parser_proc_grammar.y" /* glr.c:816 */
4908 (*(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
))));
4909 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
4911 #line 4912 "src/parser_proc.c" /* glr.c:816 */
4915 #line 1924 "src/parser_proc_grammar.y" /* glr.c:816 */
4917 (*(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
))));
4918 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4920 #line 4921 "src/parser_proc.c" /* glr.c:816 */
4924 #line 1931 "src/parser_proc_grammar.y" /* glr.c:816 */
4926 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4928 #line 4929 "src/parser_proc.c" /* glr.c:816 */
4932 #line 1934 "src/parser_proc_grammar.y" /* glr.c:816 */
4934 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4936 #line 4937 "src/parser_proc.c" /* glr.c:816 */
4940 #line 1937 "src/parser_proc_grammar.y" /* glr.c:816 */
4942 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4944 #line 4945 "src/parser_proc.c" /* glr.c:816 */
4948 #line 1943 "src/parser_proc_grammar.y" /* glr.c:816 */
4950 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4951 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4953 #line 4954 "src/parser_proc.c" /* glr.c:816 */
4957 #line 1950 "src/parser_proc_grammar.y" /* glr.c:816 */
4959 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4961 #line 4962 "src/parser_proc.c" /* glr.c:816 */
4965 #line 1953 "src/parser_proc_grammar.y" /* glr.c:816 */
4967 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4969 #line 4970 "src/parser_proc.c" /* glr.c:816 */
4973 #line 1956 "src/parser_proc_grammar.y" /* glr.c:816 */
4975 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4976 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4978 #line 4979 "src/parser_proc.c" /* glr.c:816 */
4982 #line 1963 "src/parser_proc_grammar.y" /* glr.c:816 */
4984 (*(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
)));
4985 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4986 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4988 #line 4989 "src/parser_proc.c" /* glr.c:816 */
4992 #line 1968 "src/parser_proc_grammar.y" /* glr.c:816 */
4994 (*(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
)));
4995 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4996 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4998 #line 4999 "src/parser_proc.c" /* glr.c:816 */
5002 #line 1987 "src/parser_proc_grammar.y" /* glr.c:816 */
5004 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5006 #line 5007 "src/parser_proc.c" /* glr.c:816 */
5010 #line 1990 "src/parser_proc_grammar.y" /* glr.c:816 */
5012 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5014 #line 5015 "src/parser_proc.c" /* glr.c:816 */
5018 #line 1996 "src/parser_proc_grammar.y" /* glr.c:816 */
5020 (*(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
)));
5022 #line 5023 "src/parser_proc.c" /* glr.c:816 */
5026 #line 1999 "src/parser_proc_grammar.y" /* glr.c:816 */
5028 (*(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
)));
5030 #line 5031 "src/parser_proc.c" /* glr.c:816 */
5034 #line 2005 "src/parser_proc_grammar.y" /* glr.c:816 */
5036 (*(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
)));
5037 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5039 #line 5040 "src/parser_proc.c" /* glr.c:816 */
5043 #line 2017 "src/parser_proc_grammar.y" /* glr.c:816 */
5045 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5046 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5048 #line 5049 "src/parser_proc.c" /* glr.c:816 */
5052 #line 2024 "src/parser_proc_grammar.y" /* glr.c:816 */
5054 (*(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
)));
5056 #line 5057 "src/parser_proc.c" /* glr.c:816 */
5060 #line 2027 "src/parser_proc_grammar.y" /* glr.c:816 */
5062 (*(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
)));
5064 #line 5065 "src/parser_proc.c" /* glr.c:816 */
5068 #line 2033 "src/parser_proc_grammar.y" /* glr.c:816 */
5070 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5071 (*(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
)));
5072 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5074 #line 5075 "src/parser_proc.c" /* glr.c:816 */
5078 #line 2041 "src/parser_proc_grammar.y" /* glr.c:816 */
5080 (*(bool*)(&(*yyvalp
))) = false;
5082 #line 5083 "src/parser_proc.c" /* glr.c:816 */
5086 #line 2044 "src/parser_proc_grammar.y" /* glr.c:816 */
5088 (*(bool*)(&(*yyvalp
))) = true;
5090 #line 5091 "src/parser_proc.c" /* glr.c:816 */
5094 #line 5095 "src/parser_proc.c" /* glr.c:816 */
5105 # undef YYRECOVERING
5110 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5122 /* Bison grammar-table manipulation. */
5124 /*-----------------------------------------------.
5125 | Release the memory associated to this symbol. |
5126 `-----------------------------------------------*/
5129 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5137 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5139 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5142 case 141: /* binary_op_token */
5143 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5145 #line 5146 "src/parser_proc.c" /* glr.c:846 */
5148 case 142: /* unary_op_token */
5149 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5151 #line 5152 "src/parser_proc.c" /* glr.c:846 */
5154 case 143: /* name_token */
5155 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5157 #line 5158 "src/parser_proc.c" /* glr.c:846 */
5160 case 144: /* any_noeol_token */
5161 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5163 #line 5164 "src/parser_proc.c" /* glr.c:846 */
5167 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5168 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5169 #line 5170 "src/parser_proc.c" /* glr.c:846 */
5173 #line 291 "src/parser_proc_grammar.y" /* glr.c:846 */
5174 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5175 #line 5176 "src/parser_proc.c" /* glr.c:846 */
5178 case 151: /* cpp_exp */
5179 #line 291 "src/parser_proc_grammar.y" /* glr.c:846 */
5180 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5181 #line 5182 "src/parser_proc.c" /* glr.c:846 */
5184 case 153: /* cpp_message_token */
5185 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5187 #line 5188 "src/parser_proc.c" /* glr.c:846 */
5190 case 154: /* cpp_include_token */
5191 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5193 #line 5194 "src/parser_proc.c" /* glr.c:846 */
5196 case 155: /* cpp_header_token */
5197 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5199 #line 5200 "src/parser_proc.c" /* glr.c:846 */
5202 case 156: /* cpp_no_arg_token */
5203 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5205 #line 5206 "src/parser_proc.c" /* glr.c:846 */
5208 case 157: /* cpp_name_arg_token */
5209 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5211 #line 5212 "src/parser_proc.c" /* glr.c:846 */
5214 case 158: /* cpp_exp_arg_token */
5215 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5217 #line 5218 "src/parser_proc.c" /* glr.c:846 */
5220 case 159: /* cpp_special_name_token */
5221 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5223 #line 5224 "src/parser_proc.c" /* glr.c:846 */
5226 case 160: /* cpp_macro_decl */
5227 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5228 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5229 #line 5230 "src/parser_proc.c" /* glr.c:846 */
5232 case 161: /* cpp_macro_sig */
5233 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5234 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5235 #line 5236 "src/parser_proc.c" /* glr.c:846 */
5238 case 162: /* cpp_macro_sig_args */
5239 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5240 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5241 #line 5242 "src/parser_proc.c" /* glr.c:846 */
5244 case 163: /* cpp_macro_decl_tokens */
5245 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5246 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5247 #line 5248 "src/parser_proc.c" /* glr.c:846 */
5250 case 164: /* cpp_macro_decl_token_list */
5251 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5252 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5253 #line 5254 "src/parser_proc.c" /* glr.c:846 */
5256 case 165: /* cpp_macro_exp */
5257 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5258 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5259 #line 5260 "src/parser_proc.c" /* glr.c:846 */
5262 case 166: /* cpp_macro_call_args */
5263 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5264 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5265 #line 5266 "src/parser_proc.c" /* glr.c:846 */
5268 case 167: /* cpp_macro_call_arg_list */
5269 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5270 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5271 #line 5272 "src/parser_proc.c" /* glr.c:846 */
5274 case 168: /* constant */
5275 #line 303 "src/parser_proc_grammar.y" /* glr.c:846 */
5276 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5277 #line 5278 "src/parser_proc.c" /* glr.c:846 */
5280 case 169: /* constant_type */
5281 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5282 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5283 #line 5284 "src/parser_proc.c" /* glr.c:846 */
5286 case 170: /* constant_type_token */
5287 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5289 #line 5290 "src/parser_proc.c" /* glr.c:846 */
5292 case 171: /* impl_def_val */
5293 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5294 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5295 #line 5296 "src/parser_proc.c" /* glr.c:846 */
5298 case 172: /* impl_def_val_token */
5299 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5301 #line 5302 "src/parser_proc.c" /* glr.c:846 */
5304 case 173: /* decl_typedef */
5305 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5306 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5307 #line 5308 "src/parser_proc.c" /* glr.c:846 */
5310 case 174: /* typedef */
5311 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5312 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5313 #line 5314 "src/parser_proc.c" /* glr.c:846 */
5316 case 175: /* typedef_anon */
5317 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5318 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5319 #line 5320 "src/parser_proc.c" /* glr.c:846 */
5322 case 176: /* typedef_decl */
5323 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5324 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5325 #line 5326 "src/parser_proc.c" /* glr.c:846 */
5328 case 177: /* typedef_anon_decl */
5329 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5330 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5331 #line 5332 "src/parser_proc.c" /* glr.c:846 */
5334 case 178: /* qualified_decl_type */
5335 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5336 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5337 #line 5338 "src/parser_proc.c" /* glr.c:846 */
5340 case 179: /* decl_type */
5341 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5342 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5343 #line 5344 "src/parser_proc.c" /* glr.c:846 */
5346 case 180: /* decl_type_complex */
5347 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5348 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5349 #line 5350 "src/parser_proc.c" /* glr.c:846 */
5352 case 181: /* decl_type_simple */
5353 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5354 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5355 #line 5356 "src/parser_proc.c" /* glr.c:846 */
5358 case 182: /* decl_real_type */
5359 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5360 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5361 #line 5362 "src/parser_proc.c" /* glr.c:846 */
5364 case 183: /* int_signed */
5365 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5367 #line 5368 "src/parser_proc.c" /* glr.c:846 */
5370 case 184: /* int_width */
5371 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5372 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5373 #line 5374 "src/parser_proc.c" /* glr.c:846 */
5376 case 185: /* decl_int_type */
5377 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5378 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5379 #line 5380 "src/parser_proc.c" /* glr.c:846 */
5382 case 186: /* int_signed_types */
5383 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5384 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5385 #line 5386 "src/parser_proc.c" /* glr.c:846 */
5388 case 187: /* signed_short_types */
5389 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5391 #line 5392 "src/parser_proc.c" /* glr.c:846 */
5394 case 188: /* signed_long_types */
5395 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5397 #line 5398 "src/parser_proc.c" /* glr.c:846 */
5400 case 189: /* int_width_types */
5401 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5402 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5403 #line 5404 "src/parser_proc.c" /* glr.c:846 */
5406 case 190: /* decl_stmt */
5407 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5408 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5409 #line 5410 "src/parser_proc.c" /* glr.c:846 */
5412 case 196: /* decl_vars */
5413 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5414 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5415 #line 5416 "src/parser_proc.c" /* glr.c:846 */
5418 case 201: /* decl */
5419 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5420 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5421 #line 5422 "src/parser_proc.c" /* glr.c:846 */
5424 case 202: /* decl_body */
5425 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5426 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5427 #line 5428 "src/parser_proc.c" /* glr.c:846 */
5430 case 203: /* decl_func_body */
5431 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5432 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5433 #line 5434 "src/parser_proc.c" /* glr.c:846 */
5436 case 204: /* decl_functor_body */
5437 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5438 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5439 #line 5440 "src/parser_proc.c" /* glr.c:846 */
5442 case 205: /* decl_functor */
5443 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5444 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5445 #line 5446 "src/parser_proc.c" /* glr.c:846 */
5448 case 206: /* decl_func */
5449 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5450 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5451 #line 5452 "src/parser_proc.c" /* glr.c:846 */
5454 case 207: /* decl_args */
5455 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5456 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5457 #line 5458 "src/parser_proc.c" /* glr.c:846 */
5460 case 208: /* decl_arg_list */
5461 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5462 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5463 #line 5464 "src/parser_proc.c" /* glr.c:846 */
5466 case 209: /* decl_anon_arg */
5467 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5468 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5469 #line 5470 "src/parser_proc.c" /* glr.c:846 */
5472 case 210: /* decl_arg */
5473 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5474 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5475 #line 5476 "src/parser_proc.c" /* glr.c:846 */
5478 case 211: /* decl_var */
5479 #line 319 "src/parser_proc_grammar.y" /* glr.c:846 */
5480 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5481 #line 5482 "src/parser_proc.c" /* glr.c:846 */
5484 case 212: /* decl_union */
5485 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
5486 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5487 #line 5488 "src/parser_proc.c" /* glr.c:846 */
5490 case 213: /* decl_struct */
5491 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5492 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5493 #line 5494 "src/parser_proc.c" /* glr.c:846 */
5496 case 214: /* decl_struct_args */
5497 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5498 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5499 #line 5500 "src/parser_proc.c" /* glr.c:846 */
5502 case 215: /* struct_args_block */
5503 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5504 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5505 #line 5506 "src/parser_proc.c" /* glr.c:846 */
5508 case 216: /* struct_args */
5509 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5510 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5511 #line 5512 "src/parser_proc.c" /* glr.c:846 */
5514 case 217: /* struct_arg_var_list */
5515 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5516 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5517 #line 5518 "src/parser_proc.c" /* glr.c:846 */
5520 case 218: /* decl_vars_with_layout */
5521 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5522 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5523 #line 5524 "src/parser_proc.c" /* glr.c:846 */
5526 case 219: /* decl_enum */
5527 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5528 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5529 #line 5530 "src/parser_proc.c" /* glr.c:846 */
5532 case 220: /* decl_enum_items */
5533 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5534 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5535 #line 5536 "src/parser_proc.c" /* glr.c:846 */
5538 case 221: /* decl_enum_item */
5539 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5540 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5541 #line 5542 "src/parser_proc.c" /* glr.c:846 */
5544 case 222: /* num_exp */
5545 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
5546 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5547 #line 5548 "src/parser_proc.c" /* glr.c:846 */
5550 case 223: /* number */
5551 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
5552 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5553 #line 5554 "src/parser_proc.c" /* glr.c:846 */
5556 case 224: /* sizeof */
5557 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5558 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5559 #line 5560 "src/parser_proc.c" /* glr.c:846 */
5562 case 225: /* sizeof_body */
5563 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5564 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5565 #line 5566 "src/parser_proc.c" /* glr.c:846 */
5568 case 226: /* sizeof_body_notypes */
5569 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5570 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5571 #line 5572 "src/parser_proc.c" /* glr.c:846 */
5574 case 227: /* enum_name */
5575 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5576 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5577 #line 5578 "src/parser_proc.c" /* glr.c:846 */
5580 case 228: /* union_name */
5581 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5582 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5583 #line 5584 "src/parser_proc.c" /* glr.c:846 */
5586 case 229: /* struct_name */
5587 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5588 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5589 #line 5590 "src/parser_proc.c" /* glr.c:846 */
5592 case 230: /* optional_name */
5593 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5594 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5595 #line 5596 "src/parser_proc.c" /* glr.c:846 */
5598 case 232: /* decl_layout */
5599 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5600 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5601 #line 5602 "src/parser_proc.c" /* glr.c:846 */
5604 case 233: /* align_and_size */
5605 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5607 #line 5608 "src/parser_proc.c" /* glr.c:846 */
5610 case 234: /* array_size */
5611 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5613 #line 5614 "src/parser_proc.c" /* glr.c:846 */
5616 case 235: /* indirection */
5617 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5619 #line 5620 "src/parser_proc.c" /* glr.c:846 */
5622 case 236: /* pointers */
5623 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5625 #line 5626 "src/parser_proc.c" /* glr.c:846 */
5628 case 237: /* asterisks */
5629 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5631 #line 5632 "src/parser_proc.c" /* glr.c:846 */
5634 case 239: /* impl */
5635 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5636 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5637 #line 5638 "src/parser_proc.c" /* glr.c:846 */
5640 case 240: /* impl_func */
5641 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5642 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5643 #line 5644 "src/parser_proc.c" /* glr.c:846 */
5646 case 241: /* impl_args */
5647 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5648 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5649 #line 5650 "src/parser_proc.c" /* glr.c:846 */
5652 case 242: /* impl_arg */
5653 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5654 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5655 #line 5656 "src/parser_proc.c" /* glr.c:846 */
5658 case 243: /* impl_var */
5659 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5660 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5661 #line 5662 "src/parser_proc.c" /* glr.c:846 */
5664 case 244: /* impl_type */
5665 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5666 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5667 #line 5668 "src/parser_proc.c" /* glr.c:846 */
5670 case 245: /* impl_type_token */
5671 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5672 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5673 #line 5674 "src/parser_proc.c" /* glr.c:846 */
5676 case 246: /* impl_stmts */
5677 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5678 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5679 #line 5680 "src/parser_proc.c" /* glr.c:846 */
5682 case 247: /* impl_stmt */
5683 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5684 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5685 #line 5686 "src/parser_proc.c" /* glr.c:846 */
5688 case 248: /* let_stmt */
5689 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5690 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5691 #line 5692 "src/parser_proc.c" /* glr.c:846 */
5694 case 249: /* let_exp */
5695 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5696 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5697 #line 5698 "src/parser_proc.c" /* glr.c:846 */
5700 case 250: /* let_exp_byref */
5701 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5702 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5703 #line 5704 "src/parser_proc.c" /* glr.c:846 */
5706 case 251: /* let_exp_assign */
5707 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5708 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5709 #line 5710 "src/parser_proc.c" /* glr.c:846 */
5712 case 252: /* let_calloc */
5713 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
5714 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5715 #line 5716 "src/parser_proc.c" /* glr.c:846 */
5718 case 253: /* let_callback */
5719 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5720 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5721 #line 5722 "src/parser_proc.c" /* glr.c:846 */
5724 case 254: /* let_func */
5725 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5726 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5727 #line 5728 "src/parser_proc.c" /* glr.c:846 */
5730 case 255: /* let_func_token */
5731 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5732 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5733 #line 5734 "src/parser_proc.c" /* glr.c:846 */
5736 case 256: /* let_func_exps */
5737 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5738 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5739 #line 5740 "src/parser_proc.c" /* glr.c:846 */
5742 case 257: /* let_exps */
5743 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5744 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5745 #line 5746 "src/parser_proc.c" /* glr.c:846 */
5748 case 258: /* callback_rval */
5749 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5750 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5751 #line 5752 "src/parser_proc.c" /* glr.c:846 */
5754 case 259: /* callback_arg_list */
5755 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5756 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5757 #line 5758 "src/parser_proc.c" /* glr.c:846 */
5760 case 260: /* callback_args */
5761 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5762 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5763 #line 5764 "src/parser_proc.c" /* glr.c:846 */
5766 case 261: /* return_stmt */
5767 #line 369 "src/parser_proc_grammar.y" /* glr.c:846 */
5768 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5769 #line 5770 "src/parser_proc.c" /* glr.c:846 */
5772 case 262: /* return_exp */
5773 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5774 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5775 #line 5776 "src/parser_proc.c" /* glr.c:846 */
5778 case 263: /* call_decl_vars */
5779 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5780 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5781 #line 5782 "src/parser_proc.c" /* glr.c:846 */
5784 case 264: /* set_stmt */
5785 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5786 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5787 #line 5788 "src/parser_proc.c" /* glr.c:846 */
5790 case 265: /* set_exp */
5791 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5792 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5793 #line 5794 "src/parser_proc.c" /* glr.c:846 */
5796 case 266: /* set_func */
5797 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5798 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5799 #line 5800 "src/parser_proc.c" /* glr.c:846 */
5802 case 267: /* set_func_token */
5803 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5804 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5805 #line 5806 "src/parser_proc.c" /* glr.c:846 */
5808 case 268: /* set_func_exps */
5809 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5810 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5811 #line 5812 "src/parser_proc.c" /* glr.c:846 */
5814 case 269: /* set_exps */
5815 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5816 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5817 #line 5818 "src/parser_proc.c" /* glr.c:846 */
5820 case 270: /* assert_stmt */
5821 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5822 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5823 #line 5824 "src/parser_proc.c" /* glr.c:846 */
5826 case 271: /* assert_stmt_token */
5827 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5828 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5829 #line 5830 "src/parser_proc.c" /* glr.c:846 */
5832 case 272: /* free_stmt */
5833 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5834 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5835 #line 5836 "src/parser_proc.c" /* glr.c:846 */
5838 case 273: /* free_exps */
5839 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5840 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5841 #line 5842 "src/parser_proc.c" /* glr.c:846 */
5844 case 274: /* free_exp */
5845 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5846 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5847 #line 5848 "src/parser_proc.c" /* glr.c:846 */
5850 case 275: /* reference */
5851 #line 392 "src/parser_proc_grammar.y" /* glr.c:846 */
5853 #line 5854 "src/parser_proc.c" /* glr.c:846 */
5860 YY_IGNORE_MAYBE_UNINITIALIZED_END
5863 /** Number of symbols composing the right hand side of rule #RULE. */
5865 yyrhsLength (yyRuleNum yyrule
)
5867 return yyr2
[yyrule
];
5871 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5873 if (yys
->yyresolved
)
5874 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5875 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5881 if (yys
->yysemantics
.yyfirstVal
)
5882 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5884 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5885 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5889 if (yys
->yysemantics
.yyfirstVal
)
5891 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5894 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5896 yyrh
= yyrh
->yypred
, yyn
-= 1)
5897 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5902 /** Left-hand-side symbol for rule #YYRULE. */
5903 static inline yySymbol
5904 yylhsNonterm (yyRuleNum yyrule
)
5906 return yyr1
[yyrule
];
5909 #define yypact_value_is_default(Yystate) \
5910 (!!((Yystate) == (-704)))
5912 /** True iff LR state YYSTATE has only a default reduction (regardless
5914 static inline yybool
5915 yyisDefaultedState (yyStateNum yystate
)
5917 return yypact_value_is_default (yypact
[yystate
]);
5920 /** The default reduction for YYSTATE, assuming it has one. */
5921 static inline yyRuleNum
5922 yydefaultAction (yyStateNum yystate
)
5924 return yydefact
[yystate
];
5927 #define yytable_value_is_error(Yytable_value) \
5930 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5932 * R < 0: Reduce on rule -R.
5934 * R > 0: Shift to state R.
5935 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5936 * of conflicting reductions.
5939 yygetLRActions (yyStateNum yystate
, int yytoken
,
5940 int* yyaction
, const short int** yyconflicts
)
5942 int yyindex
= yypact
[yystate
] + yytoken
;
5943 if (yypact_value_is_default (yypact
[yystate
])
5944 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5946 *yyaction
= -yydefact
[yystate
];
5947 *yyconflicts
= yyconfl
;
5949 else if (! yytable_value_is_error (yytable
[yyindex
]))
5951 *yyaction
= yytable
[yyindex
];
5952 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5957 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5961 /** Compute post-reduction state.
5962 * \param yystate the current state
5963 * \param yysym the nonterminal to push on the stack
5965 static inline yyStateNum
5966 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5968 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5969 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5970 return yytable
[yyr
];
5972 return yydefgoto
[yysym
- YYNTOKENS
];
5975 static inline yybool
5976 yyisShiftAction (int yyaction
)
5978 return 0 < yyaction
;
5981 static inline yybool
5982 yyisErrorAction (int yyaction
)
5984 return yyaction
== 0;
5989 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5990 * if YYISSTATE, and otherwise a semantic option. Callers should call
5991 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5994 static inline yyGLRStackItem
*
5995 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5997 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5998 yystackp
->yyspaceLeft
-= 1;
5999 yystackp
->yynextFree
+= 1;
6000 yynewItem
->yystate
.yyisState
= yyisState
;
6004 /** Add a new semantic action that will execute the action for rule
6005 * YYRULE on the semantic values in YYRHS to the list of
6006 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6007 * stack #YYK of *YYSTACKP. */
6009 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6010 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6012 yySemanticOption
* yynewOption
=
6013 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6014 YYASSERT (!yynewOption
->yyisState
);
6015 yynewOption
->yystate
= yyrhs
;
6016 yynewOption
->yyrule
= yyrule
;
6017 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6019 yynewOption
->yyrawchar
= yychar
;
6020 yynewOption
->yyval
= yylval
;
6023 yynewOption
->yyrawchar
= YYEMPTY
;
6024 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6025 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6027 YY_RESERVE_GLRSTACK (yystackp
);
6032 /** Initialize YYSET to a singleton set containing an empty stack. */
6034 yyinitStateSet (yyGLRStateSet
* yyset
)
6037 yyset
->yycapacity
= 16;
6038 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6039 if (! yyset
->yystates
)
6041 yyset
->yystates
[0] = YY_NULLPTR
;
6042 yyset
->yylookaheadNeeds
=
6043 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6044 if (! yyset
->yylookaheadNeeds
)
6046 YYFREE (yyset
->yystates
);
6052 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6054 YYFREE (yyset
->yystates
);
6055 YYFREE (yyset
->yylookaheadNeeds
);
6058 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6059 * capacity for all stacks of YYSIZE. */
6061 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6063 yystackp
->yyerrState
= 0;
6065 yystackp
->yyspaceLeft
= yysize
;
6067 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6068 if (!yystackp
->yyitems
)
6070 yystackp
->yynextFree
= yystackp
->yyitems
;
6071 yystackp
->yysplitPoint
= YY_NULLPTR
;
6072 yystackp
->yylastDeleted
= YY_NULLPTR
;
6073 return yyinitStateSet (&yystackp
->yytops
);
6077 #if YYSTACKEXPANDABLE
6078 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6079 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6081 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6082 stack from outside should be considered invalid after this call.
6083 We always expand when there are 1 or fewer items left AFTER an
6084 allocation, so that we can avoid having external pointers exist
6085 across an allocation. */
6087 yyexpandGLRStack (yyGLRStack
* yystackp
)
6089 yyGLRStackItem
* yynewItems
;
6090 yyGLRStackItem
* yyp0
, *yyp1
;
6093 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6094 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6095 yyMemoryExhausted (yystackp
);
6096 yynewSize
= 2*yysize
;
6097 if (YYMAXDEPTH
< yynewSize
)
6098 yynewSize
= YYMAXDEPTH
;
6099 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6101 yyMemoryExhausted (yystackp
);
6102 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6104 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6107 if (*(yybool
*) yyp0
)
6109 yyGLRState
* yys0
= &yyp0
->yystate
;
6110 yyGLRState
* yys1
= &yyp1
->yystate
;
6111 if (yys0
->yypred
!= YY_NULLPTR
)
6113 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6114 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6115 yys1
->yysemantics
.yyfirstVal
=
6116 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6120 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6121 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6122 if (yyv0
->yystate
!= YY_NULLPTR
)
6123 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6124 if (yyv0
->yynext
!= YY_NULLPTR
)
6125 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6128 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6129 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6130 yystackp
->yysplitPoint
, yystate
);
6132 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6133 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6134 yystackp
->yytops
.yystates
[yyn
] =
6135 YYRELOC (yystackp
->yyitems
, yynewItems
,
6136 yystackp
->yytops
.yystates
[yyn
], yystate
);
6137 YYFREE (yystackp
->yyitems
);
6138 yystackp
->yyitems
= yynewItems
;
6139 yystackp
->yynextFree
= yynewItems
+ yysize
;
6140 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6145 yyfreeGLRStack (yyGLRStack
* yystackp
)
6147 YYFREE (yystackp
->yyitems
);
6148 yyfreeStateSet (&yystackp
->yytops
);
6151 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6152 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6155 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6157 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6158 yystackp
->yysplitPoint
= yys
;
6161 /** Invalidate stack #YYK in *YYSTACKP. */
6163 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6165 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6166 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6167 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6170 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6171 only be done once after a deletion, and only when all other stacks have
6174 yyundeleteLastStack (yyGLRStack
* yystackp
)
6176 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6178 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6179 yystackp
->yytops
.yysize
= 1;
6180 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6181 yystackp
->yylastDeleted
= YY_NULLPTR
;
6185 yyremoveDeletes (yyGLRStack
* yystackp
)
6189 while (yyj
< yystackp
->yytops
.yysize
)
6191 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6195 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6197 yystackp
->yytops
.yysize
-= 1;
6201 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6202 /* In the current implementation, it's unnecessary to copy
6203 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6204 yyremoveDeletes returns, the parser immediately either enters
6205 deterministic operation or shifts a token. However, it doesn't
6206 hurt, and the code might evolve to need it. */
6207 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6208 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6211 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6212 (unsigned long int) yyi
, (unsigned long int) yyj
));
6220 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6221 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6222 * value *YYVALP and source location *YYLOCP. */
6224 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6228 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6230 yynewState
->yylrState
= yylrState
;
6231 yynewState
->yyposn
= yyposn
;
6232 yynewState
->yyresolved
= yytrue
;
6233 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6234 yynewState
->yysemantics
.yysval
= *yyvalp
;
6235 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6237 YY_RESERVE_GLRSTACK (yystackp
);
6240 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6241 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6242 * semantic value of YYRHS under the action for YYRULE. */
6244 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6245 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6247 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6248 YYASSERT (yynewState
->yyisState
);
6250 yynewState
->yylrState
= yylrState
;
6251 yynewState
->yyposn
= yyposn
;
6252 yynewState
->yyresolved
= yyfalse
;
6253 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6254 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6255 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6257 /* Invokes YY_RESERVE_GLRSTACK. */
6258 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6262 # define YY_REDUCE_PRINT(Args)
6264 # define YY_REDUCE_PRINT(Args) \
6267 yy_reduce_print Args; \
6270 /*----------------------------------------------------------------------.
6271 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6272 `----------------------------------------------------------------------*/
6275 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6276 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6278 int yynrhs
= yyrhsLength (yyrule
);
6280 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6281 (unsigned long int) yyk
, yyrule
- 1,
6282 (unsigned long int) yyrline
[yyrule
]);
6284 yyfillin (yyvsp
, 1, -yynrhs
);
6285 /* The symbols being reduced. */
6286 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6288 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6289 yy_symbol_print (stderr
,
6290 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6291 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6292 , P
, tokens
, index
);
6293 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6294 YYFPRINTF (stderr
, " (unresolved)");
6295 YYFPRINTF (stderr
, "\n");
6300 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6301 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6302 * semantic values. Assumes that all ambiguities in semantic values
6303 * have been previously resolved. Set *YYVALP to the resulting value,
6304 * and *YYLOCP to the computed location (if any). Return value is as
6305 * for userAction. */
6306 static inline YYRESULTTAG
6307 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6308 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6310 int yynrhs
= yyrhsLength (yyrule
);
6312 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6314 /* Standard special case: single stack. */
6315 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6316 YYASSERT (yyk
== 0);
6317 yystackp
->yynextFree
-= yynrhs
;
6318 yystackp
->yyspaceLeft
+= yynrhs
;
6319 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6320 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6321 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6322 yyvalp
, P
, tokens
, index
);
6328 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6329 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6330 = yystackp
->yytops
.yystates
[yyk
];
6331 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6336 yyupdateSplit (yystackp
, yys
);
6337 yystackp
->yytops
.yystates
[yyk
] = yys
;
6338 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6339 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6340 yystackp
, yyvalp
, P
, tokens
, index
);
6344 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6345 * and push back on the resulting nonterminal symbol. Perform the
6346 * semantic action associated with YYRULE and store its value with the
6347 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6348 * unambiguous. Otherwise, store the deferred semantic action with
6349 * the new state. If the new state would have an identical input
6350 * position, LR state, and predecessor to an existing state on the stack,
6351 * it is identified with that existing state, eliminating stack #YYK from
6352 * *YYSTACKP. In this case, the semantic value is
6353 * added to the options for the existing state's semantic value.
6355 static inline YYRESULTTAG
6356 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6357 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6359 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6361 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6365 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6366 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6368 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6369 (unsigned long int) yyk
, yyrule
- 1));
6373 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6374 yyglrShift (yystackp
, yyk
,
6375 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6376 yylhsNonterm (yyrule
)),
6383 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6384 yyStateNum yynewLRState
;
6386 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6392 yyupdateSplit (yystackp
, yys
);
6393 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6395 "Reduced stack %lu by rule #%d; action deferred. "
6396 "Now in state %d.\n",
6397 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6398 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6399 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6401 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6402 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6403 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6405 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6407 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6408 yymarkStackDeleted (yystackp
, yyk
);
6409 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6410 (unsigned long int) yyk
,
6411 (unsigned long int) yyi
));
6417 yystackp
->yytops
.yystates
[yyk
] = yys
;
6418 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6424 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6426 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6428 YYASSERT (yyk
== 0);
6429 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6431 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6433 yyGLRState
** yynewStates
;
6434 yybool
* yynewLookaheadNeeds
;
6436 yynewStates
= YY_NULLPTR
;
6438 if (yystackp
->yytops
.yycapacity
6439 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6440 yyMemoryExhausted (yystackp
);
6441 yystackp
->yytops
.yycapacity
*= 2;
6444 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6445 (yystackp
->yytops
.yycapacity
6446 * sizeof yynewStates
[0]));
6447 if (yynewStates
== YY_NULLPTR
)
6448 yyMemoryExhausted (yystackp
);
6449 yystackp
->yytops
.yystates
= yynewStates
;
6451 yynewLookaheadNeeds
=
6452 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6453 (yystackp
->yytops
.yycapacity
6454 * sizeof yynewLookaheadNeeds
[0]));
6455 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6456 yyMemoryExhausted (yystackp
);
6457 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6459 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6460 = yystackp
->yytops
.yystates
[yyk
];
6461 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6462 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6463 yystackp
->yytops
.yysize
+= 1;
6464 return yystackp
->yytops
.yysize
-1;
6467 /** True iff YYY0 and YYY1 represent identical options at the top level.
6468 * That is, they represent the same rule applied to RHS symbols
6469 * that produce the same terminal symbols. */
6471 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6473 if (yyy0
->yyrule
== yyy1
->yyrule
)
6475 yyGLRState
*yys0
, *yys1
;
6477 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6478 yyn
= yyrhsLength (yyy0
->yyrule
);
6480 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6481 if (yys0
->yyposn
!= yys1
->yyposn
)
6489 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6490 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6492 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6494 yyGLRState
*yys0
, *yys1
;
6496 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6497 yyn
= yyrhsLength (yyy0
->yyrule
);
6499 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6503 else if (yys0
->yyresolved
)
6505 yys1
->yyresolved
= yytrue
;
6506 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6508 else if (yys1
->yyresolved
)
6510 yys0
->yyresolved
= yytrue
;
6511 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6515 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6516 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6519 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6521 else if (*yyz0p
== YY_NULLPTR
)
6526 else if (*yyz0p
< yyz1
)
6528 yySemanticOption
* yyz
= *yyz0p
;
6530 yyz1
= yyz1
->yynext
;
6531 (*yyz0p
)->yynext
= yyz
;
6533 yyz0p
= &(*yyz0p
)->yynext
;
6535 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6540 /** Y0 and Y1 represent two possible actions to take in a given
6541 * parsing state; return 0 if no combination is possible,
6542 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6544 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6546 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6547 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6551 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6556 if (p0
== 0 || p1
== 0)
6565 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6566 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6569 /** Resolve the previous YYN states starting at and including state YYS
6570 * on *YYSTACKP. If result != yyok, some states may have been left
6571 * unresolved possibly with empty semantic option chains. Regardless
6572 * of whether result = yyok, each state has been left with consistent
6573 * data so that yydestroyGLRState can be invoked if necessary. */
6575 yyresolveStates (yyGLRState
* yys
, int yyn
,
6576 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6580 YYASSERT (yys
->yypred
);
6581 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6582 if (! yys
->yyresolved
)
6583 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6588 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6589 * user action, and return the semantic value and location in *YYVALP
6590 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6591 * have been destroyed (assuming the user action destroys all RHS
6592 * semantic values if invoked). */
6594 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6595 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6597 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6598 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6599 YYRESULTTAG yyflag
=
6600 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6604 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6605 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6609 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6611 int yychar_current
= yychar
;
6612 YYSTYPE yylval_current
= yylval
;
6613 yychar
= yyopt
->yyrawchar
;
6614 yylval
= yyopt
->yyval
;
6615 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6616 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6617 yystackp
, yyvalp
, P
, tokens
, index
);
6618 yychar
= yychar_current
;
6619 yylval
= yylval_current
;
6626 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6628 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6631 yyGLRState
* yystates
[1 + YYMAXRHS
];
6632 yyGLRState yyleftmost_state
;
6634 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6635 yystates
[yyi
] = yys
;
6636 if (yys
== YY_NULLPTR
)
6638 yyleftmost_state
.yyposn
= 0;
6639 yystates
[0] = &yyleftmost_state
;
6644 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6645 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6646 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6649 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6650 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6651 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6652 (unsigned long int) yyx
->yystate
->yyposn
);
6653 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6655 if (yystates
[yyi
]->yyresolved
)
6657 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6658 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6659 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6661 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6662 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6663 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6664 (unsigned long int) yystates
[yyi
]->yyposn
);
6667 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6673 yyreportAmbiguity (yySemanticOption
* yyx0
,
6674 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6680 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6681 YYFPRINTF (stderr
, "Option 1,\n");
6682 yyreportTree (yyx0
, 2);
6683 YYFPRINTF (stderr
, "\nOption 2,\n");
6684 yyreportTree (yyx1
, 2);
6685 YYFPRINTF (stderr
, "\n");
6688 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6692 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6693 * perform the indicated actions, and set the semantic value of YYS.
6694 * If result != yyok, the chain of semantic options in YYS has been
6695 * cleared instead or it has been left unmodified except that
6696 * redundant options may have been removed. Regardless of whether
6697 * result = yyok, YYS has been left with consistent data so that
6698 * yydestroyGLRState can be invoked if necessary. */
6700 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6702 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6703 yySemanticOption
* yybest
= yyoptionList
;
6704 yySemanticOption
** yypp
;
6705 yybool yymerge
= yyfalse
;
6709 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6711 yySemanticOption
* yyp
= *yypp
;
6713 if (yyidenticalOptions (yybest
, yyp
))
6715 yymergeOptionSets (yybest
, yyp
);
6716 *yypp
= yyp
->yynext
;
6720 switch (yypreference (yybest
, yyp
))
6723 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6735 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6736 but some compilers complain if the default case is
6740 yypp
= &yyp
->yynext
;
6746 yySemanticOption
* yyp
;
6747 int yyprec
= yydprec
[yybest
->yyrule
];
6748 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6750 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6752 if (yyprec
== yydprec
[yyp
->yyrule
])
6754 YYSTYPE yysval_other
;
6755 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6758 yydestruct ("Cleanup: discarding incompletely merged value for",
6759 yystos
[yys
->yylrState
],
6760 &yysval
, P
, tokens
, index
);
6763 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6768 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6772 yys
->yyresolved
= yytrue
;
6773 yys
->yysemantics
.yysval
= yysval
;
6776 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6781 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6783 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6788 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6789 yys
!= yystackp
->yysplitPoint
;
6790 yys
= yys
->yypred
, yyn
+= 1)
6792 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6793 , P
, tokens
, index
));
6799 yycompressStack (yyGLRStack
* yystackp
)
6801 yyGLRState
* yyp
, *yyq
, *yyr
;
6803 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6806 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6807 yyp
!= yystackp
->yysplitPoint
;
6808 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6811 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6812 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6813 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6814 yystackp
->yysplitPoint
= YY_NULLPTR
;
6815 yystackp
->yylastDeleted
= YY_NULLPTR
;
6817 while (yyr
!= YY_NULLPTR
)
6819 yystackp
->yynextFree
->yystate
= *yyr
;
6821 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6822 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6823 yystackp
->yynextFree
+= 1;
6824 yystackp
->yyspaceLeft
-= 1;
6829 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6830 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6832 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6834 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6835 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6836 (unsigned long int) yyk
, yystate
));
6838 YYASSERT (yystate
!= YYFINAL
);
6840 if (yyisDefaultedState (yystate
))
6843 yyRuleNum yyrule
= yydefaultAction (yystate
);
6846 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6847 (unsigned long int) yyk
));
6848 yymarkStackDeleted (yystackp
, yyk
);
6851 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6852 if (yyflag
== yyerr
)
6856 "(predicate failure or explicit user error).\n",
6857 (unsigned long int) yyk
));
6858 yymarkStackDeleted (yystackp
, yyk
);
6868 const short int* yyconflicts
;
6870 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6871 if (yychar
== YYEMPTY
)
6873 YYDPRINTF ((stderr
, "Reading a token: "));
6874 yychar
= yylex (&yylval
, P
, tokens
, index
);
6877 if (yychar
<= YYEOF
)
6879 yychar
= yytoken
= YYEOF
;
6880 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6884 yytoken
= YYTRANSLATE (yychar
);
6885 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6888 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6890 while (*yyconflicts
!= 0)
6893 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6894 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6895 (unsigned long int) yynewStack
,
6896 (unsigned long int) yyk
));
6897 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6899 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6901 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6902 yyposn
, P
, tokens
, index
));
6903 else if (yyflag
== yyerr
)
6905 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6906 (unsigned long int) yynewStack
));
6907 yymarkStackDeleted (yystackp
, yynewStack
);
6914 if (yyisShiftAction (yyaction
))
6916 else if (yyisErrorAction (yyaction
))
6918 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6919 (unsigned long int) yyk
));
6920 yymarkStackDeleted (yystackp
, yyk
);
6925 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6926 yyimmediate
[-yyaction
], P
, tokens
, index
);
6927 if (yyflag
== yyerr
)
6931 "(predicate failure or explicit user error).\n",
6932 (unsigned long int) yyk
));
6933 yymarkStackDeleted (yystackp
, yyk
);
6936 else if (yyflag
!= yyok
)
6945 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6947 if (yystackp
->yyerrState
!= 0)
6949 #if ! YYERROR_VERBOSE
6950 yyerror (P
, tokens
, index
, YY_("syntax error"));
6953 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6954 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6955 size_t yysize
= yysize0
;
6956 yybool yysize_overflow
= yyfalse
;
6957 char* yymsg
= YY_NULLPTR
;
6958 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6959 /* Internationalized format string. */
6960 const char *yyformat
= YY_NULLPTR
;
6961 /* Arguments of yyformat. */
6962 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6963 /* Number of reported tokens (one for the "unexpected", one per
6967 /* There are many possibilities here to consider:
6968 - If this state is a consistent state with a default action, then
6969 the only way this function was invoked is if the default action
6970 is an error action. In that case, don't check for expected
6971 tokens because there are none.
6972 - The only way there can be no lookahead present (in yychar) is if
6973 this state is a consistent state with a default action. Thus,
6974 detecting the absence of a lookahead is sufficient to determine
6975 that there is no unexpected or expected token to report. In that
6976 case, just report a simple "syntax error".
6977 - Don't assume there isn't a lookahead just because this state is a
6978 consistent state with a default action. There might have been a
6979 previous inconsistent state, consistent state with a non-default
6980 action, or user semantic action that manipulated yychar.
6981 - Of course, the expected token list depends on states to have
6982 correct lookahead information, and it depends on the parser not
6983 to perform extra reductions after fetching a lookahead from the
6984 scanner and before detecting a syntax error. Thus, state merging
6985 (from LALR or IELR) and default reductions corrupt the expected
6986 token list. However, the list is correct for canonical LR with
6987 one exception: it will still contain any token that will not be
6988 accepted due to an error action in a later state.
6990 if (yytoken
!= YYEMPTY
)
6992 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6993 yyarg
[yycount
++] = yytokenName (yytoken
);
6994 if (!yypact_value_is_default (yyn
))
6996 /* Start YYX at -YYN if negative to avoid negative indexes in
6997 YYCHECK. In other words, skip the first -YYN actions for this
6998 state because they are default actions. */
6999 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7000 /* Stay within bounds of both yycheck and yytname. */
7001 int yychecklim
= YYLAST
- yyn
+ 1;
7002 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7004 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7005 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7006 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7008 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7014 yyarg
[yycount
++] = yytokenName (yyx
);
7016 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7017 yysize_overflow
|= yysz
< yysize
;
7026 #define YYCASE_(N, S) \
7030 YYCASE_(0, YY_("syntax error"));
7031 YYCASE_(1, YY_("syntax error, unexpected %s"));
7032 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7033 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7034 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7035 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7040 size_t yysz
= yysize
+ strlen (yyformat
);
7041 yysize_overflow
|= yysz
< yysize
;
7045 if (!yysize_overflow
)
7046 yymsg
= (char *) YYMALLOC (yysize
);
7052 while ((*yyp
= *yyformat
))
7054 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7056 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7065 yyerror (P
, tokens
, index
, yymsg
);
7070 yyerror (P
, tokens
, index
, YY_("syntax error"));
7071 yyMemoryExhausted (yystackp
);
7074 #endif /* YYERROR_VERBOSE */
7078 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7079 yylval, and yylloc are the syntactic category, semantic value, and location
7080 of the lookahead. */
7082 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7087 if (yystackp
->yyerrState
== 3)
7088 /* We just shifted the error token and (perhaps) took some
7089 reductions. Skip tokens until we can proceed. */
7093 if (yychar
== YYEOF
)
7094 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7095 if (yychar
!= YYEMPTY
)
7097 yytoken
= YYTRANSLATE (yychar
);
7098 yydestruct ("Error: discarding",
7099 yytoken
, &yylval
, P
, tokens
, index
);
7101 YYDPRINTF ((stderr
, "Reading a token: "));
7102 yychar
= yylex (&yylval
, P
, tokens
, index
);
7103 if (yychar
<= YYEOF
)
7105 yychar
= yytoken
= YYEOF
;
7106 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7110 yytoken
= YYTRANSLATE (yychar
);
7111 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7113 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7114 if (yypact_value_is_default (yyj
))
7117 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7119 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7122 else if (! yytable_value_is_error (yytable
[yyj
]))
7126 /* Reduce to one stack. */
7127 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7128 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7130 if (yyk
>= yystackp
->yytops
.yysize
)
7131 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7132 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7133 yymarkStackDeleted (yystackp
, yyk
);
7134 yyremoveDeletes (yystackp
);
7135 yycompressStack (yystackp
);
7137 /* Now pop stack until we find a state that shifts the error token. */
7138 yystackp
->yyerrState
= 3;
7139 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7141 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7142 yyj
= yypact
[yys
->yylrState
];
7143 if (! yypact_value_is_default (yyj
))
7146 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7147 && yyisShiftAction (yytable
[yyj
]))
7149 /* Shift the error token. */
7150 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7151 &yylval
, &yyerrloc
);
7152 yyglrShift (yystackp
, 0, yytable
[yyj
],
7153 yys
->yyposn
, &yylval
);
7154 yys
= yystackp
->yytops
.yystates
[0];
7158 if (yys
->yypred
!= YY_NULLPTR
)
7159 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7160 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7161 yystackp
->yynextFree
-= 1;
7162 yystackp
->yyspaceLeft
+= 1;
7164 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7165 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7168 #define YYCHK1(YYE) \
7178 goto yyuser_error; \
7189 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7193 yyGLRStack
* const yystackp
= &yystack
;
7196 YYDPRINTF ((stderr
, "Starting parse\n"));
7199 yylval
= yyval_default
;
7201 /* User initialization code. */
7202 #line 111 "src/parser_proc_grammar.y" /* glr.c:2270 */
7206 #line 7207 "src/parser_proc.c" /* glr.c:2270 */
7208 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7209 goto yyexhaustedlab
;
7210 switch (YYSETJMP (yystack
.yyexception_buffer
))
7213 case 1: goto yyabortlab
;
7214 case 2: goto yyexhaustedlab
;
7215 default: goto yybuglab
;
7217 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7222 /* For efficiency, we have two loops, the first of which is
7223 specialized to deterministic operation (single stack, no
7224 potential ambiguity). */
7230 const short int* yyconflicts
;
7232 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7233 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7234 if (yystate
== YYFINAL
)
7236 if (yyisDefaultedState (yystate
))
7238 yyrule
= yydefaultAction (yystate
);
7242 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7245 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7250 if (yychar
== YYEMPTY
)
7252 YYDPRINTF ((stderr
, "Reading a token: "));
7253 yychar
= yylex (&yylval
, P
, tokens
, index
);
7256 if (yychar
<= YYEOF
)
7258 yychar
= yytoken
= YYEOF
;
7259 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7263 yytoken
= YYTRANSLATE (yychar
);
7264 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7267 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7268 if (*yyconflicts
!= 0)
7270 if (yyisShiftAction (yyaction
))
7272 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7275 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7276 if (0 < yystack
.yyerrState
)
7277 yystack
.yyerrState
-= 1;
7279 else if (yyisErrorAction (yyaction
))
7282 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7286 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7292 yySymbol yytoken_to_shift
;
7295 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7296 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7298 /* yyprocessOneStack returns one of three things:
7300 - An error flag. If the caller is yyprocessOneStack, it
7301 immediately returns as well. When the caller is finally
7302 yyparse, it jumps to an error label via YYCHK1.
7304 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7305 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7306 yyparse's following invocation of yyremoveDeletes will remove
7309 - yyok, when ready to shift a token.
7311 Except in the first case, yyparse will invoke yyremoveDeletes and
7312 then shift the next token onto all remaining stacks. This
7313 synchronization of the shift (that is, after all preceding
7314 reductions on all stacks) helps prevent double destructor calls
7315 on yylval in the event of memory exhaustion. */
7317 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7318 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7319 yyremoveDeletes (&yystack
);
7320 if (yystack
.yytops
.yysize
== 0)
7322 yyundeleteLastStack (&yystack
);
7323 if (yystack
.yytops
.yysize
== 0)
7324 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7325 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7326 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7328 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7332 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7333 a copy of yylval will already be on stack 0 in the event of a
7334 failure in the following loop. Thus, yychar is set to YYEMPTY
7335 before the loop to make sure the user destructor for yylval isn't
7337 yytoken_to_shift
= YYTRANSLATE (yychar
);
7340 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7343 const short int* yyconflicts
;
7344 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7345 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7347 /* Note that yyconflicts were handled by yyprocessOneStack. */
7348 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7349 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7350 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7352 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7353 (unsigned long int) yys
,
7354 yystack
.yytops
.yystates
[yys
]->yylrState
));
7357 if (yystack
.yytops
.yysize
== 1)
7359 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7360 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7361 yycompressStack (&yystack
);
7367 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7368 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7384 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7389 if (yychar
!= YYEMPTY
)
7390 yydestruct ("Cleanup: discarding lookahead",
7391 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7393 /* If the stack is well-formed, pop the stack until it is empty,
7394 destroying its entries as we go. But free the stack regardless
7395 of whether it is well-formed. */
7396 if (yystack
.yyitems
)
7398 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7401 size_t yysize
= yystack
.yytops
.yysize
;
7403 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7406 while (yystates
[yyk
])
7408 yyGLRState
*yys
= yystates
[yyk
];
7409 if (yys
->yypred
!= YY_NULLPTR
)
7410 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7411 yystates
[yyk
] = yys
->yypred
;
7412 yystack
.yynextFree
-= 1;
7413 yystack
.yyspaceLeft
+= 1;
7418 yyfreeGLRStack (&yystack
);
7424 /* DEBUGGING ONLY */
7427 yy_yypstack (yyGLRState
* yys
)
7431 yy_yypstack (yys
->yypred
);
7432 YYFPRINTF (stderr
, " -> ");
7434 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7435 (unsigned long int) yys
->yyposn
);
7439 yypstates (yyGLRState
* yyst
)
7441 if (yyst
== YY_NULLPTR
)
7442 YYFPRINTF (stderr
, "<null>");
7445 YYFPRINTF (stderr
, "\n");
7449 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7451 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7454 #define YYINDEX(YYX) \
7455 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7459 yypdumpstack (yyGLRStack
* yystackp
)
7461 yyGLRStackItem
* yyp
;
7463 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7465 YYFPRINTF (stderr
, "%3lu. ",
7466 (unsigned long int) (yyp
- yystackp
->yyitems
));
7467 if (*(yybool
*) yyp
)
7469 YYASSERT (yyp
->yystate
.yyisState
);
7470 YYASSERT (yyp
->yyoption
.yyisState
);
7471 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7472 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7473 (unsigned long int) yyp
->yystate
.yyposn
,
7474 (long int) YYINDEX (yyp
->yystate
.yypred
));
7475 if (! yyp
->yystate
.yyresolved
)
7476 YYFPRINTF (stderr
, ", firstVal: %ld",
7477 (long int) YYINDEX (yyp
->yystate
7478 .yysemantics
.yyfirstVal
));
7482 YYASSERT (!yyp
->yystate
.yyisState
);
7483 YYASSERT (!yyp
->yyoption
.yyisState
);
7484 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7485 yyp
->yyoption
.yyrule
- 1,
7486 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7487 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7489 YYFPRINTF (stderr
, "\n");
7491 YYFPRINTF (stderr
, "Tops:");
7492 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7493 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7494 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7495 YYFPRINTF (stderr
, "\n");
7503 /* Substitute the variable and function names. */
7504 #define yyparse psi_parser_proc_parse
7505 #define yylex psi_parser_proc_lex
7506 #define yyerror psi_parser_proc_error
7507 #define yylval psi_parser_proc_lval
7508 #define yychar psi_parser_proc_char
7509 #define yydebug psi_parser_proc_debug
7510 #define yynerrs psi_parser_proc_nerrs
7512 #line 2053 "src/parser_proc_grammar.y" /* glr.c:2584 */
7517 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7519 struct psi_token
*token
;
7521 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7522 if (P
->flags
& PSI_DEBUG
) {
7523 psi_token_dump(2, token
);
7526 *((struct psi_token
**)lvalp
) = token
;
7530 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7536 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7538 struct psi_token
*T
= NULL
;
7547 psi_plist_get(tokens
, last
, &T
);
7549 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7551 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);