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 883
289 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
291 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
292 accessed by $0, $-1, etc., in any rule. */
295 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
297 #define YYMAXUTOK 394
299 #define YYTRANSLATE(YYX) \
300 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
302 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
303 static const unsigned char yytranslate
[] =
305 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
312 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
331 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
332 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
333 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
334 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
335 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
336 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
337 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
338 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
339 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
340 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
341 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
342 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
343 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
344 135, 136, 137, 138, 139
348 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
349 static const unsigned short int yyrline
[] =
351 0, 399, 399, 399, 399, 399, 399, 399, 399, 399,
352 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
353 400, 400, 400, 400, 401, 401, 401, 401, 401, 401,
354 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
355 401, 401, 401, 402, 402, 402, 402, 402, 402, 402,
356 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
357 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
358 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
359 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
360 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
361 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
362 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
363 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
364 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
365 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
366 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
367 402, 403, 403, 403, 403, 403, 403, 403, 403, 403,
368 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
369 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
370 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
371 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
372 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
373 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
374 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
375 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
376 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
377 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
378 403, 403, 403, 403, 403, 403, 403, 407, 408, 411,
379 412, 415, 416, 417, 418, 424, 432, 435, 438, 439,
380 440, 443, 446, 449, 452, 458, 464, 467, 473, 496,
381 500, 504, 509, 513, 517, 521, 528, 529, 533, 534,
382 538, 539, 540, 544, 545, 549, 550, 554, 555, 556,
383 560, 561, 565, 566, 567, 568, 569, 570, 571, 575,
384 580, 588, 591, 594, 595, 601, 606, 614, 617, 621,
385 625, 632, 636, 640, 644, 649, 659, 669, 674, 679,
386 683, 689, 698, 701, 705, 709, 715, 722, 728, 729,
387 730, 731, 735, 738, 769, 776, 777, 778, 779, 783,
388 786, 795, 801, 804, 810, 813, 819, 820, 828, 839,
389 848, 860, 861, 865, 875, 884, 896, 899, 902, 906,
390 910, 914, 919, 924, 932, 933, 934, 940, 943, 946,
391 952, 953, 957, 960, 963, 969, 972, 975, 983, 995,
392 998, 1001, 1004, 1011, 1014, 1024, 1027, 1030, 1033, 1034,
393 1035, 1039, 1042, 1045, 1056, 1059, 1065, 1066, 1070, 1071,
394 1075, 1079, 1085, 1086, 1092, 1095, 1101, 1104, 1107, 1113,
395 1117, 1118, 1122, 1123, 1127, 1128, 1135, 1136, 1140, 1147,
396 1158, 1165, 1176, 1183, 1194, 1205, 1219, 1220, 1232, 1235,
397 1238, 1241, 1248, 1251, 1257, 1266, 1278, 1286, 1289, 1299,
398 1312, 1317, 1325, 1335, 1345, 1348, 1352, 1358, 1372, 1389,
399 1392, 1398, 1405, 1415, 1422, 1425, 1431, 1436, 1444, 1448,
400 1452, 1456, 1460, 1464, 1471, 1475, 1479, 1483, 1487, 1491,
401 1497, 1501, 1508, 1511, 1522, 1526, 1530, 1536, 1549, 1562,
402 1575, 1578, 1585, 1586, 1590, 1593, 1596, 1599, 1605, 1609,
403 1616, 1619, 1622, 1625, 1635, 1638, 1644, 1645, 1651, 1654,
404 1660, 1661, 1671, 1674, 1681, 1686, 1691, 1701, 1704, 1710,
405 1713, 1719, 1726, 1733, 1734, 1735, 1736, 1737, 1738, 1739,
406 1740, 1741, 1745, 1748, 1754, 1757, 1760, 1763, 1766, 1772,
407 1776, 1784, 1785, 1789, 1796, 1799, 1802, 1805, 1809, 1812,
408 1818, 1822, 1830, 1837, 1845, 1853, 1854, 1855, 1856, 1857,
409 1858, 1859, 1860, 1861, 1862, 1866, 1869, 1875, 1878, 1884,
410 1885, 1889, 1892, 1898, 1901, 1907, 1914, 1918, 1925, 1928,
411 1931, 1937, 1944, 1947, 1950, 1957, 1962, 1970, 1971, 1972,
412 1973, 1974, 1975, 1976, 1977, 1981, 1984, 1990, 1993, 1999,
413 2006, 2007, 2011, 2018, 2021, 2027, 2035, 2038, 2044
417 #if YYDEBUG || YYERROR_VERBOSE || 1
418 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
419 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
420 static const char *const yytname
[] =
422 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
423 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
424 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
425 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
426 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
427 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
428 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
429 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
430 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
431 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
432 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
433 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
434 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
435 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
436 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
437 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
438 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
439 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
440 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
441 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
442 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
443 "$accept", "binary_op_token", "unary_op_token", "name_token",
444 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
445 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
446 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
447 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_special_name_token",
448 "cpp_macro_decl", "cpp_macro_sig", "cpp_macro_sig_args",
449 "cpp_macro_decl_tokens", "cpp_macro_decl_token_list", "cpp_macro_exp",
450 "cpp_macro_call_args", "cpp_macro_call_arg_list", "constant",
451 "constant_type", "constant_type_token", "impl_def_val",
452 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
453 "typedef_decl", "typedef_anon_decl", "qualified_decl_type", "decl_type",
454 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
455 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
456 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
457 "ignored_quoted_strings", "decl_ext_var_stmt", "decl_ext_var",
458 "decl_ext_var_list", "decl_vars", "ignored_decl", "ignored_decl_body",
459 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
460 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
461 "decl_args", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
462 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
463 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
464 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
465 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
466 "struct_name", "optional_name", "optional_comma", "decl_layout",
467 "align_and_size", "array_size", "indirection", "pointers", "asterisks",
468 "asterisk", "impl", "impl_func", "impl_args", "impl_arg", "impl_var",
469 "impl_type", "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt",
470 "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 -696
481 #define YYTABLE_NINF -627
483 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
485 static const short int yypact
[] =
487 1335, -696, -696, -696, -696, -696, 145, -696, -696, 2481,
488 1644, 634, -696, -696, 745, 579, 3336, 3336, 3336, 1393,
489 38, 266, 51, -696, 1611, 1870, 88, 1335, -696, -696,
490 -696, -696, -696, 2707, -696, -696, -696, -696, 275, 181,
491 -696, -696, -696, 90, -696, -18, -696, -696, 85, 98,
492 102, -696, -696, -696, -696, 109, -696, 114, -696, -696,
493 -696, -696, -696, 835, -696, 113, 52, -696, -696, -696,
494 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
495 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
496 -696, -696, -696, -696, -696, -696, -696, 2820, -10, -696,
497 -696, -696, -696, 3336, 3336, 3336, 2740, -696, 151, -696,
498 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
499 -696, -696, 686, -696, -696, -696, -696, 128, 961, 961,
500 27, -696, 686, 2368, 2481, 3336, 3336, 1983, 139, -696,
501 -696, -696, 163, 3336, 142, 142, 24, 24, 165, -696,
502 -696, 176, 185, -696, 113, 198, -696, -696, 175, 1870,
503 187, 193, -696, 208, -696, 2322, 1363, -18, 187, -696,
504 -696, 209, -696, 220, 3336, -696, 248, -696, 103, -696,
505 -696, -696, 356, -696, -696, 224, 238, 2514, 2514, 3336,
506 -13, 3336, -696, -696, 113, -696, -696, -696, -696, -696,
507 -696, 2707, -696, -696, -696, -696, -696, -696, -696, 160,
508 961, -696, -696, -696, -696, -696, -696, -696, -696, -696,
509 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
510 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
511 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
512 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
513 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
514 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
515 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
516 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
517 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
518 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
519 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
520 -696, -696, -696, 961, -696, -696, -696, -696, -696, -696,
521 -696, -696, 78, 2368, -696, -696, -696, -696, 2933, 2368,
522 250, 3516, -696, 256, 22, -696, 183, -696, -696, -696,
523 -696, 254, 255, 255, 77, 77, 3046, 253, -696, 187,
524 1213, -696, -13, 258, 263, 265, -696, 451, -696, 113,
525 209, -696, -696, -696, 292, -696, -696, 273, -696, 29,
526 2761, 2707, 132, -696, -696, 192, 268, 277, -696, 2707,
527 2029, 2707, 3336, 2707, -696, -696, 118, -696, -696, -696,
528 -696, -696, 2255, -696, 276, 3336, 280, -696, 3336, 283,
529 -696, -696, -696, -696, 2627, 294, -696, 2924, 3336, -696,
530 -696, 2368, -696, -696, -696, -696, -696, -696, -696, -696,
531 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
532 2368, 2368, -696, 285, 1423, 2707, 2707, -696, -696, -696,
533 -696, 113, -696, 1577, -696, -696, -696, -696, -696, -696,
534 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
535 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
536 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
537 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
538 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
539 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
540 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
541 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
542 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
543 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
544 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
545 -696, -696, -696, 1087, -696, 141, 60, -696, -696, -696,
546 -696, -696, -696, 1464, -696, 282, 2255, -696, 3492, -696,
547 -696, 3336, -696, -696, -696, 61, 2820, 113, 220, 209,
548 2176, 209, 2289, 2255, 3336, 289, 279, 297, 3540, 287,
549 304, -696, 305, 314, 299, 308, 89, -696, 312, 315,
550 -696, -696, -696, 2812, -696, 321, 2707, 3105, 113, 322,
551 -696, -696, -696, 323, 3516, 331, 311, 3443, -696, 342,
552 1983, 334, -696, -696, 2594, 296, 3336, 142, 142, -696,
553 -696, 3336, 110, -696, -696, -696, 316, -696, 3540, -696,
554 -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
555 -696, 336, 216, -696, 51, -696, 339, 634, 340, 3037,
556 -696, -696, -696, 2255, 2255, 341, -696, -696, 3046, -696,
557 29, 344, -696, -696, 346, 3540, -696, -696, 1690, -696,
558 2029, -696, 2707, -696, 51, 2707, -696, 3336, 3218, -696,
559 -696, -696, -696, -696, -696, 352, 353, -696, -696, -696,
560 -696, 2368, 2368, 357, -696, 76, 358, -696, 334, 255,
561 255, 365, -696, 491, 355, 491, 335, 2255, -696, 3468,
562 -696, -696, 209, 209, 130, 290, 157, 368, 3540, -696,
563 -696, -696, -696, 369, 2142, -696, 371, 2707, 233, -696,
564 370, 280, 373, 961, 3277, 3516, 3564, 382, 374, 378,
565 2707, 381, 358, 2707, 2707, -696, -696, 491, -696, 51,
566 1577, -696, 2255, -696, -696, 368, -696, -696, -696, -696,
567 383, 2255, 51, -696, 1803, 380, 385, -696, 317, -696,
568 -696, -696, 387, 390, 401, 334, 393, -696, 397, -696,
569 25, -696, 3588, 51, 3418, 395, 402, -696, 396, -696,
570 -696, 131, -696, 404, 405, -696, 2707, -696, 414, 408,
571 2255, 1690, 409, -696, 2029, -696, -696, 417, 416, 421,
572 334, 420, 1916, 3199, 279, -696, -696, -696, 426, 2142,
573 -696, -696, 428, 422, -696, 430, 433, 437, -696, -696,
574 1690, -696, 442, -696, 491, 439, 2029, -696, 447, -696,
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, 510, 0,
585 0, 0, 626, 283, 0, 0, 0, 278, 279, 285,
586 284, 286, 290, 524, 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, 614, 575, 24, 524, 530, 39, 38, 37,
590 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
591 583, 582, 580, 578, 579, 581, 577, 576, 584, 30,
592 612, 610, 609, 611, 608, 607, 457, 0, 526, 528,
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, 510, 510, 0, 0, 372,
597 377, 466, 376, 0, 518, 518, 391, 392, 393, 507,
598 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
599 0, 0, 628, 0, 627, 396, 0, 426, 0, 1,
600 280, 520, 467, 0, 525, 411, 415, 413, 417, 410,
601 407, 422, 409, 408, 430, 0, 0, 458, 458, 0,
602 0, 0, 525, 531, 524, 469, 527, 529, 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, 509, 392, 508, 373, 369,
619 378, 0, 0, 0, 0, 0, 0, 0, 295, 0,
620 0, 436, 0, 0, 0, 0, 437, 0, 471, 524,
621 520, 416, 412, 418, 419, 414, 423, 0, 424, 459,
622 0, 524, 0, 460, 462, 0, 486, 512, 484, 0,
623 626, 0, 0, 0, 620, 621, 0, 552, 555, 554,
624 556, 557, 0, 558, 0, 0, 433, 434, 0, 0,
625 330, 340, 506, 505, 0, 0, 501, 0, 0, 345,
626 342, 352, 2, 3, 4, 5, 6, 7, 8, 9,
627 10, 11, 13, 12, 14, 15, 16, 17, 18, 19,
628 0, 0, 370, 0, 0, 0, 0, 474, 473, 475,
629 472, 524, 468, 362, 438, 186, 161, 162, 163, 164,
630 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
631 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
632 185, 274, 275, 187, 188, 189, 190, 191, 192, 193,
633 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
634 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
635 214, 215, 216, 217, 218, 224, 222, 223, 221, 219,
636 220, 225, 226, 227, 228, 229, 230, 231, 232, 233,
637 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
638 244, 245, 246, 247, 248, 276, 249, 250, 251, 252,
639 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
640 263, 264, 265, 266, 267, 268, 272, 269, 270, 271,
641 273, 442, 443, 0, 440, 0, 0, 371, 425, 497,
642 495, 494, 496, 0, 521, 0, 0, 498, 0, 488,
643 499, 0, 470, 420, 428, 0, 465, 0, 463, 520,
644 0, 520, 0, 0, 513, 0, 0, 0, 603, 0,
645 0, 602, 42, 0, 0, 0, 0, 623, 0, 0,
646 597, 532, 553, 0, 455, 0, 0, 331, 524, 0,
647 502, 504, 341, 0, 354, 0, 353, 0, 343, 0,
648 0, 514, 381, 374, 382, 0, 383, 518, 518, 380,
649 379, 0, 497, 366, 367, 368, 0, 364, 363, 439,
650 441, 533, 545, 546, 547, 548, 544, 549, 550, 551,
651 543, 0, 0, 537, 626, 542, 24, 0, 0, 0,
652 522, 492, 523, 0, 0, 0, 429, 427, 464, 450,
653 0, 0, 461, 448, 0, 487, 485, 483, 0, 559,
654 626, 601, 0, 541, 626, 0, 622, 0, 598, 595,
655 619, 454, 435, 332, 335, 0, 333, 503, 500, 346,
656 351, 0, 0, 0, 375, 0, 479, 476, 514, 0,
657 0, 0, 356, 0, 0, 0, 539, 0, 490, 0,
658 491, 452, 520, 520, 497, 0, 31, 30, 565, 570,
659 566, 568, 569, 41, 0, 604, 615, 0, 0, 624,
660 614, 600, 0, 337, 0, 355, 344, 0, 515, 0,
661 0, 0, 479, 385, 384, 453, 534, 0, 538, 626,
662 362, 489, 0, 451, 449, 0, 567, 589, 575, 590,
663 0, 0, 626, 571, 626, 0, 0, 625, 0, 329,
664 334, 336, 0, 0, 0, 514, 480, 477, 0, 535,
665 0, 540, 493, 626, 0, 585, 0, 617, 616, 605,
666 560, 0, 519, 0, 0, 481, 0, 478, 0, 0,
667 0, 0, 0, 606, 626, 613, 596, 0, 0, 0,
668 514, 0, 591, 0, 498, 587, 563, 561, 586, 0,
669 574, 618, 0, 0, 482, 0, 0, 592, 593, 572,
670 0, 562, 0, 516, 0, 0, 626, 588, 0, 536,
674 /* YYPGOTO[NTERM-NUM]. */
675 static const short int yypgoto
[] =
677 -696, -324, -121, -7, 148, -696, -696, -696, 448, -696,
678 -696, -696, -696, -696, -696, -696, -696, -696, -696, 350,
679 -696, -696, -696, -126, -696, -298, -696, -696, -696, -696,
680 -696, -306, -696, -696, 320, -168, 20, -161, -162, -6,
681 -696, -696, -696, 452, -696, -696, 310, -696, -696, -696,
682 -696, 343, -696, -696, -696, -696, -580, -696, -131, -696,
683 -81, 489, 31, 3, 44, -696, -696, 327, -412, 5,
684 -33, -696, -696, 158, -346, -696, -266, -696, 7, -696,
685 -92, -345, -696, -119, -696, 100, -696, -435, -423, 150,
686 -696, -691, -124, -356, -57, -3, -696, 429, -696, 505,
687 -696, -217, -642, -695, -696, 159, -378, -696, -341, -662,
688 133, -225, -696, -696, -665, -696, -696, -696, -696, -696,
689 -696, -696, -696, -696, -672, -399, -367, -696, -696, -696,
690 -696, -696, -696, -182, -21, -668
693 /* YYDEFGOTO[NTERM-NUM]. */
694 static const short int yydefgoto
[] =
696 -1, 694, 596, 171, 331, 581, 26, 27, 28, 29,
697 30, 127, 128, 129, 130, 337, 131, 132, 133, 210,
698 211, 725, 726, 332, 333, 351, 645, 646, 31, 155,
699 156, 666, 667, 32, 138, 651, 652, 653, 33, 34,
700 35, 36, 37, 38, 39, 40, 180, 382, 385, 183,
701 41, 186, 605, 42, 43, 202, 416, 44, 582, 583,
702 584, 45, 46, 47, 141, 49, 50, 392, 393, 51,
703 597, 52, 53, 458, 459, 655, 781, 816, 143, 397,
704 398, 618, 599, 600, 639, 426, 55, 144, 145, 149,
705 615, 736, 362, 378, 173, 418, 98, 99, 56, 57,
706 682, 683, 619, 684, 685, 406, 407, 408, 855, 856,
707 857, 760, 761, 762, 100, 842, 858, 800, 866, 867,
708 409, 629, 772, 410, 620, 621, 101, 805, 828, 411,
709 412, 413, 626, 627, 623, 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, 630, 109, 97, 54, 191, 146,
718 147, 148, 349, 157, 352, 108, 455, 456, 140, 657,
719 142, 363, 364, 365, 602, 391, 391, 451, 632, 371,
720 174, 658, 598, 622, 54, 139, 622, 376, 765, 66,
721 764, 107, 746, 763, 48, 427, 759, 782, 786, 713,
722 789, 430, 160, 335, 48, -518, 168, -391, -511, 361,
723 -518, 65, 192, 672, 158, 48, 673, 633, 48, 48,
724 674, 48, 675, 676, 677, 678, 679, 680, 66, 399,
725 400, 401, 402, 403, 420, 404, 405, 696, 169, 838,
726 195, 799, 819, 681, 697, 162, 198, 199, 200, 763,
727 157, 778, 803, 451, 422, 423, 451, 185, 457, 383,
728 424, 779, 384, 454, 196, 209, -447, -466, 668, -466,
729 716, 184, 425, 717, 835, 338, 350, 353, 354, 356,
730 187, 97, 827, 644, 188, 768, 360, 415, 771, 193,
731 140, -365, 142, -365, -365, 189, 336, 746, 62, 845,
732 190, 366, 647, 648, 58, 631, 59, 358, 212, 864,
733 825, -497, 66, -497, -497, 609, 610, 380, 417, 140,
734 359, 142, 861, 859, 797, 798, 763, 361, 671, 879,
735 868, 839, 396, -456, 414, 201, 139, 181, 4, 5,
736 369, 192, 394, 394, 763, -456, 107, 871, 702, -359,
737 702, -511, 859, 48, 881, 763, 368, 632, -360, 48,
738 399, 400, 401, 402, 403, 657, 404, 405, -392, -511,
739 657, 367, 349, 370, 352, 611, 612, 658, 349, 372,
740 352, 373, 658, 399, 400, 401, 402, 403, 464, 404,
741 405, 90, 91, 92, 93, 94, 95, 377, 689, 744,
742 745, 691, 379, 699, 381, 703, 387, 80, 81, 82,
743 83, 84, 85, 86, 87, 88, 807, 636, 705, 388,
744 1, 2, 3, 4, 5, 6, 7, 8, 419, 175,
745 176, 177, 431, 9, 178, 355, 357, 452, 102, 453,
746 586, 454, 654, 463, 587, 11, 588, 179, 603, 604,
747 1, 2, 3, 4, 5, 6, 7, 8, 613, 634,
748 349, 614, 352, 9, 636, 637, 641, 649, 102, 708,
749 451, 690, 601, 451, 451, 11, 707, 710, 709, 349,
750 349, 352, 352, 737, 608, 711, 350, 712, 713, 714,
751 715, 429, 350, 622, 718, 731, 719, 742, 749, 750,
752 103, 104, 105, 106, 721, 728, 729, 22, 172, 462,
753 175, 176, 177, 758, 730, 178, 616, 733, 624, 735,
754 628, 743, -24, 747, 751, 790, 192, 752, 179, 753,
755 135, 136, 18, 106, 157, 773, 606, 774, 174, 159,
756 787, 777, 780, 783, 784, 625, 793, 794, 785, 795,
757 801, 802, 791, -599, 661, 804, 808, 812, 635, 813,
758 814, 380, 817, 829, 831, 823, 830, 650, 638, 758,
759 832, 643, 659, 660, 350, 833, 834, 836, 837, 841,
760 844, 688, 846, 775, 776, 843, 848, 622, 851, 849,
761 852, 862, 860, 350, 350, 668, 863, 822, 391, 712,
762 391, 451, 451, 865, 60, 873, 824, 140, 192, 142,
763 870, 656, 872, 61, 847, 874, 875, 878, 62, 63,
764 589, 876, 880, 64, 590, 170, 591, 622, 592, 342,
765 882, 421, 339, 593, 821, 622, 374, 738, 654, 734,
766 594, 182, 386, 654, 672, 853, 758, 673, 344, 345,
767 66, 674, 670, 675, 676, 677, 678, 679, 680, 622,
768 375, 346, 347, 167, 758, 395, 818, 67, 68, 69,
769 70, 71, 706, 460, 640, 758, 161, 197, 788, 877,
770 796, 585, 617, 739, 740, 769, 0, 0, 0, 72,
771 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
772 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
773 89, 90, 91, 92, 93, 94, 95, 0, 0, 0,
774 0, 0, 0, 0, 0, 595, 0, 0, 0, 0,
775 0, 727, 0, 1, 2, 3, 4, 5, 6, 7,
776 8, 0, 0, 0, 695, 0, 134, 0, 0, 195,
777 0, 102, 0, 722, 698, 0, 0, 396, 11, 0,
778 349, 349, 352, 352, 0, 394, 0, 394, 0, 0,
779 0, 172, 0, 0, 0, 0, 0, 0, 0, 0,
780 724, 0, 0, 0, 0, 192, 0, 0, 1, 2,
781 3, 4, 5, 6, 7, 8, 0, 809, 0, 360,
782 0, 174, 0, 140, 741, 142, 102, 656, 140, 0,
783 142, 0, 656, 135, 136, 18, 106, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 766,
785 0, 157, 417, 0, 0, 417, 0, 0, 0, 60,
786 0, 462, 0, 767, 0, 0, 0, 606, 61, 0,
787 137, 0, 0, 62, 63, 203, 204, 205, 64, 0,
788 625, 0, 0, 0, 0, 0, 0, 0, 103, 104,
789 105, 0, 0, 0, 350, 350, 0, 0, 0, 0,
790 0, 0, 0, 0, 806, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 815, 0, 0,
792 659, 660, 67, 68, 69, 70, 71, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 811, 820, 0,
794 0, 0, 0, 0, 72, 110, 73, 74, 75, 76,
795 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
796 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
797 94, 95, 0, 850, 0, 0, 0, 206, 854, 207,
798 208, 111, 112, 113, 114, 115, 116, 117, 118, 119,
799 120, 121, 122, 0, 123, 124, 125, 126, 0, 0,
800 0, 0, 0, 0, 0, -575, 0, 854, -575, -575,
801 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
802 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
803 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
804 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
805 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
806 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
807 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
808 -575, -575, -575, -575, -575, 0, -575, 0, -575, -575,
809 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
810 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
811 -575, -575, -575, -575, -575, -575, -575, -575, -575, -575,
812 -575, -575, 0, -575, -575, 0, -575, -575, -575, -575,
813 -575, 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, 465, 0, 0,
826 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
827 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
828 486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
829 495, 496, 497, 370, 669, 498, 499, 500, 501, 502,
830 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
831 513, 514, 515, 516, 517, 518, 519, 520, 521, 522,
832 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
833 533, 534, 535, 536, 537, 538, 539, 0, 540, 0,
834 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
835 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
836 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
837 571, 572, 573, 574, 0, 0, 575, 0, 576, 577,
838 578, 579, 580, 465, 0, 0, 466, 467, 468, 469,
839 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
840 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
841 490, 491, 492, 0, 493, 494, 495, 496, 497, 370,
842 0, 498, 499, 500, 501, 502, 503, 504, 505, 506,
843 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
844 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
845 527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
846 537, 538, 539, 0, 540, 0, 541, 542, 543, 544,
847 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
848 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
849 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
850 0, 0, 575, 0, 576, 577, 578, 579, 580, 1,
851 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
852 0, 0, 9, 0, 0, 0, 0, 10, 0, 0,
853 0, 0, 0, 0, 11, 12, 13, 1, 2, 3,
854 4, 5, 6, 7, 8, 0, 14, 0, 0, 0,
855 9, 0, 0, 0, 0, 102, 0, 0, 0, 0,
856 0, 0, 11, 0, 0, 0, 150, 1, 2, 151,
857 4, 5, 6, 152, 8, 153, 0, 0, 0, 0,
858 154, 0, 0, 0, 0, 102, 0, 0, 15, 16,
859 17, 18, 19, 20, 21, 0, 22, 1, 2, 3,
860 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
861 9, 0, 0, 0, 0, 102, 0, 135, 136, 18,
862 106, 23, 11, 0, 0, 0, 24, 0, 25, 0,
863 0, 0, 0, 0, 0, 0, 0, 60, 1, 2,
864 3, 4, 5, 6, 7, 8, 61, 103, 104, 105,
865 0, 62, 63, 589, 137, 0, 686, 590, 0, 591,
866 0, 592, 342, 11, 0, 0, 593, 0, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 135, 136, 18,
868 106, 344, 345, 66, 0, 0, 0, 0, 0, 0,
869 0, 0, 0, 0, 346, 347, 0, 0, 0, 0,
870 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 650, 0, 0, 0, 103, 104,
872 105, 687, 72, 0, 73, 74, 75, 76, 77, 78,
873 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
874 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
875 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
876 0, 0, 0, 0, 62, 63, 662, 663, 664, 64,
877 590, 0, 591, 665, 592, 342, 0, 0, 0, 593,
878 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
879 6, 7, 8, 0, 344, 345, 66, 0, 9, 0,
880 0, 0, 0, 165, 0, 0, 0, 346, 347, 0,
881 11, 0, 0, 67, 68, 69, 70, 71, 1, 2,
882 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
883 0, 9, 0, 0, 0, 72, 102, 73, 74, 75,
884 76, 77, 78, 11, 79, 0, 0, 80, 81, 82,
885 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
886 93, 94, 95, 60, 166, 103, 104, 105, 106, 0,
887 0, 0, 61, 0, 0, 0, 0, 62, 63, 754,
888 0, 0, 64, 590, 0, 591, 0, 592, 342, 0,
889 0, 0, 593, 0, 0, 0, 0, 0, 103, 104,
890 105, 106, 0, 0, 162, 0, 0, 344, 345, 66,
891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 346, 347, 0, 0, 0, 0, 67, 68, 69, 70,
893 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0, 72, 755,
895 756, 74, 75, 76, 77, 78, 0, 79, 0, 0,
896 80, 81, 82, 83, 84, 85, 86, 87, 88, 757,
897 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
898 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
899 62, 63, 589, 0, 0, 64, 590, 0, 591, 0,
900 592, 342, 0, 0, 0, 593, 0, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 162, 0, 0,
902 344, 345, 66, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 346, 347, 0, 0, 826, 0, 67,
904 68, 69, 70, 71, 1, 2, 3, 4, 5, 6,
905 7, 8, 0, 0, 0, 0, 0, 9, 0, 0,
906 0, 72, 102, 73, 74, 75, 76, 77, 78, 11,
907 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
908 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
909 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
910 0, 0, 0, 62, 63, 589, 0, 0, 64, 590,
911 -626, 591, 0, 592, 342, 0, 0, 0, 593, 0,
912 0, 0, 0, 0, 103, 104, 105, 106, 0, 0,
913 162, 0, 0, 344, 345, 66, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 0, 346, 347, 0, 0,
915 0, 0, 67, 68, 69, 70, 71, 1, 2, 3,
916 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
917 9, 0, 0, 0, 72, 102, 73, 74, 75, 76,
918 77, 78, 11, 79, 0, 0, 80, 81, 82, 83,
919 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
920 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
921 0, 61, 0, 0, 0, 0, 62, 63, 589, 0,
922 0, 64, 590, 0, 591, 0, 592, 342, 0, 0,
923 0, 593, 0, 0, 0, 0, 0, 135, 136, 18,
924 106, 0, 0, 162, 0, 0, 344, 345, 66, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 346,
926 347, 0, 0, 0, 0, 67, 68, 69, 70, 71,
927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
929 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
930 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
931 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
932 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
933 63, 754, 0, 0, 64, 590, 0, 591, 0, 592,
934 342, 0, 0, 0, 593, 0, 0, 0, 0, 0,
935 1, 2, 3, 4, 5, 6, 7, 8, 0, 344,
936 345, 66, 0, 700, 0, 0, 0, 0, 102, 0,
937 0, 0, 346, 347, 0, 11, 0, 0, 67, 68,
938 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 72, 755, 756, 74, 75, 76, 77, 78, 0, 79,
941 701, 0, 80, 81, 82, 83, 84, 85, 86, 87,
942 88, 757, 90, 91, 92, 93, 94, 95, 60, 0,
943 103, 104, 105, 390, 0, 0, 0, 61, 0, 0,
944 0, 0, 62, 63, 589, 0, 0, 64, 590, 0,
945 591, 0, 592, 342, 0, 0, 0, 593, 0, 0,
946 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
947 8, 0, 344, 345, 66, 0, 700, 0, 0, 0,
948 0, 102, 0, 0, 0, 346, 347, 0, 11, 0,
949 0, 67, 68, 69, 70, 71, 1, 2, 3, 4,
950 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
951 0, 0, 0, 72, 102, 73, 74, 75, 76, 77,
952 78, 11, 79, 704, 0, 80, 81, 82, 83, 84,
953 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
954 95, 60, 0, 103, 104, 105, 390, 0, 0, 0,
955 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
956 64, 0, 0, 340, 0, 341, 342, 0, 0, 0,
957 343, 0, 0, 0, 0, 0, 103, 104, 105, 106,
958 0, 0, 0, 0, 0, 344, 345, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 0, 0, 346, 347,
960 0, 0, 0, 0, 67, 68, 69, 70, 71, 0,
961 0, 0, 0, 0, 0, 0, 348, 0, 0, 0,
962 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
963 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
964 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
965 92, 93, 94, 95, 60, 0, 0, 0, 0, 0,
966 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
967 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
968 0, 0, 0, 65, 0, 0, 0, 0, 1, 2,
969 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
970 66, 389, 0, 0, 0, 0, 102, 0, 0, 0,
971 0, 0, 0, 11, 0, 0, 0, 67, 68, 69,
972 70, 71, 0, 0, 0, 0, 0, 0, 0, 0,
973 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
974 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
975 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
976 89, 90, 91, 92, 93, 94, 95, 60, 103, 104,
977 105, 390, 0, 0, 0, 0, 61, 0, 0, 0,
978 0, 62, 63, 0, 0, 0, 64, 0, 0, 0,
979 0, 0, 0, 0, 0, 0, -524, 0, 0, 0,
980 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
981 0, 0, 0, 66, 0, 0, 0, 0, 0, 102,
982 0, 0, 0, 422, 423, 0, 0, 0, 0, 0,
983 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
984 0, 425, 0, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
986 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
987 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
988 60, 103, 104, 105, 0, 0, 0, 0, 0, 61,
989 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
992 7, 8, 0, 0, 0, 0, 66, 154, 0, 0,
993 0, 0, 102, 0, 0, 1, 2, 3, 4, 5,
994 6, 7, 8, 67, 68, 69, 70, 71, 607, 0,
995 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
996 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
997 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
998 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
999 93, 94, 95, 60, 103, 104, 105, 0, 0, 0,
1000 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
1001 0, 0, 64, 720, 0, 103, 104, 105, 0, 0,
1002 0, 0, 194, 0, 432, 433, 434, 435, 436, 437,
1003 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1004 448, 449, 0, 0, 0, 0, 0, 693, 0, 0,
1005 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
1006 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
1008 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1009 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1010 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
1011 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
1012 62, 63, 0, 0, 0, 64, 0, 642, 0, 0,
1013 0, 0, 0, 0, 0, 428, 432, 433, 434, 435,
1014 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1015 446, 447, 448, 449, 0, 0, 0, 0, 0, 450,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1017 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
1018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1019 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1020 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1021 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
1022 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
1023 0, 0, 0, 62, 63, 0, 0, 0, 64, 0,
1024 748, 0, 0, 0, 0, 0, 0, 0, 461, 432,
1025 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1026 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
1027 0, 0, 693, 0, 0, 0, 0, 0, 60, 0,
1028 0, 0, 67, 68, 69, 70, 71, 61, 0, 0,
1029 0, 0, 62, 63, 0, 0, 0, 64, 0, 0,
1030 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
1031 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
1032 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1033 94, 95, 0, 0, 0, 0, 0, 0, 0, 723,
1034 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1036 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
1037 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
1038 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1039 95, 60, 0, 0, 0, 0, 0, 0, 0, 0,
1040 61, 0, 869, 0, 0, 770, 63, 0, 0, 0,
1041 64, 432, 433, 434, 435, 436, 437, 438, 439, 440,
1042 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
1043 0, 0, 0, 0, 693, 0, 0, 66, 0, 0,
1044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1045 60, 0, 0, 0, 67, 68, 69, 70, 71, 61,
1046 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
1047 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
1048 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
1049 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1050 92, 93, 94, 95, 0, 0, 0, 0, 0, 60,
1051 0, 810, 0, 67, 68, 69, 70, 71, 61, 0,
1052 0, 0, 0, 62, 63, 0, 0, 0, 64, 0,
1053 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
1054 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
1055 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1056 93, 94, 95, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
1060 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
1061 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1062 94, 95, 840, 0, 0, 0, 0, 0, 0, 0,
1063 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1064 442, 443, 444, 445, 446, 447, 448, 449, 732, 0,
1065 0, 0, 0, 693, 0, 432, 433, 434, 435, 436,
1066 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1067 447, 448, 449, 792, 0, 0, 0, 0, 450, 0,
1068 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1069 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
1070 0, 692, 0, 693, 432, 433, 434, 435, 436, 437,
1071 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1072 448, 449, 0, 0, 0, 0, 0, 693, 432, 433,
1073 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1074 444, 445, 446, 447, 448, 449, 0, 0, 0, 0,
1075 0, 450, 432, 433, 434, 435, 436, 437, 438, 439,
1076 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1077 0, 0, 0, 0, 0, 693, 432, 433, 434, 435,
1078 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1079 446, 447, 448, 449, 0, 0, 0, 0, 0, 450,
1080 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1081 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
1085 static const short int yycheck
[] =
1087 33, 22, 9, 129, 403, 11, 9, 0, 65, 16,
1088 17, 18, 133, 19, 133, 10, 362, 363, 15, 454,
1089 15, 145, 146, 147, 380, 187, 188, 351, 406, 160,
1090 33, 454, 377, 400, 27, 15, 403, 168, 710, 49,
1091 708, 10, 684, 708, 0, 343, 708, 738, 743, 24,
1092 745, 349, 21, 26, 10, 31, 25, 35, 36, 35,
1093 36, 32, 65, 3, 26, 21, 6, 412, 24, 25,
1094 10, 27, 12, 13, 14, 15, 16, 17, 49, 92,
1095 93, 94, 95, 96, 210, 98, 99, 26, 0, 64,
1096 97, 756, 787, 33, 33, 44, 103, 104, 105, 764,
1097 106, 25, 764, 427, 26, 27, 430, 125, 31, 6,
1098 32, 35, 9, 36, 124, 122, 31, 32, 463, 34,
1099 31, 31, 44, 34, 815, 132, 133, 134, 135, 136,
1100 32, 134, 804, 431, 32, 715, 143, 194, 718, 87,
1101 137, 31, 137, 33, 34, 36, 119, 789, 17, 18,
1102 36, 154, 450, 451, 9, 37, 11, 137, 30, 850,
1103 802, 31, 49, 33, 34, 33, 34, 174, 201, 166,
1104 31, 166, 844, 841, 17, 18, 841, 35, 37, 874,
1105 852, 823, 189, 32, 191, 34, 166, 6, 7, 8,
1106 159, 194, 187, 188, 859, 32, 165, 859, 610, 23,
1107 612, 36, 870, 159, 876, 870, 31, 585, 23, 165,
1108 92, 93, 94, 95, 96, 650, 98, 99, 35, 36,
1109 655, 23, 343, 36, 343, 33, 34, 650, 349, 36,
1110 349, 23, 655, 92, 93, 94, 95, 96, 369, 98,
1111 99, 110, 111, 112, 113, 114, 115, 38, 593, 33,
1112 34, 596, 32, 609, 6, 611, 32, 100, 101, 102,
1113 103, 104, 105, 106, 107, 108, 33, 34, 613, 31,
1114 4, 5, 6, 7, 8, 9, 10, 11, 118, 4,
1115 5, 6, 32, 17, 9, 135, 136, 31, 22, 35,
1116 32, 36, 454, 40, 31, 29, 31, 22, 6, 26,
1117 4, 5, 6, 7, 8, 9, 10, 11, 40, 33,
1118 431, 34, 431, 17, 34, 32, 22, 32, 22, 40,
1119 644, 39, 379, 647, 648, 29, 37, 40, 31, 450,
1120 451, 450, 451, 37, 391, 31, 343, 32, 24, 40,
1121 32, 348, 349, 710, 32, 34, 31, 31, 693, 694,
1122 84, 85, 86, 87, 33, 33, 33, 91, 391, 366,
1123 4, 5, 6, 708, 33, 9, 399, 25, 401, 35,
1124 403, 35, 33, 33, 33, 40, 379, 33, 22, 33,
1125 84, 85, 86, 87, 390, 33, 389, 34, 391, 123,
1126 35, 34, 34, 739, 740, 402, 752, 753, 33, 109,
1127 32, 32, 747, 33, 461, 34, 33, 25, 415, 35,
1128 32, 418, 31, 33, 97, 32, 31, 121, 424, 764,
1129 33, 428, 455, 456, 431, 35, 25, 34, 31, 34,
1130 34, 593, 831, 731, 732, 33, 32, 804, 24, 34,
1131 32, 25, 33, 450, 451, 790, 25, 792, 610, 32,
1132 612, 775, 776, 33, 3, 33, 801, 454, 461, 454,
1133 34, 454, 34, 12, 831, 35, 33, 25, 17, 18,
1134 19, 34, 33, 22, 23, 27, 25, 844, 27, 28,
1135 33, 333, 132, 32, 790, 852, 166, 655, 650, 650,
1136 39, 39, 182, 655, 3, 840, 841, 6, 47, 48,
1137 49, 10, 583, 12, 13, 14, 15, 16, 17, 876,
1138 167, 60, 61, 24, 859, 188, 782, 66, 67, 68,
1139 69, 70, 614, 365, 424, 870, 21, 98, 745, 870,
1140 755, 372, 399, 657, 658, 717, -1, -1, -1, 88,
1141 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1142 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1143 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
1144 -1, -1, -1, -1, -1, 124, -1, -1, -1, -1,
1145 -1, 638, -1, 4, 5, 6, 7, 8, 9, 10,
1146 11, -1, -1, -1, 601, -1, 17, -1, -1, 606,
1147 -1, 22, -1, 636, 607, -1, -1, 614, 29, -1,
1148 731, 732, 731, 732, -1, 610, -1, 612, -1, -1,
1149 -1, 654, -1, -1, -1, -1, -1, -1, -1, -1,
1150 637, -1, -1, -1, -1, 638, -1, -1, 4, 5,
1151 6, 7, 8, 9, 10, 11, -1, 773, -1, 656,
1152 -1, 654, -1, 650, 661, 650, 22, 650, 655, -1,
1153 655, -1, 655, 84, 85, 86, 87, -1, -1, -1,
1154 -1, -1, -1, -1, -1, -1, -1, -1, -1, 712,
1155 -1, 687, 715, -1, -1, 718, -1, -1, -1, 3,
1156 -1, 698, -1, 714, -1, -1, -1, 700, 12, -1,
1157 121, -1, -1, 17, 18, 19, 20, 21, 22, -1,
1158 717, -1, -1, -1, -1, -1, -1, -1, 84, 85,
1159 86, -1, -1, -1, 731, 732, -1, -1, -1, -1,
1160 -1, -1, -1, -1, 767, -1, -1, -1, -1, -1,
1161 -1, -1, -1, -1, -1, -1, -1, 780, -1, -1,
1162 783, 784, 66, 67, 68, 69, 70, -1, -1, -1,
1163 -1, -1, -1, -1, -1, -1, -1, 774, 789, -1,
1164 -1, -1, -1, -1, 88, 30, 90, 91, 92, 93,
1165 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1166 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1167 114, 115, -1, 836, -1, -1, -1, 121, 841, 123,
1168 124, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1169 75, 76, 77, -1, 79, 80, 81, 82, -1, -1,
1170 -1, -1, -1, -1, -1, 0, -1, 870, 3, 4,
1171 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1172 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1173 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1174 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1175 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1176 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1177 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1178 75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
1179 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1180 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1181 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1182 115, 116, -1, 118, 119, -1, 121, 122, 123, 124,
1183 125, 0, -1, -1, 3, 4, 5, 6, 7, 8,
1184 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1185 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1186 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
1187 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1188 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1189 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1190 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1191 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1192 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1193 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1194 109, 110, 111, 112, 113, 114, 115, 116, -1, -1,
1195 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1196 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1197 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1198 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1199 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1200 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1201 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1202 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1203 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1204 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1205 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1206 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1207 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1208 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1209 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1210 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1211 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1212 -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1213 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1214 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1215 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1216 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1217 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1218 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1219 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1220 -1, -1, 119, -1, 121, 122, 123, 124, 125, 4,
1221 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1222 -1, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1223 -1, -1, -1, -1, 29, 30, 31, 4, 5, 6,
1224 7, 8, 9, 10, 11, -1, 41, -1, -1, -1,
1225 17, -1, -1, -1, -1, 22, -1, -1, -1, -1,
1226 -1, -1, 29, -1, -1, -1, 3, 4, 5, 6,
1227 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
1228 17, -1, -1, -1, -1, 22, -1, -1, 83, 84,
1229 85, 86, 87, 88, 89, -1, 91, 4, 5, 6,
1230 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1231 17, -1, -1, -1, -1, 22, -1, 84, 85, 86,
1232 87, 116, 29, -1, -1, -1, 121, -1, 123, -1,
1233 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
1234 6, 7, 8, 9, 10, 11, 12, 84, 85, 86,
1235 -1, 17, 18, 19, 121, -1, 22, 23, -1, 25,
1236 -1, 27, 28, 29, -1, -1, 32, -1, -1, -1,
1237 -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
1238 87, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1239 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1240 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1241 -1, -1, -1, -1, 121, -1, -1, -1, 84, 85,
1242 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
1243 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1244 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1245 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1246 -1, -1, -1, -1, 17, 18, 19, 20, 21, 22,
1247 23, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1248 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1249 9, 10, 11, -1, 47, 48, 49, -1, 17, -1,
1250 -1, -1, -1, 22, -1, -1, -1, 60, 61, -1,
1251 29, -1, -1, 66, 67, 68, 69, 70, 4, 5,
1252 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1253 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1254 93, 94, 95, 29, 97, -1, -1, 100, 101, 102,
1255 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1256 113, 114, 115, 3, 83, 84, 85, 86, 87, -1,
1257 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1258 -1, -1, 22, 23, -1, 25, -1, 27, 28, -1,
1259 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1260 86, 87, -1, -1, 44, -1, -1, 47, 48, 49,
1261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1262 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1263 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1264 -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
1265 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1266 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1267 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1268 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1269 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1270 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1271 -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
1272 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1273 -1, -1, -1, 60, 61, -1, -1, 64, -1, 66,
1274 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1275 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1276 -1, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1277 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1278 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1279 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1280 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1281 24, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1282 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1283 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1284 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1285 -1, -1, 66, 67, 68, 69, 70, 4, 5, 6,
1286 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1287 17, -1, -1, -1, 88, 22, 90, 91, 92, 93,
1288 94, 95, 29, 97, -1, -1, 100, 101, 102, 103,
1289 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1290 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1291 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1292 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
1293 -1, 32, -1, -1, -1, -1, -1, 84, 85, 86,
1294 87, -1, -1, 44, -1, -1, 47, 48, 49, -1,
1295 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1296 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1298 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1299 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1300 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1301 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1302 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1303 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
1304 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1305 4, 5, 6, 7, 8, 9, 10, 11, -1, 47,
1306 48, 49, -1, 17, -1, -1, -1, -1, 22, -1,
1307 -1, -1, 60, 61, -1, 29, -1, -1, 66, 67,
1308 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1309 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1310 88, 89, 90, 91, 92, 93, 94, 95, -1, 97,
1311 64, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1312 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1313 84, 85, 86, 87, -1, -1, -1, 12, -1, -1,
1314 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
1315 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
1316 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1317 11, -1, 47, 48, 49, -1, 17, -1, -1, -1,
1318 -1, 22, -1, -1, -1, 60, 61, -1, 29, -1,
1319 -1, 66, 67, 68, 69, 70, 4, 5, 6, 7,
1320 8, 9, 10, 11, -1, -1, -1, -1, -1, 17,
1321 -1, -1, -1, 88, 22, 90, 91, 92, 93, 94,
1322 95, 29, 97, 64, -1, 100, 101, 102, 103, 104,
1323 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1324 115, 3, -1, 84, 85, 86, 87, -1, -1, -1,
1325 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1326 22, -1, -1, 25, -1, 27, 28, -1, -1, -1,
1327 32, -1, -1, -1, -1, -1, 84, 85, 86, 87,
1328 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1329 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1330 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1331 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1332 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1333 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1334 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1335 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
1336 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1337 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1338 -1, -1, -1, 32, -1, -1, -1, -1, 4, 5,
1339 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1340 49, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1341 -1, -1, -1, 29, -1, -1, -1, 66, 67, 68,
1342 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1343 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1344 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1345 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1346 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
1347 86, 87, -1, -1, -1, -1, 12, -1, -1, -1,
1348 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
1349 -1, -1, -1, -1, -1, -1, 32, -1, -1, -1,
1350 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1351 -1, -1, -1, 49, -1, -1, -1, -1, -1, 22,
1352 -1, -1, -1, 26, 27, -1, -1, -1, -1, -1,
1353 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1354 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
1355 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1356 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1357 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1358 3, 84, 85, 86, -1, -1, -1, -1, -1, 12,
1359 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1362 10, 11, -1, -1, -1, -1, 49, 17, -1, -1,
1363 -1, -1, 22, -1, -1, 4, 5, 6, 7, 8,
1364 9, 10, 11, 66, 67, 68, 69, 70, 17, -1,
1365 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1366 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1367 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1368 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1369 113, 114, 115, 3, 84, 85, 86, -1, -1, -1,
1370 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1371 -1, -1, 22, 31, -1, 84, 85, 86, -1, -1,
1372 -1, -1, 32, -1, 42, 43, 44, 45, 46, 47,
1373 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1374 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
1375 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1376 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1377 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1378 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1379 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1380 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1381 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1382 17, 18, -1, -1, -1, 22, -1, 33, -1, -1,
1383 -1, -1, -1, -1, -1, 32, 42, 43, 44, 45,
1384 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1385 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1386 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
1387 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1389 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1390 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1391 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1392 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1393 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1394 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
1395 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1396 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1397 -1, -1, 65, -1, -1, -1, -1, -1, 3, -1,
1398 -1, -1, 66, 67, 68, 69, 70, 12, -1, -1,
1399 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1400 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1401 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1402 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1403 114, 115, -1, -1, -1, -1, -1, -1, -1, 64,
1404 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1406 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1407 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1408 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1409 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1410 12, -1, 33, -1, -1, 17, 18, -1, -1, -1,
1411 22, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1412 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1413 -1, -1, -1, -1, 65, -1, -1, 49, -1, -1,
1414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1415 3, -1, -1, -1, 66, 67, 68, 69, 70, 12,
1416 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1417 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1418 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1419 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1420 112, 113, 114, 115, -1, -1, -1, -1, -1, 3,
1421 -1, 64, -1, 66, 67, 68, 69, 70, 12, -1,
1422 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1423 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1424 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1425 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1426 113, 114, 115, -1, -1, -1, -1, -1, -1, -1,
1427 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1428 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1429 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1430 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1431 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1432 114, 115, 34, -1, -1, -1, -1, -1, -1, -1,
1433 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1434 52, 53, 54, 55, 56, 57, 58, 59, 35, -1,
1435 -1, -1, -1, 65, -1, 42, 43, 44, 45, 46,
1436 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1437 57, 58, 59, 35, -1, -1, -1, -1, 65, -1,
1438 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1439 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1440 -1, 39, -1, 65, 42, 43, 44, 45, 46, 47,
1441 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1442 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
1443 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1444 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1445 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1446 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1447 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1448 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1449 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1450 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1451 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1455 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1456 symbol of state STATE-NUM. */
1457 static const unsigned short int yystos
[] =
1459 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1460 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1461 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
1462 150, 168, 173, 178, 179, 180, 181, 182, 183, 184,
1463 185, 190, 193, 194, 197, 201, 202, 203, 204, 205,
1464 206, 209, 211, 212, 218, 226, 238, 239, 9, 11,
1465 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1466 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1467 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1468 110, 111, 112, 113, 114, 115, 143, 235, 236, 237,
1469 254, 266, 22, 84, 85, 86, 87, 202, 209, 179,
1470 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1471 75, 76, 77, 79, 80, 81, 82, 151, 152, 153,
1472 154, 156, 157, 158, 17, 84, 85, 121, 174, 176,
1473 203, 204, 209, 218, 227, 228, 143, 143, 143, 229,
1474 3, 6, 10, 12, 17, 169, 170, 179, 26, 123,
1475 202, 239, 44, 274, 275, 22, 83, 201, 202, 0,
1476 148, 143, 210, 234, 235, 4, 5, 6, 9, 22,
1477 186, 6, 183, 189, 31, 125, 191, 32, 32, 36,
1478 36, 234, 235, 87, 32, 143, 124, 237, 143, 143,
1479 143, 34, 195, 19, 20, 21, 121, 123, 124, 143,
1480 159, 160, 30, 0, 3, 4, 5, 6, 7, 8,
1481 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1482 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1483 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1484 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1485 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1486 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1487 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1488 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1489 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1490 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1491 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1492 125, 144, 163, 164, 163, 26, 119, 155, 143, 159,
1493 25, 27, 28, 32, 47, 48, 60, 61, 78, 142,
1494 143, 165, 223, 143, 143, 229, 143, 229, 176, 31,
1495 143, 35, 232, 232, 232, 232, 235, 23, 31, 202,
1496 36, 198, 36, 23, 174, 191, 198, 38, 233, 32,
1497 143, 6, 187, 6, 9, 188, 186, 32, 31, 17,
1498 87, 178, 207, 208, 209, 207, 143, 219, 220, 92,
1499 93, 94, 95, 96, 98, 99, 245, 246, 247, 260,
1500 263, 269, 270, 271, 143, 234, 196, 210, 235, 118,
1501 163, 144, 26, 27, 32, 44, 225, 165, 32, 143,
1502 165, 32, 42, 43, 44, 45, 46, 47, 48, 49,
1503 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1504 65, 141, 31, 35, 36, 214, 214, 31, 213, 214,
1505 213, 32, 143, 40, 198, 0, 3, 4, 5, 6,
1506 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1507 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1508 27, 28, 29, 31, 32, 33, 34, 35, 38, 39,
1509 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1510 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1511 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1512 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1513 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1514 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1515 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1516 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1517 125, 145, 198, 199, 200, 245, 32, 31, 31, 19,
1518 23, 25, 27, 32, 39, 124, 142, 210, 221, 222,
1519 223, 234, 233, 6, 26, 192, 235, 17, 234, 33,
1520 34, 33, 34, 40, 34, 230, 210, 250, 221, 242,
1521 264, 265, 266, 274, 210, 143, 272, 273, 210, 261,
1522 265, 37, 246, 221, 33, 143, 34, 32, 179, 224,
1523 225, 22, 33, 143, 165, 166, 167, 165, 165, 32,
1524 121, 175, 176, 177, 178, 215, 218, 227, 228, 210,
1525 210, 234, 19, 20, 21, 26, 171, 172, 221, 37,
1526 200, 37, 3, 6, 10, 12, 13, 14, 15, 16,
1527 17, 33, 240, 241, 243, 244, 22, 87, 178, 221,
1528 39, 221, 39, 65, 141, 143, 26, 33, 235, 233,
1529 17, 64, 208, 233, 64, 221, 220, 37, 40, 31,
1530 40, 31, 32, 24, 40, 32, 31, 34, 32, 31,
1531 31, 33, 210, 64, 143, 161, 162, 234, 33, 33,
1532 33, 34, 35, 25, 177, 35, 231, 37, 175, 232,
1533 232, 143, 31, 35, 33, 34, 242, 33, 33, 221,
1534 221, 33, 33, 33, 19, 89, 90, 109, 221, 249,
1535 251, 252, 253, 254, 275, 264, 210, 274, 196, 273,
1536 17, 196, 262, 33, 34, 165, 165, 34, 25, 35,
1537 34, 216, 231, 214, 214, 33, 243, 35, 241, 243,
1538 40, 221, 35, 233, 233, 109, 251, 17, 18, 254,
1539 257, 32, 32, 249, 34, 267, 210, 33, 33, 163,
1540 64, 143, 25, 35, 32, 210, 217, 31, 216, 243,
1541 274, 171, 221, 32, 221, 242, 64, 264, 268, 33,
1542 31, 97, 33, 35, 25, 231, 34, 31, 64, 242,
1543 34, 34, 255, 33, 34, 18, 265, 266, 32, 34,
1544 210, 24, 32, 221, 210, 248, 249, 250, 256, 275,
1545 33, 264, 25, 25, 231, 33, 258, 259, 264, 33,
1546 34, 249, 34, 33, 35, 33, 34, 248, 25, 243,
1550 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1551 static const unsigned short int yyr1
[] =
1553 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
1554 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1555 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
1556 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1557 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
1558 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1559 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1560 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1561 144, 144, 144, 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, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1570 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1571 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1572 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1573 145, 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, 146, 146, 147,
1581 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
1582 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
1583 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
1584 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
1585 158, 158, 159, 159, 159, 159, 159, 159, 159, 160,
1586 160, 161, 161, 161, 161, 162, 162, 163, 163, 164,
1587 164, 165, 165, 165, 165, 165, 165, 165, 165, 165,
1588 165, 165, 166, 166, 167, 167, 168, 169, 170, 170,
1589 170, 170, 171, 171, 171, 172, 172, 172, 172, 173,
1590 173, 173, 174, 174, 175, 175, 176, 176, 176, 176,
1591 176, 177, 177, 177, 177, 177, 178, 178, 178, 179,
1592 179, 180, 180, 180, 181, 181, 181, 182, 182, 182,
1593 183, 183, 184, 184, 184, 185, 185, 185, 185, 186,
1594 186, 186, 186, 186, 186, 187, 187, 188, 188, 188,
1595 188, 189, 189, 189, 190, 190, 191, 191, 192, 192,
1596 193, 194, 195, 195, 196, 196, 197, 197, 197, 198,
1597 199, 199, 200, 200, 201, 201, 202, 202, 203, 203,
1598 204, 204, 205, 205, 205, 205, 206, 206, 207, 207,
1599 207, 207, 208, 208, 208, 208, 209, 209, 209, 209,
1600 210, 210, 211, 212, 213, 213, 214, 215, 215, 216,
1601 216, 217, 217, 218, 219, 219, 220, 220, 221, 221,
1602 221, 221, 221, 221, 222, 222, 222, 222, 222, 222,
1603 223, 223, 224, 224, 225, 225, 225, 226, 227, 228,
1604 229, 229, 230, 230, 231, 231, 231, 231, 232, 232,
1605 233, 233, 233, 233, 234, 234, 235, 235, 236, 236,
1606 237, 237, 238, 238, 239, 239, 239, 240, 240, 241,
1607 241, 242, 243, 244, 244, 244, 244, 244, 244, 244,
1608 244, 244, 245, 245, 246, 246, 246, 246, 246, 247,
1609 247, 248, 248, 248, 249, 249, 249, 249, 249, 249,
1610 250, 250, 251, 252, 253, 254, 254, 254, 254, 254,
1611 254, 254, 254, 254, 254, 255, 255, 256, 256, 257,
1612 257, 258, 258, 259, 259, 260, 261, 261, 262, 262,
1613 262, 263, 264, 264, 264, 265, 265, 266, 266, 266,
1614 266, 266, 266, 266, 266, 267, 267, 268, 268, 269,
1615 270, 270, 271, 272, 272, 273, 274, 274, 275
1618 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1619 static const unsigned char yyr2
[] =
1621 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1622 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1623 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1624 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1625 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1627 1, 1, 1, 1, 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, 0, 1, 1,
1649 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1650 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1651 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
1652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1653 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
1654 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1655 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1656 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1657 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1658 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1659 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1660 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1661 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1662 1, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1663 2, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1664 2, 3, 0, 2, 1, 3, 3, 3, 4, 3,
1665 1, 2, 1, 1, 1, 2, 1, 1, 5, 7,
1666 5, 7, 6, 7, 6, 5, 1, 2, 0, 1,
1667 1, 3, 1, 2, 3, 2, 1, 2, 4, 3,
1668 3, 2, 4, 4, 1, 1, 3, 4, 5, 0,
1669 2, 2, 4, 5, 1, 3, 1, 3, 1, 4,
1670 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
1671 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
1672 0, 1, 0, 1, 0, 2, 7, 9, 0, 7,
1673 0, 2, 3, 3, 0, 1, 1, 2, 1, 2,
1674 1, 2, 4, 5, 7, 8, 13, 1, 3, 2,
1675 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1676 1, 1, 1, 2, 1, 1, 1, 1, 1, 3,
1677 6, 1, 2, 1, 1, 1, 1, 2, 1, 1,
1678 3, 4, 6, 8, 5, 1, 1, 1, 1, 1,
1679 1, 1, 1, 1, 1, 0, 2, 1, 3, 1,
1680 1, 0, 1, 1, 3, 3, 6, 1, 0, 1,
1681 1, 3, 1, 1, 3, 5, 6, 1, 1, 1,
1682 1, 1, 1, 1, 1, 0, 2, 1, 3, 3,
1683 1, 1, 3, 1, 3, 4, 0, 1, 1
1687 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1688 static const unsigned char yydprec
[] =
1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 2, 1, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 2, 1, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0
1755 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1756 static const unsigned char yymerger
[] =
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1823 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1824 in the case of predicates. */
1825 static const yybool yyimmediate
[] =
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1892 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1893 list of conflicting reductions corresponding to action entry for
1894 state STATE-NUM in yytable. 0 means no conflicts. The list in
1895 yyconfl is terminated by a rule number of 0. */
1896 static const unsigned short int yyconflp
[] =
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 255, 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, 7, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 261, 0, 263, 265, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 269, 0, 271, 273, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 257, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 5, 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, 259, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 267, 0, 0, 0, 0, 0, 253, 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, 275, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 9, 0, 0, 11, 13,
1982 15, 17, 19, 21, 23, 25, 27, 29, 31, 33,
1983 35, 37, 39, 41, 43, 45, 47, 49, 51, 53,
1984 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
1985 75, 77, 79, 81, 83, 85, 87, 89, 91, 93,
1986 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
1987 115, 117, 119, 121, 123, 125, 127, 129, 131, 133,
1988 135, 137, 139, 141, 143, 145, 147, 149, 151, 153,
1989 155, 157, 159, 161, 163, 0, 165, 0, 167, 169,
1990 171, 173, 175, 177, 179, 181, 183, 185, 187, 189,
1991 191, 193, 195, 197, 199, 201, 203, 205, 207, 209,
1992 211, 213, 215, 217, 219, 221, 223, 225, 227, 229,
1993 231, 233, 0, 235, 237, 0, 239, 241, 243, 245,
1994 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 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, 1, 0, 0, 0, 0, 3, 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, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 0, 0, 0, 0, 0, 0, 0, 0, 249,
2132 0, 0, 0, 0, 251, 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, 277,
2261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2266 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2267 0, pointed into by YYCONFLP. */
2268 static const short int yyconfl
[] =
2270 0, 396, 0, 396, 0, 409, 0, 466, 0, 613,
2271 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2272 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2273 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2274 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2275 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2276 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2277 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2278 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2279 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2280 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2281 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2282 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2283 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2284 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2285 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2286 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2287 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2288 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2289 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2290 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2291 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2292 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2293 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
2294 0, 613, 0, 613, 0, 613, 0, 613, 0, 396,
2295 0, 396, 0, 409, 0, 511, 0, 511, 0, 42,
2296 0, 497, 0, 497, 0, 497, 0, 396, 0, 564,
2297 0, 564, 0, 564, 0, 614, 0, 344, 0, 493,
2301 /* Error token number */
2308 #define yynerrs (yystackp->yyerrcnt)
2310 #define yychar (yystackp->yyrawchar)
2312 #define yylval (yystackp->yyval)
2314 #define yylloc (yystackp->yyloc)
2315 #define psi_parser_proc_nerrs yynerrs
2316 #define psi_parser_proc_char yychar
2317 #define psi_parser_proc_lval yylval
2318 #define psi_parser_proc_lloc yylloc
2320 static const int YYEOF
= 0;
2321 static const int YYEMPTY
= -2;
2323 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2325 #define YYCHK(YYE) \
2327 YYRESULTTAG yychk_flag = YYE; \
2328 if (yychk_flag != yyok) \
2329 return yychk_flag; \
2335 # define YYFPRINTF fprintf
2338 /* This macro is provided for backward compatibility. */
2339 #ifndef YY_LOCATION_PRINT
2340 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2344 # define YYDPRINTF(Args) \
2351 /*----------------------------------------.
2352 | Print this symbol's value on YYOUTPUT. |
2353 `----------------------------------------*/
2356 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2358 FILE *yyo
= yyoutput
;
2369 /*--------------------------------.
2370 | Print this symbol on YYOUTPUT. |
2371 `--------------------------------*/
2374 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2376 YYFPRINTF (yyoutput
, "%s %s (",
2377 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2379 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2380 YYFPRINTF (yyoutput
, ")");
2383 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2387 YYFPRINTF (stderr, "%s ", Title); \
2388 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2389 YYFPRINTF (stderr, "\n"); \
2393 /* Nonzero means print parse trace. It is left uninitialized so that
2394 multiple parsers can coexist. */
2398 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2399 YY_ATTRIBUTE_UNUSED
;
2400 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2401 YY_ATTRIBUTE_UNUSED
;
2403 #else /* !YYDEBUG */
2405 # define YYDPRINTF(Args)
2406 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2408 #endif /* !YYDEBUG */
2410 /* YYINITDEPTH -- initial size of the parser's stacks. */
2412 # define YYINITDEPTH 200
2415 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2416 if the built-in stack extension method is used).
2418 Do not make this value too large; the results are undefined if
2419 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2420 evaluated with infinite-precision integer arithmetic. */
2423 # define YYMAXDEPTH 10000
2426 /* Minimum number of free items on the stack allowed after an
2427 allocation. This is to allow allocation and initialization
2428 to be completed by functions that call yyexpandGLRStack before the
2429 stack is expanded, thus insuring that all necessary pointers get
2430 properly redirected to new data. */
2431 #define YYHEADROOM 2
2433 #ifndef YYSTACKEXPANDABLE
2434 # define YYSTACKEXPANDABLE 1
2437 #if YYSTACKEXPANDABLE
2438 # define YY_RESERVE_GLRSTACK(Yystack) \
2440 if (Yystack->yyspaceLeft < YYHEADROOM) \
2441 yyexpandGLRStack (Yystack); \
2444 # define YY_RESERVE_GLRSTACK(Yystack) \
2446 if (Yystack->yyspaceLeft < YYHEADROOM) \
2447 yyMemoryExhausted (Yystack); \
2455 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2456 # define yystpcpy stpcpy
2458 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2461 yystpcpy (char *yydest
, const char *yysrc
)
2464 const char *yys
= yysrc
;
2466 while ((*yyd
++ = *yys
++) != '\0')
2475 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2476 quotes and backslashes, so that it's suitable for yyerror. The
2477 heuristic is that double-quoting is unnecessary unless the string
2478 contains an apostrophe, a comma, or backslash (other than
2479 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2480 null, do not copy; instead, return the length of what the result
2483 yytnamerr (char *yyres
, const char *yystr
)
2488 char const *yyp
= yystr
;
2495 goto do_not_strip_quotes
;
2499 goto do_not_strip_quotes
;
2512 do_not_strip_quotes
: ;
2516 return strlen (yystr
);
2518 return yystpcpy (yyres
, yystr
) - yyres
;
2522 #endif /* !YYERROR_VERBOSE */
2524 /** State numbers, as in LALR(1) machine */
2525 typedef int yyStateNum
;
2527 /** Rule numbers, as in LALR(1) machine */
2528 typedef int yyRuleNum
;
2530 /** Grammar symbol */
2531 typedef int yySymbol
;
2533 /** Item references, as in LALR(1) machine */
2534 typedef short int yyItemNum
;
2536 typedef struct yyGLRState yyGLRState
;
2537 typedef struct yyGLRStateSet yyGLRStateSet
;
2538 typedef struct yySemanticOption yySemanticOption
;
2539 typedef union yyGLRStackItem yyGLRStackItem
;
2540 typedef struct yyGLRStack yyGLRStack
;
2543 /** Type tag: always true. */
2545 /** Type tag for yysemantics. If true, yysval applies, otherwise
2546 * yyfirstVal applies. */
2548 /** Number of corresponding LALR(1) machine state. */
2549 yyStateNum yylrState
;
2550 /** Preceding state in this stack */
2552 /** Source position of the last token produced by my symbol */
2555 /** First in a chain of alternative reductions producing the
2556 * non-terminal corresponding to this state, threaded through
2558 yySemanticOption
* yyfirstVal
;
2559 /** Semantic value for this state. */
2564 struct yyGLRStateSet
{
2565 yyGLRState
** yystates
;
2566 /** During nondeterministic operation, yylookaheadNeeds tracks which
2567 * stacks have actually needed the current lookahead. During deterministic
2568 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2569 * duplicate yychar != YYEMPTY. */
2570 yybool
* yylookaheadNeeds
;
2571 size_t yysize
, yycapacity
;
2574 struct yySemanticOption
{
2575 /** Type tag: always false. */
2577 /** Rule number for this reduction */
2579 /** The last RHS state in the list of states to be reduced. */
2580 yyGLRState
* yystate
;
2581 /** The lookahead for this reduction. */
2584 /** Next sibling in chain of options. To facilitate merging,
2585 * options are chained in decreasing order by address. */
2586 yySemanticOption
* yynext
;
2589 /** Type of the items in the GLR stack. The yyisState field
2590 * indicates which item of the union is valid. */
2591 union yyGLRStackItem
{
2593 yySemanticOption yyoption
;
2604 YYJMP_BUF yyexception_buffer
;
2605 yyGLRStackItem
* yyitems
;
2606 yyGLRStackItem
* yynextFree
;
2608 yyGLRState
* yysplitPoint
;
2609 yyGLRState
* yylastDeleted
;
2610 yyGLRStateSet yytops
;
2613 #if YYSTACKEXPANDABLE
2614 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2617 static _Noreturn
void
2618 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2620 if (yymsg
!= YY_NULLPTR
)
2621 yyerror (P
, tokens
, index
, yymsg
);
2622 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2625 static _Noreturn
void
2626 yyMemoryExhausted (yyGLRStack
* yystackp
)
2628 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2631 #if YYDEBUG || YYERROR_VERBOSE
2632 /** A printable representation of TOKEN. */
2633 static inline const char*
2634 yytokenName (yySymbol yytoken
)
2636 if (yytoken
== YYEMPTY
)
2639 return yytname
[yytoken
];
2643 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2644 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2645 * containing the pointer to the next state in the chain. */
2646 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2648 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2651 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2652 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2655 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2657 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2659 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2661 /* The effect of using yysval or yyloc (in an immediate rule) is
2663 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2664 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2668 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2669 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2670 * For convenience, always return YYLOW1. */
2671 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2672 YY_ATTRIBUTE_UNUSED
;
2674 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2676 if (!yynormal
&& yylow1
< *yylow
)
2678 yyfillin (yyvsp
, *yylow
, yylow1
);
2684 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2685 * and top stack item YYVSP. YYLVALP points to place to put semantic
2686 * value ($$), and yylocp points to place for location information
2687 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2688 * yyerr for YYERROR, yyabort for YYABORT. */
2690 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2691 yyGLRStack
* yystackp
,
2692 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2694 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2702 # define yyerrok (yystackp->yyerrState = 0)
2704 # define YYACCEPT return yyaccept
2706 # define YYABORT return yyabort
2708 # define YYERROR return yyerrok, yyerr
2709 # undef YYRECOVERING
2710 # define YYRECOVERING() (yystackp->yyerrState != 0)
2712 # define yyclearin (yychar = YYEMPTY)
2714 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2716 # define YYBACKUP(Token, Value) \
2717 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2722 *yyvalp
= yyval_default
;
2724 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2728 #line 418 "src/parser_proc_grammar.y" /* glr.c:816 */
2730 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2731 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2732 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2735 #line 2736 "src/parser_proc.c" /* glr.c:816 */
2739 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2742 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2743 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2745 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
);
2748 #line 2749 "src/parser_proc.c" /* glr.c:816 */
2752 #line 432 "src/parser_proc_grammar.y" /* glr.c:816 */
2754 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2756 #line 2757 "src/parser_proc.c" /* glr.c:816 */
2760 #line 435 "src/parser_proc_grammar.y" /* glr.c:816 */
2762 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2764 #line 2765 "src/parser_proc.c" /* glr.c:816 */
2768 #line 440 "src/parser_proc_grammar.y" /* glr.c:816 */
2770 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2772 #line 2773 "src/parser_proc.c" /* glr.c:816 */
2776 #line 443 "src/parser_proc_grammar.y" /* glr.c:816 */
2778 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2780 #line 2781 "src/parser_proc.c" /* glr.c:816 */
2784 #line 446 "src/parser_proc_grammar.y" /* glr.c:816 */
2786 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2788 #line 2789 "src/parser_proc.c" /* glr.c:816 */
2792 #line 449 "src/parser_proc_grammar.y" /* glr.c:816 */
2794 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2796 #line 2797 "src/parser_proc.c" /* glr.c:816 */
2800 #line 452 "src/parser_proc_grammar.y" /* glr.c:816 */
2802 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2804 #line 2805 "src/parser_proc.c" /* glr.c:816 */
2808 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
2810 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2812 #line 2813 "src/parser_proc.c" /* glr.c:816 */
2816 #line 464 "src/parser_proc_grammar.y" /* glr.c:816 */
2818 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2820 #line 2821 "src/parser_proc.c" /* glr.c:816 */
2824 #line 467 "src/parser_proc_grammar.y" /* glr.c:816 */
2826 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2828 #line 2829 "src/parser_proc.c" /* glr.c:816 */
2832 #line 473 "src/parser_proc_grammar.y" /* glr.c:816 */
2834 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2835 struct psi_token
*msg
= NULL
;
2837 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2839 struct psi_token
*next
;
2841 msg
= psi_token_copy(msg
);
2842 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2843 struct psi_token
*old
= msg
;
2844 msg
= psi_token_cat(" ", 2, msg
, next
);
2848 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2850 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2852 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2854 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2856 #line 2857 "src/parser_proc.c" /* glr.c:816 */
2860 #line 496 "src/parser_proc_grammar.y" /* glr.c:816 */
2862 (*(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
))));
2863 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2865 #line 2866 "src/parser_proc.c" /* glr.c:816 */
2869 #line 500 "src/parser_proc_grammar.y" /* glr.c:816 */
2871 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2872 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2874 #line 2875 "src/parser_proc.c" /* glr.c:816 */
2878 #line 504 "src/parser_proc_grammar.y" /* glr.c:816 */
2880 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2881 (*(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
))));
2882 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2884 #line 2885 "src/parser_proc.c" /* glr.c:816 */
2888 #line 509 "src/parser_proc_grammar.y" /* glr.c:816 */
2890 (*(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
)));
2891 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2893 #line 2894 "src/parser_proc.c" /* glr.c:816 */
2897 #line 513 "src/parser_proc_grammar.y" /* glr.c:816 */
2899 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2900 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2902 #line 2903 "src/parser_proc.c" /* glr.c:816 */
2906 #line 517 "src/parser_proc_grammar.y" /* glr.c:816 */
2908 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2909 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2911 #line 2912 "src/parser_proc.c" /* glr.c:816 */
2915 #line 521 "src/parser_proc_grammar.y" /* glr.c:816 */
2917 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2918 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2920 #line 2921 "src/parser_proc.c" /* glr.c:816 */
2924 #line 575 "src/parser_proc_grammar.y" /* glr.c:816 */
2926 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2927 (*(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
);
2928 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2930 #line 2931 "src/parser_proc.c" /* glr.c:816 */
2934 #line 580 "src/parser_proc_grammar.y" /* glr.c:816 */
2936 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2937 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2938 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2940 #line 2941 "src/parser_proc.c" /* glr.c:816 */
2944 #line 588 "src/parser_proc_grammar.y" /* glr.c:816 */
2946 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2948 #line 2949 "src/parser_proc.c" /* glr.c:816 */
2952 #line 591 "src/parser_proc_grammar.y" /* glr.c:816 */
2954 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2956 #line 2957 "src/parser_proc.c" /* glr.c:816 */
2960 #line 595 "src/parser_proc_grammar.y" /* glr.c:816 */
2962 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
2964 #line 2965 "src/parser_proc.c" /* glr.c:816 */
2968 #line 601 "src/parser_proc_grammar.y" /* glr.c:816 */
2970 (*(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
)));
2971 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2972 (*(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
)));
2974 #line 2975 "src/parser_proc.c" /* glr.c:816 */
2978 #line 606 "src/parser_proc_grammar.y" /* glr.c:816 */
2980 (*(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
)));
2981 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2982 (*(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
)));
2984 #line 2985 "src/parser_proc.c" /* glr.c:816 */
2988 #line 614 "src/parser_proc_grammar.y" /* glr.c:816 */
2990 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2992 #line 2993 "src/parser_proc.c" /* glr.c:816 */
2996 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
2998 (*(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
)));
2999 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_token_free
), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3001 #line 3002 "src/parser_proc.c" /* glr.c:816 */
3005 #line 625 "src/parser_proc_grammar.y" /* glr.c:816 */
3007 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3008 (*(struct psi_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
)));
3010 #line 3011 "src/parser_proc.c" /* glr.c:816 */
3014 #line 632 "src/parser_proc_grammar.y" /* glr.c:816 */
3016 (*(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
)));
3017 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3019 #line 3020 "src/parser_proc.c" /* glr.c:816 */
3023 #line 636 "src/parser_proc_grammar.y" /* glr.c:816 */
3025 (*(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
)));
3026 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3028 #line 3029 "src/parser_proc.c" /* glr.c:816 */
3032 #line 640 "src/parser_proc_grammar.y" /* glr.c:816 */
3034 (*(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
)));
3035 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3037 #line 3038 "src/parser_proc.c" /* glr.c:816 */
3041 #line 644 "src/parser_proc_grammar.y" /* glr.c:816 */
3043 (*(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
)));
3044 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3046 #line 3047 "src/parser_proc.c" /* glr.c:816 */
3050 #line 649 "src/parser_proc_grammar.y" /* glr.c:816 */
3055 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3056 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3057 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3058 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3061 #line 3062 "src/parser_proc.c" /* glr.c:816 */
3065 #line 659 "src/parser_proc_grammar.y" /* glr.c:816 */
3070 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3071 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3072 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3073 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3076 #line 3077 "src/parser_proc.c" /* glr.c:816 */
3080 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3082 (*(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
));
3083 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3084 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3086 #line 3087 "src/parser_proc.c" /* glr.c:816 */
3090 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
3092 (*(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));
3093 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3094 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3096 #line 3097 "src/parser_proc.c" /* glr.c:816 */
3100 #line 679 "src/parser_proc_grammar.y" /* glr.c:816 */
3102 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3103 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3105 #line 3106 "src/parser_proc.c" /* glr.c:816 */
3109 #line 683 "src/parser_proc_grammar.y" /* glr.c:816 */
3111 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3112 (*(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));
3113 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3114 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3116 #line 3117 "src/parser_proc.c" /* glr.c:816 */
3120 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
3122 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3123 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3124 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));
3125 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3127 #line 3128 "src/parser_proc.c" /* glr.c:816 */
3131 #line 698 "src/parser_proc_grammar.y" /* glr.c:816 */
3133 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3135 #line 3136 "src/parser_proc.c" /* glr.c:816 */
3139 #line 705 "src/parser_proc_grammar.y" /* glr.c:816 */
3141 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3142 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3144 #line 3145 "src/parser_proc.c" /* glr.c:816 */
3148 #line 709 "src/parser_proc_grammar.y" /* glr.c:816 */
3150 (*(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
)));
3152 #line 3153 "src/parser_proc.c" /* glr.c:816 */
3156 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
3158 (*(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
)));
3159 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3161 #line 3162 "src/parser_proc.c" /* glr.c:816 */
3165 #line 722 "src/parser_proc_grammar.y" /* glr.c:816 */
3167 (*(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
);
3169 #line 3170 "src/parser_proc.c" /* glr.c:816 */
3173 #line 735 "src/parser_proc_grammar.y" /* glr.c:816 */
3175 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3177 #line 3178 "src/parser_proc.c" /* glr.c:816 */
3181 #line 738 "src/parser_proc_grammar.y" /* glr.c:816 */
3183 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
)) {
3185 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3187 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3188 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3190 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3194 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3195 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3196 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3197 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3198 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3199 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3200 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3201 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3202 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3203 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3209 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3211 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3213 #line 3214 "src/parser_proc.c" /* glr.c:816 */
3217 #line 769 "src/parser_proc_grammar.y" /* glr.c:816 */
3219 (*(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
);
3220 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3222 #line 3223 "src/parser_proc.c" /* glr.c:816 */
3226 #line 783 "src/parser_proc_grammar.y" /* glr.c:816 */
3228 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3230 #line 3231 "src/parser_proc.c" /* glr.c:816 */
3234 #line 786 "src/parser_proc_grammar.y" /* glr.c:816 */
3236 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3237 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3238 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3240 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3241 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3242 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3244 #line 3245 "src/parser_proc.c" /* glr.c:816 */
3248 #line 795 "src/parser_proc_grammar.y" /* glr.c:816 */
3250 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3252 #line 3253 "src/parser_proc.c" /* glr.c:816 */
3256 #line 801 "src/parser_proc_grammar.y" /* glr.c:816 */
3258 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3260 #line 3261 "src/parser_proc.c" /* glr.c:816 */
3264 #line 804 "src/parser_proc_grammar.y" /* glr.c:816 */
3266 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3268 #line 3269 "src/parser_proc.c" /* glr.c:816 */
3272 #line 810 "src/parser_proc_grammar.y" /* glr.c:816 */
3274 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3276 #line 3277 "src/parser_proc.c" /* glr.c:816 */
3280 #line 813 "src/parser_proc_grammar.y" /* glr.c:816 */
3282 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3284 #line 3285 "src/parser_proc.c" /* glr.c:816 */
3288 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
3290 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3291 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3292 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3294 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3295 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3297 #line 3298 "src/parser_proc.c" /* glr.c:816 */
3301 #line 828 "src/parser_proc_grammar.y" /* glr.c:816 */
3303 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3304 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3305 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3306 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3308 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3309 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3310 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3311 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3313 #line 3314 "src/parser_proc.c" /* glr.c:816 */
3317 #line 839 "src/parser_proc_grammar.y" /* glr.c:816 */
3319 (*(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
)));
3320 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3321 (*(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
)));
3322 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3323 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3324 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3325 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3327 #line 3328 "src/parser_proc.c" /* glr.c:816 */
3331 #line 848 "src/parser_proc_grammar.y" /* glr.c:816 */
3333 (*(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
)));
3334 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3335 (*(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
)));
3336 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3337 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3338 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3339 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3341 #line 3342 "src/parser_proc.c" /* glr.c:816 */
3345 #line 861 "src/parser_proc_grammar.y" /* glr.c:816 */
3347 (*(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));
3348 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3350 #line 3351 "src/parser_proc.c" /* glr.c:816 */
3354 #line 865 "src/parser_proc_grammar.y" /* glr.c:816 */
3356 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3357 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3358 psi_decl_var_init(NULL
, 0, 0)
3360 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3361 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3362 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3363 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3365 #line 3366 "src/parser_proc.c" /* glr.c:816 */
3369 #line 875 "src/parser_proc_grammar.y" /* glr.c:816 */
3371 (*(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));
3372 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3373 (*(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
)));
3374 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3375 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3376 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3377 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3379 #line 3380 "src/parser_proc.c" /* glr.c:816 */
3383 #line 884 "src/parser_proc_grammar.y" /* glr.c:816 */
3385 (*(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));
3386 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3387 (*(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
)));
3388 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3389 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3390 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3391 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3393 #line 3394 "src/parser_proc.c" /* glr.c:816 */
3397 #line 896 "src/parser_proc_grammar.y" /* glr.c:816 */
3399 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3401 #line 3402 "src/parser_proc.c" /* glr.c:816 */
3405 #line 899 "src/parser_proc_grammar.y" /* glr.c:816 */
3407 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3409 #line 3410 "src/parser_proc.c" /* glr.c:816 */
3413 #line 906 "src/parser_proc_grammar.y" /* glr.c:816 */
3415 (*(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
);
3416 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3418 #line 3419 "src/parser_proc.c" /* glr.c:816 */
3422 #line 914 "src/parser_proc_grammar.y" /* glr.c:816 */
3424 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3425 (*(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
);
3426 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3428 #line 3429 "src/parser_proc.c" /* glr.c:816 */
3432 #line 919 "src/parser_proc_grammar.y" /* glr.c:816 */
3434 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3435 (*(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
);
3436 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3438 #line 3439 "src/parser_proc.c" /* glr.c:816 */
3442 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3444 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3445 (*(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
);
3446 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3448 #line 3449 "src/parser_proc.c" /* glr.c:816 */
3452 #line 934 "src/parser_proc_grammar.y" /* glr.c:816 */
3454 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3456 #line 3457 "src/parser_proc.c" /* glr.c:816 */
3460 #line 940 "src/parser_proc_grammar.y" /* glr.c:816 */
3462 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3464 #line 3465 "src/parser_proc.c" /* glr.c:816 */
3468 #line 943 "src/parser_proc_grammar.y" /* glr.c:816 */
3470 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3472 #line 3473 "src/parser_proc.c" /* glr.c:816 */
3476 #line 946 "src/parser_proc_grammar.y" /* glr.c:816 */
3478 (*(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
)));
3480 #line 3481 "src/parser_proc.c" /* glr.c:816 */
3484 #line 957 "src/parser_proc_grammar.y" /* glr.c:816 */
3486 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3488 #line 3489 "src/parser_proc.c" /* glr.c:816 */
3492 #line 960 "src/parser_proc_grammar.y" /* glr.c:816 */
3494 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3496 #line 3497 "src/parser_proc.c" /* glr.c:816 */
3500 #line 963 "src/parser_proc_grammar.y" /* glr.c:816 */
3502 (*(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
)));
3504 #line 3505 "src/parser_proc.c" /* glr.c:816 */
3508 #line 969 "src/parser_proc_grammar.y" /* glr.c:816 */
3510 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3512 #line 3513 "src/parser_proc.c" /* glr.c:816 */
3516 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3518 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3520 #line 3521 "src/parser_proc.c" /* glr.c:816 */
3524 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3526 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3527 (*(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
)));
3528 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3530 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3533 #line 3534 "src/parser_proc.c" /* glr.c:816 */
3537 #line 983 "src/parser_proc_grammar.y" /* glr.c:816 */
3539 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3540 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3541 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3542 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3544 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3547 #line 3548 "src/parser_proc.c" /* glr.c:816 */
3551 #line 995 "src/parser_proc_grammar.y" /* glr.c:816 */
3553 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3555 #line 3556 "src/parser_proc.c" /* glr.c:816 */
3559 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3561 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3563 #line 3564 "src/parser_proc.c" /* glr.c:816 */
3567 #line 1001 "src/parser_proc_grammar.y" /* glr.c:816 */
3569 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3571 #line 3572 "src/parser_proc.c" /* glr.c:816 */
3575 #line 1004 "src/parser_proc_grammar.y" /* glr.c:816 */
3577 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3578 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3580 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3583 #line 3584 "src/parser_proc.c" /* glr.c:816 */
3587 #line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */
3589 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3591 #line 3592 "src/parser_proc.c" /* glr.c:816 */
3595 #line 1014 "src/parser_proc_grammar.y" /* glr.c:816 */
3597 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3598 (*(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
)));
3600 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3603 #line 3604 "src/parser_proc.c" /* glr.c:816 */
3607 #line 1024 "src/parser_proc_grammar.y" /* glr.c:816 */
3609 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3611 #line 3612 "src/parser_proc.c" /* glr.c:816 */
3615 #line 1030 "src/parser_proc_grammar.y" /* glr.c:816 */
3617 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3619 #line 3620 "src/parser_proc.c" /* glr.c:816 */
3623 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3625 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3627 #line 3628 "src/parser_proc.c" /* glr.c:816 */
3631 #line 1042 "src/parser_proc_grammar.y" /* glr.c:816 */
3633 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3635 #line 3636 "src/parser_proc.c" /* glr.c:816 */
3639 #line 1045 "src/parser_proc_grammar.y" /* glr.c:816 */
3641 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3642 (*(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
)));
3643 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3645 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3648 #line 3649 "src/parser_proc.c" /* glr.c:816 */
3652 #line 1056 "src/parser_proc_grammar.y" /* glr.c:816 */
3654 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3656 #line 3657 "src/parser_proc.c" /* glr.c:816 */
3660 #line 1059 "src/parser_proc_grammar.y" /* glr.c:816 */
3662 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3664 #line 3665 "src/parser_proc.c" /* glr.c:816 */
3668 #line 1079 "src/parser_proc_grammar.y" /* glr.c:816 */
3670 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3672 #line 3673 "src/parser_proc.c" /* glr.c:816 */
3676 #line 1086 "src/parser_proc_grammar.y" /* glr.c:816 */
3678 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3680 #line 3681 "src/parser_proc.c" /* glr.c:816 */
3684 #line 1092 "src/parser_proc_grammar.y" /* glr.c:816 */
3686 (*(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
)));
3688 #line 3689 "src/parser_proc.c" /* glr.c:816 */
3692 #line 1095 "src/parser_proc_grammar.y" /* glr.c:816 */
3694 (*(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
)));
3696 #line 3697 "src/parser_proc.c" /* glr.c:816 */
3700 #line 1101 "src/parser_proc_grammar.y" /* glr.c:816 */
3702 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3704 #line 3705 "src/parser_proc.c" /* glr.c:816 */
3708 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3710 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3712 #line 3713 "src/parser_proc.c" /* glr.c:816 */
3716 #line 1107 "src/parser_proc_grammar.y" /* glr.c:816 */
3718 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3720 #line 3721 "src/parser_proc.c" /* glr.c:816 */
3724 #line 1128 "src/parser_proc_grammar.y" /* glr.c:816 */
3726 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3727 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3729 #line 3730 "src/parser_proc.c" /* glr.c:816 */
3733 #line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */
3735 (*(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
)));
3736 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3737 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3738 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3741 #line 3742 "src/parser_proc.c" /* glr.c:816 */
3745 #line 1147 "src/parser_proc_grammar.y" /* glr.c:816 */
3747 (*(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
)));
3748 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3749 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3750 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3751 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3754 #line 3755 "src/parser_proc.c" /* glr.c:816 */
3758 #line 1158 "src/parser_proc_grammar.y" /* glr.c:816 */
3760 (*(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
)));
3761 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3762 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3763 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3766 #line 3767 "src/parser_proc.c" /* glr.c:816 */
3770 #line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */
3772 (*(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
)));
3773 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3774 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3775 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3776 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3779 #line 3780 "src/parser_proc.c" /* glr.c:816 */
3783 #line 1176 "src/parser_proc_grammar.y" /* glr.c:816 */
3785 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3786 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3787 (*(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));
3788 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3789 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3791 #line 3792 "src/parser_proc.c" /* glr.c:816 */
3795 #line 1183 "src/parser_proc_grammar.y" /* glr.c:816 */
3797 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3798 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3799 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3800 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
),
3801 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)
3803 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3804 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3805 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3807 #line 3808 "src/parser_proc.c" /* glr.c:816 */
3811 #line 1194 "src/parser_proc_grammar.y" /* glr.c:816 */
3813 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3814 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3815 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3816 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
),
3817 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)
3819 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3820 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3821 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3823 #line 3824 "src/parser_proc.c" /* glr.c:816 */
3827 #line 1205 "src/parser_proc_grammar.y" /* glr.c:816 */
3829 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3830 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3831 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3832 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
),
3833 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3835 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3836 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3837 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3839 #line 3840 "src/parser_proc.c" /* glr.c:816 */
3843 #line 1220 "src/parser_proc_grammar.y" /* glr.c:816 */
3845 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3846 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
),
3847 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3849 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3850 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3851 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3853 #line 3854 "src/parser_proc.c" /* glr.c:816 */
3857 #line 1232 "src/parser_proc_grammar.y" /* glr.c:816 */
3859 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3861 #line 3862 "src/parser_proc.c" /* glr.c:816 */
3865 #line 1235 "src/parser_proc_grammar.y" /* glr.c:816 */
3867 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3869 #line 3870 "src/parser_proc.c" /* glr.c:816 */
3873 #line 1238 "src/parser_proc_grammar.y" /* glr.c:816 */
3875 (*(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
)));
3877 #line 3878 "src/parser_proc.c" /* glr.c:816 */
3881 #line 1241 "src/parser_proc_grammar.y" /* glr.c:816 */
3883 (*(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
)));
3885 #line 3886 "src/parser_proc.c" /* glr.c:816 */
3889 #line 1248 "src/parser_proc_grammar.y" /* glr.c:816 */
3891 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3893 #line 3894 "src/parser_proc.c" /* glr.c:816 */
3897 #line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */
3899 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3900 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3901 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3904 #line 3905 "src/parser_proc.c" /* glr.c:816 */
3908 #line 1257 "src/parser_proc_grammar.y" /* glr.c:816 */
3910 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3911 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
),
3912 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3914 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3915 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3916 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3918 #line 3919 "src/parser_proc.c" /* glr.c:816 */
3922 #line 1266 "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 1278 "src/parser_proc_grammar.y" /* glr.c:816 */
3938 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3939 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3940 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3942 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3943 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3945 #line 3946 "src/parser_proc.c" /* glr.c:816 */
3949 #line 1286 "src/parser_proc_grammar.y" /* glr.c:816 */
3951 (*(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
)));
3953 #line 3954 "src/parser_proc.c" /* glr.c:816 */
3957 #line 1289 "src/parser_proc_grammar.y" /* glr.c:816 */
3959 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3960 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3961 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
),
3962 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)
3964 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3965 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3966 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3968 #line 3969 "src/parser_proc.c" /* glr.c:816 */
3972 #line 1299 "src/parser_proc_grammar.y" /* glr.c:816 */
3974 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3975 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3976 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
),
3977 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)
3979 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3980 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3981 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3983 #line 3984 "src/parser_proc.c" /* glr.c:816 */
3987 #line 1312 "src/parser_proc_grammar.y" /* glr.c:816 */
3989 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3990 (*(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
)));
3991 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3993 #line 3994 "src/parser_proc.c" /* glr.c:816 */
3997 #line 1317 "src/parser_proc_grammar.y" /* glr.c:816 */
3999 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4000 (*(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
)));
4001 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4003 #line 4004 "src/parser_proc.c" /* glr.c:816 */
4007 #line 1325 "src/parser_proc_grammar.y" /* glr.c:816 */
4009 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4010 (*(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
)));
4011 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4012 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4013 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4015 #line 4016 "src/parser_proc.c" /* glr.c:816 */
4019 #line 1335 "src/parser_proc_grammar.y" /* glr.c:816 */
4021 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4022 (*(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
)));
4023 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4024 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4025 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4027 #line 4028 "src/parser_proc.c" /* glr.c:816 */
4031 #line 1345 "src/parser_proc_grammar.y" /* glr.c:816 */
4033 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4035 #line 4036 "src/parser_proc.c" /* glr.c:816 */
4039 #line 1352 "src/parser_proc_grammar.y" /* glr.c:816 */
4041 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4043 #line 4044 "src/parser_proc.c" /* glr.c:816 */
4047 #line 1358 "src/parser_proc_grammar.y" /* glr.c:816 */
4049 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4050 (*(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
)));
4051 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4053 struct psi_decl_arg
*arg
;
4055 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4056 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4057 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4059 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4062 #line 4063 "src/parser_proc.c" /* glr.c:816 */
4066 #line 1372 "src/parser_proc_grammar.y" /* glr.c:816 */
4068 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4069 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4070 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4072 struct psi_decl_arg
*arg
;
4074 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4075 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4076 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4078 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4081 #line 4082 "src/parser_proc.c" /* glr.c:816 */
4085 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
4087 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4089 #line 4090 "src/parser_proc.c" /* glr.c:816 */
4093 #line 1392 "src/parser_proc_grammar.y" /* glr.c:816 */
4095 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4097 #line 4098 "src/parser_proc.c" /* glr.c:816 */
4101 #line 1398 "src/parser_proc_grammar.y" /* glr.c:816 */
4104 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4105 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4106 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4109 #line 4110 "src/parser_proc.c" /* glr.c:816 */
4113 #line 1405 "src/parser_proc_grammar.y" /* glr.c:816 */
4116 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4117 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4118 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4121 #line 4122 "src/parser_proc.c" /* glr.c:816 */
4125 #line 1415 "src/parser_proc_grammar.y" /* glr.c:816 */
4127 (*(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
)));
4128 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
4130 #line 4131 "src/parser_proc.c" /* glr.c:816 */
4134 #line 1422 "src/parser_proc_grammar.y" /* glr.c:816 */
4136 (*(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
)));
4138 #line 4139 "src/parser_proc.c" /* glr.c:816 */
4142 #line 1425 "src/parser_proc_grammar.y" /* glr.c:816 */
4144 (*(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
)));
4146 #line 4147 "src/parser_proc.c" /* glr.c:816 */
4150 #line 1431 "src/parser_proc_grammar.y" /* glr.c:816 */
4152 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4153 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4154 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4156 #line 4157 "src/parser_proc.c" /* glr.c:816 */
4160 #line 1436 "src/parser_proc_grammar.y" /* glr.c:816 */
4162 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4163 (*(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
)));
4164 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4166 #line 4167 "src/parser_proc.c" /* glr.c:816 */
4170 #line 1444 "src/parser_proc_grammar.y" /* glr.c:816 */
4172 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4173 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4175 #line 4176 "src/parser_proc.c" /* glr.c:816 */
4179 #line 1448 "src/parser_proc_grammar.y" /* glr.c:816 */
4181 (*(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
)));
4182 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4184 #line 4185 "src/parser_proc.c" /* glr.c:816 */
4188 #line 1452 "src/parser_proc_grammar.y" /* glr.c:816 */
4190 (*(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
)));
4191 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4193 #line 4194 "src/parser_proc.c" /* glr.c:816 */
4197 #line 1456 "src/parser_proc_grammar.y" /* glr.c:816 */
4199 (*(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
)));
4200 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4202 #line 4203 "src/parser_proc.c" /* glr.c:816 */
4206 #line 1460 "src/parser_proc_grammar.y" /* glr.c:816 */
4208 (*(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
)));
4209 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4211 #line 4212 "src/parser_proc.c" /* glr.c:816 */
4215 #line 1464 "src/parser_proc_grammar.y" /* glr.c:816 */
4217 (*(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
)));
4218 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4220 #line 4221 "src/parser_proc.c" /* glr.c:816 */
4224 #line 1471 "src/parser_proc_grammar.y" /* glr.c:816 */
4226 (*(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
);
4227 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4229 #line 4230 "src/parser_proc.c" /* glr.c:816 */
4233 #line 1475 "src/parser_proc_grammar.y" /* glr.c:816 */
4235 (*(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);
4236 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4238 #line 4239 "src/parser_proc.c" /* glr.c:816 */
4242 #line 1479 "src/parser_proc_grammar.y" /* glr.c:816 */
4244 (*(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);
4245 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4247 #line 4248 "src/parser_proc.c" /* glr.c:816 */
4251 #line 1483 "src/parser_proc_grammar.y" /* glr.c:816 */
4253 (*(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);
4254 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4256 #line 4257 "src/parser_proc.c" /* glr.c:816 */
4260 #line 1487 "src/parser_proc_grammar.y" /* glr.c:816 */
4262 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4263 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4265 #line 4266 "src/parser_proc.c" /* glr.c:816 */
4269 #line 1491 "src/parser_proc_grammar.y" /* glr.c:816 */
4271 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4273 #line 4274 "src/parser_proc.c" /* glr.c:816 */
4277 #line 1497 "src/parser_proc_grammar.y" /* glr.c:816 */
4279 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4280 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4282 #line 4283 "src/parser_proc.c" /* glr.c:816 */
4286 #line 1501 "src/parser_proc_grammar.y" /* glr.c:816 */
4288 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4289 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4291 #line 4292 "src/parser_proc.c" /* glr.c:816 */
4295 #line 1508 "src/parser_proc_grammar.y" /* glr.c:816 */
4297 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4299 #line 4300 "src/parser_proc.c" /* glr.c:816 */
4303 #line 1511 "src/parser_proc_grammar.y" /* glr.c:816 */
4305 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4306 int8_t sizeof_void_p
= sizeof(void *);
4307 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4309 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4312 #line 4313 "src/parser_proc.c" /* glr.c:816 */
4316 #line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */
4318 int8_t sizeof_void_p
= sizeof(void *);
4319 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4321 #line 4322 "src/parser_proc.c" /* glr.c:816 */
4325 #line 1526 "src/parser_proc_grammar.y" /* glr.c:816 */
4327 int8_t sizeof_a
= sizeof('a');
4328 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4330 #line 4331 "src/parser_proc.c" /* glr.c:816 */
4334 #line 1530 "src/parser_proc_grammar.y" /* glr.c:816 */
4336 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4338 #line 4339 "src/parser_proc.c" /* glr.c:816 */
4342 #line 1536 "src/parser_proc_grammar.y" /* glr.c:816 */
4344 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4345 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4349 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4350 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4353 #line 4354 "src/parser_proc.c" /* glr.c:816 */
4357 #line 1549 "src/parser_proc_grammar.y" /* glr.c:816 */
4359 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4360 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4364 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4365 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4368 #line 4369 "src/parser_proc.c" /* glr.c:816 */
4372 #line 1562 "src/parser_proc_grammar.y" /* glr.c:816 */
4374 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4375 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4379 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4380 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4383 #line 4384 "src/parser_proc.c" /* glr.c:816 */
4387 #line 1575 "src/parser_proc_grammar.y" /* glr.c:816 */
4389 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4391 #line 4392 "src/parser_proc.c" /* glr.c:816 */
4395 #line 1578 "src/parser_proc_grammar.y" /* glr.c:816 */
4397 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4398 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4400 #line 4401 "src/parser_proc.c" /* glr.c:816 */
4404 #line 1590 "src/parser_proc_grammar.y" /* glr.c:816 */
4406 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4408 #line 4409 "src/parser_proc.c" /* glr.c:816 */
4412 #line 1593 "src/parser_proc_grammar.y" /* glr.c:816 */
4414 (*(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
));
4416 #line 4417 "src/parser_proc.c" /* glr.c:816 */
4420 #line 1596 "src/parser_proc_grammar.y" /* glr.c:816 */
4422 (*(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
);
4424 #line 4425 "src/parser_proc.c" /* glr.c:816 */
4428 #line 1599 "src/parser_proc_grammar.y" /* glr.c:816 */
4430 (*(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
));
4432 #line 4433 "src/parser_proc.c" /* glr.c:816 */
4436 #line 1605 "src/parser_proc_grammar.y" /* glr.c:816 */
4438 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4439 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4441 #line 4442 "src/parser_proc.c" /* glr.c:816 */
4445 #line 1609 "src/parser_proc_grammar.y" /* glr.c:816 */
4447 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4448 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4450 #line 4451 "src/parser_proc.c" /* glr.c:816 */
4454 #line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */
4456 (*(size_t*)(&(*yyvalp
))) = 0;
4458 #line 4459 "src/parser_proc.c" /* glr.c:816 */
4462 #line 1619 "src/parser_proc_grammar.y" /* glr.c:816 */
4464 (*(size_t*)(&(*yyvalp
))) = 0;
4466 #line 4467 "src/parser_proc.c" /* glr.c:816 */
4470 #line 1622 "src/parser_proc_grammar.y" /* glr.c:816 */
4472 (*(size_t*)(&(*yyvalp
))) = 0;
4474 #line 4475 "src/parser_proc.c" /* glr.c:816 */
4478 #line 1625 "src/parser_proc_grammar.y" /* glr.c:816 */
4480 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
)) {
4481 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4483 (*(size_t*)(&(*yyvalp
))) = 0;
4486 #line 4487 "src/parser_proc.c" /* glr.c:816 */
4490 #line 1635 "src/parser_proc_grammar.y" /* glr.c:816 */
4492 (*(size_t*)(&(*yyvalp
))) = 0;
4494 #line 4495 "src/parser_proc.c" /* glr.c:816 */
4498 #line 1638 "src/parser_proc_grammar.y" /* glr.c:816 */
4500 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4502 #line 4503 "src/parser_proc.c" /* glr.c:816 */
4506 #line 1645 "src/parser_proc_grammar.y" /* glr.c:816 */
4508 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4510 #line 4511 "src/parser_proc.c" /* glr.c:816 */
4514 #line 1651 "src/parser_proc_grammar.y" /* glr.c:816 */
4516 (*(size_t*)(&(*yyvalp
))) = 1;
4518 #line 4519 "src/parser_proc.c" /* glr.c:816 */
4522 #line 1654 "src/parser_proc_grammar.y" /* glr.c:816 */
4524 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4526 #line 4527 "src/parser_proc.c" /* glr.c:816 */
4530 #line 1671 "src/parser_proc_grammar.y" /* glr.c:816 */
4532 (*(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
)));
4534 #line 4535 "src/parser_proc.c" /* glr.c:816 */
4538 #line 1674 "src/parser_proc_grammar.y" /* glr.c:816 */
4540 (*(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
)));
4541 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4543 #line 4544 "src/parser_proc.c" /* glr.c:816 */
4547 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
4549 (*(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
)));
4550 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4551 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4553 #line 4554 "src/parser_proc.c" /* glr.c:816 */
4557 #line 1686 "src/parser_proc_grammar.y" /* glr.c:816 */
4559 (*(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
)));
4560 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4561 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4563 #line 4564 "src/parser_proc.c" /* glr.c:816 */
4567 #line 1691 "src/parser_proc_grammar.y" /* glr.c:816 */
4569 (*(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
)));
4570 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4571 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4572 (*(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
);
4573 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4575 #line 4576 "src/parser_proc.c" /* glr.c:816 */
4579 #line 1701 "src/parser_proc_grammar.y" /* glr.c:816 */
4581 (*(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
)));
4583 #line 4584 "src/parser_proc.c" /* glr.c:816 */
4587 #line 1704 "src/parser_proc_grammar.y" /* glr.c:816 */
4589 (*(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
)));
4591 #line 4592 "src/parser_proc.c" /* glr.c:816 */
4595 #line 1710 "src/parser_proc_grammar.y" /* glr.c:816 */
4597 (*(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
);
4599 #line 4600 "src/parser_proc.c" /* glr.c:816 */
4603 #line 1713 "src/parser_proc_grammar.y" /* glr.c:816 */
4605 (*(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
)));
4607 #line 4608 "src/parser_proc.c" /* glr.c:816 */
4611 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4613 (*(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
)));
4614 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4616 #line 4617 "src/parser_proc.c" /* glr.c:816 */
4620 #line 1726 "src/parser_proc_grammar.y" /* glr.c:816 */
4622 (*(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
);
4623 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4625 #line 4626 "src/parser_proc.c" /* glr.c:816 */
4629 #line 1745 "src/parser_proc_grammar.y" /* glr.c:816 */
4631 (*(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
)));
4633 #line 4634 "src/parser_proc.c" /* glr.c:816 */
4637 #line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */
4639 (*(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
)));
4641 #line 4642 "src/parser_proc.c" /* glr.c:816 */
4645 #line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */
4647 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4649 #line 4650 "src/parser_proc.c" /* glr.c:816 */
4653 #line 1757 "src/parser_proc_grammar.y" /* glr.c:816 */
4655 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4657 #line 4658 "src/parser_proc.c" /* glr.c:816 */
4661 #line 1760 "src/parser_proc_grammar.y" /* glr.c:816 */
4663 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4665 #line 4666 "src/parser_proc.c" /* glr.c:816 */
4669 #line 1763 "src/parser_proc_grammar.y" /* glr.c:816 */
4671 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4673 #line 4674 "src/parser_proc.c" /* glr.c:816 */
4677 #line 1766 "src/parser_proc_grammar.y" /* glr.c:816 */
4679 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4681 #line 4682 "src/parser_proc.c" /* glr.c:816 */
4685 #line 1772 "src/parser_proc_grammar.y" /* glr.c:816 */
4687 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4688 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4690 #line 4691 "src/parser_proc.c" /* glr.c:816 */
4694 #line 1776 "src/parser_proc_grammar.y" /* glr.c:816 */
4696 (*(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
))));
4697 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4698 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4700 #line 4701 "src/parser_proc.c" /* glr.c:816 */
4704 #line 1785 "src/parser_proc_grammar.y" /* glr.c:816 */
4706 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4707 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4709 #line 4710 "src/parser_proc.c" /* glr.c:816 */
4713 #line 1789 "src/parser_proc_grammar.y" /* glr.c:816 */
4715 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4716 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4718 #line 4719 "src/parser_proc.c" /* glr.c:816 */
4722 #line 1796 "src/parser_proc_grammar.y" /* glr.c:816 */
4724 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4726 #line 4727 "src/parser_proc.c" /* glr.c:816 */
4730 #line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */
4732 (*(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
)));
4734 #line 4735 "src/parser_proc.c" /* glr.c:816 */
4738 #line 1802 "src/parser_proc_grammar.y" /* glr.c:816 */
4740 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4742 #line 4743 "src/parser_proc.c" /* glr.c:816 */
4746 #line 1805 "src/parser_proc_grammar.y" /* glr.c:816 */
4748 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4749 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4751 #line 4752 "src/parser_proc.c" /* glr.c:816 */
4755 #line 1809 "src/parser_proc_grammar.y" /* glr.c:816 */
4757 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4759 #line 4760 "src/parser_proc.c" /* glr.c:816 */
4763 #line 1812 "src/parser_proc_grammar.y" /* glr.c:816 */
4765 (*(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
)));
4767 #line 4768 "src/parser_proc.c" /* glr.c:816 */
4771 #line 1818 "src/parser_proc_grammar.y" /* glr.c:816 */
4773 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4774 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4776 #line 4777 "src/parser_proc.c" /* glr.c:816 */
4780 #line 1822 "src/parser_proc_grammar.y" /* glr.c:816 */
4782 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4783 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4784 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4786 #line 4787 "src/parser_proc.c" /* glr.c:816 */
4790 #line 1830 "src/parser_proc_grammar.y" /* glr.c:816 */
4792 (*(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
)));
4793 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4795 #line 4796 "src/parser_proc.c" /* glr.c:816 */
4799 #line 1837 "src/parser_proc_grammar.y" /* glr.c:816 */
4801 (*(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
)));
4802 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4803 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4805 #line 4806 "src/parser_proc.c" /* glr.c:816 */
4809 #line 1845 "src/parser_proc_grammar.y" /* glr.c:816 */
4811 (*(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
)));
4812 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4813 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4815 #line 4816 "src/parser_proc.c" /* glr.c:816 */
4819 #line 1866 "src/parser_proc_grammar.y" /* glr.c:816 */
4821 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4823 #line 4824 "src/parser_proc.c" /* glr.c:816 */
4827 #line 1869 "src/parser_proc_grammar.y" /* glr.c:816 */
4829 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4831 #line 4832 "src/parser_proc.c" /* glr.c:816 */
4835 #line 1875 "src/parser_proc_grammar.y" /* glr.c:816 */
4837 (*(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
)));
4839 #line 4840 "src/parser_proc.c" /* glr.c:816 */
4843 #line 1878 "src/parser_proc_grammar.y" /* glr.c:816 */
4845 (*(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
)));
4847 #line 4848 "src/parser_proc.c" /* glr.c:816 */
4851 #line 1889 "src/parser_proc_grammar.y" /* glr.c:816 */
4853 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4855 #line 4856 "src/parser_proc.c" /* glr.c:816 */
4859 #line 1892 "src/parser_proc_grammar.y" /* glr.c:816 */
4861 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4863 #line 4864 "src/parser_proc.c" /* glr.c:816 */
4867 #line 1898 "src/parser_proc_grammar.y" /* glr.c:816 */
4869 (*(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
)));
4871 #line 4872 "src/parser_proc.c" /* glr.c:816 */
4875 #line 1901 "src/parser_proc_grammar.y" /* glr.c:816 */
4877 (*(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
)));
4879 #line 4880 "src/parser_proc.c" /* glr.c:816 */
4883 #line 1907 "src/parser_proc_grammar.y" /* glr.c:816 */
4885 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4886 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4888 #line 4889 "src/parser_proc.c" /* glr.c:816 */
4892 #line 1914 "src/parser_proc_grammar.y" /* glr.c:816 */
4894 (*(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
))));
4895 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
4897 #line 4898 "src/parser_proc.c" /* glr.c:816 */
4901 #line 1918 "src/parser_proc_grammar.y" /* glr.c:816 */
4903 (*(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
))));
4904 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4906 #line 4907 "src/parser_proc.c" /* glr.c:816 */
4910 #line 1925 "src/parser_proc_grammar.y" /* glr.c:816 */
4912 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4914 #line 4915 "src/parser_proc.c" /* glr.c:816 */
4918 #line 1928 "src/parser_proc_grammar.y" /* glr.c:816 */
4920 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4922 #line 4923 "src/parser_proc.c" /* glr.c:816 */
4926 #line 1931 "src/parser_proc_grammar.y" /* glr.c:816 */
4928 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4930 #line 4931 "src/parser_proc.c" /* glr.c:816 */
4934 #line 1937 "src/parser_proc_grammar.y" /* glr.c:816 */
4936 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4937 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4939 #line 4940 "src/parser_proc.c" /* glr.c:816 */
4943 #line 1944 "src/parser_proc_grammar.y" /* glr.c:816 */
4945 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4947 #line 4948 "src/parser_proc.c" /* glr.c:816 */
4951 #line 1947 "src/parser_proc_grammar.y" /* glr.c:816 */
4953 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4955 #line 4956 "src/parser_proc.c" /* glr.c:816 */
4959 #line 1950 "src/parser_proc_grammar.y" /* glr.c:816 */
4961 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4962 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4964 #line 4965 "src/parser_proc.c" /* glr.c:816 */
4968 #line 1957 "src/parser_proc_grammar.y" /* glr.c:816 */
4970 (*(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
)));
4971 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4972 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4974 #line 4975 "src/parser_proc.c" /* glr.c:816 */
4978 #line 1962 "src/parser_proc_grammar.y" /* glr.c:816 */
4980 (*(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
)));
4981 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4982 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4984 #line 4985 "src/parser_proc.c" /* glr.c:816 */
4988 #line 1981 "src/parser_proc_grammar.y" /* glr.c:816 */
4990 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4992 #line 4993 "src/parser_proc.c" /* glr.c:816 */
4996 #line 1984 "src/parser_proc_grammar.y" /* glr.c:816 */
4998 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5000 #line 5001 "src/parser_proc.c" /* glr.c:816 */
5004 #line 1990 "src/parser_proc_grammar.y" /* glr.c:816 */
5006 (*(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
)));
5008 #line 5009 "src/parser_proc.c" /* glr.c:816 */
5012 #line 1993 "src/parser_proc_grammar.y" /* glr.c:816 */
5014 (*(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
)));
5016 #line 5017 "src/parser_proc.c" /* glr.c:816 */
5020 #line 1999 "src/parser_proc_grammar.y" /* glr.c:816 */
5022 (*(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
)));
5023 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5025 #line 5026 "src/parser_proc.c" /* glr.c:816 */
5029 #line 2011 "src/parser_proc_grammar.y" /* glr.c:816 */
5031 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5032 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5034 #line 5035 "src/parser_proc.c" /* glr.c:816 */
5038 #line 2018 "src/parser_proc_grammar.y" /* glr.c:816 */
5040 (*(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
)));
5042 #line 5043 "src/parser_proc.c" /* glr.c:816 */
5046 #line 2021 "src/parser_proc_grammar.y" /* glr.c:816 */
5048 (*(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
)));
5050 #line 5051 "src/parser_proc.c" /* glr.c:816 */
5054 #line 2027 "src/parser_proc_grammar.y" /* glr.c:816 */
5056 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5057 (*(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
)));
5058 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5060 #line 5061 "src/parser_proc.c" /* glr.c:816 */
5064 #line 2035 "src/parser_proc_grammar.y" /* glr.c:816 */
5066 (*(bool*)(&(*yyvalp
))) = false;
5068 #line 5069 "src/parser_proc.c" /* glr.c:816 */
5072 #line 2038 "src/parser_proc_grammar.y" /* glr.c:816 */
5074 (*(bool*)(&(*yyvalp
))) = true;
5076 #line 5077 "src/parser_proc.c" /* glr.c:816 */
5080 #line 5081 "src/parser_proc.c" /* glr.c:816 */
5091 # undef YYRECOVERING
5096 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5108 /* Bison grammar-table manipulation. */
5110 /*-----------------------------------------------.
5111 | Release the memory associated to this symbol. |
5112 `-----------------------------------------------*/
5115 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5123 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5125 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5128 case 141: /* binary_op_token */
5129 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5131 #line 5132 "src/parser_proc.c" /* glr.c:846 */
5134 case 142: /* unary_op_token */
5135 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5137 #line 5138 "src/parser_proc.c" /* glr.c:846 */
5140 case 143: /* name_token */
5141 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5143 #line 5144 "src/parser_proc.c" /* glr.c:846 */
5146 case 144: /* any_noeol_token */
5147 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5149 #line 5150 "src/parser_proc.c" /* glr.c:846 */
5153 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5154 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5155 #line 5156 "src/parser_proc.c" /* glr.c:846 */
5159 #line 291 "src/parser_proc_grammar.y" /* glr.c:846 */
5160 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5161 #line 5162 "src/parser_proc.c" /* glr.c:846 */
5164 case 151: /* cpp_exp */
5165 #line 291 "src/parser_proc_grammar.y" /* glr.c:846 */
5166 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5167 #line 5168 "src/parser_proc.c" /* glr.c:846 */
5170 case 153: /* cpp_message_token */
5171 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5173 #line 5174 "src/parser_proc.c" /* glr.c:846 */
5176 case 154: /* cpp_include_token */
5177 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5179 #line 5180 "src/parser_proc.c" /* glr.c:846 */
5182 case 155: /* cpp_header_token */
5183 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5185 #line 5186 "src/parser_proc.c" /* glr.c:846 */
5188 case 156: /* cpp_no_arg_token */
5189 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5191 #line 5192 "src/parser_proc.c" /* glr.c:846 */
5194 case 157: /* cpp_name_arg_token */
5195 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5197 #line 5198 "src/parser_proc.c" /* glr.c:846 */
5200 case 158: /* cpp_exp_arg_token */
5201 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5203 #line 5204 "src/parser_proc.c" /* glr.c:846 */
5206 case 159: /* cpp_special_name_token */
5207 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5209 #line 5210 "src/parser_proc.c" /* glr.c:846 */
5212 case 160: /* cpp_macro_decl */
5213 #line 293 "src/parser_proc_grammar.y" /* glr.c:846 */
5214 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5215 #line 5216 "src/parser_proc.c" /* glr.c:846 */
5218 case 161: /* cpp_macro_sig */
5219 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5220 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5221 #line 5222 "src/parser_proc.c" /* glr.c:846 */
5224 case 162: /* cpp_macro_sig_args */
5225 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5226 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5227 #line 5228 "src/parser_proc.c" /* glr.c:846 */
5230 case 163: /* cpp_macro_decl_tokens */
5231 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5232 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5233 #line 5234 "src/parser_proc.c" /* glr.c:846 */
5236 case 164: /* cpp_macro_decl_token_list */
5237 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5238 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5239 #line 5240 "src/parser_proc.c" /* glr.c:846 */
5242 case 165: /* cpp_macro_exp */
5243 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5244 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5245 #line 5246 "src/parser_proc.c" /* glr.c:846 */
5248 case 166: /* cpp_macro_call_args */
5249 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5250 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5251 #line 5252 "src/parser_proc.c" /* glr.c:846 */
5254 case 167: /* cpp_macro_call_arg_list */
5255 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
5256 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5257 #line 5258 "src/parser_proc.c" /* glr.c:846 */
5260 case 168: /* constant */
5261 #line 303 "src/parser_proc_grammar.y" /* glr.c:846 */
5262 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5263 #line 5264 "src/parser_proc.c" /* glr.c:846 */
5266 case 169: /* constant_type */
5267 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
5268 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5269 #line 5270 "src/parser_proc.c" /* glr.c:846 */
5272 case 170: /* constant_type_token */
5273 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5275 #line 5276 "src/parser_proc.c" /* glr.c:846 */
5278 case 171: /* impl_def_val */
5279 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5280 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5281 #line 5282 "src/parser_proc.c" /* glr.c:846 */
5284 case 172: /* impl_def_val_token */
5285 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
5287 #line 5288 "src/parser_proc.c" /* glr.c:846 */
5290 case 173: /* decl_typedef */
5291 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5292 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5293 #line 5294 "src/parser_proc.c" /* glr.c:846 */
5296 case 174: /* typedef */
5297 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5298 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5299 #line 5300 "src/parser_proc.c" /* glr.c:846 */
5302 case 175: /* typedef_anon */
5303 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5304 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5305 #line 5306 "src/parser_proc.c" /* glr.c:846 */
5308 case 176: /* typedef_decl */
5309 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5310 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5311 #line 5312 "src/parser_proc.c" /* glr.c:846 */
5314 case 177: /* typedef_anon_decl */
5315 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5316 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5317 #line 5318 "src/parser_proc.c" /* glr.c:846 */
5320 case 178: /* qualified_decl_type */
5321 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5322 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5323 #line 5324 "src/parser_proc.c" /* glr.c:846 */
5326 case 179: /* decl_type */
5327 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5328 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5329 #line 5330 "src/parser_proc.c" /* glr.c:846 */
5332 case 180: /* decl_type_complex */
5333 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5334 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5335 #line 5336 "src/parser_proc.c" /* glr.c:846 */
5338 case 181: /* decl_type_simple */
5339 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5340 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5341 #line 5342 "src/parser_proc.c" /* glr.c:846 */
5344 case 182: /* decl_real_type */
5345 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5346 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5347 #line 5348 "src/parser_proc.c" /* glr.c:846 */
5350 case 183: /* int_signed */
5351 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5353 #line 5354 "src/parser_proc.c" /* glr.c:846 */
5356 case 184: /* int_width */
5357 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5358 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5359 #line 5360 "src/parser_proc.c" /* glr.c:846 */
5362 case 185: /* decl_int_type */
5363 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5364 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5365 #line 5366 "src/parser_proc.c" /* glr.c:846 */
5368 case 186: /* int_signed_types */
5369 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5370 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5371 #line 5372 "src/parser_proc.c" /* glr.c:846 */
5374 case 187: /* signed_short_types */
5375 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5377 #line 5378 "src/parser_proc.c" /* glr.c:846 */
5380 case 188: /* signed_long_types */
5381 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
5383 #line 5384 "src/parser_proc.c" /* glr.c:846 */
5386 case 189: /* int_width_types */
5387 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5388 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5389 #line 5390 "src/parser_proc.c" /* glr.c:846 */
5392 case 190: /* decl_stmt */
5393 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5394 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5395 #line 5396 "src/parser_proc.c" /* glr.c:846 */
5398 case 196: /* decl_vars */
5399 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5400 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5401 #line 5402 "src/parser_proc.c" /* glr.c:846 */
5404 case 201: /* decl */
5405 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5406 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5407 #line 5408 "src/parser_proc.c" /* glr.c:846 */
5410 case 202: /* decl_body */
5411 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5412 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5413 #line 5414 "src/parser_proc.c" /* glr.c:846 */
5416 case 203: /* decl_func_body */
5417 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5418 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5419 #line 5420 "src/parser_proc.c" /* glr.c:846 */
5422 case 204: /* decl_functor_body */
5423 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5424 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5425 #line 5426 "src/parser_proc.c" /* glr.c:846 */
5428 case 205: /* decl_functor */
5429 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5430 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5431 #line 5432 "src/parser_proc.c" /* glr.c:846 */
5434 case 206: /* decl_func */
5435 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5436 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5437 #line 5438 "src/parser_proc.c" /* glr.c:846 */
5440 case 207: /* decl_args */
5441 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5442 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5443 #line 5444 "src/parser_proc.c" /* glr.c:846 */
5446 case 208: /* decl_anon_arg */
5447 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5448 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5449 #line 5450 "src/parser_proc.c" /* glr.c:846 */
5452 case 209: /* decl_arg */
5453 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
5454 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5455 #line 5456 "src/parser_proc.c" /* glr.c:846 */
5458 case 210: /* decl_var */
5459 #line 319 "src/parser_proc_grammar.y" /* glr.c:846 */
5460 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5461 #line 5462 "src/parser_proc.c" /* glr.c:846 */
5464 case 211: /* decl_union */
5465 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
5466 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5467 #line 5468 "src/parser_proc.c" /* glr.c:846 */
5470 case 212: /* decl_struct */
5471 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5472 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5473 #line 5474 "src/parser_proc.c" /* glr.c:846 */
5476 case 213: /* decl_struct_args */
5477 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5478 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5479 #line 5480 "src/parser_proc.c" /* glr.c:846 */
5482 case 214: /* struct_args_block */
5483 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5484 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5485 #line 5486 "src/parser_proc.c" /* glr.c:846 */
5488 case 215: /* struct_args */
5489 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5490 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5491 #line 5492 "src/parser_proc.c" /* glr.c:846 */
5494 case 216: /* struct_arg_var_list */
5495 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5496 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5497 #line 5498 "src/parser_proc.c" /* glr.c:846 */
5500 case 217: /* decl_vars_with_layout */
5501 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5502 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5503 #line 5504 "src/parser_proc.c" /* glr.c:846 */
5506 case 218: /* decl_enum */
5507 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5508 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5509 #line 5510 "src/parser_proc.c" /* glr.c:846 */
5512 case 219: /* decl_enum_items */
5513 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5514 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5515 #line 5516 "src/parser_proc.c" /* glr.c:846 */
5518 case 220: /* decl_enum_item */
5519 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5520 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5521 #line 5522 "src/parser_proc.c" /* glr.c:846 */
5524 case 221: /* num_exp */
5525 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
5526 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5527 #line 5528 "src/parser_proc.c" /* glr.c:846 */
5530 case 222: /* number */
5531 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
5532 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5533 #line 5534 "src/parser_proc.c" /* glr.c:846 */
5536 case 223: /* sizeof */
5537 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5538 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5539 #line 5540 "src/parser_proc.c" /* glr.c:846 */
5542 case 224: /* sizeof_body */
5543 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5544 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5545 #line 5546 "src/parser_proc.c" /* glr.c:846 */
5548 case 225: /* sizeof_body_notypes */
5549 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5550 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5551 #line 5552 "src/parser_proc.c" /* glr.c:846 */
5554 case 226: /* enum_name */
5555 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5556 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5557 #line 5558 "src/parser_proc.c" /* glr.c:846 */
5560 case 227: /* union_name */
5561 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5562 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5563 #line 5564 "src/parser_proc.c" /* glr.c:846 */
5566 case 228: /* struct_name */
5567 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5568 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5569 #line 5570 "src/parser_proc.c" /* glr.c:846 */
5572 case 229: /* optional_name */
5573 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5574 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5575 #line 5576 "src/parser_proc.c" /* glr.c:846 */
5578 case 231: /* decl_layout */
5579 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5580 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5581 #line 5582 "src/parser_proc.c" /* glr.c:846 */
5584 case 232: /* align_and_size */
5585 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5587 #line 5588 "src/parser_proc.c" /* glr.c:846 */
5590 case 233: /* array_size */
5591 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5593 #line 5594 "src/parser_proc.c" /* glr.c:846 */
5596 case 234: /* indirection */
5597 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5599 #line 5600 "src/parser_proc.c" /* glr.c:846 */
5602 case 235: /* pointers */
5603 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5605 #line 5606 "src/parser_proc.c" /* glr.c:846 */
5608 case 236: /* asterisks */
5609 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5611 #line 5612 "src/parser_proc.c" /* glr.c:846 */
5614 case 238: /* impl */
5615 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5616 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5617 #line 5618 "src/parser_proc.c" /* glr.c:846 */
5620 case 239: /* impl_func */
5621 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5622 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5623 #line 5624 "src/parser_proc.c" /* glr.c:846 */
5626 case 240: /* impl_args */
5627 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5628 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5629 #line 5630 "src/parser_proc.c" /* glr.c:846 */
5632 case 241: /* impl_arg */
5633 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5634 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5635 #line 5636 "src/parser_proc.c" /* glr.c:846 */
5638 case 242: /* impl_var */
5639 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5640 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5641 #line 5642 "src/parser_proc.c" /* glr.c:846 */
5644 case 243: /* impl_type */
5645 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5646 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5647 #line 5648 "src/parser_proc.c" /* glr.c:846 */
5650 case 244: /* impl_type_token */
5651 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5652 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5653 #line 5654 "src/parser_proc.c" /* glr.c:846 */
5656 case 245: /* impl_stmts */
5657 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5658 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5659 #line 5660 "src/parser_proc.c" /* glr.c:846 */
5662 case 246: /* impl_stmt */
5663 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5664 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5665 #line 5666 "src/parser_proc.c" /* glr.c:846 */
5668 case 247: /* let_stmt */
5669 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
5670 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5671 #line 5672 "src/parser_proc.c" /* glr.c:846 */
5674 case 248: /* let_exp */
5675 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5676 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5677 #line 5678 "src/parser_proc.c" /* glr.c:846 */
5680 case 249: /* let_exp_byref */
5681 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5682 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5683 #line 5684 "src/parser_proc.c" /* glr.c:846 */
5686 case 250: /* let_exp_assign */
5687 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
5688 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5689 #line 5690 "src/parser_proc.c" /* glr.c:846 */
5692 case 251: /* let_calloc */
5693 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
5694 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5695 #line 5696 "src/parser_proc.c" /* glr.c:846 */
5698 case 252: /* let_callback */
5699 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5700 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5701 #line 5702 "src/parser_proc.c" /* glr.c:846 */
5704 case 253: /* let_func */
5705 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5706 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5707 #line 5708 "src/parser_proc.c" /* glr.c:846 */
5710 case 254: /* let_func_token */
5711 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5712 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5713 #line 5714 "src/parser_proc.c" /* glr.c:846 */
5716 case 255: /* let_func_exps */
5717 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5718 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5719 #line 5720 "src/parser_proc.c" /* glr.c:846 */
5722 case 256: /* let_exps */
5723 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5724 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5725 #line 5726 "src/parser_proc.c" /* glr.c:846 */
5728 case 257: /* callback_rval */
5729 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5730 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5731 #line 5732 "src/parser_proc.c" /* glr.c:846 */
5734 case 258: /* callback_arg_list */
5735 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5736 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5737 #line 5738 "src/parser_proc.c" /* glr.c:846 */
5740 case 259: /* callback_args */
5741 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5742 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5743 #line 5744 "src/parser_proc.c" /* glr.c:846 */
5746 case 260: /* return_stmt */
5747 #line 369 "src/parser_proc_grammar.y" /* glr.c:846 */
5748 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5749 #line 5750 "src/parser_proc.c" /* glr.c:846 */
5752 case 261: /* return_exp */
5753 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5754 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5755 #line 5756 "src/parser_proc.c" /* glr.c:846 */
5758 case 262: /* call_decl_vars */
5759 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5760 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5761 #line 5762 "src/parser_proc.c" /* glr.c:846 */
5764 case 263: /* set_stmt */
5765 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5766 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5767 #line 5768 "src/parser_proc.c" /* glr.c:846 */
5770 case 264: /* set_exp */
5771 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
5772 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5773 #line 5774 "src/parser_proc.c" /* glr.c:846 */
5776 case 265: /* set_func */
5777 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5778 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5779 #line 5780 "src/parser_proc.c" /* glr.c:846 */
5782 case 266: /* set_func_token */
5783 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5784 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5785 #line 5786 "src/parser_proc.c" /* glr.c:846 */
5788 case 267: /* set_func_exps */
5789 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5790 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5791 #line 5792 "src/parser_proc.c" /* glr.c:846 */
5794 case 268: /* set_exps */
5795 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5796 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5797 #line 5798 "src/parser_proc.c" /* glr.c:846 */
5800 case 269: /* assert_stmt */
5801 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5802 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5803 #line 5804 "src/parser_proc.c" /* glr.c:846 */
5806 case 270: /* assert_stmt_token */
5807 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5808 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5809 #line 5810 "src/parser_proc.c" /* glr.c:846 */
5812 case 271: /* free_stmt */
5813 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5814 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5815 #line 5816 "src/parser_proc.c" /* glr.c:846 */
5818 case 272: /* free_exps */
5819 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5820 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5821 #line 5822 "src/parser_proc.c" /* glr.c:846 */
5824 case 273: /* free_exp */
5825 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5826 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5827 #line 5828 "src/parser_proc.c" /* glr.c:846 */
5830 case 274: /* reference */
5831 #line 392 "src/parser_proc_grammar.y" /* glr.c:846 */
5833 #line 5834 "src/parser_proc.c" /* glr.c:846 */
5840 YY_IGNORE_MAYBE_UNINITIALIZED_END
5843 /** Number of symbols composing the right hand side of rule #RULE. */
5845 yyrhsLength (yyRuleNum yyrule
)
5847 return yyr2
[yyrule
];
5851 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5853 if (yys
->yyresolved
)
5854 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5855 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5861 if (yys
->yysemantics
.yyfirstVal
)
5862 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5864 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5865 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5869 if (yys
->yysemantics
.yyfirstVal
)
5871 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5874 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5876 yyrh
= yyrh
->yypred
, yyn
-= 1)
5877 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5882 /** Left-hand-side symbol for rule #YYRULE. */
5883 static inline yySymbol
5884 yylhsNonterm (yyRuleNum yyrule
)
5886 return yyr1
[yyrule
];
5889 #define yypact_value_is_default(Yystate) \
5890 (!!((Yystate) == (-696)))
5892 /** True iff LR state YYSTATE has only a default reduction (regardless
5894 static inline yybool
5895 yyisDefaultedState (yyStateNum yystate
)
5897 return yypact_value_is_default (yypact
[yystate
]);
5900 /** The default reduction for YYSTATE, assuming it has one. */
5901 static inline yyRuleNum
5902 yydefaultAction (yyStateNum yystate
)
5904 return yydefact
[yystate
];
5907 #define yytable_value_is_error(Yytable_value) \
5910 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5912 * R < 0: Reduce on rule -R.
5914 * R > 0: Shift to state R.
5915 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5916 * of conflicting reductions.
5919 yygetLRActions (yyStateNum yystate
, int yytoken
,
5920 int* yyaction
, const short int** yyconflicts
)
5922 int yyindex
= yypact
[yystate
] + yytoken
;
5923 if (yypact_value_is_default (yypact
[yystate
])
5924 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5926 *yyaction
= -yydefact
[yystate
];
5927 *yyconflicts
= yyconfl
;
5929 else if (! yytable_value_is_error (yytable
[yyindex
]))
5931 *yyaction
= yytable
[yyindex
];
5932 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5937 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5941 /** Compute post-reduction state.
5942 * \param yystate the current state
5943 * \param yysym the nonterminal to push on the stack
5945 static inline yyStateNum
5946 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5948 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5949 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5950 return yytable
[yyr
];
5952 return yydefgoto
[yysym
- YYNTOKENS
];
5955 static inline yybool
5956 yyisShiftAction (int yyaction
)
5958 return 0 < yyaction
;
5961 static inline yybool
5962 yyisErrorAction (int yyaction
)
5964 return yyaction
== 0;
5969 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5970 * if YYISSTATE, and otherwise a semantic option. Callers should call
5971 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5974 static inline yyGLRStackItem
*
5975 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5977 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5978 yystackp
->yyspaceLeft
-= 1;
5979 yystackp
->yynextFree
+= 1;
5980 yynewItem
->yystate
.yyisState
= yyisState
;
5984 /** Add a new semantic action that will execute the action for rule
5985 * YYRULE on the semantic values in YYRHS to the list of
5986 * alternative actions for YYSTATE. Assumes that YYRHS comes from
5987 * stack #YYK of *YYSTACKP. */
5989 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
5990 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5992 yySemanticOption
* yynewOption
=
5993 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
5994 YYASSERT (!yynewOption
->yyisState
);
5995 yynewOption
->yystate
= yyrhs
;
5996 yynewOption
->yyrule
= yyrule
;
5997 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
5999 yynewOption
->yyrawchar
= yychar
;
6000 yynewOption
->yyval
= yylval
;
6003 yynewOption
->yyrawchar
= YYEMPTY
;
6004 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6005 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6007 YY_RESERVE_GLRSTACK (yystackp
);
6012 /** Initialize YYSET to a singleton set containing an empty stack. */
6014 yyinitStateSet (yyGLRStateSet
* yyset
)
6017 yyset
->yycapacity
= 16;
6018 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6019 if (! yyset
->yystates
)
6021 yyset
->yystates
[0] = YY_NULLPTR
;
6022 yyset
->yylookaheadNeeds
=
6023 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6024 if (! yyset
->yylookaheadNeeds
)
6026 YYFREE (yyset
->yystates
);
6032 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6034 YYFREE (yyset
->yystates
);
6035 YYFREE (yyset
->yylookaheadNeeds
);
6038 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6039 * capacity for all stacks of YYSIZE. */
6041 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6043 yystackp
->yyerrState
= 0;
6045 yystackp
->yyspaceLeft
= yysize
;
6047 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6048 if (!yystackp
->yyitems
)
6050 yystackp
->yynextFree
= yystackp
->yyitems
;
6051 yystackp
->yysplitPoint
= YY_NULLPTR
;
6052 yystackp
->yylastDeleted
= YY_NULLPTR
;
6053 return yyinitStateSet (&yystackp
->yytops
);
6057 #if YYSTACKEXPANDABLE
6058 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6059 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6061 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6062 stack from outside should be considered invalid after this call.
6063 We always expand when there are 1 or fewer items left AFTER an
6064 allocation, so that we can avoid having external pointers exist
6065 across an allocation. */
6067 yyexpandGLRStack (yyGLRStack
* yystackp
)
6069 yyGLRStackItem
* yynewItems
;
6070 yyGLRStackItem
* yyp0
, *yyp1
;
6073 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6074 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6075 yyMemoryExhausted (yystackp
);
6076 yynewSize
= 2*yysize
;
6077 if (YYMAXDEPTH
< yynewSize
)
6078 yynewSize
= YYMAXDEPTH
;
6079 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6081 yyMemoryExhausted (yystackp
);
6082 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6084 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6087 if (*(yybool
*) yyp0
)
6089 yyGLRState
* yys0
= &yyp0
->yystate
;
6090 yyGLRState
* yys1
= &yyp1
->yystate
;
6091 if (yys0
->yypred
!= YY_NULLPTR
)
6093 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6094 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6095 yys1
->yysemantics
.yyfirstVal
=
6096 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6100 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6101 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6102 if (yyv0
->yystate
!= YY_NULLPTR
)
6103 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6104 if (yyv0
->yynext
!= YY_NULLPTR
)
6105 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6108 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6109 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6110 yystackp
->yysplitPoint
, yystate
);
6112 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6113 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6114 yystackp
->yytops
.yystates
[yyn
] =
6115 YYRELOC (yystackp
->yyitems
, yynewItems
,
6116 yystackp
->yytops
.yystates
[yyn
], yystate
);
6117 YYFREE (yystackp
->yyitems
);
6118 yystackp
->yyitems
= yynewItems
;
6119 yystackp
->yynextFree
= yynewItems
+ yysize
;
6120 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6125 yyfreeGLRStack (yyGLRStack
* yystackp
)
6127 YYFREE (yystackp
->yyitems
);
6128 yyfreeStateSet (&yystackp
->yytops
);
6131 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6132 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6135 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6137 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6138 yystackp
->yysplitPoint
= yys
;
6141 /** Invalidate stack #YYK in *YYSTACKP. */
6143 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6145 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6146 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6147 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6150 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6151 only be done once after a deletion, and only when all other stacks have
6154 yyundeleteLastStack (yyGLRStack
* yystackp
)
6156 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6158 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6159 yystackp
->yytops
.yysize
= 1;
6160 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6161 yystackp
->yylastDeleted
= YY_NULLPTR
;
6165 yyremoveDeletes (yyGLRStack
* yystackp
)
6169 while (yyj
< yystackp
->yytops
.yysize
)
6171 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6175 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6177 yystackp
->yytops
.yysize
-= 1;
6181 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6182 /* In the current implementation, it's unnecessary to copy
6183 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6184 yyremoveDeletes returns, the parser immediately either enters
6185 deterministic operation or shifts a token. However, it doesn't
6186 hurt, and the code might evolve to need it. */
6187 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6188 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6191 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6192 (unsigned long int) yyi
, (unsigned long int) yyj
));
6200 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6201 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6202 * value *YYVALP and source location *YYLOCP. */
6204 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6208 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6210 yynewState
->yylrState
= yylrState
;
6211 yynewState
->yyposn
= yyposn
;
6212 yynewState
->yyresolved
= yytrue
;
6213 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6214 yynewState
->yysemantics
.yysval
= *yyvalp
;
6215 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6217 YY_RESERVE_GLRSTACK (yystackp
);
6220 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6221 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6222 * semantic value of YYRHS under the action for YYRULE. */
6224 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6225 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6227 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6228 YYASSERT (yynewState
->yyisState
);
6230 yynewState
->yylrState
= yylrState
;
6231 yynewState
->yyposn
= yyposn
;
6232 yynewState
->yyresolved
= yyfalse
;
6233 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6234 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6235 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6237 /* Invokes YY_RESERVE_GLRSTACK. */
6238 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6242 # define YY_REDUCE_PRINT(Args)
6244 # define YY_REDUCE_PRINT(Args) \
6247 yy_reduce_print Args; \
6250 /*----------------------------------------------------------------------.
6251 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6252 `----------------------------------------------------------------------*/
6255 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6256 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6258 int yynrhs
= yyrhsLength (yyrule
);
6260 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6261 (unsigned long int) yyk
, yyrule
- 1,
6262 (unsigned long int) yyrline
[yyrule
]);
6264 yyfillin (yyvsp
, 1, -yynrhs
);
6265 /* The symbols being reduced. */
6266 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6268 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6269 yy_symbol_print (stderr
,
6270 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6271 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6272 , P
, tokens
, index
);
6273 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6274 YYFPRINTF (stderr
, " (unresolved)");
6275 YYFPRINTF (stderr
, "\n");
6280 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6281 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6282 * semantic values. Assumes that all ambiguities in semantic values
6283 * have been previously resolved. Set *YYVALP to the resulting value,
6284 * and *YYLOCP to the computed location (if any). Return value is as
6285 * for userAction. */
6286 static inline YYRESULTTAG
6287 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6288 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6290 int yynrhs
= yyrhsLength (yyrule
);
6292 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6294 /* Standard special case: single stack. */
6295 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6296 YYASSERT (yyk
== 0);
6297 yystackp
->yynextFree
-= yynrhs
;
6298 yystackp
->yyspaceLeft
+= yynrhs
;
6299 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6300 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6301 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6302 yyvalp
, P
, tokens
, index
);
6308 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6309 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6310 = yystackp
->yytops
.yystates
[yyk
];
6311 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6316 yyupdateSplit (yystackp
, yys
);
6317 yystackp
->yytops
.yystates
[yyk
] = yys
;
6318 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6319 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6320 yystackp
, yyvalp
, P
, tokens
, index
);
6324 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6325 * and push back on the resulting nonterminal symbol. Perform the
6326 * semantic action associated with YYRULE and store its value with the
6327 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6328 * unambiguous. Otherwise, store the deferred semantic action with
6329 * the new state. If the new state would have an identical input
6330 * position, LR state, and predecessor to an existing state on the stack,
6331 * it is identified with that existing state, eliminating stack #YYK from
6332 * *YYSTACKP. In this case, the semantic value is
6333 * added to the options for the existing state's semantic value.
6335 static inline YYRESULTTAG
6336 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6337 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6339 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6341 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6345 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6346 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6348 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6349 (unsigned long int) yyk
, yyrule
- 1));
6353 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6354 yyglrShift (yystackp
, yyk
,
6355 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6356 yylhsNonterm (yyrule
)),
6363 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6364 yyStateNum yynewLRState
;
6366 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6372 yyupdateSplit (yystackp
, yys
);
6373 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6375 "Reduced stack %lu by rule #%d; action deferred. "
6376 "Now in state %d.\n",
6377 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6378 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6379 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6381 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6382 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6383 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6385 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6387 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6388 yymarkStackDeleted (yystackp
, yyk
);
6389 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6390 (unsigned long int) yyk
,
6391 (unsigned long int) yyi
));
6397 yystackp
->yytops
.yystates
[yyk
] = yys
;
6398 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6404 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6406 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6408 YYASSERT (yyk
== 0);
6409 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6411 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6413 yyGLRState
** yynewStates
;
6414 yybool
* yynewLookaheadNeeds
;
6416 yynewStates
= YY_NULLPTR
;
6418 if (yystackp
->yytops
.yycapacity
6419 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6420 yyMemoryExhausted (yystackp
);
6421 yystackp
->yytops
.yycapacity
*= 2;
6424 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6425 (yystackp
->yytops
.yycapacity
6426 * sizeof yynewStates
[0]));
6427 if (yynewStates
== YY_NULLPTR
)
6428 yyMemoryExhausted (yystackp
);
6429 yystackp
->yytops
.yystates
= yynewStates
;
6431 yynewLookaheadNeeds
=
6432 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6433 (yystackp
->yytops
.yycapacity
6434 * sizeof yynewLookaheadNeeds
[0]));
6435 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6436 yyMemoryExhausted (yystackp
);
6437 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6439 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6440 = yystackp
->yytops
.yystates
[yyk
];
6441 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6442 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6443 yystackp
->yytops
.yysize
+= 1;
6444 return yystackp
->yytops
.yysize
-1;
6447 /** True iff YYY0 and YYY1 represent identical options at the top level.
6448 * That is, they represent the same rule applied to RHS symbols
6449 * that produce the same terminal symbols. */
6451 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6453 if (yyy0
->yyrule
== yyy1
->yyrule
)
6455 yyGLRState
*yys0
, *yys1
;
6457 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6458 yyn
= yyrhsLength (yyy0
->yyrule
);
6460 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6461 if (yys0
->yyposn
!= yys1
->yyposn
)
6469 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6470 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6472 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6474 yyGLRState
*yys0
, *yys1
;
6476 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6477 yyn
= yyrhsLength (yyy0
->yyrule
);
6479 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6483 else if (yys0
->yyresolved
)
6485 yys1
->yyresolved
= yytrue
;
6486 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6488 else if (yys1
->yyresolved
)
6490 yys0
->yyresolved
= yytrue
;
6491 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6495 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6496 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6499 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6501 else if (*yyz0p
== YY_NULLPTR
)
6506 else if (*yyz0p
< yyz1
)
6508 yySemanticOption
* yyz
= *yyz0p
;
6510 yyz1
= yyz1
->yynext
;
6511 (*yyz0p
)->yynext
= yyz
;
6513 yyz0p
= &(*yyz0p
)->yynext
;
6515 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6520 /** Y0 and Y1 represent two possible actions to take in a given
6521 * parsing state; return 0 if no combination is possible,
6522 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6524 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6526 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6527 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6531 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6536 if (p0
== 0 || p1
== 0)
6545 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6546 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6549 /** Resolve the previous YYN states starting at and including state YYS
6550 * on *YYSTACKP. If result != yyok, some states may have been left
6551 * unresolved possibly with empty semantic option chains. Regardless
6552 * of whether result = yyok, each state has been left with consistent
6553 * data so that yydestroyGLRState can be invoked if necessary. */
6555 yyresolveStates (yyGLRState
* yys
, int yyn
,
6556 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6560 YYASSERT (yys
->yypred
);
6561 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6562 if (! yys
->yyresolved
)
6563 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6568 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6569 * user action, and return the semantic value and location in *YYVALP
6570 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6571 * have been destroyed (assuming the user action destroys all RHS
6572 * semantic values if invoked). */
6574 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6575 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6577 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6578 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6579 YYRESULTTAG yyflag
=
6580 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6584 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6585 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6589 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6591 int yychar_current
= yychar
;
6592 YYSTYPE yylval_current
= yylval
;
6593 yychar
= yyopt
->yyrawchar
;
6594 yylval
= yyopt
->yyval
;
6595 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6596 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6597 yystackp
, yyvalp
, P
, tokens
, index
);
6598 yychar
= yychar_current
;
6599 yylval
= yylval_current
;
6606 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6608 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6611 yyGLRState
* yystates
[1 + YYMAXRHS
];
6612 yyGLRState yyleftmost_state
;
6614 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6615 yystates
[yyi
] = yys
;
6616 if (yys
== YY_NULLPTR
)
6618 yyleftmost_state
.yyposn
= 0;
6619 yystates
[0] = &yyleftmost_state
;
6624 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6625 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6626 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6629 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6630 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6631 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6632 (unsigned long int) yyx
->yystate
->yyposn
);
6633 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6635 if (yystates
[yyi
]->yyresolved
)
6637 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6638 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6639 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6641 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6642 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6643 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6644 (unsigned long int) yystates
[yyi
]->yyposn
);
6647 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6653 yyreportAmbiguity (yySemanticOption
* yyx0
,
6654 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6660 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6661 YYFPRINTF (stderr
, "Option 1,\n");
6662 yyreportTree (yyx0
, 2);
6663 YYFPRINTF (stderr
, "\nOption 2,\n");
6664 yyreportTree (yyx1
, 2);
6665 YYFPRINTF (stderr
, "\n");
6668 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6672 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6673 * perform the indicated actions, and set the semantic value of YYS.
6674 * If result != yyok, the chain of semantic options in YYS has been
6675 * cleared instead or it has been left unmodified except that
6676 * redundant options may have been removed. Regardless of whether
6677 * result = yyok, YYS has been left with consistent data so that
6678 * yydestroyGLRState can be invoked if necessary. */
6680 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6682 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6683 yySemanticOption
* yybest
= yyoptionList
;
6684 yySemanticOption
** yypp
;
6685 yybool yymerge
= yyfalse
;
6689 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6691 yySemanticOption
* yyp
= *yypp
;
6693 if (yyidenticalOptions (yybest
, yyp
))
6695 yymergeOptionSets (yybest
, yyp
);
6696 *yypp
= yyp
->yynext
;
6700 switch (yypreference (yybest
, yyp
))
6703 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6715 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6716 but some compilers complain if the default case is
6720 yypp
= &yyp
->yynext
;
6726 yySemanticOption
* yyp
;
6727 int yyprec
= yydprec
[yybest
->yyrule
];
6728 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6730 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6732 if (yyprec
== yydprec
[yyp
->yyrule
])
6734 YYSTYPE yysval_other
;
6735 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6738 yydestruct ("Cleanup: discarding incompletely merged value for",
6739 yystos
[yys
->yylrState
],
6740 &yysval
, P
, tokens
, index
);
6743 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6748 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6752 yys
->yyresolved
= yytrue
;
6753 yys
->yysemantics
.yysval
= yysval
;
6756 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6761 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6763 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6768 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6769 yys
!= yystackp
->yysplitPoint
;
6770 yys
= yys
->yypred
, yyn
+= 1)
6772 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6773 , P
, tokens
, index
));
6779 yycompressStack (yyGLRStack
* yystackp
)
6781 yyGLRState
* yyp
, *yyq
, *yyr
;
6783 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6786 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6787 yyp
!= yystackp
->yysplitPoint
;
6788 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6791 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6792 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6793 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6794 yystackp
->yysplitPoint
= YY_NULLPTR
;
6795 yystackp
->yylastDeleted
= YY_NULLPTR
;
6797 while (yyr
!= YY_NULLPTR
)
6799 yystackp
->yynextFree
->yystate
= *yyr
;
6801 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6802 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6803 yystackp
->yynextFree
+= 1;
6804 yystackp
->yyspaceLeft
-= 1;
6809 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6810 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6812 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6814 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6815 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6816 (unsigned long int) yyk
, yystate
));
6818 YYASSERT (yystate
!= YYFINAL
);
6820 if (yyisDefaultedState (yystate
))
6823 yyRuleNum yyrule
= yydefaultAction (yystate
);
6826 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6827 (unsigned long int) yyk
));
6828 yymarkStackDeleted (yystackp
, yyk
);
6831 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6832 if (yyflag
== yyerr
)
6836 "(predicate failure or explicit user error).\n",
6837 (unsigned long int) yyk
));
6838 yymarkStackDeleted (yystackp
, yyk
);
6848 const short int* yyconflicts
;
6850 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6851 if (yychar
== YYEMPTY
)
6853 YYDPRINTF ((stderr
, "Reading a token: "));
6854 yychar
= yylex (&yylval
, P
, tokens
, index
);
6857 if (yychar
<= YYEOF
)
6859 yychar
= yytoken
= YYEOF
;
6860 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6864 yytoken
= YYTRANSLATE (yychar
);
6865 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6868 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6870 while (*yyconflicts
!= 0)
6873 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6874 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6875 (unsigned long int) yynewStack
,
6876 (unsigned long int) yyk
));
6877 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6879 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6881 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6882 yyposn
, P
, tokens
, index
));
6883 else if (yyflag
== yyerr
)
6885 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6886 (unsigned long int) yynewStack
));
6887 yymarkStackDeleted (yystackp
, yynewStack
);
6894 if (yyisShiftAction (yyaction
))
6896 else if (yyisErrorAction (yyaction
))
6898 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6899 (unsigned long int) yyk
));
6900 yymarkStackDeleted (yystackp
, yyk
);
6905 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6906 yyimmediate
[-yyaction
], P
, tokens
, index
);
6907 if (yyflag
== yyerr
)
6911 "(predicate failure or explicit user error).\n",
6912 (unsigned long int) yyk
));
6913 yymarkStackDeleted (yystackp
, yyk
);
6916 else if (yyflag
!= yyok
)
6925 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6927 if (yystackp
->yyerrState
!= 0)
6929 #if ! YYERROR_VERBOSE
6930 yyerror (P
, tokens
, index
, YY_("syntax error"));
6933 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6934 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6935 size_t yysize
= yysize0
;
6936 yybool yysize_overflow
= yyfalse
;
6937 char* yymsg
= YY_NULLPTR
;
6938 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6939 /* Internationalized format string. */
6940 const char *yyformat
= YY_NULLPTR
;
6941 /* Arguments of yyformat. */
6942 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6943 /* Number of reported tokens (one for the "unexpected", one per
6947 /* There are many possibilities here to consider:
6948 - If this state is a consistent state with a default action, then
6949 the only way this function was invoked is if the default action
6950 is an error action. In that case, don't check for expected
6951 tokens because there are none.
6952 - The only way there can be no lookahead present (in yychar) is if
6953 this state is a consistent state with a default action. Thus,
6954 detecting the absence of a lookahead is sufficient to determine
6955 that there is no unexpected or expected token to report. In that
6956 case, just report a simple "syntax error".
6957 - Don't assume there isn't a lookahead just because this state is a
6958 consistent state with a default action. There might have been a
6959 previous inconsistent state, consistent state with a non-default
6960 action, or user semantic action that manipulated yychar.
6961 - Of course, the expected token list depends on states to have
6962 correct lookahead information, and it depends on the parser not
6963 to perform extra reductions after fetching a lookahead from the
6964 scanner and before detecting a syntax error. Thus, state merging
6965 (from LALR or IELR) and default reductions corrupt the expected
6966 token list. However, the list is correct for canonical LR with
6967 one exception: it will still contain any token that will not be
6968 accepted due to an error action in a later state.
6970 if (yytoken
!= YYEMPTY
)
6972 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6973 yyarg
[yycount
++] = yytokenName (yytoken
);
6974 if (!yypact_value_is_default (yyn
))
6976 /* Start YYX at -YYN if negative to avoid negative indexes in
6977 YYCHECK. In other words, skip the first -YYN actions for this
6978 state because they are default actions. */
6979 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
6980 /* Stay within bounds of both yycheck and yytname. */
6981 int yychecklim
= YYLAST
- yyn
+ 1;
6982 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
6984 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
6985 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
6986 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
6988 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
6994 yyarg
[yycount
++] = yytokenName (yyx
);
6996 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
6997 yysize_overflow
|= yysz
< yysize
;
7006 #define YYCASE_(N, S) \
7010 YYCASE_(0, YY_("syntax error"));
7011 YYCASE_(1, YY_("syntax error, unexpected %s"));
7012 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7013 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7014 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7015 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7020 size_t yysz
= yysize
+ strlen (yyformat
);
7021 yysize_overflow
|= yysz
< yysize
;
7025 if (!yysize_overflow
)
7026 yymsg
= (char *) YYMALLOC (yysize
);
7032 while ((*yyp
= *yyformat
))
7034 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7036 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7045 yyerror (P
, tokens
, index
, yymsg
);
7050 yyerror (P
, tokens
, index
, YY_("syntax error"));
7051 yyMemoryExhausted (yystackp
);
7054 #endif /* YYERROR_VERBOSE */
7058 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7059 yylval, and yylloc are the syntactic category, semantic value, and location
7060 of the lookahead. */
7062 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7067 if (yystackp
->yyerrState
== 3)
7068 /* We just shifted the error token and (perhaps) took some
7069 reductions. Skip tokens until we can proceed. */
7073 if (yychar
== YYEOF
)
7074 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7075 if (yychar
!= YYEMPTY
)
7077 yytoken
= YYTRANSLATE (yychar
);
7078 yydestruct ("Error: discarding",
7079 yytoken
, &yylval
, P
, tokens
, index
);
7081 YYDPRINTF ((stderr
, "Reading a token: "));
7082 yychar
= yylex (&yylval
, P
, tokens
, index
);
7083 if (yychar
<= YYEOF
)
7085 yychar
= yytoken
= YYEOF
;
7086 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7090 yytoken
= YYTRANSLATE (yychar
);
7091 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7093 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7094 if (yypact_value_is_default (yyj
))
7097 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7099 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7102 else if (! yytable_value_is_error (yytable
[yyj
]))
7106 /* Reduce to one stack. */
7107 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7108 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7110 if (yyk
>= yystackp
->yytops
.yysize
)
7111 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7112 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7113 yymarkStackDeleted (yystackp
, yyk
);
7114 yyremoveDeletes (yystackp
);
7115 yycompressStack (yystackp
);
7117 /* Now pop stack until we find a state that shifts the error token. */
7118 yystackp
->yyerrState
= 3;
7119 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7121 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7122 yyj
= yypact
[yys
->yylrState
];
7123 if (! yypact_value_is_default (yyj
))
7126 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7127 && yyisShiftAction (yytable
[yyj
]))
7129 /* Shift the error token. */
7130 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7131 &yylval
, &yyerrloc
);
7132 yyglrShift (yystackp
, 0, yytable
[yyj
],
7133 yys
->yyposn
, &yylval
);
7134 yys
= yystackp
->yytops
.yystates
[0];
7138 if (yys
->yypred
!= YY_NULLPTR
)
7139 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7140 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7141 yystackp
->yynextFree
-= 1;
7142 yystackp
->yyspaceLeft
+= 1;
7144 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7145 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7148 #define YYCHK1(YYE) \
7158 goto yyuser_error; \
7169 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7173 yyGLRStack
* const yystackp
= &yystack
;
7176 YYDPRINTF ((stderr
, "Starting parse\n"));
7179 yylval
= yyval_default
;
7181 /* User initialization code. */
7182 #line 111 "src/parser_proc_grammar.y" /* glr.c:2270 */
7186 #line 7187 "src/parser_proc.c" /* glr.c:2270 */
7188 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7189 goto yyexhaustedlab
;
7190 switch (YYSETJMP (yystack
.yyexception_buffer
))
7193 case 1: goto yyabortlab
;
7194 case 2: goto yyexhaustedlab
;
7195 default: goto yybuglab
;
7197 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7202 /* For efficiency, we have two loops, the first of which is
7203 specialized to deterministic operation (single stack, no
7204 potential ambiguity). */
7210 const short int* yyconflicts
;
7212 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7213 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7214 if (yystate
== YYFINAL
)
7216 if (yyisDefaultedState (yystate
))
7218 yyrule
= yydefaultAction (yystate
);
7222 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7225 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7230 if (yychar
== YYEMPTY
)
7232 YYDPRINTF ((stderr
, "Reading a token: "));
7233 yychar
= yylex (&yylval
, P
, tokens
, index
);
7236 if (yychar
<= YYEOF
)
7238 yychar
= yytoken
= YYEOF
;
7239 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7243 yytoken
= YYTRANSLATE (yychar
);
7244 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7247 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7248 if (*yyconflicts
!= 0)
7250 if (yyisShiftAction (yyaction
))
7252 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7255 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7256 if (0 < yystack
.yyerrState
)
7257 yystack
.yyerrState
-= 1;
7259 else if (yyisErrorAction (yyaction
))
7262 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7266 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7272 yySymbol yytoken_to_shift
;
7275 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7276 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7278 /* yyprocessOneStack returns one of three things:
7280 - An error flag. If the caller is yyprocessOneStack, it
7281 immediately returns as well. When the caller is finally
7282 yyparse, it jumps to an error label via YYCHK1.
7284 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7285 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7286 yyparse's following invocation of yyremoveDeletes will remove
7289 - yyok, when ready to shift a token.
7291 Except in the first case, yyparse will invoke yyremoveDeletes and
7292 then shift the next token onto all remaining stacks. This
7293 synchronization of the shift (that is, after all preceding
7294 reductions on all stacks) helps prevent double destructor calls
7295 on yylval in the event of memory exhaustion. */
7297 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7298 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7299 yyremoveDeletes (&yystack
);
7300 if (yystack
.yytops
.yysize
== 0)
7302 yyundeleteLastStack (&yystack
);
7303 if (yystack
.yytops
.yysize
== 0)
7304 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7305 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7306 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7308 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7312 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7313 a copy of yylval will already be on stack 0 in the event of a
7314 failure in the following loop. Thus, yychar is set to YYEMPTY
7315 before the loop to make sure the user destructor for yylval isn't
7317 yytoken_to_shift
= YYTRANSLATE (yychar
);
7320 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7323 const short int* yyconflicts
;
7324 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7325 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7327 /* Note that yyconflicts were handled by yyprocessOneStack. */
7328 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7329 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7330 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7332 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7333 (unsigned long int) yys
,
7334 yystack
.yytops
.yystates
[yys
]->yylrState
));
7337 if (yystack
.yytops
.yysize
== 1)
7339 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7340 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7341 yycompressStack (&yystack
);
7347 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7348 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7364 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7369 if (yychar
!= YYEMPTY
)
7370 yydestruct ("Cleanup: discarding lookahead",
7371 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7373 /* If the stack is well-formed, pop the stack until it is empty,
7374 destroying its entries as we go. But free the stack regardless
7375 of whether it is well-formed. */
7376 if (yystack
.yyitems
)
7378 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7381 size_t yysize
= yystack
.yytops
.yysize
;
7383 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7386 while (yystates
[yyk
])
7388 yyGLRState
*yys
= yystates
[yyk
];
7389 if (yys
->yypred
!= YY_NULLPTR
)
7390 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7391 yystates
[yyk
] = yys
->yypred
;
7392 yystack
.yynextFree
-= 1;
7393 yystack
.yyspaceLeft
+= 1;
7398 yyfreeGLRStack (&yystack
);
7404 /* DEBUGGING ONLY */
7407 yy_yypstack (yyGLRState
* yys
)
7411 yy_yypstack (yys
->yypred
);
7412 YYFPRINTF (stderr
, " -> ");
7414 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7415 (unsigned long int) yys
->yyposn
);
7419 yypstates (yyGLRState
* yyst
)
7421 if (yyst
== YY_NULLPTR
)
7422 YYFPRINTF (stderr
, "<null>");
7425 YYFPRINTF (stderr
, "\n");
7429 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7431 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7434 #define YYINDEX(YYX) \
7435 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7439 yypdumpstack (yyGLRStack
* yystackp
)
7441 yyGLRStackItem
* yyp
;
7443 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7445 YYFPRINTF (stderr
, "%3lu. ",
7446 (unsigned long int) (yyp
- yystackp
->yyitems
));
7447 if (*(yybool
*) yyp
)
7449 YYASSERT (yyp
->yystate
.yyisState
);
7450 YYASSERT (yyp
->yyoption
.yyisState
);
7451 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7452 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7453 (unsigned long int) yyp
->yystate
.yyposn
,
7454 (long int) YYINDEX (yyp
->yystate
.yypred
));
7455 if (! yyp
->yystate
.yyresolved
)
7456 YYFPRINTF (stderr
, ", firstVal: %ld",
7457 (long int) YYINDEX (yyp
->yystate
7458 .yysemantics
.yyfirstVal
));
7462 YYASSERT (!yyp
->yystate
.yyisState
);
7463 YYASSERT (!yyp
->yyoption
.yyisState
);
7464 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7465 yyp
->yyoption
.yyrule
- 1,
7466 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7467 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7469 YYFPRINTF (stderr
, "\n");
7471 YYFPRINTF (stderr
, "Tops:");
7472 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7473 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7474 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7475 YYFPRINTF (stderr
, "\n");
7483 /* Substitute the variable and function names. */
7484 #define yyparse psi_parser_proc_parse
7485 #define yylex psi_parser_proc_lex
7486 #define yyerror psi_parser_proc_error
7487 #define yylval psi_parser_proc_lval
7488 #define yychar psi_parser_proc_char
7489 #define yydebug psi_parser_proc_debug
7490 #define yynerrs psi_parser_proc_nerrs
7492 #line 2047 "src/parser_proc_grammar.y" /* glr.c:2584 */
7497 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7499 struct psi_token
*token
;
7501 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7502 if (P
->flags
& PSI_DEBUG
) {
7503 psi_token_dump(2, token
);
7506 *((struct psi_token
**)lvalp
) = token
;
7510 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7516 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7518 struct psi_token
*T
= NULL
;
7527 psi_plist_get(tokens
, last
, &T
);
7529 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7531 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);