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 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
105 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
107 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
111 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
113 P
->structs
= psi_plist_add(P
->structs
, &strct
);
115 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
119 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
121 P
->unions
= psi_plist_add(P
->unions
, &u
);
123 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
127 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
129 P
->enums
= psi_plist_add(P
->enums
, &e
);
131 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
135 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
137 P
->types
= psi_plist_add(P
->types
, &def
);
139 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
142 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
144 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
147 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
150 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
152 P
->decls
= psi_plist_add(P
->decls
, &decl
);
154 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
157 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
159 P
->impls
= psi_plist_add(P
->impls
, &impl
);
164 #line 165 "src/parser_proc.c" /* glr.c:264 */
171 # if defined YYENABLE_NLS && YYENABLE_NLS
173 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
174 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
178 # define YY_(Msgid) Msgid
186 # define YYMALLOC malloc
189 # define YYREALLOC realloc
192 #define YYSIZEMAX ((size_t) -1)
197 typedef unsigned char yybool
;
204 # define YYJMP_BUF jmp_buf
205 # define YYSETJMP(Env) setjmp (Env)
207 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
211 # if (defined __GNUC__ \
212 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
213 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
214 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
216 # define YY_ATTRIBUTE(Spec) /* empty */
220 #ifndef YY_ATTRIBUTE_PURE
221 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
224 #ifndef YY_ATTRIBUTE_UNUSED
225 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
228 #if !defined _Noreturn \
229 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
230 # if defined _MSC_VER && 1200 <= _MSC_VER
231 # define _Noreturn __declspec (noreturn)
233 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
237 /* Suppress unused-variable warnings by "using" E. */
238 #if ! defined lint || defined __GNUC__
239 # define YYUSE(E) ((void) (E))
241 # define YYUSE(E) /* empty */
244 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
245 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
246 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
247 _Pragma ("GCC diagnostic push") \
248 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
249 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
250 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
251 _Pragma ("GCC diagnostic pop")
253 # define YY_INITIAL_VALUE(Value) Value
255 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
256 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
257 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
259 #ifndef YY_INITIAL_VALUE
260 # define YY_INITIAL_VALUE(Value) /* Nothing. */
265 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
268 /* YYFINAL -- State number of the termination state. */
270 /* YYLAST -- Last index in YYTABLE. */
273 /* YYNTOKENS -- Number of terminals. */
274 #define YYNTOKENS 132
275 /* YYNNTS -- Number of nonterminals. */
277 /* YYNRULES -- Number of rules. */
279 /* YYNRULES -- Number of states. */
280 #define YYNSTATES 718
281 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
283 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
284 accessed by $0, $-1, etc., in any rule. */
287 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
289 #define YYMAXUTOK 386
291 #define YYTRANSLATE(YYX) \
292 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
294 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
295 static const unsigned char yytranslate
[] =
297 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
303 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
304 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
305 2, 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, 1, 2, 3, 4,
323 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
324 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
325 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
326 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
327 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
328 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
329 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
330 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
331 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
332 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
333 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
334 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
335 125, 126, 127, 128, 129, 130, 131
339 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
340 static const unsigned short int yyrline
[] =
342 0, 373, 373, 373, 373, 373, 373, 373, 373, 373,
343 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
344 374, 374, 374, 374, 375, 375, 375, 375, 375, 375,
345 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
346 375, 375, 376, 376, 376, 376, 376, 376, 376, 376,
347 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
348 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
349 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
350 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
351 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
352 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
353 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
354 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
355 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
356 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
357 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
358 376, 376, 376, 376, 380, 381, 384, 385, 388, 389,
359 390, 391, 397, 405, 408, 411, 412, 415, 418, 421,
360 424, 430, 436, 439, 445, 468, 472, 476, 481, 485,
361 489, 493, 500, 501, 505, 506, 510, 511, 512, 516,
362 517, 521, 522, 526, 527, 528, 532, 533, 537, 538,
363 539, 540, 541, 542, 546, 551, 559, 562, 565, 566,
364 572, 577, 585, 588, 592, 596, 603, 607, 611, 615,
365 620, 630, 640, 645, 650, 656, 665, 668, 672, 676,
366 682, 689, 695, 696, 697, 698, 702, 705, 736, 743,
367 744, 745, 746, 750, 753, 762, 768, 769, 777, 788,
368 797, 806, 814, 817, 821, 825, 829, 834, 839, 847,
369 848, 849, 852, 858, 861, 864, 870, 871, 872, 873,
370 874, 875, 876, 877, 881, 882, 886, 889, 892, 898,
371 901, 904, 912, 924, 927, 930, 937, 940, 950, 953,
372 956, 959, 960, 964, 967, 970, 981, 984, 990, 991,
373 995, 996, 1000, 1004, 1010, 1011, 1017, 1020, 1026, 1027,
374 1034, 1035, 1039, 1046, 1057, 1064, 1075, 1082, 1093, 1104,
375 1118, 1119, 1131, 1134, 1137, 1140, 1147, 1150, 1156, 1165,
376 1177, 1185, 1188, 1198, 1211, 1216, 1224, 1234, 1244, 1247,
377 1251, 1257, 1271, 1288, 1291, 1297, 1304, 1314, 1321, 1324,
378 1330, 1335, 1343, 1347, 1351, 1355, 1359, 1363, 1370, 1374,
379 1378, 1382, 1389, 1402, 1415, 1428, 1431, 1438, 1441, 1444,
380 1447, 1453, 1457, 1464, 1467, 1470, 1476, 1479, 1485, 1486,
381 1492, 1495, 1501, 1502, 1512, 1515, 1522, 1527, 1532, 1542,
382 1545, 1551, 1554, 1560, 1567, 1574, 1575, 1576, 1577, 1578,
383 1579, 1580, 1581, 1582, 1586, 1589, 1595, 1598, 1601, 1604,
384 1607, 1613, 1617, 1625, 1626, 1630, 1637, 1640, 1643, 1647,
385 1650, 1653, 1659, 1663, 1671, 1678, 1686, 1694, 1695, 1696,
386 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1707, 1710, 1716,
387 1719, 1725, 1726, 1730, 1733, 1739, 1742, 1748, 1755, 1762,
388 1765, 1768, 1775, 1780, 1788, 1789, 1790, 1791, 1792, 1793,
389 1794, 1795, 1799, 1802, 1808, 1811, 1817, 1824, 1825, 1829,
390 1836, 1839, 1845, 1853, 1856, 1862
394 #if YYDEBUG || YYERROR_VERBOSE || 1
395 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
396 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
397 static const char *const yytname
[] =
399 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
400 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
401 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "INT8", "UINT8",
402 "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "NULL", "TRUE",
403 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
404 "QUOTED_CHAR", "\"end of line\"", "\";\"", "\"(\"", "\")\"", "\",\"",
405 "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"", "\"#\"", "\"|\"",
406 "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"", "\"*\"", "\"/\"",
407 "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"", "\"||\"", "\"&&\"",
408 "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"", "\"\\\\\"", "\"...\"",
409 "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR", "WARNING", "IF",
410 "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE", "DEFINED", "UNDEF",
411 "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF", "STRUCT", "UNION",
412 "ENUM", "CONST", "LIB", "STATIC", "CALLBACK", "FUNCTION", "LET", "SET",
413 "TEMP", "FREE", "RETURN", "PRE_ASSERT", "POST_ASSERT", "BOOLVAL",
414 "INTVAL", "STRVAL", "PATHVAL", "STRLEN", "FLOATVAL", "ARRVAL", "OBJVAL",
415 "COUNT", "CALLOC", "TO_BOOL", "TO_INT", "TO_STRING", "TO_FLOAT",
416 "TO_ARRAY", "TO_OBJECT", "COMMENT", "WHITESPACE", "NO_WHITESPACE",
417 "CPP_HEADER", "CPP_ATTRIBUTE", "CPP_EXTENSION", "CPP_PASTE",
418 "CPP_RESTRICT", "CPP_ASM", "BINARY", "UNARY", "$accept",
419 "binary_op_token", "unary_op_token", "name_token", "any_noeol_token",
420 "file", "blocks", "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
421 "cpp_message_token", "cpp_include_token", "cpp_header_token",
422 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
423 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
424 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
425 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
426 "cpp_macro_call_arg_list", "constant", "constant_type",
427 "constant_type_token", "impl_def_val", "impl_def_val_token",
428 "decl_typedef", "typedef", "const_decl_type", "decl_type",
429 "decl_type_complex", "decl_type_simple", "decl_real_type",
430 "decl_stdint_type", "int_signed", "int_width", "decl_int_type",
431 "int_signed_types", "signed_short_types", "signed_long_types",
432 "int_width_types", "decl_stmt", "decl_asm", "ignored_quoted_strings",
433 "decl_ext_var_stmt", "decl_ext_var", "decl_ext_var_list", "decl_vars",
434 "decl", "decl_body", "decl_func_body", "decl_functor_body",
435 "decl_functor", "decl_func", "decl_args", "decl_anon_arg", "decl_arg",
436 "decl_var", "decl_union", "decl_struct", "decl_struct_args",
437 "struct_args_block", "struct_args", "struct_arg_var_list",
438 "decl_vars_with_layout", "decl_enum", "decl_enum_items",
439 "decl_enum_item", "num_exp", "number", "enum_name", "union_name",
440 "struct_name", "optional_name", "decl_layout", "align_and_size",
441 "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl",
442 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
443 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
444 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
445 "let_func", "let_func_token", "let_func_exps", "let_exps",
446 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
447 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
448 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
449 "free_exp", "reference", "byref", YY_NULLPTR
453 #define YYPACT_NINF -565
454 #define YYTABLE_NINF -484
456 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
458 static const short int yypact
[] =
460 954, -565, -565, -565, -565, -565, 113, -565, -565, 2258,
461 -565, -565, -565, -565, -565, -565, -565, -565, 2910, -565,
462 -565, 192, 2937, 2766, 2766, 2766, 541, 35, 10, 50,
463 -565, 313, 95, 954, -565, -565, -565, -565, -565, 2307,
464 -565, -565, -565, -565, -565, 41, 36, -565, -565, -565,
465 75, -4, -565, -565, 79, 77, 106, -565, -565, -565,
466 -565, 91, -565, 116, -565, -565, -565, -565, -565, 664,
467 -565, 105, 71, -565, -565, -565, -565, -565, -565, -565,
468 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
469 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
470 -565, -565, 2425, -22, -565, -565, -565, -565, 2766, 2766,
471 2766, 3091, -565, 107, -565, -565, -565, -565, -565, -565,
472 -565, -565, -565, -565, -565, -565, 913, -565, -565, -565,
473 -565, 149, 794, 794, 3, -565, 913, 2140, 2258, 2766,
474 2766, 150, 1904, -565, -565, 153, 2766, 154, 154, 33,
475 33, 162, -565, -565, 175, 184, -565, 105, 187, -565,
476 -565, 182, 197, -565, 198, -565, 2987, 3014, -4, -565,
477 -565, 196, -565, 204, 2766, -565, 239, -565, 73, -565,
478 -565, 41, -565, -565, 208, 210, 3041, 3041, 2766, -41,
479 2766, -565, -565, 105, -565, -565, -565, -565, -565, -565,
480 2307, -565, -565, -565, -565, -565, -565, 126, 794, -565,
481 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
482 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
483 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
484 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
485 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
486 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
487 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
488 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
489 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
490 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
491 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
492 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
493 -565, -565, -565, -565, -565, 794, -565, -565, -565, -565,
494 -565, -565, -565, -565, 2140, -565, -565, -565, -565, 2474,
495 2140, 215, 3264, 211, 13, -565, 13, -565, -565, -565,
496 -565, 214, 216, 216, 30, 30, 2592, 213, -565, -41,
497 218, 220, 224, 8, -565, 105, 196, -565, -565, -565,
498 -565, -565, -565, 228, -565, 1, 3118, 2307, 45, -565,
499 -565, 129, 217, 46, -565, 2307, 1786, 2307, 2766, 81,
500 -565, -565, 109, -565, -565, -565, -565, -565, 2022, -565,
501 237, 2766, 241, -565, 2766, 244, -565, -565, 3136, 2766,
502 -565, -565, 2140, -565, -565, -565, -565, -565, -565, -565,
503 -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
504 -565, 2140, 2140, -565, 245, 3014, 2307, 2307, -565, -565,
505 -565, -565, 105, -565, 1196, 123, 371, -565, -565, 240,
506 -565, 2766, -565, -565, 42, 2425, 105, 204, 196, 1048,
507 196, 2883, 2022, 2766, -565, 238, 249, -565, -565, -565,
508 1078, 2022, -565, 3288, -565, 242, 250, -565, 255, 262,
509 251, 257, 56, -565, -565, 259, 255, -565, -565, 3108,
510 -565, 260, 2307, 2643, -565, 263, 3264, 265, 266, 3215,
511 -565, 274, 267, 1945, -565, -565, 2766, -565, -565, -565,
512 -565, 272, -565, 3288, -565, -565, -565, -565, -565, -565,
513 -565, -565, -565, -565, 269, 141, -565, 50, -565, -565,
514 276, -565, -565, 2592, -565, 1, 286, -565, -565, 289,
515 3288, -565, 1314, -565, 290, 485, 292, 3163, -565, 2022,
516 2022, 1786, -565, 2307, -565, 50, 2307, -565, 2766, -565,
517 -565, -565, -565, -565, -565, 301, 273, -565, -565, 2140,
518 2140, 302, 7, 305, -565, 267, 307, -565, 464, 300,
519 464, 306, -565, 196, 196, -565, 233, 125, 315, 3288,
520 -565, -565, -565, -565, 316, 1432, 2022, -565, 3240, -565,
521 -565, 311, 2307, 143, -565, 794, 2717, 3264, 3312, 322,
522 319, 323, 2307, 320, 305, -565, -565, 464, -565, 50,
523 1196, -565, -565, 315, -565, -565, -565, -565, 324, 2022,
524 50, -565, -565, 2022, 1550, 325, 328, -565, -565, -565,
525 -565, 330, 326, 337, 267, 331, -565, 335, -565, -2,
526 -565, 50, 594, 333, 3336, 336, -565, 339, -565, -565,
527 -565, 338, 342, -565, 2307, -565, 357, 352, 2022, 1314,
528 353, -565, 1786, 360, 361, 267, 356, 1668, 3190, 238,
529 -565, -565, -565, 359, 1432, -565, -565, 369, 358, -565,
530 355, 362, 372, -565, -565, 1314, -565, 367, -565, 464,
531 374, 1786, -565, 376, -565, -565, -565, -565
534 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
535 Performed when YYTABLE does not specify something else to do. Zero
536 means the default is an error. */
537 static const unsigned short int yydefact
[] =
539 164, 289, 286, 290, 284, 285, 287, 273, 274, 0,
540 276, 277, 278, 279, 280, 281, 282, 283, 272, 169,
541 168, 0, 0, 0, 0, 375, 0, 0, 0, 483,
542 170, 0, 0, 165, 166, 172, 171, 173, 176, 386,
543 263, 265, 264, 270, 271, 293, 303, 269, 174, 175,
544 0, 308, 318, 320, 321, 0, 0, 330, 178, 177,
545 179, 0, 180, 0, 288, 275, 33, 34, 471, 437,
546 24, 386, 392, 39, 38, 37, 35, 36, 32, 31,
547 25, 29, 28, 26, 27, 445, 444, 442, 440, 441,
548 443, 439, 438, 446, 30, 469, 467, 466, 468, 465,
549 464, 331, 0, 388, 390, 40, 41, 272, 0, 0,
550 0, 0, 319, 314, 182, 193, 190, 192, 194, 195,
551 206, 203, 204, 201, 207, 202, 0, 205, 196, 197,
552 198, 0, 222, 222, 0, 186, 0, 0, 0, 375,
553 375, 0, 386, 257, 340, 256, 0, 381, 381, 266,
554 267, 268, 372, 242, 290, 273, 245, 0, 0, 241,
555 262, 0, 0, 485, 0, 484, 272, 0, 308, 1,
556 167, 383, 341, 0, 387, 294, 298, 296, 300, 291,
557 304, 293, 292, 312, 0, 0, 332, 332, 0, 0,
558 0, 387, 393, 386, 343, 389, 391, 266, 267, 268,
559 0, 313, 209, 210, 211, 213, 212, 208, 222, 188,
560 183, 75, 42, 43, 44, 45, 46, 47, 48, 49,
561 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
562 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
563 70, 71, 72, 73, 74, 76, 77, 78, 79, 80,
564 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
565 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
566 101, 102, 103, 104, 105, 106, 107, 108, 109, 115,
567 113, 114, 112, 110, 111, 116, 117, 118, 119, 120,
568 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
569 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
570 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
571 151, 152, 153, 154, 155, 156, 157, 158, 159, 162,
572 160, 161, 163, 224, 191, 223, 184, 199, 200, 185,
573 208, 187, 232, 233, 0, 22, 23, 20, 21, 0,
574 0, 234, 189, 331, 266, 374, 267, 373, 253, 261,
575 258, 0, 0, 0, 0, 0, 0, 0, 181, 0,
576 0, 0, 0, 0, 345, 386, 383, 299, 295, 301,
577 302, 297, 305, 0, 306, 333, 0, 386, 0, 334,
578 336, 0, 360, 0, 358, 0, 483, 0, 0, 0,
579 477, 478, 0, 414, 417, 416, 418, 419, 0, 420,
580 0, 0, 315, 316, 0, 0, 215, 225, 0, 0,
581 230, 227, 236, 2, 3, 4, 5, 6, 7, 8,
582 9, 10, 11, 13, 12, 14, 15, 16, 17, 18,
583 19, 0, 0, 254, 0, 0, 0, 0, 348, 347,
584 349, 346, 386, 342, 246, 0, 0, 255, 307, 0,
585 384, 0, 344, 310, 0, 339, 0, 337, 383, 0,
586 383, 0, 0, 0, 357, 0, 0, 369, 368, 370,
587 0, 0, 371, 460, 362, 0, 0, 459, 41, 0,
588 0, 0, 0, 480, 470, 0, 0, 394, 415, 0,
589 329, 0, 0, 216, 226, 0, 238, 0, 237, 0,
590 228, 0, 377, 0, 260, 259, 0, 249, 250, 251,
591 252, 0, 248, 247, 395, 407, 408, 409, 410, 406,
592 411, 412, 413, 405, 0, 0, 399, 483, 404, 385,
593 0, 311, 309, 338, 324, 0, 0, 335, 322, 0,
594 361, 359, 0, 421, 24, 0, 0, 0, 366, 0,
595 0, 483, 458, 0, 403, 483, 0, 479, 0, 457,
596 476, 328, 317, 217, 220, 0, 218, 231, 235, 0,
597 0, 0, 0, 353, 350, 377, 0, 240, 0, 0,
598 0, 401, 326, 383, 383, 426, 0, 31, 30, 431,
599 432, 427, 429, 430, 40, 0, 0, 364, 0, 365,
600 461, 472, 0, 0, 481, 222, 0, 239, 229, 0,
601 378, 0, 0, 0, 353, 327, 396, 0, 400, 483,
602 246, 325, 323, 0, 428, 451, 437, 452, 0, 0,
603 483, 433, 363, 0, 483, 0, 0, 482, 214, 219,
604 221, 0, 0, 0, 377, 354, 351, 0, 397, 0,
605 402, 483, 0, 447, 367, 0, 474, 473, 462, 422,
606 382, 0, 0, 355, 0, 352, 0, 0, 0, 0,
607 0, 463, 483, 0, 0, 377, 0, 453, 0, 371,
608 449, 425, 423, 448, 0, 436, 475, 0, 0, 356,
609 0, 0, 454, 455, 434, 0, 424, 0, 379, 0,
610 0, 483, 450, 0, 398, 435, 456, 380
613 /* YYPGOTO[NTERM-NUM]. */
614 static const short int yypgoto
[] =
616 -565, -317, -130, 0, 82, -565, -565, 383, -565, -565,
617 -565, -565, -565, -565, -565, -565, -565, -565, 282, -565,
618 -565, -565, -128, -565, -328, -565, -565, -565, -565, -565,
619 -210, -565, -565, -154, -11, -23, -565, -565, -565, 279,
620 377, -565, -565, 243, -565, -565, -565, -565, 258, -565,
621 -565, -565, -565, -141, 396, -1, -16, 18, -565, -565,
622 246, -312, -14, -39, -565, -565, 65, -285, -565, -196,
623 -565, 38, -565, -38, -389, -565, -565, -565, -565, 63,
624 -564, -20, -350, -61, -7, -565, 329, -565, 408, -565,
625 -153, -506, -561, -565, 69, -368, -565, -266, -532, 48,
626 -156, -565, -565, -500, -565, -565, -565, -565, -565, -565,
627 -565, -533, 47, -384, -565, -565, -565, -565, -565, -565,
631 /* YYDEFGOTO[NTERM-NUM]. */
632 static const short int yydefgoto
[] =
634 -1, 560, 481, 171, 333, 32, 33, 34, 35, 36,
635 131, 132, 133, 134, 339, 135, 136, 137, 208, 209,
636 575, 576, 334, 335, 352, 507, 508, 37, 158, 159,
637 521, 522, 38, 141, 39, 40, 41, 42, 43, 44,
638 45, 46, 47, 179, 378, 381, 182, 48, 185, 464,
639 49, 50, 201, 412, 51, 52, 53, 144, 55, 56,
640 388, 389, 57, 482, 58, 59, 449, 450, 513, 623,
641 655, 146, 393, 394, 483, 484, 61, 147, 148, 152,
642 583, 362, 374, 173, 414, 103, 104, 62, 63, 535,
643 536, 485, 537, 538, 402, 403, 404, 690, 691, 692,
644 601, 602, 603, 105, 680, 693, 638, 701, 702, 405,
645 406, 486, 487, 106, 645, 667, 407, 408, 409, 492,
649 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
650 positive, shift that token. If negative, reduce the rule whose
651 number is the opposite. If YYTABLE_NINF, syntax error. */
652 static const short int yytable
[] =
654 172, 164, 102, 160, 113, 336, 143, 350, 145, 101,
655 190, 142, 488, 371, 605, 496, 418, 112, 54, 499,
656 600, 624, 421, 149, 150, 151, 462, 626, 610, 629,
657 564, 591, 174, 72, 498, 442, 54, 337, 60, 71,
658 620, 459, 180, 4, 5, 175, 176, 177, 621, 54,
659 178, 54, 604, 460, -376, -376, 72, 395, 396, 397,
660 398, 399, 400, 401, 191, 523, 658, 448, 676, 161,
661 -381, 60, 445, 641, 361, -381, 541, 446, 447, 379,
662 416, 542, 380, 550, 468, 469, 473, 498, 160, 474,
663 673, 557, 558, 567, 506, 169, 568, 637, 68, 494,
664 163, 442, 194, 172, 442, 604, 195, 29, 197, 198,
665 199, 666, 183, 509, 510, 186, -321, -340, 544, -340,
666 548, 699, 64, 591, 65, 184, 207, 338, 363, 364,
667 365, 102, 411, 188, 663, 174, 340, 351, 353, 354,
668 356, 694, 635, 636, 187, -330, 360, 200, 714, 696,
669 366, 143, 497, 145, 703, 677, 142, 547, 189, 547,
670 72, 413, 706, 599, 192, 112, 524, 694, 470, 471,
671 608, 609, 390, 390, 376, 387, 387, 488, 716, 604,
672 589, 590, 647, 502, 54, 210, 191, 358, 392, 442,
673 410, -330, 442, 442, 604, 361, 95, 96, 97, 98,
674 99, 100, 355, 357, -376, 604, -243, 395, 396, 397,
675 398, 399, 400, 401, 350, -244, 599, 642, 367, 368,
676 350, 395, 396, 397, 398, 399, 400, 401, 114, 370,
677 85, 86, 87, 88, 89, 90, 91, 92, 93, 369,
678 373, 523, 375, 631, 632, 377, 383, 384, 443, 415,
679 662, 617, 618, 422, 664, 444, 456, 457, 445, 454,
680 488, 458, 463, 472, 115, 116, 117, 118, 119, 120,
681 121, 122, 123, 124, 125, 126, 500, 127, 128, 129,
682 130, 502, 503, 511, 552, 539, 553, 562, 561, 688,
683 599, 512, 350, 563, 564, 566, 569, 565, 488, 571,
684 442, 442, 577, 488, 578, 599, 579, 581, 582, 587,
685 588, 350, 350, 616, 461, 592, 599, 1, 2, 3,
686 4, 5, 6, 7, 8, 593, 467, 488, 594, -24,
687 9, 606, 10, 11, 12, 13, 14, 15, 16, 17,
688 615, 627, 619, 166, 351, 622, 625, 633, 172, 420,
689 351, 644, 630, 639, 640, 651, 475, 656, 490, 585,
690 652, 653, 661, 160, 668, 669, 453, 671, 191, 670,
691 672, 674, 675, 679, 525, 681, 683, 526, 465, 682,
692 174, 527, 684, 528, 529, 530, 531, 532, 533, 686,
693 687, 516, 695, 697, 698, 700, 709, 708, 491, 705,
694 713, 710, 167, 108, 109, 110, 111, 514, 515, 707,
695 534, 501, 711, 715, 376, 717, 170, 417, 341, 505,
696 660, 359, 351, 181, 382, 613, 372, 168, 657, 143,
697 451, 145, 196, 391, 142, 551, 162, 628, 455, 712,
698 634, 351, 351, 476, 614, 191, 495, 0, 0, 350,
699 350, 0, 0, 0, 0, 390, 0, 390, 387, 543,
700 387, 540, 0, 572, 0, 194, 0, 525, 0, 556,
701 526, 0, 0, 392, 527, 0, 528, 529, 530, 531,
702 532, 533, 0, 0, 0, 0, 0, 648, 0, 1,
703 2, 3, 4, 5, 6, 7, 8, 143, 0, 145,
704 0, 0, 142, 574, 10, 11, 12, 13, 14, 15,
705 16, 17, 0, 0, 0, 107, 586, 0, 0, 0,
706 0, 0, 0, 0, 611, 0, 0, 413, 0, 0,
707 0, 0, 160, 0, 0, 0, 0, 612, 465, 0,
708 0, 0, 0, 453, 153, 1, 2, 154, 4, 5,
709 6, 155, 8, 156, 0, 0, 0, 0, 157, 0,
710 10, 11, 12, 13, 14, 15, 16, 17, 491, 0,
711 0, 107, 0, 646, 0, 108, 109, 110, 0, 351,
712 351, 0, 0, 654, 0, 0, 0, 0, 0, 0,
713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 0, 659, 0, 0, 0, 0, 0, 0, 0, 0,
715 0, 0, 0, 0, 0, 0, 650, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 108, 109, 110, 678, 685, 0, 0, 0, 0,
718 689, 0, 423, 424, 425, 426, 427, 428, 429, 430,
719 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
720 0, 0, 0, 0, -437, 559, 689, -437, -437, -437,
721 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
722 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
723 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
724 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
725 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
726 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
727 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
728 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
729 0, -437, 0, -437, -437, -437, -437, -437, -437, -437,
730 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
731 -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
732 -437, -437, -437, -437, -437, -437, 0, -437, -437, 0,
733 -437, -437, -437, -437, 211, 0, 0, 212, 213, 214,
734 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
735 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
736 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
737 0, 245, 246, 247, 248, 249, 250, 251, 252, 253,
738 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
739 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
740 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
741 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
742 0, 294, 0, 295, 296, 297, 298, 299, 300, 301,
743 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
744 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
745 322, 323, 324, 325, 326, 327, 66, 0, 328, 0,
746 329, 330, 331, 332, 0, 67, 0, 0, 0, 0,
747 68, 69, 0, 0, 0, 0, 0, 0, 0, 0,
748 202, 203, 204, 70, 0, 0, 0, 0, 0, 0,
749 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
750 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
751 0, 9, 0, 10, 11, 12, 13, 14, 15, 16,
752 17, 0, 0, 0, 18, 73, 74, 75, 76, 77,
753 19, 20, 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 21, 0, 0, 0, 0, 0, 78, 0, 79,
755 80, 81, 82, 83, 84, 0, 0, 0, 85, 86,
756 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
757 97, 98, 99, 100, 0, 0, 0, 0, 0, 205,
758 0, 206, 0, 22, 23, 24, 25, 26, 27, 28,
759 0, 29, 1, 2, 3, 4, 5, 6, 7, 8,
760 0, 0, 0, 0, 0, 545, 0, 10, 11, 12,
761 13, 14, 15, 16, 17, 30, 0, 0, 107, 0,
762 31, 66, 1, 2, 3, 4, 5, 6, 7, 8,
763 67, 0, 0, 0, 0, 68, 69, 10, 11, 12,
764 13, 14, 15, 16, 17, 0, 0, 0, 554, 477,
765 0, 478, 0, 479, 0, 0, 480, 0, 546, 0,
766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 345, 346, 72, 0, 0, 0, 0, 108, 109,
768 110, 386, 0, 0, 347, 348, 0, 0, 0, 0,
769 73, 74, 75, 76, 77, 0, 0, 0, 0, 0,
770 0, 0, 0, 0, 0, 0, 0, 0, 108, 109,
771 110, 555, 78, 0, 79, 80, 81, 82, 83, 84,
772 0, 0, 0, 85, 86, 87, 88, 89, 90, 91,
773 92, 93, 94, 95, 96, 97, 98, 99, 100, 66,
774 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
775 0, 0, 0, 68, 69, 0, 0, 0, 0, 0,
776 0, 0, 0, 517, 518, 519, 70, 477, 0, 478,
777 520, 479, 0, 0, 480, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 345,
779 346, 72, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 347, 348, 0, 0, 0, 0, 73, 74,
781 75, 76, 77, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
783 78, 0, 79, 80, 81, 82, 83, 84, 0, 0,
784 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
785 94, 95, 96, 97, 98, 99, 100, 66, 0, 0,
786 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
787 0, 68, 69, 0, 0, 0, 0, 0, 0, 0,
788 0, 595, 0, 0, 70, 477, 0, 478, 0, 479,
789 0, 0, 480, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 163, 0, 0, 345, 346, 72,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 347, 348, 0, 0, 0, 0, 73, 74, 75, 76,
793 77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 78, 596,
795 597, 80, 81, 82, 83, 84, 0, 0, 0, 85,
796 86, 87, 88, 89, 90, 91, 92, 93, 598, 95,
797 96, 97, 98, 99, 100, 66, 0, 0, 0, 0,
798 0, 0, 0, 0, 67, 0, 0, 0, 0, 68,
799 69, 0, 0, 0, 0, 0, 0, 0, 0, 595,
800 0, 0, 70, 477, 0, 478, 0, 479, 0, 0,
801 480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 345, 346, 72, 0, 0,
803 0, 0, 0, 0, 0, 0, 0, 0, 347, 348,
804 0, 0, 0, 0, 73, 74, 75, 76, 77, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 78, 596, 597, 80,
807 81, 82, 83, 84, 0, 0, 0, 85, 86, 87,
808 88, 89, 90, 91, 92, 93, 598, 95, 96, 97,
809 98, 99, 100, 66, 0, 0, 0, 0, 0, 0,
810 0, 0, 67, 0, 0, 0, 0, 68, 69, 0,
811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
812 70, 477, 0, 478, 0, 479, 0, 0, 480, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814 163, 0, 0, 345, 346, 72, 0, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 347, 348, 0, 0,
816 665, 0, 73, 74, 75, 76, 77, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 0, 0, 78, 0, 79, 80, 81, 82,
819 83, 84, 0, 0, 0, 85, 86, 87, 88, 89,
820 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
821 100, 66, 0, 0, 0, 0, 0, 0, 0, 0,
822 67, 0, 0, 0, 0, 68, 69, 0, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 0, 70, 477,
824 -483, 478, 0, 479, 0, 0, 480, 0, 0, 0,
825 0, 0, 0, 0, 0, 0, 0, 0, 163, 0,
826 0, 345, 346, 72, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 347, 348, 0, 0, 0, 0,
828 73, 74, 75, 76, 77, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 78, 0, 79, 80, 81, 82, 83, 84,
831 0, 0, 0, 85, 86, 87, 88, 89, 90, 91,
832 92, 93, 94, 95, 96, 97, 98, 99, 100, 66,
833 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
834 0, 0, 0, 68, 69, 0, 0, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 70, 477, 0, 478,
836 0, 479, 0, 0, 480, 0, 0, 0, 0, 0,
837 0, 0, 0, 0, 0, 0, 163, 0, 0, 345,
838 346, 72, 0, 0, 0, 0, 0, 0, 0, 0,
839 0, 0, 347, 348, 0, 0, 0, 0, 73, 74,
840 75, 76, 77, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
842 78, 0, 79, 80, 81, 82, 83, 84, 0, 0,
843 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
844 94, 95, 96, 97, 98, 99, 100, 66, 0, 0,
845 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
846 0, 68, 69, 10, 11, 12, 13, 14, 15, 16,
847 17, 0, 0, 0, 70, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
849 2, 3, 4, 5, 6, 7, 8, 0, 0, 72,
850 0, 0, 9, 0, 10, 11, 12, 13, 14, 15,
851 16, 17, 0, 0, 0, 107, 73, 74, 75, 76,
852 77, 0, 0, 0, 0, 0, 0, 0, 584, 0,
853 0, 0, 0, 0, 0, 0, 0, 0, 78, 0,
854 79, 80, 81, 82, 83, 84, 0, 0, 0, 85,
855 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
856 96, 97, 98, 99, 100, 66, 0, 0, 0, 0,
857 0, 0, 0, 0, 67, 139, 140, 25, 111, 68,
858 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
859 0, 0, 70, 477, 0, 478, 0, 479, 0, 0,
860 480, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 345, 346, 72, 0, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 347, 348,
863 0, 0, 0, 0, 73, 74, 75, 76, 77, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 0, 0, 0, 0, 0, 78, 0, 79, 80,
866 81, 82, 83, 84, 0, 0, 0, 85, 86, 87,
867 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
868 98, 99, 100, 66, 0, 0, 0, 0, 0, 0,
869 0, 0, 67, 0, 0, 0, 0, 68, 69, 0,
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 70, 0, 0, 342, 0, 343, 0, 0, 344, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
873 0, 0, 0, 345, 346, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 0, 347, 348, 0, 0,
875 0, 0, 73, 74, 75, 76, 77, 0, 0, 0,
876 0, 0, 0, 0, 349, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 78, 0, 79, 80, 81, 82,
878 83, 84, 0, 0, 0, 85, 86, 87, 88, 89,
879 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
880 100, 66, 0, 0, 0, 0, 0, 0, 0, 0,
881 67, 0, 0, 0, 0, 68, 69, 0, 0, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 70, 0,
883 0, 0, 0, 0, 0, 0, 71, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 66, 0, 0, 72, 0, 0, 0, 0, 0, 67,
886 0, 0, 0, 0, 68, 69, 0, 0, 0, 0,
887 73, 74, 75, 76, 77, 0, 0, 70, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 78, 0, 79, 80, 81, 82, 83, 84,
890 0, 0, 72, 85, 86, 87, 88, 89, 90, 91,
891 92, 93, 94, 95, 96, 97, 98, 99, 100, 73,
892 74, 75, 76, 77, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 78, 0, 79, 80, 81, 82, 83, 84, 0,
895 0, 0, 85, 86, 87, 88, 89, 90, 91, 92,
896 93, 94, 95, 96, 97, 98, 99, 100, 66, 0,
897 0, 0, 0, 0, 0, 0, 0, 67, 0, 0,
898 0, 0, 68, 69, 0, 0, 0, 0, 0, 0,
899 0, 0, 0, 0, 0, 70, 0, 0, 0, 0,
900 0, 0, 0, 193, 0, 0, 0, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 66, 0, 0,
902 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
903 0, 68, 69, 0, 0, 0, 0, 73, 74, 75,
904 76, 77, 0, 0, 70, 0, 0, 0, 0, 0,
905 0, 0, 419, 0, 0, 0, 0, 0, 0, 78,
906 0, 79, 80, 81, 82, 83, 84, 0, 0, 0,
907 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
908 95, 96, 97, 98, 99, 100, 73, 74, 75, 76,
909 77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 78, 0,
911 79, 80, 81, 82, 83, 84, 0, 0, 0, 85,
912 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
913 96, 97, 98, 99, 100, 66, 0, 0, 0, 0,
914 0, 0, 0, 0, 67, 0, 0, 0, 0, 68,
915 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
917 452, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 66, 0, 0, 0,
919 0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
920 68, 69, 0, 0, 73, 74, 75, 76, 77, 0,
921 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, 0, 0, 78, 0, 79, 80,
923 81, 82, 83, 84, 0, 0, 0, 85, 86, 87,
924 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
925 98, 99, 100, 573, 0, 73, 74, 75, 76, 77,
926 66, 0, 0, 0, 0, 0, 0, 0, 0, 67,
927 0, 0, 0, 0, 68, 69, 0, 78, 0, 79,
928 80, 81, 82, 83, 84, 0, 0, 70, 85, 86,
929 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
930 97, 98, 99, 100, 0, 0, 0, 0, 0, 66,
931 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
932 0, 0, 0, 68, 69, 0, 0, 649, 0, 73,
933 74, 75, 76, 77, 0, 0, 70, 0, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
935 0, 78, 0, 79, 80, 81, 82, 83, 84, 0,
936 0, 0, 85, 86, 87, 88, 89, 90, 91, 92,
937 93, 94, 95, 96, 97, 98, 99, 100, 73, 74,
938 75, 76, 77, 0, 0, 0, 0, 0, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 78, 0, 79, 80, 81, 82, 83, 84, 0, 0,
941 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
942 94, 95, 96, 97, 98, 99, 100, 1, 2, 3,
943 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
944 545, 0, 10, 11, 12, 13, 14, 15, 16, 17,
945 0, 0, 0, 107, 1, 2, 3, 4, 5, 6,
946 7, 8, 0, 0, 0, 0, 0, 9, 0, 10,
947 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
948 107, 1, 2, 3, 4, 5, 6, 7, 8, 0,
949 0, 0, 0, 549, 138, 0, 10, 11, 12, 13,
950 14, 15, 16, 17, 0, 0, 0, 107, 0, 0,
951 0, 0, 0, 108, 109, 110, 386, 0, 0, 0,
952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
953 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
954 108, 109, 110, 111, 9, 0, 10, 11, 12, 13,
955 14, 15, 16, 17, 0, 0, 0, 107, 1, 2,
956 3, 4, 5, 6, 7, 8, 0, 139, 140, 25,
957 111, 9, 0, 10, 11, 12, 13, 14, 15, 16,
958 17, 0, 0, 0, 107, 1, 2, 3, 4, 5,
959 6, 7, 8, 0, 0, 0, 0, 0, 385, 0,
960 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
961 0, 107, 0, 0, 0, 0, 0, 108, 109, 110,
962 111, 0, 0, 0, 0, 0, 0, 0, 0, 0,
963 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
964 6, 7, 8, 0, 139, 140, 25, 111, 157, 0,
965 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
966 0, 107, 1, 2, 3, 4, 5, 6, 7, 8,
967 0, 108, 109, 110, 386, 466, 0, 10, 11, 12,
968 13, 14, 15, 16, 17, 570, 0, 0, 107, 0,
969 0, 0, 0, 0, 0, 0, 423, 424, 425, 426,
970 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
971 437, 438, 439, 440, 0, 504, 0, 0, 0, 559,
972 0, 108, 109, 110, 423, 424, 425, 426, 427, 428,
973 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
974 439, 440, 607, 0, 0, 0, 0, 441, 108, 109,
975 110, 423, 424, 425, 426, 427, 428, 429, 430, 431,
976 432, 433, 434, 435, 436, 437, 438, 439, 440, 704,
977 0, 0, 0, 0, 559, 0, 0, 0, 423, 424,
978 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
979 435, 436, 437, 438, 439, 440, 580, 0, 0, 0,
980 0, 559, 0, 423, 424, 425, 426, 427, 428, 429,
981 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
982 440, 643, 0, 0, 0, 0, 441, 0, 423, 424,
983 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
984 435, 436, 437, 438, 439, 440, 0, 0, 0, 0,
985 0, 559, 423, 424, 425, 426, 427, 428, 429, 430,
986 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
987 0, 0, 0, 0, 0, 441, 423, 424, 425, 426,
988 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
989 437, 438, 439, 440, 0, 0, 0, 0, 0, 559,
990 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
991 433, 434, 435, 436, 437, 438, 439, 440, 0, 0,
992 0, 0, 0, 441, 423, 424, 425, 426, 427, 428,
993 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
994 439, 440, 0, 0, 0, 0, 0, 559
997 static const short int yycheck
[] =
999 39, 29, 9, 26, 18, 133, 22, 137, 22, 9,
1000 71, 22, 396, 167, 552, 399, 344, 18, 0, 408,
1001 552, 585, 350, 23, 24, 25, 376, 588, 561, 590,
1002 32, 537, 39, 55, 402, 352, 18, 34, 0, 38,
1003 33, 33, 6, 7, 8, 4, 5, 6, 41, 31,
1004 9, 33, 552, 45, 41, 42, 55, 98, 99, 100,
1005 101, 102, 103, 104, 71, 454, 627, 37, 70, 34,
1006 37, 33, 42, 605, 41, 42, 34, 362, 363, 6,
1007 208, 39, 9, 472, 39, 40, 40, 455, 111, 43,
1008 654, 480, 481, 37, 422, 0, 40, 597, 17, 18,
1009 50, 418, 102, 142, 421, 605, 128, 97, 108, 109,
1010 110, 644, 37, 441, 442, 38, 37, 38, 468, 40,
1011 470, 685, 9, 629, 11, 129, 126, 124, 148, 149,
1012 150, 138, 193, 42, 640, 142, 136, 137, 138, 139,
1013 140, 679, 17, 18, 38, 38, 146, 40, 709, 682,
1014 157, 167, 43, 167, 687, 661, 167, 469, 42, 471,
1015 55, 200, 694, 552, 93, 166, 43, 705, 39, 40,
1016 559, 560, 186, 187, 174, 186, 187, 561, 711, 679,
1017 39, 40, 39, 40, 166, 36, 193, 37, 188, 506,
1018 190, 38, 509, 510, 694, 41, 115, 116, 117, 118,
1019 119, 120, 139, 140, 42, 705, 31, 98, 99, 100,
1020 101, 102, 103, 104, 344, 31, 605, 606, 31, 37,
1021 350, 98, 99, 100, 101, 102, 103, 104, 36, 31,
1022 105, 106, 107, 108, 109, 110, 111, 112, 113, 42,
1023 44, 630, 38, 593, 594, 6, 38, 37, 37, 123,
1024 639, 579, 580, 38, 643, 41, 38, 37, 42, 46,
1025 644, 37, 34, 46, 72, 73, 74, 75, 76, 77,
1026 78, 79, 80, 81, 82, 83, 39, 85, 86, 87,
1027 88, 40, 38, 38, 46, 45, 37, 37, 46, 678,
1028 679, 445, 422, 38, 32, 38, 37, 46, 682, 39,
1029 617, 618, 39, 687, 39, 694, 40, 33, 41, 37,
1030 41, 441, 442, 40, 375, 39, 705, 4, 5, 6,
1031 7, 8, 9, 10, 11, 39, 387, 711, 39, 39,
1032 17, 39, 19, 20, 21, 22, 23, 24, 25, 26,
1033 39, 41, 40, 30, 344, 40, 39, 114, 387, 349,
1034 350, 40, 46, 38, 38, 33, 395, 37, 397, 513,
1035 41, 38, 38, 386, 39, 37, 366, 41, 375, 39,
1036 33, 40, 37, 40, 3, 39, 38, 6, 385, 40,
1037 387, 10, 40, 12, 13, 14, 15, 16, 17, 32,
1038 38, 452, 39, 33, 33, 39, 41, 39, 398, 40,
1039 33, 39, 89, 90, 91, 92, 93, 446, 447, 40,
1040 39, 411, 40, 39, 414, 39, 33, 335, 136, 419,
1041 630, 142, 422, 46, 181, 566, 168, 31, 624, 445,
1042 365, 445, 103, 187, 445, 473, 28, 590, 369, 705,
1043 596, 441, 442, 395, 568, 452, 399, -1, -1, 579,
1044 580, -1, -1, -1, -1, 469, -1, 471, 469, 466,
1045 471, 461, -1, 502, -1, 465, -1, 3, -1, 480,
1046 6, -1, -1, 473, 10, -1, 12, 13, 14, 15,
1047 16, 17, -1, -1, -1, -1, -1, 615, -1, 4,
1048 5, 6, 7, 8, 9, 10, 11, 513, -1, 513,
1049 -1, -1, 513, 503, 19, 20, 21, 22, 23, 24,
1050 25, 26, -1, -1, -1, 30, 516, -1, -1, -1,
1051 -1, -1, -1, -1, 563, -1, -1, 566, -1, -1,
1052 -1, -1, 555, -1, -1, -1, -1, 565, 545, -1,
1053 -1, -1, -1, 543, 3, 4, 5, 6, 7, 8,
1054 9, 10, 11, 12, -1, -1, -1, -1, 17, -1,
1055 19, 20, 21, 22, 23, 24, 25, 26, 568, -1,
1056 -1, 30, -1, 612, -1, 90, 91, 92, -1, 579,
1057 580, -1, -1, 622, -1, -1, -1, -1, -1, -1,
1058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1059 -1, 629, -1, -1, -1, -1, -1, -1, -1, -1,
1060 -1, -1, -1, -1, -1, -1, 616, -1, -1, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1062 -1, 90, 91, 92, 40, 674, -1, -1, -1, -1,
1063 679, -1, 48, 49, 50, 51, 52, 53, 54, 55,
1064 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1065 -1, -1, -1, -1, 0, 71, 705, 3, 4, 5,
1066 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1067 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1068 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1069 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1070 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1071 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1072 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1073 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1074 -1, 87, -1, 89, 90, 91, 92, 93, 94, 95,
1075 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1076 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1077 116, 117, 118, 119, 120, 121, -1, 123, 124, -1,
1078 126, 127, 128, 129, 0, -1, -1, 3, 4, 5,
1079 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1080 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1081 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1082 -1, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1083 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1084 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1085 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1086 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1087 -1, 87, -1, 89, 90, 91, 92, 93, 94, 95,
1088 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1089 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1090 116, 117, 118, 119, 120, 121, 3, -1, 124, -1,
1091 126, 127, 128, 129, -1, 12, -1, -1, -1, -1,
1092 17, 18, -1, -1, -1, -1, -1, -1, -1, -1,
1093 27, 28, 29, 30, -1, -1, -1, -1, -1, -1,
1094 -1, -1, -1, -1, -1, -1, -1, -1, 4, 5,
1095 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1096 -1, 17, -1, 19, 20, 21, 22, 23, 24, 25,
1097 26, -1, -1, -1, 30, 72, 73, 74, 75, 76,
1098 36, 37, -1, -1, -1, -1, -1, -1, -1, -1,
1099 -1, 47, -1, -1, -1, -1, -1, 94, -1, 96,
1100 97, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1101 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1102 117, 118, 119, 120, -1, -1, -1, -1, -1, 126,
1103 -1, 128, -1, 89, 90, 91, 92, 93, 94, 95,
1104 -1, 97, 4, 5, 6, 7, 8, 9, 10, 11,
1105 -1, -1, -1, -1, -1, 17, -1, 19, 20, 21,
1106 22, 23, 24, 25, 26, 121, -1, -1, 30, -1,
1107 126, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1108 12, -1, -1, -1, -1, 17, 18, 19, 20, 21,
1109 22, 23, 24, 25, 26, -1, -1, -1, 30, 31,
1110 -1, 33, -1, 35, -1, -1, 38, -1, 70, -1,
1111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1112 -1, 53, 54, 55, -1, -1, -1, -1, 90, 91,
1113 92, 93, -1, -1, 66, 67, -1, -1, -1, -1,
1114 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, -1, -1, 90, 91,
1116 92, 93, 94, -1, 96, 97, 98, 99, 100, 101,
1117 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1118 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1119 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1120 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1121 -1, -1, -1, 27, 28, 29, 30, 31, -1, 33,
1122 34, 35, -1, -1, 38, -1, -1, -1, -1, -1,
1123 -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
1124 54, 55, -1, -1, -1, -1, -1, -1, -1, -1,
1125 -1, -1, 66, 67, -1, -1, -1, -1, 72, 73,
1126 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
1127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1128 94, -1, 96, 97, 98, 99, 100, 101, -1, -1,
1129 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1130 114, 115, 116, 117, 118, 119, 120, 3, -1, -1,
1131 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1132 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1133 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1134 -1, -1, 38, -1, -1, -1, -1, -1, -1, -1,
1135 -1, -1, -1, -1, 50, -1, -1, 53, 54, 55,
1136 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1137 66, 67, -1, -1, -1, -1, 72, 73, 74, 75,
1138 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1139 -1, -1, -1, -1, -1, -1, -1, -1, 94, 95,
1140 96, 97, 98, 99, 100, 101, -1, -1, -1, 105,
1141 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1142 116, 117, 118, 119, 120, 3, -1, -1, -1, -1,
1143 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1144 18, -1, -1, -1, -1, -1, -1, -1, -1, 27,
1145 -1, -1, 30, 31, -1, 33, -1, 35, -1, -1,
1146 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1147 -1, -1, -1, -1, -1, 53, 54, 55, -1, -1,
1148 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
1149 -1, -1, -1, -1, 72, 73, 74, 75, 76, -1,
1150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1151 -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
1152 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1153 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1154 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1155 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1157 30, 31, -1, 33, -1, 35, -1, -1, 38, -1,
1158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1159 50, -1, -1, 53, 54, 55, -1, -1, -1, -1,
1160 -1, -1, -1, -1, -1, -1, 66, 67, -1, -1,
1161 70, -1, 72, 73, 74, 75, 76, -1, -1, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1163 -1, -1, -1, -1, 94, -1, 96, 97, 98, 99,
1164 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1165 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1166 120, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1167 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1168 -1, -1, -1, -1, -1, -1, -1, -1, 30, 31,
1169 32, 33, -1, 35, -1, -1, 38, -1, -1, -1,
1170 -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
1171 -1, 53, 54, 55, -1, -1, -1, -1, -1, -1,
1172 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
1173 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1175 -1, -1, 94, -1, 96, 97, 98, 99, 100, 101,
1176 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1177 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1178 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1179 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1180 -1, -1, -1, -1, -1, -1, 30, 31, -1, 33,
1181 -1, 35, -1, -1, 38, -1, -1, -1, -1, -1,
1182 -1, -1, -1, -1, -1, -1, 50, -1, -1, 53,
1183 54, 55, -1, -1, -1, -1, -1, -1, -1, -1,
1184 -1, -1, 66, 67, -1, -1, -1, -1, 72, 73,
1185 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
1186 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1187 94, -1, 96, 97, 98, 99, 100, 101, -1, -1,
1188 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1189 114, 115, 116, 117, 118, 119, 120, 3, -1, -1,
1190 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1191 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1192 26, -1, -1, -1, 30, -1, -1, -1, -1, -1,
1193 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
1194 5, 6, 7, 8, 9, 10, 11, -1, -1, 55,
1195 -1, -1, 17, -1, 19, 20, 21, 22, 23, 24,
1196 25, 26, -1, -1, -1, 30, 72, 73, 74, 75,
1197 76, -1, -1, -1, -1, -1, -1, -1, 43, -1,
1198 -1, -1, -1, -1, -1, -1, -1, -1, 94, -1,
1199 96, 97, 98, 99, 100, 101, -1, -1, -1, 105,
1200 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1201 116, 117, 118, 119, 120, 3, -1, -1, -1, -1,
1202 -1, -1, -1, -1, 12, 90, 91, 92, 93, 17,
1203 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1204 -1, -1, 30, 31, -1, 33, -1, 35, -1, -1,
1205 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1206 -1, -1, -1, -1, -1, 53, 54, 55, -1, -1,
1207 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
1208 -1, -1, -1, -1, 72, 73, 74, 75, 76, -1,
1209 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1210 -1, -1, -1, -1, -1, -1, 94, -1, 96, 97,
1211 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1212 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1213 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1214 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1216 30, -1, -1, 33, -1, 35, -1, -1, 38, -1,
1217 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1218 -1, -1, -1, 53, 54, -1, -1, -1, -1, -1,
1219 -1, -1, -1, -1, -1, -1, 66, 67, -1, -1,
1220 -1, -1, 72, 73, 74, 75, 76, -1, -1, -1,
1221 -1, -1, -1, -1, 84, -1, -1, -1, -1, -1,
1222 -1, -1, -1, -1, 94, -1, 96, 97, 98, 99,
1223 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1224 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1225 120, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1226 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1227 -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
1228 -1, -1, -1, -1, -1, -1, 38, -1, -1, -1,
1229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1230 3, -1, -1, 55, -1, -1, -1, -1, -1, 12,
1231 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1232 72, 73, 74, 75, 76, -1, -1, 30, -1, -1,
1233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1234 -1, -1, 94, -1, 96, 97, 98, 99, 100, 101,
1235 -1, -1, 55, 105, 106, 107, 108, 109, 110, 111,
1236 112, 113, 114, 115, 116, 117, 118, 119, 120, 72,
1237 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
1238 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1239 -1, 94, -1, 96, 97, 98, 99, 100, 101, -1,
1240 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1241 113, 114, 115, 116, 117, 118, 119, 120, 3, -1,
1242 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1243 -1, -1, 17, 18, -1, -1, -1, -1, -1, -1,
1244 -1, -1, -1, -1, -1, 30, -1, -1, -1, -1,
1245 -1, -1, -1, 38, -1, -1, -1, -1, -1, -1,
1246 -1, -1, -1, -1, -1, -1, -1, 3, -1, -1,
1247 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1248 -1, 17, 18, -1, -1, -1, -1, 72, 73, 74,
1249 75, 76, -1, -1, 30, -1, -1, -1, -1, -1,
1250 -1, -1, 38, -1, -1, -1, -1, -1, -1, 94,
1251 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
1252 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1253 115, 116, 117, 118, 119, 120, 72, 73, 74, 75,
1254 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, 94, -1,
1256 96, 97, 98, 99, 100, 101, -1, -1, -1, 105,
1257 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1258 116, 117, 118, 119, 120, 3, -1, -1, -1, -1,
1259 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1260 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1261 -1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
1262 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1263 -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
1264 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1265 17, 18, -1, -1, 72, 73, 74, 75, 76, -1,
1266 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1267 -1, -1, -1, -1, -1, -1, 94, -1, 96, 97,
1268 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1269 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1270 118, 119, 120, 70, -1, 72, 73, 74, 75, 76,
1271 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1272 -1, -1, -1, -1, 17, 18, -1, 94, -1, 96,
1273 97, 98, 99, 100, 101, -1, -1, 30, 105, 106,
1274 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1275 117, 118, 119, 120, -1, -1, -1, -1, -1, 3,
1276 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1277 -1, -1, -1, 17, 18, -1, -1, 70, -1, 72,
1278 73, 74, 75, 76, -1, -1, 30, -1, -1, -1,
1279 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1280 -1, 94, -1, 96, 97, 98, 99, 100, 101, -1,
1281 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1282 113, 114, 115, 116, 117, 118, 119, 120, 72, 73,
1283 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
1284 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1285 94, -1, 96, 97, 98, 99, 100, 101, -1, -1,
1286 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1287 114, 115, 116, 117, 118, 119, 120, 4, 5, 6,
1288 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1289 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1290 -1, -1, -1, 30, 4, 5, 6, 7, 8, 9,
1291 10, 11, -1, -1, -1, -1, -1, 17, -1, 19,
1292 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1293 30, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1294 -1, -1, -1, 70, 17, -1, 19, 20, 21, 22,
1295 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
1296 -1, -1, -1, 90, 91, 92, 93, -1, -1, -1,
1297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1298 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1299 90, 91, 92, 93, 17, -1, 19, 20, 21, 22,
1300 23, 24, 25, 26, -1, -1, -1, 30, 4, 5,
1301 6, 7, 8, 9, 10, 11, -1, 90, 91, 92,
1302 93, 17, -1, 19, 20, 21, 22, 23, 24, 25,
1303 26, -1, -1, -1, 30, 4, 5, 6, 7, 8,
1304 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1305 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1306 -1, 30, -1, -1, -1, -1, -1, 90, 91, 92,
1307 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1308 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1309 9, 10, 11, -1, 90, 91, 92, 93, 17, -1,
1310 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1311 -1, 30, 4, 5, 6, 7, 8, 9, 10, 11,
1312 -1, 90, 91, 92, 93, 17, -1, 19, 20, 21,
1313 22, 23, 24, 25, 26, 37, -1, -1, 30, -1,
1314 -1, -1, -1, -1, -1, -1, 48, 49, 50, 51,
1315 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1316 62, 63, 64, 65, -1, 39, -1, -1, -1, 71,
1317 -1, 90, 91, 92, 48, 49, 50, 51, 52, 53,
1318 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1319 64, 65, 39, -1, -1, -1, -1, 71, 90, 91,
1320 92, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1321 57, 58, 59, 60, 61, 62, 63, 64, 65, 39,
1322 -1, -1, -1, -1, 71, -1, -1, -1, 48, 49,
1323 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1324 60, 61, 62, 63, 64, 65, 41, -1, -1, -1,
1325 -1, 71, -1, 48, 49, 50, 51, 52, 53, 54,
1326 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1327 65, 41, -1, -1, -1, -1, 71, -1, 48, 49,
1328 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1329 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
1330 -1, 71, 48, 49, 50, 51, 52, 53, 54, 55,
1331 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1332 -1, -1, -1, -1, -1, 71, 48, 49, 50, 51,
1333 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1334 62, 63, 64, 65, -1, -1, -1, -1, -1, 71,
1335 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1336 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
1337 -1, -1, -1, 71, 48, 49, 50, 51, 52, 53,
1338 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1339 64, 65, -1, -1, -1, -1, -1, 71
1342 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1343 symbol of state STATE-NUM. */
1344 static const unsigned char yystos
[] =
1346 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1347 19, 20, 21, 22, 23, 24, 25, 26, 30, 36,
1348 37, 47, 89, 90, 91, 92, 93, 94, 95, 97,
1349 121, 126, 137, 138, 139, 140, 141, 159, 164, 166,
1350 167, 168, 169, 170, 171, 172, 173, 174, 179, 182,
1351 183, 186, 187, 188, 189, 190, 191, 194, 196, 197,
1352 203, 208, 219, 220, 9, 11, 3, 12, 17, 18,
1353 30, 38, 55, 72, 73, 74, 75, 76, 94, 96,
1354 97, 98, 99, 100, 101, 105, 106, 107, 108, 109,
1355 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1356 120, 135, 216, 217, 218, 235, 245, 30, 90, 91,
1357 92, 93, 187, 194, 36, 72, 73, 74, 75, 76,
1358 77, 78, 79, 80, 81, 82, 83, 85, 86, 87,
1359 88, 142, 143, 144, 145, 147, 148, 149, 17, 90,
1360 91, 165, 166, 188, 189, 194, 203, 209, 210, 135,
1361 135, 135, 211, 3, 6, 10, 12, 17, 160, 161,
1362 167, 34, 220, 50, 253, 254, 30, 89, 186, 0,
1363 139, 135, 195, 215, 216, 4, 5, 6, 9, 175,
1364 6, 172, 178, 37, 129, 180, 38, 38, 42, 42,
1365 215, 216, 93, 38, 135, 128, 218, 135, 135, 135,
1366 40, 184, 27, 28, 29, 126, 128, 135, 150, 151,
1367 36, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1368 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1369 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1370 31, 32, 33, 34, 35, 37, 38, 39, 40, 41,
1371 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1372 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1373 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1374 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1375 82, 83, 84, 85, 87, 89, 90, 91, 92, 93,
1376 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1377 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1378 114, 115, 116, 117, 118, 119, 120, 121, 124, 126,
1379 127, 128, 129, 136, 154, 155, 154, 34, 124, 146,
1380 135, 150, 33, 35, 38, 53, 54, 66, 67, 84,
1381 134, 135, 156, 135, 135, 211, 135, 211, 37, 171,
1382 135, 41, 213, 213, 213, 213, 216, 31, 37, 42,
1383 31, 165, 180, 44, 214, 38, 135, 6, 176, 6,
1384 9, 177, 175, 38, 37, 17, 93, 166, 192, 193,
1385 194, 192, 135, 204, 205, 98, 99, 100, 101, 102,
1386 103, 104, 226, 227, 228, 241, 242, 248, 249, 250,
1387 135, 215, 185, 195, 216, 123, 154, 136, 156, 38,
1388 135, 156, 38, 48, 49, 50, 51, 52, 53, 54,
1389 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1390 65, 71, 133, 37, 41, 42, 199, 199, 37, 198,
1391 199, 198, 38, 135, 46, 226, 38, 37, 37, 33,
1392 45, 215, 214, 34, 181, 216, 17, 215, 39, 40,
1393 39, 40, 46, 40, 43, 195, 231, 31, 33, 35,
1394 38, 134, 195, 206, 207, 223, 243, 244, 245, 253,
1395 195, 135, 251, 252, 18, 244, 245, 43, 227, 206,
1396 39, 135, 40, 38, 39, 135, 156, 157, 158, 156,
1397 156, 38, 165, 200, 195, 195, 215, 27, 28, 29,
1398 34, 162, 163, 206, 43, 3, 6, 10, 12, 13,
1399 14, 15, 16, 17, 39, 221, 222, 224, 225, 45,
1400 135, 34, 39, 216, 214, 17, 70, 193, 214, 70,
1401 206, 205, 46, 37, 30, 93, 166, 206, 206, 71,
1402 133, 46, 37, 38, 32, 46, 38, 37, 40, 37,
1403 37, 39, 195, 70, 135, 152, 153, 39, 39, 40,
1404 41, 33, 41, 212, 43, 165, 135, 37, 41, 39,
1405 40, 223, 39, 39, 39, 27, 95, 96, 114, 206,
1406 230, 232, 233, 234, 235, 254, 39, 39, 206, 206,
1407 243, 195, 253, 185, 252, 39, 40, 156, 156, 40,
1408 33, 41, 40, 201, 212, 39, 224, 41, 222, 224,
1409 46, 214, 214, 114, 232, 17, 18, 235, 238, 38,
1410 38, 230, 206, 41, 40, 246, 195, 39, 154, 70,
1411 135, 33, 41, 38, 195, 202, 37, 201, 224, 253,
1412 162, 38, 206, 223, 206, 70, 243, 247, 39, 37,
1413 39, 41, 33, 212, 40, 37, 70, 223, 40, 40,
1414 236, 39, 40, 38, 40, 195, 32, 38, 206, 195,
1415 229, 230, 231, 237, 254, 39, 243, 33, 33, 212,
1416 39, 239, 240, 243, 39, 40, 230, 40, 39, 41,
1417 39, 40, 229, 33, 224, 39, 243, 39
1420 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1421 static const unsigned char yyr1
[] =
1423 0, 132, 133, 133, 133, 133, 133, 133, 133, 133,
1424 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1425 134, 134, 134, 134, 135, 135, 135, 135, 135, 135,
1426 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1427 135, 135, 136, 136, 136, 136, 136, 136, 136, 136,
1428 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1429 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1430 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1431 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1432 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1433 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1434 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1435 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1436 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1437 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1438 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1439 136, 136, 136, 136, 137, 137, 138, 138, 139, 139,
1440 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1441 139, 140, 141, 141, 142, 142, 142, 142, 142, 142,
1442 142, 142, 143, 143, 144, 144, 145, 145, 145, 146,
1443 146, 147, 147, 148, 148, 148, 149, 149, 150, 150,
1444 150, 150, 150, 150, 151, 151, 152, 152, 152, 152,
1445 153, 153, 154, 154, 155, 155, 156, 156, 156, 156,
1446 156, 156, 156, 156, 156, 156, 157, 157, 158, 158,
1447 159, 160, 161, 161, 161, 161, 162, 162, 162, 163,
1448 163, 163, 163, 164, 164, 164, 165, 165, 165, 165,
1449 165, 165, 166, 166, 167, 167, 168, 168, 168, 169,
1450 169, 169, 169, 170, 170, 170, 171, 171, 171, 171,
1451 171, 171, 171, 171, 172, 172, 173, 173, 173, 174,
1452 174, 174, 174, 175, 175, 175, 175, 175, 176, 176,
1453 177, 177, 177, 178, 178, 178, 179, 179, 180, 180,
1454 181, 181, 182, 183, 184, 184, 185, 185, 186, 186,
1455 187, 187, 188, 188, 189, 189, 190, 190, 190, 190,
1456 191, 191, 192, 192, 192, 192, 193, 193, 193, 193,
1457 194, 194, 194, 194, 195, 195, 196, 197, 198, 198,
1458 199, 200, 200, 201, 201, 202, 202, 203, 204, 204,
1459 205, 205, 206, 206, 206, 206, 206, 206, 207, 207,
1460 207, 207, 208, 209, 210, 211, 211, 212, 212, 212,
1461 212, 213, 213, 214, 214, 214, 215, 215, 216, 216,
1462 217, 217, 218, 218, 219, 219, 220, 220, 220, 221,
1463 221, 222, 222, 223, 224, 225, 225, 225, 225, 225,
1464 225, 225, 225, 225, 226, 226, 227, 227, 227, 227,
1465 227, 228, 228, 229, 229, 229, 230, 230, 230, 230,
1466 230, 230, 231, 231, 232, 233, 234, 235, 235, 235,
1467 235, 235, 235, 235, 235, 235, 235, 236, 236, 237,
1468 237, 238, 238, 239, 239, 240, 240, 241, 242, 243,
1469 243, 243, 244, 244, 245, 245, 245, 245, 245, 245,
1470 245, 245, 246, 246, 247, 247, 248, 249, 249, 250,
1471 251, 251, 252, 253, 253, 254
1474 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1475 static const unsigned char yyr2
[] =
1477 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1478 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1479 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1480 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1481 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1482 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1484 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1487 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1493 1, 1, 1, 1, 0, 1, 1, 2, 1, 1,
1494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1495 1, 3, 2, 3, 2, 2, 1, 2, 2, 2,
1496 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1498 1, 1, 1, 1, 6, 2, 0, 1, 1, 3,
1499 1, 3, 0, 1, 1, 2, 3, 2, 3, 5,
1500 2, 4, 1, 1, 1, 4, 0, 1, 1, 3,
1501 6, 1, 1, 1, 1, 1, 0, 1, 1, 1,
1502 1, 1, 1, 3, 4, 4, 1, 1, 2, 4,
1503 4, 2, 2, 1, 1, 1, 2, 2, 2, 1,
1504 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1505 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
1506 1, 2, 2, 0, 1, 2, 1, 2, 0, 1,
1507 0, 1, 1, 0, 1, 2, 3, 4, 0, 4,
1508 1, 2, 2, 3, 0, 2, 1, 3, 1, 2,
1509 1, 1, 5, 7, 5, 7, 6, 7, 6, 5,
1510 1, 2, 0, 1, 1, 3, 1, 2, 3, 2,
1511 1, 2, 4, 3, 3, 2, 4, 4, 1, 1,
1512 3, 4, 5, 0, 2, 2, 4, 4, 1, 3,
1513 1, 3, 1, 4, 3, 3, 2, 5, 1, 1,
1514 1, 1, 2, 2, 2, 0, 1, 0, 2, 7,
1515 9, 0, 7, 0, 2, 3, 0, 1, 1, 2,
1516 1, 2, 1, 2, 4, 5, 7, 8, 13, 1,
1517 3, 2, 4, 2, 1, 1, 1, 1, 1, 1,
1518 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1519 1, 3, 6, 1, 2, 1, 1, 1, 2, 1,
1520 1, 1, 3, 4, 6, 8, 5, 1, 1, 1,
1521 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
1522 3, 1, 1, 0, 1, 1, 3, 3, 3, 1,
1523 1, 3, 5, 6, 1, 1, 1, 1, 1, 1,
1524 1, 1, 0, 2, 1, 3, 3, 1, 1, 3,
1529 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1530 static const unsigned char yydprec
[] =
1532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1584 static const unsigned char yymerger
[] =
1586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1637 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1638 in the case of predicates. */
1639 static const yybool yyimmediate
[] =
1641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1693 list of conflicting reductions corresponding to action entry for
1694 state STATE-NUM in yytable. 0 means no conflicts. The list in
1695 yyconfl is terminated by a rule number of 0. */
1696 static const unsigned short int yyconflp
[] =
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, 5, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 259,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 7, 0, 0, 9, 11, 13,
1765 15, 17, 19, 21, 23, 25, 27, 29, 31, 33,
1766 35, 37, 39, 41, 43, 45, 47, 49, 51, 53,
1767 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
1768 75, 77, 79, 81, 83, 85, 87, 89, 91, 93,
1769 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
1770 115, 117, 119, 121, 123, 125, 127, 129, 131, 133,
1771 135, 137, 139, 141, 143, 145, 147, 149, 151, 153,
1772 155, 157, 159, 161, 163, 165, 167, 169, 171, 173,
1773 0, 175, 0, 177, 179, 181, 183, 185, 187, 189,
1774 191, 193, 195, 197, 199, 201, 203, 205, 207, 209,
1775 211, 213, 215, 217, 219, 221, 223, 225, 227, 229,
1776 231, 233, 235, 237, 239, 241, 0, 243, 245, 0,
1777 247, 249, 251, 253, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 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, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 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, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 255, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 257, 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, 261, 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, 263
2041 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2042 0, pointed into by YYCONFLP. */
2043 static const short int yyconfl
[] =
2045 0, 272, 0, 272, 0, 340, 0, 470, 0, 470,
2046 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2047 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2048 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2049 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2050 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2051 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2052 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2053 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2054 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2055 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2056 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2057 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2058 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2059 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2060 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2061 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2062 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2063 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2064 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2065 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2066 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2067 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2068 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2069 0, 470, 0, 470, 0, 470, 0, 470, 0, 470,
2070 0, 470, 0, 470, 0, 272, 0, 272, 0, 272,
2074 /* Error token number */
2081 #define yynerrs (yystackp->yyerrcnt)
2083 #define yychar (yystackp->yyrawchar)
2085 #define yylval (yystackp->yyval)
2087 #define yylloc (yystackp->yyloc)
2088 #define psi_parser_proc_nerrs yynerrs
2089 #define psi_parser_proc_char yychar
2090 #define psi_parser_proc_lval yylval
2091 #define psi_parser_proc_lloc yylloc
2093 static const int YYEOF
= 0;
2094 static const int YYEMPTY
= -2;
2096 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2098 #define YYCHK(YYE) \
2100 YYRESULTTAG yychk_flag = YYE; \
2101 if (yychk_flag != yyok) \
2102 return yychk_flag; \
2108 # define YYFPRINTF fprintf
2111 /* This macro is provided for backward compatibility. */
2112 #ifndef YY_LOCATION_PRINT
2113 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2117 # define YYDPRINTF(Args) \
2124 /*----------------------------------------.
2125 | Print this symbol's value on YYOUTPUT. |
2126 `----------------------------------------*/
2129 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2131 FILE *yyo
= yyoutput
;
2142 /*--------------------------------.
2143 | Print this symbol on YYOUTPUT. |
2144 `--------------------------------*/
2147 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2149 YYFPRINTF (yyoutput
, "%s %s (",
2150 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2152 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2153 YYFPRINTF (yyoutput
, ")");
2156 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2160 YYFPRINTF (stderr, "%s ", Title); \
2161 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2162 YYFPRINTF (stderr, "\n"); \
2166 /* Nonzero means print parse trace. It is left uninitialized so that
2167 multiple parsers can coexist. */
2171 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2172 YY_ATTRIBUTE_UNUSED
;
2173 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2174 YY_ATTRIBUTE_UNUSED
;
2176 #else /* !YYDEBUG */
2178 # define YYDPRINTF(Args)
2179 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2181 #endif /* !YYDEBUG */
2183 /* YYINITDEPTH -- initial size of the parser's stacks. */
2185 # define YYINITDEPTH 200
2188 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2189 if the built-in stack extension method is used).
2191 Do not make this value too large; the results are undefined if
2192 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2193 evaluated with infinite-precision integer arithmetic. */
2196 # define YYMAXDEPTH 10000
2199 /* Minimum number of free items on the stack allowed after an
2200 allocation. This is to allow allocation and initialization
2201 to be completed by functions that call yyexpandGLRStack before the
2202 stack is expanded, thus insuring that all necessary pointers get
2203 properly redirected to new data. */
2204 #define YYHEADROOM 2
2206 #ifndef YYSTACKEXPANDABLE
2207 # define YYSTACKEXPANDABLE 1
2210 #if YYSTACKEXPANDABLE
2211 # define YY_RESERVE_GLRSTACK(Yystack) \
2213 if (Yystack->yyspaceLeft < YYHEADROOM) \
2214 yyexpandGLRStack (Yystack); \
2217 # define YY_RESERVE_GLRSTACK(Yystack) \
2219 if (Yystack->yyspaceLeft < YYHEADROOM) \
2220 yyMemoryExhausted (Yystack); \
2228 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2229 # define yystpcpy stpcpy
2231 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2234 yystpcpy (char *yydest
, const char *yysrc
)
2237 const char *yys
= yysrc
;
2239 while ((*yyd
++ = *yys
++) != '\0')
2248 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2249 quotes and backslashes, so that it's suitable for yyerror. The
2250 heuristic is that double-quoting is unnecessary unless the string
2251 contains an apostrophe, a comma, or backslash (other than
2252 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2253 null, do not copy; instead, return the length of what the result
2256 yytnamerr (char *yyres
, const char *yystr
)
2261 char const *yyp
= yystr
;
2268 goto do_not_strip_quotes
;
2272 goto do_not_strip_quotes
;
2285 do_not_strip_quotes
: ;
2289 return strlen (yystr
);
2291 return yystpcpy (yyres
, yystr
) - yyres
;
2295 #endif /* !YYERROR_VERBOSE */
2297 /** State numbers, as in LALR(1) machine */
2298 typedef int yyStateNum
;
2300 /** Rule numbers, as in LALR(1) machine */
2301 typedef int yyRuleNum
;
2303 /** Grammar symbol */
2304 typedef int yySymbol
;
2306 /** Item references, as in LALR(1) machine */
2307 typedef short int yyItemNum
;
2309 typedef struct yyGLRState yyGLRState
;
2310 typedef struct yyGLRStateSet yyGLRStateSet
;
2311 typedef struct yySemanticOption yySemanticOption
;
2312 typedef union yyGLRStackItem yyGLRStackItem
;
2313 typedef struct yyGLRStack yyGLRStack
;
2316 /** Type tag: always true. */
2318 /** Type tag for yysemantics. If true, yysval applies, otherwise
2319 * yyfirstVal applies. */
2321 /** Number of corresponding LALR(1) machine state. */
2322 yyStateNum yylrState
;
2323 /** Preceding state in this stack */
2325 /** Source position of the last token produced by my symbol */
2328 /** First in a chain of alternative reductions producing the
2329 * non-terminal corresponding to this state, threaded through
2331 yySemanticOption
* yyfirstVal
;
2332 /** Semantic value for this state. */
2337 struct yyGLRStateSet
{
2338 yyGLRState
** yystates
;
2339 /** During nondeterministic operation, yylookaheadNeeds tracks which
2340 * stacks have actually needed the current lookahead. During deterministic
2341 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2342 * duplicate yychar != YYEMPTY. */
2343 yybool
* yylookaheadNeeds
;
2344 size_t yysize
, yycapacity
;
2347 struct yySemanticOption
{
2348 /** Type tag: always false. */
2350 /** Rule number for this reduction */
2352 /** The last RHS state in the list of states to be reduced. */
2353 yyGLRState
* yystate
;
2354 /** The lookahead for this reduction. */
2357 /** Next sibling in chain of options. To facilitate merging,
2358 * options are chained in decreasing order by address. */
2359 yySemanticOption
* yynext
;
2362 /** Type of the items in the GLR stack. The yyisState field
2363 * indicates which item of the union is valid. */
2364 union yyGLRStackItem
{
2366 yySemanticOption yyoption
;
2377 YYJMP_BUF yyexception_buffer
;
2378 yyGLRStackItem
* yyitems
;
2379 yyGLRStackItem
* yynextFree
;
2381 yyGLRState
* yysplitPoint
;
2382 yyGLRState
* yylastDeleted
;
2383 yyGLRStateSet yytops
;
2386 #if YYSTACKEXPANDABLE
2387 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2390 static _Noreturn
void
2391 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2393 if (yymsg
!= YY_NULLPTR
)
2394 yyerror (P
, tokens
, index
, yymsg
);
2395 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2398 static _Noreturn
void
2399 yyMemoryExhausted (yyGLRStack
* yystackp
)
2401 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2404 #if YYDEBUG || YYERROR_VERBOSE
2405 /** A printable representation of TOKEN. */
2406 static inline const char*
2407 yytokenName (yySymbol yytoken
)
2409 if (yytoken
== YYEMPTY
)
2412 return yytname
[yytoken
];
2416 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2417 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2418 * containing the pointer to the next state in the chain. */
2419 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2421 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2424 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2425 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2428 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2430 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2432 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2434 /* The effect of using yysval or yyloc (in an immediate rule) is
2436 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2437 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2441 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2442 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2443 * For convenience, always return YYLOW1. */
2444 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2445 YY_ATTRIBUTE_UNUSED
;
2447 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2449 if (!yynormal
&& yylow1
< *yylow
)
2451 yyfillin (yyvsp
, *yylow
, yylow1
);
2457 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2458 * and top stack item YYVSP. YYLVALP points to place to put semantic
2459 * value ($$), and yylocp points to place for location information
2460 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2461 * yyerr for YYERROR, yyabort for YYABORT. */
2463 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2464 yyGLRStack
* yystackp
,
2465 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2467 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2475 # define yyerrok (yystackp->yyerrState = 0)
2477 # define YYACCEPT return yyaccept
2479 # define YYABORT return yyabort
2481 # define YYERROR return yyerrok, yyerr
2482 # undef YYRECOVERING
2483 # define YYRECOVERING() (yystackp->yyerrState != 0)
2485 # define yyclearin (yychar = YYEMPTY)
2487 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2489 # define YYBACKUP(Token, Value) \
2490 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2495 *yyvalp
= yyval_default
;
2497 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2501 #line 391 "src/parser_proc_grammar.y" /* glr.c:816 */
2503 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2504 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2505 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2508 #line 2509 "src/parser_proc.c" /* glr.c:816 */
2512 #line 397 "src/parser_proc_grammar.y" /* glr.c:816 */
2515 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2516 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2518 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
);
2521 #line 2522 "src/parser_proc.c" /* glr.c:816 */
2525 #line 405 "src/parser_proc_grammar.y" /* glr.c:816 */
2527 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2529 #line 2530 "src/parser_proc.c" /* glr.c:816 */
2533 #line 408 "src/parser_proc_grammar.y" /* glr.c:816 */
2535 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2537 #line 2538 "src/parser_proc.c" /* glr.c:816 */
2541 #line 412 "src/parser_proc_grammar.y" /* glr.c:816 */
2543 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2545 #line 2546 "src/parser_proc.c" /* glr.c:816 */
2549 #line 415 "src/parser_proc_grammar.y" /* glr.c:816 */
2551 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2553 #line 2554 "src/parser_proc.c" /* glr.c:816 */
2557 #line 418 "src/parser_proc_grammar.y" /* glr.c:816 */
2559 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2561 #line 2562 "src/parser_proc.c" /* glr.c:816 */
2565 #line 421 "src/parser_proc_grammar.y" /* glr.c:816 */
2567 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2569 #line 2570 "src/parser_proc.c" /* glr.c:816 */
2573 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2575 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2577 #line 2578 "src/parser_proc.c" /* glr.c:816 */
2581 #line 430 "src/parser_proc_grammar.y" /* glr.c:816 */
2583 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2585 #line 2586 "src/parser_proc.c" /* glr.c:816 */
2589 #line 436 "src/parser_proc_grammar.y" /* glr.c:816 */
2591 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2593 #line 2594 "src/parser_proc.c" /* glr.c:816 */
2597 #line 439 "src/parser_proc_grammar.y" /* glr.c:816 */
2599 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2601 #line 2602 "src/parser_proc.c" /* glr.c:816 */
2605 #line 445 "src/parser_proc_grammar.y" /* glr.c:816 */
2607 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2608 struct psi_token
*msg
= NULL
;
2610 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2612 struct psi_token
*next
;
2614 msg
= psi_token_copy(msg
);
2615 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2616 struct psi_token
*old
= msg
;
2617 msg
= psi_token_cat(" ", 2, msg
, next
);
2621 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2623 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2625 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2627 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2629 #line 2630 "src/parser_proc.c" /* glr.c:816 */
2633 #line 468 "src/parser_proc_grammar.y" /* glr.c:816 */
2635 (*(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
))));
2636 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2638 #line 2639 "src/parser_proc.c" /* glr.c:816 */
2642 #line 472 "src/parser_proc_grammar.y" /* glr.c:816 */
2644 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2645 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2647 #line 2648 "src/parser_proc.c" /* glr.c:816 */
2651 #line 476 "src/parser_proc_grammar.y" /* glr.c:816 */
2653 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2654 (*(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
))));
2655 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2657 #line 2658 "src/parser_proc.c" /* glr.c:816 */
2661 #line 481 "src/parser_proc_grammar.y" /* glr.c:816 */
2663 (*(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
)));
2664 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2666 #line 2667 "src/parser_proc.c" /* glr.c:816 */
2670 #line 485 "src/parser_proc_grammar.y" /* glr.c:816 */
2672 (*(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
)));
2673 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2675 #line 2676 "src/parser_proc.c" /* glr.c:816 */
2679 #line 489 "src/parser_proc_grammar.y" /* glr.c:816 */
2681 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2682 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2684 #line 2685 "src/parser_proc.c" /* glr.c:816 */
2688 #line 493 "src/parser_proc_grammar.y" /* glr.c:816 */
2690 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2691 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2693 #line 2694 "src/parser_proc.c" /* glr.c:816 */
2697 #line 546 "src/parser_proc_grammar.y" /* glr.c:816 */
2699 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2700 (*(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
);
2701 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2703 #line 2704 "src/parser_proc.c" /* glr.c:816 */
2707 #line 551 "src/parser_proc_grammar.y" /* glr.c:816 */
2709 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2710 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2711 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2713 #line 2714 "src/parser_proc.c" /* glr.c:816 */
2717 #line 559 "src/parser_proc_grammar.y" /* glr.c:816 */
2719 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2721 #line 2722 "src/parser_proc.c" /* glr.c:816 */
2725 #line 562 "src/parser_proc_grammar.y" /* glr.c:816 */
2727 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2729 #line 2730 "src/parser_proc.c" /* glr.c:816 */
2733 #line 566 "src/parser_proc_grammar.y" /* glr.c:816 */
2735 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
2737 #line 2738 "src/parser_proc.c" /* glr.c:816 */
2741 #line 572 "src/parser_proc_grammar.y" /* glr.c:816 */
2743 (*(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
)));
2744 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2745 (*(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
)));
2747 #line 2748 "src/parser_proc.c" /* glr.c:816 */
2751 #line 577 "src/parser_proc_grammar.y" /* glr.c:816 */
2753 (*(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
)));
2754 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2755 (*(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
)));
2757 #line 2758 "src/parser_proc.c" /* glr.c:816 */
2761 #line 585 "src/parser_proc_grammar.y" /* glr.c:816 */
2763 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2765 #line 2766 "src/parser_proc.c" /* glr.c:816 */
2769 #line 592 "src/parser_proc_grammar.y" /* glr.c:816 */
2771 (*(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
)));
2772 (*(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
)));
2774 #line 2775 "src/parser_proc.c" /* glr.c:816 */
2778 #line 596 "src/parser_proc_grammar.y" /* glr.c:816 */
2780 (*(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
)));
2781 (*(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
)));
2783 #line 2784 "src/parser_proc.c" /* glr.c:816 */
2787 #line 603 "src/parser_proc_grammar.y" /* glr.c:816 */
2789 (*(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
)));
2790 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
2792 #line 2793 "src/parser_proc.c" /* glr.c:816 */
2796 #line 607 "src/parser_proc_grammar.y" /* glr.c:816 */
2798 (*(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
)));
2799 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2801 #line 2802 "src/parser_proc.c" /* glr.c:816 */
2805 #line 611 "src/parser_proc_grammar.y" /* glr.c:816 */
2807 (*(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
)));
2808 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2810 #line 2811 "src/parser_proc.c" /* glr.c:816 */
2814 #line 615 "src/parser_proc_grammar.y" /* glr.c:816 */
2816 (*(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
)));
2817 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2819 #line 2820 "src/parser_proc.c" /* glr.c:816 */
2823 #line 620 "src/parser_proc_grammar.y" /* glr.c:816 */
2828 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2829 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2830 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2831 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2834 #line 2835 "src/parser_proc.c" /* glr.c:816 */
2838 #line 630 "src/parser_proc_grammar.y" /* glr.c:816 */
2843 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2844 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2845 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2846 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2849 #line 2850 "src/parser_proc.c" /* glr.c:816 */
2853 #line 640 "src/parser_proc_grammar.y" /* glr.c:816 */
2855 (*(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
));
2856 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2857 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2859 #line 2860 "src/parser_proc.c" /* glr.c:816 */
2863 #line 645 "src/parser_proc_grammar.y" /* glr.c:816 */
2865 (*(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));
2866 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2867 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2869 #line 2870 "src/parser_proc.c" /* glr.c:816 */
2873 #line 650 "src/parser_proc_grammar.y" /* glr.c:816 */
2875 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2876 (*(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));
2877 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2878 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2880 #line 2881 "src/parser_proc.c" /* glr.c:816 */
2884 #line 656 "src/parser_proc_grammar.y" /* glr.c:816 */
2886 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2887 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
2888 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));
2889 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2891 #line 2892 "src/parser_proc.c" /* glr.c:816 */
2895 #line 665 "src/parser_proc_grammar.y" /* glr.c:816 */
2897 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2899 #line 2900 "src/parser_proc.c" /* glr.c:816 */
2903 #line 672 "src/parser_proc_grammar.y" /* glr.c:816 */
2905 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
2906 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2908 #line 2909 "src/parser_proc.c" /* glr.c:816 */
2912 #line 676 "src/parser_proc_grammar.y" /* glr.c:816 */
2914 (*(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
)));
2916 #line 2917 "src/parser_proc.c" /* glr.c:816 */
2920 #line 682 "src/parser_proc_grammar.y" /* glr.c:816 */
2922 (*(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
)));
2923 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2925 #line 2926 "src/parser_proc.c" /* glr.c:816 */
2929 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
2931 (*(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
);
2933 #line 2934 "src/parser_proc.c" /* glr.c:816 */
2937 #line 702 "src/parser_proc_grammar.y" /* glr.c:816 */
2939 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
2941 #line 2942 "src/parser_proc.c" /* glr.c:816 */
2945 #line 705 "src/parser_proc_grammar.y" /* glr.c:816 */
2947 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
)) {
2949 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
2951 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
2952 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
2954 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
2958 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
2959 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
2960 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
2961 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
2962 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
2963 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
2964 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
2965 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
2966 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
2967 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
2973 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
2975 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2977 #line 2978 "src/parser_proc.c" /* glr.c:816 */
2981 #line 736 "src/parser_proc_grammar.y" /* glr.c:816 */
2983 (*(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
);
2984 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2986 #line 2987 "src/parser_proc.c" /* glr.c:816 */
2990 #line 750 "src/parser_proc_grammar.y" /* glr.c:816 */
2992 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2994 #line 2995 "src/parser_proc.c" /* glr.c:816 */
2998 #line 753 "src/parser_proc_grammar.y" /* glr.c:816 */
3000 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3001 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3002 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3004 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3005 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3006 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3008 #line 3009 "src/parser_proc.c" /* glr.c:816 */
3012 #line 762 "src/parser_proc_grammar.y" /* glr.c:816 */
3014 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3016 #line 3017 "src/parser_proc.c" /* glr.c:816 */
3020 #line 769 "src/parser_proc_grammar.y" /* glr.c:816 */
3022 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3023 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3024 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3026 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3027 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3029 #line 3030 "src/parser_proc.c" /* glr.c:816 */
3033 #line 777 "src/parser_proc_grammar.y" /* glr.c:816 */
3035 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3036 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3037 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3038 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3040 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3041 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3042 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3043 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3045 #line 3046 "src/parser_proc.c" /* glr.c:816 */
3049 #line 788 "src/parser_proc_grammar.y" /* glr.c:816 */
3051 (*(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
)));
3052 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3053 (*(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
)));
3054 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3055 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3056 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3057 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3059 #line 3060 "src/parser_proc.c" /* glr.c:816 */
3063 #line 797 "src/parser_proc_grammar.y" /* glr.c:816 */
3065 (*(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
)));
3066 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3067 (*(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
)));
3068 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3069 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3070 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3071 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3073 #line 3074 "src/parser_proc.c" /* glr.c:816 */
3077 #line 806 "src/parser_proc_grammar.y" /* glr.c:816 */
3079 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3080 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0));
3081 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3083 #line 3084 "src/parser_proc.c" /* glr.c:816 */
3087 #line 814 "src/parser_proc_grammar.y" /* glr.c:816 */
3089 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3091 #line 3092 "src/parser_proc.c" /* glr.c:816 */
3095 #line 821 "src/parser_proc_grammar.y" /* glr.c:816 */
3097 (*(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
);
3098 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3100 #line 3101 "src/parser_proc.c" /* glr.c:816 */
3104 #line 829 "src/parser_proc_grammar.y" /* glr.c:816 */
3106 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3107 (*(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
);
3108 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3110 #line 3111 "src/parser_proc.c" /* glr.c:816 */
3114 #line 834 "src/parser_proc_grammar.y" /* glr.c:816 */
3116 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3117 (*(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
);
3118 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3120 #line 3121 "src/parser_proc.c" /* glr.c:816 */
3124 #line 839 "src/parser_proc_grammar.y" /* glr.c:816 */
3126 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3127 (*(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
);
3128 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3130 #line 3131 "src/parser_proc.c" /* glr.c:816 */
3134 #line 849 "src/parser_proc_grammar.y" /* glr.c:816 */
3136 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3138 #line 3139 "src/parser_proc.c" /* glr.c:816 */
3142 #line 852 "src/parser_proc_grammar.y" /* glr.c:816 */
3144 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3146 #line 3147 "src/parser_proc.c" /* glr.c:816 */
3150 #line 858 "src/parser_proc_grammar.y" /* glr.c:816 */
3152 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3154 #line 3155 "src/parser_proc.c" /* glr.c:816 */
3158 #line 861 "src/parser_proc_grammar.y" /* glr.c:816 */
3160 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3162 #line 3163 "src/parser_proc.c" /* glr.c:816 */
3166 #line 864 "src/parser_proc_grammar.y" /* glr.c:816 */
3168 (*(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
)));
3170 #line 3171 "src/parser_proc.c" /* glr.c:816 */
3174 #line 886 "src/parser_proc_grammar.y" /* glr.c:816 */
3176 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3178 #line 3179 "src/parser_proc.c" /* glr.c:816 */
3182 #line 889 "src/parser_proc_grammar.y" /* glr.c:816 */
3184 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3186 #line 3187 "src/parser_proc.c" /* glr.c:816 */
3190 #line 892 "src/parser_proc_grammar.y" /* glr.c:816 */
3192 (*(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
)));
3194 #line 3195 "src/parser_proc.c" /* glr.c:816 */
3198 #line 898 "src/parser_proc_grammar.y" /* glr.c:816 */
3200 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3202 #line 3203 "src/parser_proc.c" /* glr.c:816 */
3206 #line 901 "src/parser_proc_grammar.y" /* glr.c:816 */
3208 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3210 #line 3211 "src/parser_proc.c" /* glr.c:816 */
3214 #line 904 "src/parser_proc_grammar.y" /* glr.c:816 */
3216 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3217 (*(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
)));
3218 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3220 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3223 #line 3224 "src/parser_proc.c" /* glr.c:816 */
3227 #line 912 "src/parser_proc_grammar.y" /* glr.c:816 */
3229 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3230 (*(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
)));
3231 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3232 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3234 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3237 #line 3238 "src/parser_proc.c" /* glr.c:816 */
3241 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3243 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3245 #line 3246 "src/parser_proc.c" /* glr.c:816 */
3249 #line 927 "src/parser_proc_grammar.y" /* glr.c:816 */
3251 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3253 #line 3254 "src/parser_proc.c" /* glr.c:816 */
3257 #line 930 "src/parser_proc_grammar.y" /* glr.c:816 */
3259 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3260 (*(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
)));
3262 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3265 #line 3266 "src/parser_proc.c" /* glr.c:816 */
3269 #line 937 "src/parser_proc_grammar.y" /* glr.c:816 */
3271 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3273 #line 3274 "src/parser_proc.c" /* glr.c:816 */
3277 #line 940 "src/parser_proc_grammar.y" /* glr.c:816 */
3279 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3280 (*(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
)));
3282 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3285 #line 3286 "src/parser_proc.c" /* glr.c:816 */
3289 #line 950 "src/parser_proc_grammar.y" /* glr.c:816 */
3291 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3293 #line 3294 "src/parser_proc.c" /* glr.c:816 */
3297 #line 956 "src/parser_proc_grammar.y" /* glr.c:816 */
3299 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3301 #line 3302 "src/parser_proc.c" /* glr.c:816 */
3305 #line 964 "src/parser_proc_grammar.y" /* glr.c:816 */
3307 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3309 #line 3310 "src/parser_proc.c" /* glr.c:816 */
3313 #line 967 "src/parser_proc_grammar.y" /* glr.c:816 */
3315 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3317 #line 3318 "src/parser_proc.c" /* glr.c:816 */
3321 #line 970 "src/parser_proc_grammar.y" /* glr.c:816 */
3323 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3324 (*(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
)));
3325 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3327 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3330 #line 3331 "src/parser_proc.c" /* glr.c:816 */
3334 #line 981 "src/parser_proc_grammar.y" /* glr.c:816 */
3336 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3338 #line 3339 "src/parser_proc.c" /* glr.c:816 */
3342 #line 984 "src/parser_proc_grammar.y" /* glr.c:816 */
3344 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3346 #line 3347 "src/parser_proc.c" /* glr.c:816 */
3350 #line 1004 "src/parser_proc_grammar.y" /* glr.c:816 */
3352 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3354 #line 3355 "src/parser_proc.c" /* glr.c:816 */
3358 #line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */
3360 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3362 #line 3363 "src/parser_proc.c" /* glr.c:816 */
3366 #line 1017 "src/parser_proc_grammar.y" /* glr.c:816 */
3368 (*(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
)));
3370 #line 3371 "src/parser_proc.c" /* glr.c:816 */
3374 #line 1020 "src/parser_proc_grammar.y" /* glr.c:816 */
3376 (*(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
)));
3378 #line 3379 "src/parser_proc.c" /* glr.c:816 */
3382 #line 1027 "src/parser_proc_grammar.y" /* glr.c:816 */
3384 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3385 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3387 #line 3388 "src/parser_proc.c" /* glr.c:816 */
3391 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3393 (*(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
)));
3394 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3395 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3396 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3399 #line 3400 "src/parser_proc.c" /* glr.c:816 */
3403 #line 1046 "src/parser_proc_grammar.y" /* glr.c:816 */
3405 (*(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
)));
3406 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3407 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3408 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3409 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3412 #line 3413 "src/parser_proc.c" /* glr.c:816 */
3416 #line 1057 "src/parser_proc_grammar.y" /* glr.c:816 */
3418 (*(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
)));
3419 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3420 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3421 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3424 #line 3425 "src/parser_proc.c" /* glr.c:816 */
3428 #line 1064 "src/parser_proc_grammar.y" /* glr.c:816 */
3430 (*(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
)));
3431 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3432 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3433 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3434 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3437 #line 3438 "src/parser_proc.c" /* glr.c:816 */
3441 #line 1075 "src/parser_proc_grammar.y" /* glr.c:816 */
3443 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3444 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3445 (*(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));
3446 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3447 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3449 #line 3450 "src/parser_proc.c" /* glr.c:816 */
3453 #line 1082 "src/parser_proc_grammar.y" /* glr.c:816 */
3455 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3456 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3457 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3458 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
),
3459 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)
3461 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3462 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3463 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3465 #line 3466 "src/parser_proc.c" /* glr.c:816 */
3469 #line 1093 "src/parser_proc_grammar.y" /* glr.c:816 */
3471 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3472 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3473 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3474 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
),
3475 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)
3477 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3478 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3479 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3481 #line 3482 "src/parser_proc.c" /* glr.c:816 */
3485 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3487 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3488 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3489 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3490 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
),
3491 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3493 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3494 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3495 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3497 #line 3498 "src/parser_proc.c" /* glr.c:816 */
3501 #line 1119 "src/parser_proc_grammar.y" /* glr.c:816 */
3503 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3504 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
),
3505 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3507 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3508 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3509 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3511 #line 3512 "src/parser_proc.c" /* glr.c:816 */
3515 #line 1131 "src/parser_proc_grammar.y" /* glr.c:816 */
3517 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3519 #line 3520 "src/parser_proc.c" /* glr.c:816 */
3523 #line 1134 "src/parser_proc_grammar.y" /* glr.c:816 */
3525 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3527 #line 3528 "src/parser_proc.c" /* glr.c:816 */
3531 #line 1137 "src/parser_proc_grammar.y" /* glr.c:816 */
3533 (*(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
)));
3535 #line 3536 "src/parser_proc.c" /* glr.c:816 */
3539 #line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */
3541 (*(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
)));
3543 #line 3544 "src/parser_proc.c" /* glr.c:816 */
3547 #line 1147 "src/parser_proc_grammar.y" /* glr.c:816 */
3549 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3551 #line 3552 "src/parser_proc.c" /* glr.c:816 */
3555 #line 1150 "src/parser_proc_grammar.y" /* glr.c:816 */
3557 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3558 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3559 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3562 #line 3563 "src/parser_proc.c" /* glr.c:816 */
3566 #line 1156 "src/parser_proc_grammar.y" /* glr.c:816 */
3568 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3569 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
),
3570 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3572 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3573 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3574 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3576 #line 3577 "src/parser_proc.c" /* glr.c:816 */
3580 #line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */
3582 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3583 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
),
3584 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3586 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3587 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3588 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3590 #line 3591 "src/parser_proc.c" /* glr.c:816 */
3594 #line 1177 "src/parser_proc_grammar.y" /* glr.c:816 */
3596 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3597 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3598 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3600 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3601 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3603 #line 3604 "src/parser_proc.c" /* glr.c:816 */
3607 #line 1185 "src/parser_proc_grammar.y" /* glr.c:816 */
3609 (*(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
)));
3611 #line 3612 "src/parser_proc.c" /* glr.c:816 */
3615 #line 1188 "src/parser_proc_grammar.y" /* glr.c:816 */
3617 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3618 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3619 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
),
3620 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)
3622 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3623 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3624 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3626 #line 3627 "src/parser_proc.c" /* glr.c:816 */
3630 #line 1198 "src/parser_proc_grammar.y" /* glr.c:816 */
3632 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3633 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3634 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
),
3635 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)
3637 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3638 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3639 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3641 #line 3642 "src/parser_proc.c" /* glr.c:816 */
3645 #line 1211 "src/parser_proc_grammar.y" /* glr.c:816 */
3647 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3648 (*(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
)));
3649 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3651 #line 3652 "src/parser_proc.c" /* glr.c:816 */
3655 #line 1216 "src/parser_proc_grammar.y" /* glr.c:816 */
3657 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3658 (*(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
)));
3659 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3661 #line 3662 "src/parser_proc.c" /* glr.c:816 */
3665 #line 1224 "src/parser_proc_grammar.y" /* glr.c:816 */
3667 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3668 (*(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
)));
3669 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3670 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3671 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3673 #line 3674 "src/parser_proc.c" /* glr.c:816 */
3677 #line 1234 "src/parser_proc_grammar.y" /* glr.c:816 */
3679 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3680 (*(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
)));
3681 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3682 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3683 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3685 #line 3686 "src/parser_proc.c" /* glr.c:816 */
3689 #line 1244 "src/parser_proc_grammar.y" /* glr.c:816 */
3691 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3693 #line 3694 "src/parser_proc.c" /* glr.c:816 */
3697 #line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */
3699 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3701 #line 3702 "src/parser_proc.c" /* glr.c:816 */
3705 #line 1257 "src/parser_proc_grammar.y" /* glr.c:816 */
3707 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3708 (*(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
)));
3709 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
3711 struct psi_decl_arg
*arg
;
3713 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
3714 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
3715 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
3717 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3720 #line 3721 "src/parser_proc.c" /* glr.c:816 */
3724 #line 1271 "src/parser_proc_grammar.y" /* glr.c:816 */
3726 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3727 (*(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
)));
3728 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
3730 struct psi_decl_arg
*arg
;
3732 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
3733 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
3734 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
3736 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3739 #line 3740 "src/parser_proc.c" /* glr.c:816 */
3743 #line 1288 "src/parser_proc_grammar.y" /* glr.c:816 */
3745 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3747 #line 3748 "src/parser_proc.c" /* glr.c:816 */
3751 #line 1291 "src/parser_proc_grammar.y" /* glr.c:816 */
3753 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3755 #line 3756 "src/parser_proc.c" /* glr.c:816 */
3759 #line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */
3762 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3763 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3764 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
3767 #line 3768 "src/parser_proc.c" /* glr.c:816 */
3771 #line 1304 "src/parser_proc_grammar.y" /* glr.c:816 */
3774 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3775 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3776 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
3779 #line 3780 "src/parser_proc.c" /* glr.c:816 */
3783 #line 1314 "src/parser_proc_grammar.y" /* glr.c:816 */
3785 (*(struct psi_decl_enum
**)(&(*yyvalp
))) = psi_decl_enum_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3786 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3788 #line 3789 "src/parser_proc.c" /* glr.c:816 */
3792 #line 1321 "src/parser_proc_grammar.y" /* glr.c:816 */
3794 (*(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
)));
3796 #line 3797 "src/parser_proc.c" /* glr.c:816 */
3800 #line 1324 "src/parser_proc_grammar.y" /* glr.c:816 */
3802 (*(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
)));
3804 #line 3805 "src/parser_proc.c" /* glr.c:816 */
3808 #line 1330 "src/parser_proc_grammar.y" /* glr.c:816 */
3810 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3811 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
3812 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3814 #line 3815 "src/parser_proc.c" /* glr.c:816 */
3818 #line 1335 "src/parser_proc_grammar.y" /* glr.c:816 */
3820 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3821 (*(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
)));
3822 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3824 #line 3825 "src/parser_proc.c" /* glr.c:816 */
3828 #line 1343 "src/parser_proc_grammar.y" /* glr.c:816 */
3830 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3831 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3833 #line 3834 "src/parser_proc.c" /* glr.c:816 */
3837 #line 1347 "src/parser_proc_grammar.y" /* glr.c:816 */
3839 (*(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
)));
3840 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
3842 #line 3843 "src/parser_proc.c" /* glr.c:816 */
3846 #line 1351 "src/parser_proc_grammar.y" /* glr.c:816 */
3848 (*(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
)));
3849 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3851 #line 3852 "src/parser_proc.c" /* glr.c:816 */
3855 #line 1355 "src/parser_proc_grammar.y" /* glr.c:816 */
3857 (*(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
)));
3858 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3860 #line 3861 "src/parser_proc.c" /* glr.c:816 */
3864 #line 1359 "src/parser_proc_grammar.y" /* glr.c:816 */
3866 (*(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
)));
3867 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3869 #line 3870 "src/parser_proc.c" /* glr.c:816 */
3873 #line 1363 "src/parser_proc_grammar.y" /* glr.c:816 */
3875 (*(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
)));
3876 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3878 #line 3879 "src/parser_proc.c" /* glr.c:816 */
3882 #line 1370 "src/parser_proc_grammar.y" /* glr.c:816 */
3884 (*(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
);
3885 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3887 #line 3888 "src/parser_proc.c" /* glr.c:816 */
3891 #line 1374 "src/parser_proc_grammar.y" /* glr.c:816 */
3893 (*(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);
3894 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3896 #line 3897 "src/parser_proc.c" /* glr.c:816 */
3900 #line 1378 "src/parser_proc_grammar.y" /* glr.c:816 */
3902 (*(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);
3903 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3905 #line 3906 "src/parser_proc.c" /* glr.c:816 */
3909 #line 1382 "src/parser_proc_grammar.y" /* glr.c:816 */
3911 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
3912 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3914 #line 3915 "src/parser_proc.c" /* glr.c:816 */
3918 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
3920 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3921 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3925 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3926 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3929 #line 3930 "src/parser_proc.c" /* glr.c:816 */
3933 #line 1402 "src/parser_proc_grammar.y" /* glr.c:816 */
3935 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3936 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3940 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3941 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3944 #line 3945 "src/parser_proc.c" /* glr.c:816 */
3948 #line 1415 "src/parser_proc_grammar.y" /* glr.c:816 */
3950 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3951 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3955 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3956 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3959 #line 3960 "src/parser_proc.c" /* glr.c:816 */
3963 #line 1428 "src/parser_proc_grammar.y" /* glr.c:816 */
3965 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3967 #line 3968 "src/parser_proc.c" /* glr.c:816 */
3971 #line 1431 "src/parser_proc_grammar.y" /* glr.c:816 */
3973 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3974 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
3976 #line 3977 "src/parser_proc.c" /* glr.c:816 */
3980 #line 1438 "src/parser_proc_grammar.y" /* glr.c:816 */
3982 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
3984 #line 3985 "src/parser_proc.c" /* glr.c:816 */
3988 #line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */
3990 (*(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
));
3992 #line 3993 "src/parser_proc.c" /* glr.c:816 */
3996 #line 1444 "src/parser_proc_grammar.y" /* glr.c:816 */
3998 (*(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
);
4000 #line 4001 "src/parser_proc.c" /* glr.c:816 */
4004 #line 1447 "src/parser_proc_grammar.y" /* glr.c:816 */
4006 (*(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
));
4008 #line 4009 "src/parser_proc.c" /* glr.c:816 */
4012 #line 1453 "src/parser_proc_grammar.y" /* glr.c:816 */
4014 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4015 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4017 #line 4018 "src/parser_proc.c" /* glr.c:816 */
4021 #line 1457 "src/parser_proc_grammar.y" /* glr.c:816 */
4023 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4024 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4026 #line 4027 "src/parser_proc.c" /* glr.c:816 */
4030 #line 1464 "src/parser_proc_grammar.y" /* glr.c:816 */
4032 (*(size_t*)(&(*yyvalp
))) = 0;
4034 #line 4035 "src/parser_proc.c" /* glr.c:816 */
4038 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
4040 (*(size_t*)(&(*yyvalp
))) = 0;
4042 #line 4043 "src/parser_proc.c" /* glr.c:816 */
4046 #line 1470 "src/parser_proc_grammar.y" /* glr.c:816 */
4048 (*(size_t*)(&(*yyvalp
))) = atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4050 #line 4051 "src/parser_proc.c" /* glr.c:816 */
4054 #line 1476 "src/parser_proc_grammar.y" /* glr.c:816 */
4056 (*(size_t*)(&(*yyvalp
))) = 0;
4058 #line 4059 "src/parser_proc.c" /* glr.c:816 */
4062 #line 1479 "src/parser_proc_grammar.y" /* glr.c:816 */
4064 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4066 #line 4067 "src/parser_proc.c" /* glr.c:816 */
4070 #line 1486 "src/parser_proc_grammar.y" /* glr.c:816 */
4072 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4074 #line 4075 "src/parser_proc.c" /* glr.c:816 */
4078 #line 1492 "src/parser_proc_grammar.y" /* glr.c:816 */
4080 (*(size_t*)(&(*yyvalp
))) = 1;
4082 #line 4083 "src/parser_proc.c" /* glr.c:816 */
4086 #line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */
4088 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4090 #line 4091 "src/parser_proc.c" /* glr.c:816 */
4094 #line 1512 "src/parser_proc_grammar.y" /* glr.c:816 */
4096 (*(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
)));
4098 #line 4099 "src/parser_proc.c" /* glr.c:816 */
4102 #line 1515 "src/parser_proc_grammar.y" /* glr.c:816 */
4104 (*(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
)));
4105 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4107 #line 4108 "src/parser_proc.c" /* glr.c:816 */
4111 #line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */
4113 (*(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
)));
4114 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4115 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4117 #line 4118 "src/parser_proc.c" /* glr.c:816 */
4121 #line 1527 "src/parser_proc_grammar.y" /* glr.c:816 */
4123 (*(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
)));
4124 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4125 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4127 #line 4128 "src/parser_proc.c" /* glr.c:816 */
4131 #line 1532 "src/parser_proc_grammar.y" /* glr.c:816 */
4133 (*(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
)));
4134 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4135 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4136 (*(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
);
4137 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4139 #line 4140 "src/parser_proc.c" /* glr.c:816 */
4143 #line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */
4145 (*(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
)));
4147 #line 4148 "src/parser_proc.c" /* glr.c:816 */
4151 #line 1545 "src/parser_proc_grammar.y" /* glr.c:816 */
4153 (*(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
)));
4155 #line 4156 "src/parser_proc.c" /* glr.c:816 */
4159 #line 1551 "src/parser_proc_grammar.y" /* glr.c:816 */
4161 (*(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
);
4163 #line 4164 "src/parser_proc.c" /* glr.c:816 */
4167 #line 1554 "src/parser_proc_grammar.y" /* glr.c:816 */
4169 (*(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
)));
4171 #line 4172 "src/parser_proc.c" /* glr.c:816 */
4175 #line 1560 "src/parser_proc_grammar.y" /* glr.c:816 */
4177 (*(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
)));
4178 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4180 #line 4181 "src/parser_proc.c" /* glr.c:816 */
4184 #line 1567 "src/parser_proc_grammar.y" /* glr.c:816 */
4186 (*(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
);
4187 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4189 #line 4190 "src/parser_proc.c" /* glr.c:816 */
4193 #line 1586 "src/parser_proc_grammar.y" /* glr.c:816 */
4195 (*(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
)));
4197 #line 4198 "src/parser_proc.c" /* glr.c:816 */
4201 #line 1589 "src/parser_proc_grammar.y" /* glr.c:816 */
4203 (*(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
)));
4205 #line 4206 "src/parser_proc.c" /* glr.c:816 */
4209 #line 1595 "src/parser_proc_grammar.y" /* glr.c:816 */
4211 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4213 #line 4214 "src/parser_proc.c" /* glr.c:816 */
4217 #line 1598 "src/parser_proc_grammar.y" /* glr.c:816 */
4219 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4221 #line 4222 "src/parser_proc.c" /* glr.c:816 */
4225 #line 1601 "src/parser_proc_grammar.y" /* glr.c:816 */
4227 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4229 #line 4230 "src/parser_proc.c" /* glr.c:816 */
4233 #line 1604 "src/parser_proc_grammar.y" /* glr.c:816 */
4235 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4237 #line 4238 "src/parser_proc.c" /* glr.c:816 */
4241 #line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */
4243 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4245 #line 4246 "src/parser_proc.c" /* glr.c:816 */
4249 #line 1613 "src/parser_proc_grammar.y" /* glr.c:816 */
4251 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4252 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4254 #line 4255 "src/parser_proc.c" /* glr.c:816 */
4258 #line 1617 "src/parser_proc_grammar.y" /* glr.c:816 */
4260 (*(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
))));
4261 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4262 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4264 #line 4265 "src/parser_proc.c" /* glr.c:816 */
4268 #line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */
4270 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4271 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4273 #line 4274 "src/parser_proc.c" /* glr.c:816 */
4277 #line 1630 "src/parser_proc_grammar.y" /* glr.c:816 */
4279 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4280 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4282 #line 4283 "src/parser_proc.c" /* glr.c:816 */
4286 #line 1637 "src/parser_proc_grammar.y" /* glr.c:816 */
4288 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4290 #line 4291 "src/parser_proc.c" /* glr.c:816 */
4294 #line 1640 "src/parser_proc_grammar.y" /* glr.c:816 */
4296 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4298 #line 4299 "src/parser_proc.c" /* glr.c:816 */
4302 #line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */
4304 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4305 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4307 #line 4308 "src/parser_proc.c" /* glr.c:816 */
4311 #line 1647 "src/parser_proc_grammar.y" /* glr.c:816 */
4313 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4315 #line 4316 "src/parser_proc.c" /* glr.c:816 */
4319 #line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */
4321 (*(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
)));
4323 #line 4324 "src/parser_proc.c" /* glr.c:816 */
4327 #line 1653 "src/parser_proc_grammar.y" /* glr.c:816 */
4329 (*(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
)));
4331 #line 4332 "src/parser_proc.c" /* glr.c:816 */
4335 #line 1659 "src/parser_proc_grammar.y" /* glr.c:816 */
4337 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4338 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4340 #line 4341 "src/parser_proc.c" /* glr.c:816 */
4344 #line 1663 "src/parser_proc_grammar.y" /* glr.c:816 */
4346 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4347 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4348 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4350 #line 4351 "src/parser_proc.c" /* glr.c:816 */
4354 #line 1671 "src/parser_proc_grammar.y" /* glr.c:816 */
4356 (*(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
)));
4357 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4359 #line 4360 "src/parser_proc.c" /* glr.c:816 */
4363 #line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */
4365 (*(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
)));
4366 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4367 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4369 #line 4370 "src/parser_proc.c" /* glr.c:816 */
4373 #line 1686 "src/parser_proc_grammar.y" /* glr.c:816 */
4375 (*(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
)));
4376 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4377 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4379 #line 4380 "src/parser_proc.c" /* glr.c:816 */
4383 #line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */
4385 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4387 #line 4388 "src/parser_proc.c" /* glr.c:816 */
4391 #line 1710 "src/parser_proc_grammar.y" /* glr.c:816 */
4393 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4395 #line 4396 "src/parser_proc.c" /* glr.c:816 */
4399 #line 1716 "src/parser_proc_grammar.y" /* glr.c:816 */
4401 (*(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
)));
4403 #line 4404 "src/parser_proc.c" /* glr.c:816 */
4407 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4409 (*(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
)));
4411 #line 4412 "src/parser_proc.c" /* glr.c:816 */
4415 #line 1730 "src/parser_proc_grammar.y" /* glr.c:816 */
4417 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4419 #line 4420 "src/parser_proc.c" /* glr.c:816 */
4423 #line 1733 "src/parser_proc_grammar.y" /* glr.c:816 */
4425 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4427 #line 4428 "src/parser_proc.c" /* glr.c:816 */
4431 #line 1739 "src/parser_proc_grammar.y" /* glr.c:816 */
4433 (*(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
)));
4435 #line 4436 "src/parser_proc.c" /* glr.c:816 */
4439 #line 1742 "src/parser_proc_grammar.y" /* glr.c:816 */
4441 (*(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
)));
4443 #line 4444 "src/parser_proc.c" /* glr.c:816 */
4447 #line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */
4449 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init(psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))));
4450 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4452 #line 4453 "src/parser_proc.c" /* glr.c:816 */
4456 #line 1755 "src/parser_proc_grammar.y" /* glr.c:816 */
4458 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4459 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4461 #line 4462 "src/parser_proc.c" /* glr.c:816 */
4465 #line 1762 "src/parser_proc_grammar.y" /* glr.c:816 */
4467 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4469 #line 4470 "src/parser_proc.c" /* glr.c:816 */
4473 #line 1765 "src/parser_proc_grammar.y" /* glr.c:816 */
4475 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4477 #line 4478 "src/parser_proc.c" /* glr.c:816 */
4481 #line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */
4483 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4484 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4486 #line 4487 "src/parser_proc.c" /* glr.c:816 */
4490 #line 1775 "src/parser_proc_grammar.y" /* glr.c:816 */
4492 (*(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
)));
4493 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4494 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4496 #line 4497 "src/parser_proc.c" /* glr.c:816 */
4500 #line 1780 "src/parser_proc_grammar.y" /* glr.c:816 */
4502 (*(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
)));
4503 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4504 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4506 #line 4507 "src/parser_proc.c" /* glr.c:816 */
4510 #line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */
4512 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4514 #line 4515 "src/parser_proc.c" /* glr.c:816 */
4518 #line 1802 "src/parser_proc_grammar.y" /* glr.c:816 */
4520 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4522 #line 4523 "src/parser_proc.c" /* glr.c:816 */
4526 #line 1808 "src/parser_proc_grammar.y" /* glr.c:816 */
4528 (*(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
)));
4530 #line 4531 "src/parser_proc.c" /* glr.c:816 */
4534 #line 1811 "src/parser_proc_grammar.y" /* glr.c:816 */
4536 (*(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
)));
4538 #line 4539 "src/parser_proc.c" /* glr.c:816 */
4542 #line 1817 "src/parser_proc_grammar.y" /* glr.c:816 */
4544 (*(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
)));
4545 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4547 #line 4548 "src/parser_proc.c" /* glr.c:816 */
4551 #line 1829 "src/parser_proc_grammar.y" /* glr.c:816 */
4553 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4554 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4556 #line 4557 "src/parser_proc.c" /* glr.c:816 */
4560 #line 1836 "src/parser_proc_grammar.y" /* glr.c:816 */
4562 (*(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
)));
4564 #line 4565 "src/parser_proc.c" /* glr.c:816 */
4568 #line 1839 "src/parser_proc_grammar.y" /* glr.c:816 */
4570 (*(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
)));
4572 #line 4573 "src/parser_proc.c" /* glr.c:816 */
4576 #line 1845 "src/parser_proc_grammar.y" /* glr.c:816 */
4578 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4579 (*(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
)));
4580 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4582 #line 4583 "src/parser_proc.c" /* glr.c:816 */
4586 #line 1853 "src/parser_proc_grammar.y" /* glr.c:816 */
4588 (*(bool*)(&(*yyvalp
))) = false;
4590 #line 4591 "src/parser_proc.c" /* glr.c:816 */
4594 #line 1856 "src/parser_proc_grammar.y" /* glr.c:816 */
4596 (*(bool*)(&(*yyvalp
))) = true;
4598 #line 4599 "src/parser_proc.c" /* glr.c:816 */
4602 #line 4603 "src/parser_proc.c" /* glr.c:816 */
4613 # undef YYRECOVERING
4618 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
4630 /* Bison grammar-table manipulation. */
4632 /*-----------------------------------------------.
4633 | Release the memory associated to this symbol. |
4634 `-----------------------------------------------*/
4637 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4645 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
4647 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4650 case 133: /* binary_op_token */
4651 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4653 #line 4654 "src/parser_proc.c" /* glr.c:846 */
4656 case 134: /* unary_op_token */
4657 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4659 #line 4660 "src/parser_proc.c" /* glr.c:846 */
4662 case 135: /* name_token */
4663 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4665 #line 4666 "src/parser_proc.c" /* glr.c:846 */
4668 case 136: /* any_noeol_token */
4669 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4671 #line 4672 "src/parser_proc.c" /* glr.c:846 */
4675 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
4676 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4677 #line 4678 "src/parser_proc.c" /* glr.c:846 */
4681 #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */
4682 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4683 #line 4684 "src/parser_proc.c" /* glr.c:846 */
4686 case 142: /* cpp_exp */
4687 #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */
4688 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4689 #line 4690 "src/parser_proc.c" /* glr.c:846 */
4692 case 144: /* cpp_message_token */
4693 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4695 #line 4696 "src/parser_proc.c" /* glr.c:846 */
4698 case 145: /* cpp_include_token */
4699 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4701 #line 4702 "src/parser_proc.c" /* glr.c:846 */
4704 case 146: /* cpp_header_token */
4705 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4707 #line 4708 "src/parser_proc.c" /* glr.c:846 */
4710 case 147: /* cpp_no_arg_token */
4711 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4713 #line 4714 "src/parser_proc.c" /* glr.c:846 */
4716 case 148: /* cpp_name_arg_token */
4717 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4719 #line 4720 "src/parser_proc.c" /* glr.c:846 */
4722 case 149: /* cpp_exp_arg_token */
4723 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4725 #line 4726 "src/parser_proc.c" /* glr.c:846 */
4728 case 150: /* cpp_special_name_token */
4729 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4731 #line 4732 "src/parser_proc.c" /* glr.c:846 */
4734 case 151: /* cpp_macro_decl */
4735 #line 269 "src/parser_proc_grammar.y" /* glr.c:846 */
4736 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
4737 #line 4738 "src/parser_proc.c" /* glr.c:846 */
4740 case 152: /* cpp_macro_sig */
4741 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4742 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4743 #line 4744 "src/parser_proc.c" /* glr.c:846 */
4746 case 153: /* cpp_macro_sig_args */
4747 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4748 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4749 #line 4750 "src/parser_proc.c" /* glr.c:846 */
4752 case 154: /* cpp_macro_decl_tokens */
4753 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4754 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4755 #line 4756 "src/parser_proc.c" /* glr.c:846 */
4758 case 155: /* cpp_macro_decl_token_list */
4759 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4760 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4761 #line 4762 "src/parser_proc.c" /* glr.c:846 */
4764 case 156: /* cpp_macro_exp */
4765 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
4766 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
4767 #line 4768 "src/parser_proc.c" /* glr.c:846 */
4770 case 157: /* cpp_macro_call_args */
4771 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4772 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4773 #line 4774 "src/parser_proc.c" /* glr.c:846 */
4776 case 158: /* cpp_macro_call_arg_list */
4777 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4778 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4779 #line 4780 "src/parser_proc.c" /* glr.c:846 */
4782 case 159: /* constant */
4783 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
4784 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
4785 #line 4786 "src/parser_proc.c" /* glr.c:846 */
4788 case 160: /* constant_type */
4789 #line 281 "src/parser_proc_grammar.y" /* glr.c:846 */
4790 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
4791 #line 4792 "src/parser_proc.c" /* glr.c:846 */
4794 case 161: /* constant_type_token */
4795 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
4797 #line 4798 "src/parser_proc.c" /* glr.c:846 */
4800 case 162: /* impl_def_val */
4801 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4802 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
4803 #line 4804 "src/parser_proc.c" /* glr.c:846 */
4806 case 163: /* impl_def_val_token */
4807 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
4809 #line 4810 "src/parser_proc.c" /* glr.c:846 */
4812 case 164: /* decl_typedef */
4813 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4814 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4815 #line 4816 "src/parser_proc.c" /* glr.c:846 */
4818 case 165: /* typedef */
4819 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4820 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4821 #line 4822 "src/parser_proc.c" /* glr.c:846 */
4824 case 166: /* const_decl_type */
4825 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4826 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4827 #line 4828 "src/parser_proc.c" /* glr.c:846 */
4830 case 167: /* decl_type */
4831 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4832 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4833 #line 4834 "src/parser_proc.c" /* glr.c:846 */
4836 case 168: /* decl_type_complex */
4837 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4838 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4839 #line 4840 "src/parser_proc.c" /* glr.c:846 */
4842 case 169: /* decl_type_simple */
4843 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4844 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4845 #line 4846 "src/parser_proc.c" /* glr.c:846 */
4848 case 170: /* decl_real_type */
4849 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4850 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4851 #line 4852 "src/parser_proc.c" /* glr.c:846 */
4854 case 171: /* decl_stdint_type */
4855 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
4857 #line 4858 "src/parser_proc.c" /* glr.c:846 */
4860 case 172: /* int_signed */
4861 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
4863 #line 4864 "src/parser_proc.c" /* glr.c:846 */
4866 case 173: /* int_width */
4867 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
4868 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4869 #line 4870 "src/parser_proc.c" /* glr.c:846 */
4872 case 174: /* decl_int_type */
4873 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4874 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4875 #line 4876 "src/parser_proc.c" /* glr.c:846 */
4878 case 175: /* int_signed_types */
4879 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
4880 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4881 #line 4882 "src/parser_proc.c" /* glr.c:846 */
4884 case 176: /* signed_short_types */
4885 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
4887 #line 4888 "src/parser_proc.c" /* glr.c:846 */
4890 case 177: /* signed_long_types */
4891 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
4893 #line 4894 "src/parser_proc.c" /* glr.c:846 */
4896 case 178: /* int_width_types */
4897 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
4898 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4899 #line 4900 "src/parser_proc.c" /* glr.c:846 */
4902 case 179: /* decl_stmt */
4903 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4904 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4905 #line 4906 "src/parser_proc.c" /* glr.c:846 */
4908 case 185: /* decl_vars */
4909 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4910 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4911 #line 4912 "src/parser_proc.c" /* glr.c:846 */
4914 case 186: /* decl */
4915 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4916 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4917 #line 4918 "src/parser_proc.c" /* glr.c:846 */
4920 case 187: /* decl_body */
4921 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4922 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4923 #line 4924 "src/parser_proc.c" /* glr.c:846 */
4926 case 188: /* decl_func_body */
4927 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4928 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4929 #line 4930 "src/parser_proc.c" /* glr.c:846 */
4932 case 189: /* decl_functor_body */
4933 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4934 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4935 #line 4936 "src/parser_proc.c" /* glr.c:846 */
4938 case 190: /* decl_functor */
4939 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4940 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4941 #line 4942 "src/parser_proc.c" /* glr.c:846 */
4944 case 191: /* decl_func */
4945 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4946 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4947 #line 4948 "src/parser_proc.c" /* glr.c:846 */
4950 case 192: /* decl_args */
4951 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4952 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4953 #line 4954 "src/parser_proc.c" /* glr.c:846 */
4956 case 193: /* decl_anon_arg */
4957 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4958 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4959 #line 4960 "src/parser_proc.c" /* glr.c:846 */
4962 case 194: /* decl_arg */
4963 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4964 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4965 #line 4966 "src/parser_proc.c" /* glr.c:846 */
4968 case 195: /* decl_var */
4969 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
4970 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
4971 #line 4972 "src/parser_proc.c" /* glr.c:846 */
4974 case 196: /* decl_union */
4975 #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */
4976 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
4977 #line 4978 "src/parser_proc.c" /* glr.c:846 */
4980 case 197: /* decl_struct */
4981 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
4982 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
4983 #line 4984 "src/parser_proc.c" /* glr.c:846 */
4986 case 198: /* decl_struct_args */
4987 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4988 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4989 #line 4990 "src/parser_proc.c" /* glr.c:846 */
4992 case 199: /* struct_args_block */
4993 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4994 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4995 #line 4996 "src/parser_proc.c" /* glr.c:846 */
4998 case 200: /* struct_args */
4999 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5000 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5001 #line 5002 "src/parser_proc.c" /* glr.c:846 */
5004 case 201: /* struct_arg_var_list */
5005 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5006 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5007 #line 5008 "src/parser_proc.c" /* glr.c:846 */
5010 case 202: /* decl_vars_with_layout */
5011 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5012 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5013 #line 5014 "src/parser_proc.c" /* glr.c:846 */
5016 case 203: /* decl_enum */
5017 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5018 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5019 #line 5020 "src/parser_proc.c" /* glr.c:846 */
5022 case 204: /* decl_enum_items */
5023 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
5024 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5025 #line 5026 "src/parser_proc.c" /* glr.c:846 */
5028 case 205: /* decl_enum_item */
5029 #line 306 "src/parser_proc_grammar.y" /* glr.c:846 */
5030 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5031 #line 5032 "src/parser_proc.c" /* glr.c:846 */
5034 case 206: /* num_exp */
5035 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5036 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5037 #line 5038 "src/parser_proc.c" /* glr.c:846 */
5040 case 207: /* number */
5041 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5042 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5043 #line 5044 "src/parser_proc.c" /* glr.c:846 */
5046 case 208: /* enum_name */
5047 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5048 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5049 #line 5050 "src/parser_proc.c" /* glr.c:846 */
5052 case 209: /* union_name */
5053 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5054 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5055 #line 5056 "src/parser_proc.c" /* glr.c:846 */
5058 case 210: /* struct_name */
5059 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5060 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5061 #line 5062 "src/parser_proc.c" /* glr.c:846 */
5064 case 211: /* optional_name */
5065 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5066 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5067 #line 5068 "src/parser_proc.c" /* glr.c:846 */
5070 case 212: /* decl_layout */
5071 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5072 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5073 #line 5074 "src/parser_proc.c" /* glr.c:846 */
5076 case 213: /* align_and_size */
5077 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
5079 #line 5080 "src/parser_proc.c" /* glr.c:846 */
5082 case 214: /* array_size */
5083 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5085 #line 5086 "src/parser_proc.c" /* glr.c:846 */
5088 case 215: /* indirection */
5089 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5091 #line 5092 "src/parser_proc.c" /* glr.c:846 */
5094 case 216: /* pointers */
5095 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5097 #line 5098 "src/parser_proc.c" /* glr.c:846 */
5100 case 217: /* asterisks */
5101 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5103 #line 5104 "src/parser_proc.c" /* glr.c:846 */
5106 case 219: /* impl */
5107 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5108 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5109 #line 5110 "src/parser_proc.c" /* glr.c:846 */
5112 case 220: /* impl_func */
5113 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5114 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5115 #line 5116 "src/parser_proc.c" /* glr.c:846 */
5118 case 221: /* impl_args */
5119 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5120 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5121 #line 5122 "src/parser_proc.c" /* glr.c:846 */
5124 case 222: /* impl_arg */
5125 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5126 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5127 #line 5128 "src/parser_proc.c" /* glr.c:846 */
5130 case 223: /* impl_var */
5131 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
5132 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5133 #line 5134 "src/parser_proc.c" /* glr.c:846 */
5136 case 224: /* impl_type */
5137 #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */
5138 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5139 #line 5140 "src/parser_proc.c" /* glr.c:846 */
5142 case 225: /* impl_type_token */
5143 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5144 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5145 #line 5146 "src/parser_proc.c" /* glr.c:846 */
5148 case 226: /* impl_stmts */
5149 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5150 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5151 #line 5152 "src/parser_proc.c" /* glr.c:846 */
5154 case 227: /* impl_stmt */
5155 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5156 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5157 #line 5158 "src/parser_proc.c" /* glr.c:846 */
5160 case 228: /* let_stmt */
5161 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5162 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5163 #line 5164 "src/parser_proc.c" /* glr.c:846 */
5166 case 229: /* let_exp */
5167 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5168 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5169 #line 5170 "src/parser_proc.c" /* glr.c:846 */
5172 case 230: /* let_exp_byref */
5173 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5174 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5175 #line 5176 "src/parser_proc.c" /* glr.c:846 */
5178 case 231: /* let_exp_assign */
5179 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5180 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5181 #line 5182 "src/parser_proc.c" /* glr.c:846 */
5184 case 232: /* let_calloc */
5185 #line 331 "src/parser_proc_grammar.y" /* glr.c:846 */
5186 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5187 #line 5188 "src/parser_proc.c" /* glr.c:846 */
5190 case 233: /* let_callback */
5191 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5192 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5193 #line 5194 "src/parser_proc.c" /* glr.c:846 */
5196 case 234: /* let_func */
5197 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5198 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5199 #line 5200 "src/parser_proc.c" /* glr.c:846 */
5202 case 235: /* let_func_token */
5203 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5204 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5205 #line 5206 "src/parser_proc.c" /* glr.c:846 */
5208 case 236: /* let_func_exps */
5209 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5210 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5211 #line 5212 "src/parser_proc.c" /* glr.c:846 */
5214 case 237: /* let_exps */
5215 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5216 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5217 #line 5218 "src/parser_proc.c" /* glr.c:846 */
5220 case 238: /* callback_rval */
5221 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5222 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5223 #line 5224 "src/parser_proc.c" /* glr.c:846 */
5226 case 239: /* callback_arg_list */
5227 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5228 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5229 #line 5230 "src/parser_proc.c" /* glr.c:846 */
5232 case 240: /* callback_args */
5233 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5234 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5235 #line 5236 "src/parser_proc.c" /* glr.c:846 */
5238 case 241: /* return_stmt */
5239 #line 345 "src/parser_proc_grammar.y" /* glr.c:846 */
5240 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5241 #line 5242 "src/parser_proc.c" /* glr.c:846 */
5244 case 242: /* set_stmt */
5245 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5246 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5247 #line 5248 "src/parser_proc.c" /* glr.c:846 */
5250 case 243: /* set_exp */
5251 #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */
5252 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5253 #line 5254 "src/parser_proc.c" /* glr.c:846 */
5256 case 244: /* set_func */
5257 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
5258 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5259 #line 5260 "src/parser_proc.c" /* glr.c:846 */
5262 case 245: /* set_func_token */
5263 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5264 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5265 #line 5266 "src/parser_proc.c" /* glr.c:846 */
5268 case 246: /* set_func_exps */
5269 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5270 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5271 #line 5272 "src/parser_proc.c" /* glr.c:846 */
5274 case 247: /* set_exps */
5275 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5276 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5277 #line 5278 "src/parser_proc.c" /* glr.c:846 */
5280 case 248: /* assert_stmt */
5281 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5282 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5283 #line 5284 "src/parser_proc.c" /* glr.c:846 */
5286 case 249: /* assert_stmt_token */
5287 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5288 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5289 #line 5290 "src/parser_proc.c" /* glr.c:846 */
5292 case 250: /* free_stmt */
5293 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
5294 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5295 #line 5296 "src/parser_proc.c" /* glr.c:846 */
5298 case 251: /* free_exps */
5299 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5300 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5301 #line 5302 "src/parser_proc.c" /* glr.c:846 */
5304 case 252: /* free_exp */
5305 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
5306 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5307 #line 5308 "src/parser_proc.c" /* glr.c:846 */
5310 case 253: /* reference */
5311 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
5313 #line 5314 "src/parser_proc.c" /* glr.c:846 */
5320 YY_IGNORE_MAYBE_UNINITIALIZED_END
5323 /** Number of symbols composing the right hand side of rule #RULE. */
5325 yyrhsLength (yyRuleNum yyrule
)
5327 return yyr2
[yyrule
];
5331 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5333 if (yys
->yyresolved
)
5334 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5335 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5341 if (yys
->yysemantics
.yyfirstVal
)
5342 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5344 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5345 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5349 if (yys
->yysemantics
.yyfirstVal
)
5351 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5354 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5356 yyrh
= yyrh
->yypred
, yyn
-= 1)
5357 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5362 /** Left-hand-side symbol for rule #YYRULE. */
5363 static inline yySymbol
5364 yylhsNonterm (yyRuleNum yyrule
)
5366 return yyr1
[yyrule
];
5369 #define yypact_value_is_default(Yystate) \
5370 (!!((Yystate) == (-565)))
5372 /** True iff LR state YYSTATE has only a default reduction (regardless
5374 static inline yybool
5375 yyisDefaultedState (yyStateNum yystate
)
5377 return yypact_value_is_default (yypact
[yystate
]);
5380 /** The default reduction for YYSTATE, assuming it has one. */
5381 static inline yyRuleNum
5382 yydefaultAction (yyStateNum yystate
)
5384 return yydefact
[yystate
];
5387 #define yytable_value_is_error(Yytable_value) \
5390 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5392 * R < 0: Reduce on rule -R.
5394 * R > 0: Shift to state R.
5395 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5396 * of conflicting reductions.
5399 yygetLRActions (yyStateNum yystate
, int yytoken
,
5400 int* yyaction
, const short int** yyconflicts
)
5402 int yyindex
= yypact
[yystate
] + yytoken
;
5403 if (yypact_value_is_default (yypact
[yystate
])
5404 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5406 *yyaction
= -yydefact
[yystate
];
5407 *yyconflicts
= yyconfl
;
5409 else if (! yytable_value_is_error (yytable
[yyindex
]))
5411 *yyaction
= yytable
[yyindex
];
5412 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5417 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5421 /** Compute post-reduction state.
5422 * \param yystate the current state
5423 * \param yysym the nonterminal to push on the stack
5425 static inline yyStateNum
5426 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5428 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5429 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5430 return yytable
[yyr
];
5432 return yydefgoto
[yysym
- YYNTOKENS
];
5435 static inline yybool
5436 yyisShiftAction (int yyaction
)
5438 return 0 < yyaction
;
5441 static inline yybool
5442 yyisErrorAction (int yyaction
)
5444 return yyaction
== 0;
5449 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5450 * if YYISSTATE, and otherwise a semantic option. Callers should call
5451 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5454 static inline yyGLRStackItem
*
5455 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5457 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5458 yystackp
->yyspaceLeft
-= 1;
5459 yystackp
->yynextFree
+= 1;
5460 yynewItem
->yystate
.yyisState
= yyisState
;
5464 /** Add a new semantic action that will execute the action for rule
5465 * YYRULE on the semantic values in YYRHS to the list of
5466 * alternative actions for YYSTATE. Assumes that YYRHS comes from
5467 * stack #YYK of *YYSTACKP. */
5469 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
5470 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5472 yySemanticOption
* yynewOption
=
5473 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
5474 YYASSERT (!yynewOption
->yyisState
);
5475 yynewOption
->yystate
= yyrhs
;
5476 yynewOption
->yyrule
= yyrule
;
5477 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
5479 yynewOption
->yyrawchar
= yychar
;
5480 yynewOption
->yyval
= yylval
;
5483 yynewOption
->yyrawchar
= YYEMPTY
;
5484 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
5485 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
5487 YY_RESERVE_GLRSTACK (yystackp
);
5492 /** Initialize YYSET to a singleton set containing an empty stack. */
5494 yyinitStateSet (yyGLRStateSet
* yyset
)
5497 yyset
->yycapacity
= 16;
5498 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
5499 if (! yyset
->yystates
)
5501 yyset
->yystates
[0] = YY_NULLPTR
;
5502 yyset
->yylookaheadNeeds
=
5503 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
5504 if (! yyset
->yylookaheadNeeds
)
5506 YYFREE (yyset
->yystates
);
5512 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
5514 YYFREE (yyset
->yystates
);
5515 YYFREE (yyset
->yylookaheadNeeds
);
5518 /** Initialize *YYSTACKP to a single empty stack, with total maximum
5519 * capacity for all stacks of YYSIZE. */
5521 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
5523 yystackp
->yyerrState
= 0;
5525 yystackp
->yyspaceLeft
= yysize
;
5527 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
5528 if (!yystackp
->yyitems
)
5530 yystackp
->yynextFree
= yystackp
->yyitems
;
5531 yystackp
->yysplitPoint
= YY_NULLPTR
;
5532 yystackp
->yylastDeleted
= YY_NULLPTR
;
5533 return yyinitStateSet (&yystackp
->yytops
);
5537 #if YYSTACKEXPANDABLE
5538 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
5539 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
5541 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
5542 stack from outside should be considered invalid after this call.
5543 We always expand when there are 1 or fewer items left AFTER an
5544 allocation, so that we can avoid having external pointers exist
5545 across an allocation. */
5547 yyexpandGLRStack (yyGLRStack
* yystackp
)
5549 yyGLRStackItem
* yynewItems
;
5550 yyGLRStackItem
* yyp0
, *yyp1
;
5553 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
5554 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
5555 yyMemoryExhausted (yystackp
);
5556 yynewSize
= 2*yysize
;
5557 if (YYMAXDEPTH
< yynewSize
)
5558 yynewSize
= YYMAXDEPTH
;
5559 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
5561 yyMemoryExhausted (yystackp
);
5562 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
5564 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
5567 if (*(yybool
*) yyp0
)
5569 yyGLRState
* yys0
= &yyp0
->yystate
;
5570 yyGLRState
* yys1
= &yyp1
->yystate
;
5571 if (yys0
->yypred
!= YY_NULLPTR
)
5573 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
5574 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
5575 yys1
->yysemantics
.yyfirstVal
=
5576 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
5580 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
5581 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
5582 if (yyv0
->yystate
!= YY_NULLPTR
)
5583 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
5584 if (yyv0
->yynext
!= YY_NULLPTR
)
5585 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
5588 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
5589 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
5590 yystackp
->yysplitPoint
, yystate
);
5592 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
5593 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
5594 yystackp
->yytops
.yystates
[yyn
] =
5595 YYRELOC (yystackp
->yyitems
, yynewItems
,
5596 yystackp
->yytops
.yystates
[yyn
], yystate
);
5597 YYFREE (yystackp
->yyitems
);
5598 yystackp
->yyitems
= yynewItems
;
5599 yystackp
->yynextFree
= yynewItems
+ yysize
;
5600 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
5605 yyfreeGLRStack (yyGLRStack
* yystackp
)
5607 YYFREE (yystackp
->yyitems
);
5608 yyfreeStateSet (&yystackp
->yytops
);
5611 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
5612 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
5615 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
5617 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
5618 yystackp
->yysplitPoint
= yys
;
5621 /** Invalidate stack #YYK in *YYSTACKP. */
5623 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
5625 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
5626 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
5627 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
5630 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
5631 only be done once after a deletion, and only when all other stacks have
5634 yyundeleteLastStack (yyGLRStack
* yystackp
)
5636 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
5638 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
5639 yystackp
->yytops
.yysize
= 1;
5640 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
5641 yystackp
->yylastDeleted
= YY_NULLPTR
;
5645 yyremoveDeletes (yyGLRStack
* yystackp
)
5649 while (yyj
< yystackp
->yytops
.yysize
)
5651 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
5655 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
5657 yystackp
->yytops
.yysize
-= 1;
5661 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
5662 /* In the current implementation, it's unnecessary to copy
5663 yystackp->yytops.yylookaheadNeeds[yyi] since, after
5664 yyremoveDeletes returns, the parser immediately either enters
5665 deterministic operation or shifts a token. However, it doesn't
5666 hurt, and the code might evolve to need it. */
5667 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
5668 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
5671 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
5672 (unsigned long int) yyi
, (unsigned long int) yyj
));
5680 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
5681 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
5682 * value *YYVALP and source location *YYLOCP. */
5684 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5688 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5690 yynewState
->yylrState
= yylrState
;
5691 yynewState
->yyposn
= yyposn
;
5692 yynewState
->yyresolved
= yytrue
;
5693 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5694 yynewState
->yysemantics
.yysval
= *yyvalp
;
5695 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5697 YY_RESERVE_GLRSTACK (yystackp
);
5700 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
5701 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
5702 * semantic value of YYRHS under the action for YYRULE. */
5704 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5705 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5707 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5708 YYASSERT (yynewState
->yyisState
);
5710 yynewState
->yylrState
= yylrState
;
5711 yynewState
->yyposn
= yyposn
;
5712 yynewState
->yyresolved
= yyfalse
;
5713 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5714 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
5715 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5717 /* Invokes YY_RESERVE_GLRSTACK. */
5718 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
5722 # define YY_REDUCE_PRINT(Args)
5724 # define YY_REDUCE_PRINT(Args) \
5727 yy_reduce_print Args; \
5730 /*----------------------------------------------------------------------.
5731 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
5732 `----------------------------------------------------------------------*/
5735 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
5736 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5738 int yynrhs
= yyrhsLength (yyrule
);
5740 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
5741 (unsigned long int) yyk
, yyrule
- 1,
5742 (unsigned long int) yyrline
[yyrule
]);
5744 yyfillin (yyvsp
, 1, -yynrhs
);
5745 /* The symbols being reduced. */
5746 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
5748 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
5749 yy_symbol_print (stderr
,
5750 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
5751 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
5752 , P
, tokens
, index
);
5753 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
5754 YYFPRINTF (stderr
, " (unresolved)");
5755 YYFPRINTF (stderr
, "\n");
5760 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
5761 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
5762 * semantic values. Assumes that all ambiguities in semantic values
5763 * have been previously resolved. Set *YYVALP to the resulting value,
5764 * and *YYLOCP to the computed location (if any). Return value is as
5765 * for userAction. */
5766 static inline YYRESULTTAG
5767 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5768 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5770 int yynrhs
= yyrhsLength (yyrule
);
5772 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5774 /* Standard special case: single stack. */
5775 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
5776 YYASSERT (yyk
== 0);
5777 yystackp
->yynextFree
-= yynrhs
;
5778 yystackp
->yyspaceLeft
+= yynrhs
;
5779 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
5780 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
5781 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
5782 yyvalp
, P
, tokens
, index
);
5788 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
5789 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
5790 = yystackp
->yytops
.yystates
[yyk
];
5791 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
5796 yyupdateSplit (yystackp
, yys
);
5797 yystackp
->yytops
.yystates
[yyk
] = yys
;
5798 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
5799 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
5800 yystackp
, yyvalp
, P
, tokens
, index
);
5804 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
5805 * and push back on the resulting nonterminal symbol. Perform the
5806 * semantic action associated with YYRULE and store its value with the
5807 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
5808 * unambiguous. Otherwise, store the deferred semantic action with
5809 * the new state. If the new state would have an identical input
5810 * position, LR state, and predecessor to an existing state on the stack,
5811 * it is identified with that existing state, eliminating stack #YYK from
5812 * *YYSTACKP. In this case, the semantic value is
5813 * added to the options for the existing state's semantic value.
5815 static inline YYRESULTTAG
5816 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5817 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5819 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
5821 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
5825 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
5826 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
5828 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
5829 (unsigned long int) yyk
, yyrule
- 1));
5833 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
5834 yyglrShift (yystackp
, yyk
,
5835 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
5836 yylhsNonterm (yyrule
)),
5843 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
5844 yyStateNum yynewLRState
;
5846 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
5852 yyupdateSplit (yystackp
, yys
);
5853 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
5855 "Reduced stack %lu by rule #%d; action deferred. "
5856 "Now in state %d.\n",
5857 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
5858 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
5859 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
5861 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
5862 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
5863 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
5865 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
5867 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
5868 yymarkStackDeleted (yystackp
, yyk
);
5869 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
5870 (unsigned long int) yyk
,
5871 (unsigned long int) yyi
));
5877 yystackp
->yytops
.yystates
[yyk
] = yys
;
5878 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
5884 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
5886 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5888 YYASSERT (yyk
== 0);
5889 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
5891 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
5893 yyGLRState
** yynewStates
;
5894 yybool
* yynewLookaheadNeeds
;
5896 yynewStates
= YY_NULLPTR
;
5898 if (yystackp
->yytops
.yycapacity
5899 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
5900 yyMemoryExhausted (yystackp
);
5901 yystackp
->yytops
.yycapacity
*= 2;
5904 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
5905 (yystackp
->yytops
.yycapacity
5906 * sizeof yynewStates
[0]));
5907 if (yynewStates
== YY_NULLPTR
)
5908 yyMemoryExhausted (yystackp
);
5909 yystackp
->yytops
.yystates
= yynewStates
;
5911 yynewLookaheadNeeds
=
5912 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
5913 (yystackp
->yytops
.yycapacity
5914 * sizeof yynewLookaheadNeeds
[0]));
5915 if (yynewLookaheadNeeds
== YY_NULLPTR
)
5916 yyMemoryExhausted (yystackp
);
5917 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
5919 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
5920 = yystackp
->yytops
.yystates
[yyk
];
5921 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
5922 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
5923 yystackp
->yytops
.yysize
+= 1;
5924 return yystackp
->yytops
.yysize
-1;
5927 /** True iff YYY0 and YYY1 represent identical options at the top level.
5928 * That is, they represent the same rule applied to RHS symbols
5929 * that produce the same terminal symbols. */
5931 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5933 if (yyy0
->yyrule
== yyy1
->yyrule
)
5935 yyGLRState
*yys0
, *yys1
;
5937 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5938 yyn
= yyrhsLength (yyy0
->yyrule
);
5940 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5941 if (yys0
->yyposn
!= yys1
->yyposn
)
5949 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
5950 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
5952 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5954 yyGLRState
*yys0
, *yys1
;
5956 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5957 yyn
= yyrhsLength (yyy0
->yyrule
);
5959 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5963 else if (yys0
->yyresolved
)
5965 yys1
->yyresolved
= yytrue
;
5966 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
5968 else if (yys1
->yyresolved
)
5970 yys0
->yyresolved
= yytrue
;
5971 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
5975 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
5976 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
5979 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
5981 else if (*yyz0p
== YY_NULLPTR
)
5986 else if (*yyz0p
< yyz1
)
5988 yySemanticOption
* yyz
= *yyz0p
;
5990 yyz1
= yyz1
->yynext
;
5991 (*yyz0p
)->yynext
= yyz
;
5993 yyz0p
= &(*yyz0p
)->yynext
;
5995 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6000 /** Y0 and Y1 represent two possible actions to take in a given
6001 * parsing state; return 0 if no combination is possible,
6002 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6004 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6006 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6007 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6011 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6016 if (p0
== 0 || p1
== 0)
6025 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6026 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6029 /** Resolve the previous YYN states starting at and including state YYS
6030 * on *YYSTACKP. If result != yyok, some states may have been left
6031 * unresolved possibly with empty semantic option chains. Regardless
6032 * of whether result = yyok, each state has been left with consistent
6033 * data so that yydestroyGLRState can be invoked if necessary. */
6035 yyresolveStates (yyGLRState
* yys
, int yyn
,
6036 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6040 YYASSERT (yys
->yypred
);
6041 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6042 if (! yys
->yyresolved
)
6043 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6048 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6049 * user action, and return the semantic value and location in *YYVALP
6050 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6051 * have been destroyed (assuming the user action destroys all RHS
6052 * semantic values if invoked). */
6054 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6055 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6057 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6058 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6059 YYRESULTTAG yyflag
=
6060 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6064 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6065 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6069 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6071 int yychar_current
= yychar
;
6072 YYSTYPE yylval_current
= yylval
;
6073 yychar
= yyopt
->yyrawchar
;
6074 yylval
= yyopt
->yyval
;
6075 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6076 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6077 yystackp
, yyvalp
, P
, tokens
, index
);
6078 yychar
= yychar_current
;
6079 yylval
= yylval_current
;
6086 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6088 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6091 yyGLRState
* yystates
[1 + YYMAXRHS
];
6092 yyGLRState yyleftmost_state
;
6094 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6095 yystates
[yyi
] = yys
;
6096 if (yys
== YY_NULLPTR
)
6098 yyleftmost_state
.yyposn
= 0;
6099 yystates
[0] = &yyleftmost_state
;
6104 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6105 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6106 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6109 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6110 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6111 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6112 (unsigned long int) yyx
->yystate
->yyposn
);
6113 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6115 if (yystates
[yyi
]->yyresolved
)
6117 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6118 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6119 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6121 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6122 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6123 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6124 (unsigned long int) yystates
[yyi
]->yyposn
);
6127 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6133 yyreportAmbiguity (yySemanticOption
* yyx0
,
6134 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6140 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6141 YYFPRINTF (stderr
, "Option 1,\n");
6142 yyreportTree (yyx0
, 2);
6143 YYFPRINTF (stderr
, "\nOption 2,\n");
6144 yyreportTree (yyx1
, 2);
6145 YYFPRINTF (stderr
, "\n");
6148 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6152 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6153 * perform the indicated actions, and set the semantic value of YYS.
6154 * If result != yyok, the chain of semantic options in YYS has been
6155 * cleared instead or it has been left unmodified except that
6156 * redundant options may have been removed. Regardless of whether
6157 * result = yyok, YYS has been left with consistent data so that
6158 * yydestroyGLRState can be invoked if necessary. */
6160 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6162 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6163 yySemanticOption
* yybest
= yyoptionList
;
6164 yySemanticOption
** yypp
;
6165 yybool yymerge
= yyfalse
;
6169 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6171 yySemanticOption
* yyp
= *yypp
;
6173 if (yyidenticalOptions (yybest
, yyp
))
6175 yymergeOptionSets (yybest
, yyp
);
6176 *yypp
= yyp
->yynext
;
6180 switch (yypreference (yybest
, yyp
))
6183 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6195 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6196 but some compilers complain if the default case is
6200 yypp
= &yyp
->yynext
;
6206 yySemanticOption
* yyp
;
6207 int yyprec
= yydprec
[yybest
->yyrule
];
6208 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6210 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6212 if (yyprec
== yydprec
[yyp
->yyrule
])
6214 YYSTYPE yysval_other
;
6215 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6218 yydestruct ("Cleanup: discarding incompletely merged value for",
6219 yystos
[yys
->yylrState
],
6220 &yysval
, P
, tokens
, index
);
6223 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6228 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6232 yys
->yyresolved
= yytrue
;
6233 yys
->yysemantics
.yysval
= yysval
;
6236 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6241 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6243 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6248 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6249 yys
!= yystackp
->yysplitPoint
;
6250 yys
= yys
->yypred
, yyn
+= 1)
6252 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6253 , P
, tokens
, index
));
6259 yycompressStack (yyGLRStack
* yystackp
)
6261 yyGLRState
* yyp
, *yyq
, *yyr
;
6263 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6266 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6267 yyp
!= yystackp
->yysplitPoint
;
6268 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6271 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6272 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6273 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6274 yystackp
->yysplitPoint
= YY_NULLPTR
;
6275 yystackp
->yylastDeleted
= YY_NULLPTR
;
6277 while (yyr
!= YY_NULLPTR
)
6279 yystackp
->yynextFree
->yystate
= *yyr
;
6281 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6282 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6283 yystackp
->yynextFree
+= 1;
6284 yystackp
->yyspaceLeft
-= 1;
6289 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6290 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6292 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6294 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6295 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6296 (unsigned long int) yyk
, yystate
));
6298 YYASSERT (yystate
!= YYFINAL
);
6300 if (yyisDefaultedState (yystate
))
6303 yyRuleNum yyrule
= yydefaultAction (yystate
);
6306 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6307 (unsigned long int) yyk
));
6308 yymarkStackDeleted (yystackp
, yyk
);
6311 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6312 if (yyflag
== yyerr
)
6316 "(predicate failure or explicit user error).\n",
6317 (unsigned long int) yyk
));
6318 yymarkStackDeleted (yystackp
, yyk
);
6328 const short int* yyconflicts
;
6330 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6331 if (yychar
== YYEMPTY
)
6333 YYDPRINTF ((stderr
, "Reading a token: "));
6334 yychar
= yylex (&yylval
, P
, tokens
, index
);
6337 if (yychar
<= YYEOF
)
6339 yychar
= yytoken
= YYEOF
;
6340 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6344 yytoken
= YYTRANSLATE (yychar
);
6345 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6348 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6350 while (*yyconflicts
!= 0)
6353 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6354 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6355 (unsigned long int) yynewStack
,
6356 (unsigned long int) yyk
));
6357 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6359 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6361 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6362 yyposn
, P
, tokens
, index
));
6363 else if (yyflag
== yyerr
)
6365 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6366 (unsigned long int) yynewStack
));
6367 yymarkStackDeleted (yystackp
, yynewStack
);
6374 if (yyisShiftAction (yyaction
))
6376 else if (yyisErrorAction (yyaction
))
6378 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6379 (unsigned long int) yyk
));
6380 yymarkStackDeleted (yystackp
, yyk
);
6385 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6386 yyimmediate
[-yyaction
], P
, tokens
, index
);
6387 if (yyflag
== yyerr
)
6391 "(predicate failure or explicit user error).\n",
6392 (unsigned long int) yyk
));
6393 yymarkStackDeleted (yystackp
, yyk
);
6396 else if (yyflag
!= yyok
)
6405 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6407 if (yystackp
->yyerrState
!= 0)
6409 #if ! YYERROR_VERBOSE
6410 yyerror (P
, tokens
, index
, YY_("syntax error"));
6413 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6414 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6415 size_t yysize
= yysize0
;
6416 yybool yysize_overflow
= yyfalse
;
6417 char* yymsg
= YY_NULLPTR
;
6418 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6419 /* Internationalized format string. */
6420 const char *yyformat
= YY_NULLPTR
;
6421 /* Arguments of yyformat. */
6422 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6423 /* Number of reported tokens (one for the "unexpected", one per
6427 /* There are many possibilities here to consider:
6428 - If this state is a consistent state with a default action, then
6429 the only way this function was invoked is if the default action
6430 is an error action. In that case, don't check for expected
6431 tokens because there are none.
6432 - The only way there can be no lookahead present (in yychar) is if
6433 this state is a consistent state with a default action. Thus,
6434 detecting the absence of a lookahead is sufficient to determine
6435 that there is no unexpected or expected token to report. In that
6436 case, just report a simple "syntax error".
6437 - Don't assume there isn't a lookahead just because this state is a
6438 consistent state with a default action. There might have been a
6439 previous inconsistent state, consistent state with a non-default
6440 action, or user semantic action that manipulated yychar.
6441 - Of course, the expected token list depends on states to have
6442 correct lookahead information, and it depends on the parser not
6443 to perform extra reductions after fetching a lookahead from the
6444 scanner and before detecting a syntax error. Thus, state merging
6445 (from LALR or IELR) and default reductions corrupt the expected
6446 token list. However, the list is correct for canonical LR with
6447 one exception: it will still contain any token that will not be
6448 accepted due to an error action in a later state.
6450 if (yytoken
!= YYEMPTY
)
6452 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6453 yyarg
[yycount
++] = yytokenName (yytoken
);
6454 if (!yypact_value_is_default (yyn
))
6456 /* Start YYX at -YYN if negative to avoid negative indexes in
6457 YYCHECK. In other words, skip the first -YYN actions for this
6458 state because they are default actions. */
6459 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
6460 /* Stay within bounds of both yycheck and yytname. */
6461 int yychecklim
= YYLAST
- yyn
+ 1;
6462 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
6464 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
6465 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
6466 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
6468 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
6474 yyarg
[yycount
++] = yytokenName (yyx
);
6476 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
6477 yysize_overflow
|= yysz
< yysize
;
6486 #define YYCASE_(N, S) \
6490 YYCASE_(0, YY_("syntax error"));
6491 YYCASE_(1, YY_("syntax error, unexpected %s"));
6492 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
6493 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
6494 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
6495 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
6500 size_t yysz
= yysize
+ strlen (yyformat
);
6501 yysize_overflow
|= yysz
< yysize
;
6505 if (!yysize_overflow
)
6506 yymsg
= (char *) YYMALLOC (yysize
);
6512 while ((*yyp
= *yyformat
))
6514 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
6516 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
6525 yyerror (P
, tokens
, index
, yymsg
);
6530 yyerror (P
, tokens
, index
, YY_("syntax error"));
6531 yyMemoryExhausted (yystackp
);
6534 #endif /* YYERROR_VERBOSE */
6538 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
6539 yylval, and yylloc are the syntactic category, semantic value, and location
6540 of the lookahead. */
6542 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6547 if (yystackp
->yyerrState
== 3)
6548 /* We just shifted the error token and (perhaps) took some
6549 reductions. Skip tokens until we can proceed. */
6553 if (yychar
== YYEOF
)
6554 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6555 if (yychar
!= YYEMPTY
)
6557 yytoken
= YYTRANSLATE (yychar
);
6558 yydestruct ("Error: discarding",
6559 yytoken
, &yylval
, P
, tokens
, index
);
6561 YYDPRINTF ((stderr
, "Reading a token: "));
6562 yychar
= yylex (&yylval
, P
, tokens
, index
);
6563 if (yychar
<= YYEOF
)
6565 yychar
= yytoken
= YYEOF
;
6566 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6570 yytoken
= YYTRANSLATE (yychar
);
6571 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6573 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6574 if (yypact_value_is_default (yyj
))
6577 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
6579 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
6582 else if (! yytable_value_is_error (yytable
[yyj
]))
6586 /* Reduce to one stack. */
6587 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6588 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6590 if (yyk
>= yystackp
->yytops
.yysize
)
6591 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6592 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6593 yymarkStackDeleted (yystackp
, yyk
);
6594 yyremoveDeletes (yystackp
);
6595 yycompressStack (yystackp
);
6597 /* Now pop stack until we find a state that shifts the error token. */
6598 yystackp
->yyerrState
= 3;
6599 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
6601 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
6602 yyj
= yypact
[yys
->yylrState
];
6603 if (! yypact_value_is_default (yyj
))
6606 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
6607 && yyisShiftAction (yytable
[yyj
]))
6609 /* Shift the error token. */
6610 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
6611 &yylval
, &yyerrloc
);
6612 yyglrShift (yystackp
, 0, yytable
[yyj
],
6613 yys
->yyposn
, &yylval
);
6614 yys
= yystackp
->yytops
.yystates
[0];
6618 if (yys
->yypred
!= YY_NULLPTR
)
6619 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
6620 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
6621 yystackp
->yynextFree
-= 1;
6622 yystackp
->yyspaceLeft
+= 1;
6624 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
6625 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6628 #define YYCHK1(YYE) \
6638 goto yyuser_error; \
6649 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6653 yyGLRStack
* const yystackp
= &yystack
;
6656 YYDPRINTF ((stderr
, "Starting parse\n"));
6659 yylval
= yyval_default
;
6661 /* User initialization code. */
6662 #line 98 "src/parser_proc_grammar.y" /* glr.c:2270 */
6666 #line 6667 "src/parser_proc.c" /* glr.c:2270 */
6668 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
6669 goto yyexhaustedlab
;
6670 switch (YYSETJMP (yystack
.yyexception_buffer
))
6673 case 1: goto yyabortlab
;
6674 case 2: goto yyexhaustedlab
;
6675 default: goto yybuglab
;
6677 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
6682 /* For efficiency, we have two loops, the first of which is
6683 specialized to deterministic operation (single stack, no
6684 potential ambiguity). */
6690 const short int* yyconflicts
;
6692 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
6693 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
6694 if (yystate
== YYFINAL
)
6696 if (yyisDefaultedState (yystate
))
6698 yyrule
= yydefaultAction (yystate
);
6702 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6705 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
6710 if (yychar
== YYEMPTY
)
6712 YYDPRINTF ((stderr
, "Reading a token: "));
6713 yychar
= yylex (&yylval
, P
, tokens
, index
);
6716 if (yychar
<= YYEOF
)
6718 yychar
= yytoken
= YYEOF
;
6719 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6723 yytoken
= YYTRANSLATE (yychar
);
6724 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6727 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6728 if (*yyconflicts
!= 0)
6730 if (yyisShiftAction (yyaction
))
6732 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
6735 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
6736 if (0 < yystack
.yyerrState
)
6737 yystack
.yyerrState
-= 1;
6739 else if (yyisErrorAction (yyaction
))
6742 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6746 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
6752 yySymbol yytoken_to_shift
;
6755 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6756 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
6758 /* yyprocessOneStack returns one of three things:
6760 - An error flag. If the caller is yyprocessOneStack, it
6761 immediately returns as well. When the caller is finally
6762 yyparse, it jumps to an error label via YYCHK1.
6764 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
6765 (&yystack, yys), which sets the top state of yys to NULL. Thus,
6766 yyparse's following invocation of yyremoveDeletes will remove
6769 - yyok, when ready to shift a token.
6771 Except in the first case, yyparse will invoke yyremoveDeletes and
6772 then shift the next token onto all remaining stacks. This
6773 synchronization of the shift (that is, after all preceding
6774 reductions on all stacks) helps prevent double destructor calls
6775 on yylval in the event of memory exhaustion. */
6777 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6778 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
6779 yyremoveDeletes (&yystack
);
6780 if (yystack
.yytops
.yysize
== 0)
6782 yyundeleteLastStack (&yystack
);
6783 if (yystack
.yytops
.yysize
== 0)
6784 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
6785 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6786 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6788 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6792 /* If any yyglrShift call fails, it will fail after shifting. Thus,
6793 a copy of yylval will already be on stack 0 in the event of a
6794 failure in the following loop. Thus, yychar is set to YYEMPTY
6795 before the loop to make sure the user destructor for yylval isn't
6797 yytoken_to_shift
= YYTRANSLATE (yychar
);
6800 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6803 const short int* yyconflicts
;
6804 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
6805 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
6807 /* Note that yyconflicts were handled by yyprocessOneStack. */
6808 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
6809 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
6810 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
6812 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
6813 (unsigned long int) yys
,
6814 yystack
.yytops
.yystates
[yys
]->yylrState
));
6817 if (yystack
.yytops
.yysize
== 1)
6819 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6820 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6821 yycompressStack (&yystack
);
6827 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
6828 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
6844 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
6849 if (yychar
!= YYEMPTY
)
6850 yydestruct ("Cleanup: discarding lookahead",
6851 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
6853 /* If the stack is well-formed, pop the stack until it is empty,
6854 destroying its entries as we go. But free the stack regardless
6855 of whether it is well-formed. */
6856 if (yystack
.yyitems
)
6858 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
6861 size_t yysize
= yystack
.yytops
.yysize
;
6863 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
6866 while (yystates
[yyk
])
6868 yyGLRState
*yys
= yystates
[yyk
];
6869 if (yys
->yypred
!= YY_NULLPTR
)
6870 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6871 yystates
[yyk
] = yys
->yypred
;
6872 yystack
.yynextFree
-= 1;
6873 yystack
.yyspaceLeft
+= 1;
6878 yyfreeGLRStack (&yystack
);
6884 /* DEBUGGING ONLY */
6887 yy_yypstack (yyGLRState
* yys
)
6891 yy_yypstack (yys
->yypred
);
6892 YYFPRINTF (stderr
, " -> ");
6894 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
6895 (unsigned long int) yys
->yyposn
);
6899 yypstates (yyGLRState
* yyst
)
6901 if (yyst
== YY_NULLPTR
)
6902 YYFPRINTF (stderr
, "<null>");
6905 YYFPRINTF (stderr
, "\n");
6909 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
6911 yypstates (yystackp
->yytops
.yystates
[yyk
]);
6914 #define YYINDEX(YYX) \
6915 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
6919 yypdumpstack (yyGLRStack
* yystackp
)
6921 yyGLRStackItem
* yyp
;
6923 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
6925 YYFPRINTF (stderr
, "%3lu. ",
6926 (unsigned long int) (yyp
- yystackp
->yyitems
));
6927 if (*(yybool
*) yyp
)
6929 YYASSERT (yyp
->yystate
.yyisState
);
6930 YYASSERT (yyp
->yyoption
.yyisState
);
6931 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
6932 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
6933 (unsigned long int) yyp
->yystate
.yyposn
,
6934 (long int) YYINDEX (yyp
->yystate
.yypred
));
6935 if (! yyp
->yystate
.yyresolved
)
6936 YYFPRINTF (stderr
, ", firstVal: %ld",
6937 (long int) YYINDEX (yyp
->yystate
6938 .yysemantics
.yyfirstVal
));
6942 YYASSERT (!yyp
->yystate
.yyisState
);
6943 YYASSERT (!yyp
->yyoption
.yyisState
);
6944 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
6945 yyp
->yyoption
.yyrule
- 1,
6946 (long int) YYINDEX (yyp
->yyoption
.yystate
),
6947 (long int) YYINDEX (yyp
->yyoption
.yynext
));
6949 YYFPRINTF (stderr
, "\n");
6951 YYFPRINTF (stderr
, "Tops:");
6952 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6953 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
6954 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
6955 YYFPRINTF (stderr
, "\n");
6963 /* Substitute the variable and function names. */
6964 #define yyparse psi_parser_proc_parse
6965 #define yylex psi_parser_proc_lex
6966 #define yyerror psi_parser_proc_error
6967 #define yylval psi_parser_proc_lval
6968 #define yychar psi_parser_proc_char
6969 #define yydebug psi_parser_proc_debug
6970 #define yynerrs psi_parser_proc_nerrs
6972 #line 1865 "src/parser_proc_grammar.y" /* glr.c:2584 */
6977 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6979 struct psi_token
*token
;
6981 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
6982 if (P
->flags
& PSI_DEBUG
) {
6983 psi_token_dump(2, token
);
6986 *((struct psi_token
**)lvalp
) = token
;
6990 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
6996 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
6998 struct psi_token
*T
= NULL
;
7007 psi_plist_get(tokens
, last
, &T
);
7009 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7011 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);