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 713
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, 566, 571,
364 579, 582, 586, 590, 597, 601, 605, 609, 614, 624,
365 634, 639, 644, 650, 659, 662, 666, 670, 676, 683,
366 689, 690, 691, 692, 696, 699, 730, 737, 738, 739,
367 740, 744, 747, 756, 762, 763, 771, 782, 791, 800,
368 808, 811, 815, 819, 823, 828, 833, 841, 842, 843,
369 846, 852, 855, 858, 864, 865, 866, 867, 868, 869,
370 870, 871, 875, 876, 880, 883, 886, 892, 895, 898,
371 906, 918, 921, 924, 931, 934, 944, 947, 950, 953,
372 954, 958, 961, 964, 975, 978, 984, 985, 989, 990,
373 994, 998, 1004, 1005, 1011, 1014, 1020, 1021, 1028, 1029,
374 1033, 1040, 1051, 1058, 1069, 1076, 1087, 1098, 1112, 1113,
375 1125, 1128, 1131, 1134, 1141, 1144, 1150, 1159, 1171, 1179,
376 1182, 1192, 1205, 1210, 1218, 1228, 1238, 1241, 1245, 1251,
377 1265, 1282, 1285, 1291, 1298, 1308, 1315, 1318, 1324, 1329,
378 1337, 1341, 1345, 1349, 1353, 1357, 1364, 1368, 1372, 1376,
379 1383, 1396, 1409, 1422, 1425, 1432, 1435, 1438, 1441, 1447,
380 1451, 1458, 1461, 1467, 1470, 1476, 1477, 1483, 1486, 1498,
381 1501, 1508, 1513, 1518, 1528, 1531, 1537, 1540, 1546, 1553,
382 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1572,
383 1575, 1581, 1584, 1587, 1590, 1593, 1599, 1603, 1611, 1612,
384 1616, 1623, 1626, 1629, 1633, 1636, 1639, 1645, 1649, 1657,
385 1664, 1672, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687,
386 1688, 1689, 1693, 1696, 1702, 1705, 1711, 1712, 1716, 1719,
387 1725, 1728, 1734, 1741, 1748, 1751, 1754, 1761, 1766, 1774,
388 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1785, 1788, 1794,
389 1797, 1803, 1810, 1811, 1815, 1822, 1825, 1831, 1839, 1842,
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", "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 -550
454 #define YYTABLE_NINF -479
456 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
458 static const short int yypact
[] =
460 949, -550, -550, -550, -550, -550, 116, -550, -550, 2253,
461 -550, -550, -550, -550, -550, -550, -550, -550, 2807, -550,
462 -550, 471, 2857, 2636, 2636, 2636, 311, 9, -50, 12,
463 -550, 1043, 66, 949, -550, -550, -550, -550, -550, 2302,
464 -550, -550, -550, -550, -550, 77, 48, -550, -550, -550,
465 53, -34, -550, -550, 40, 62, 86, -550, -550, -550,
466 -550, 93, -550, 102, -550, -550, -550, -550, -550, 659,
467 -550, 96, -550, -550, -550, -550, -550, -550, -550, -550,
468 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
469 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
470 -550, -550, 2420, -21, -550, -550, -550, 2636, 2636, 2636,
471 2988, -550, 105, -550, -550, -550, -550, -550, -550, -550,
472 -550, -550, -550, -550, -550, 908, -550, -550, -550, -550,
473 118, 789, 789, -6, -550, 908, 2135, 2253, 2636, 2636,
474 121, 1899, -550, -550, 131, 2636, 144, 144, 52, 52,
475 149, -550, -550, 162, 181, -550, 96, 187, -550, -550,
476 183, 186, -550, 198, -550, 2884, 2911, -34, -550, -550,
477 188, -550, 192, 2636, -550, 225, -550, 82, -550, -550,
478 77, -550, -550, 196, 199, 2961, 2961, 2636, 103, 2636,
479 -550, 96, -550, -550, -550, -550, -550, -550, 2302, -550,
480 -550, -550, -550, -550, -550, 112, 789, -550, -550, -550,
481 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
482 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
483 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
484 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
485 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
486 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
487 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
488 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
489 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
490 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
491 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
492 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
493 -550, -550, -550, 789, -550, -550, -550, -550, -550, -550,
494 -550, -550, 2135, -550, -550, -550, -550, 2469, 2135, 201,
495 3223, 203, 87, -550, 87, -550, -550, -550, -550, 200,
496 202, 202, 26, 26, 2587, 197, -550, 103, 207, 219,
497 220, 226, -550, 96, 188, -550, -550, -550, -550, -550,
498 -550, 227, -550, 2, 3015, 2302, 81, -550, -550, 108,
499 214, 74, -550, 2302, 1781, 2302, 2636, 80, -550, -550,
500 123, -550, -550, -550, -550, -550, 2017, -550, 223, 2636,
501 224, -550, 2636, 236, -550, -550, 3060, 2636, -550, -550,
502 2135, -550, -550, -550, -550, -550, -550, -550, -550, -550,
503 -550, -550, -550, -550, -550, -550, -550, -550, -550, 2135,
504 2135, -550, 237, 2911, 2302, 2302, -550, -550, -550, -550,
505 96, -550, 1191, 151, 36, -550, -550, 218, 2636, -550,
506 -550, 31, 2420, 96, 192, 188, 2753, 188, 2780, 2017,
507 2636, -550, 230, 240, -550, -550, -550, 1073, 2017, -550,
508 3247, -550, 232, 242, -550, 244, 251, 238, 247, 79,
509 -550, -550, 250, 244, -550, -550, 589, -550, 249, 2302,
510 2636, -550, 253, 3223, 258, 259, 3174, -550, 256, 257,
511 1940, -550, -550, 2636, -550, -550, -550, -550, 264, -550,
512 3247, -550, -550, -550, -550, -550, -550, -550, -550, -550,
513 -550, 261, 140, -550, 12, -550, -550, 265, -550, -550,
514 2587, -550, 2, 266, -550, -550, 267, 3247, -550, 1309,
515 -550, 269, 3051, 270, 3096, -550, 2017, 2017, 1781, -550,
516 2302, -550, 12, 2302, -550, 2636, -550, -550, -550, -550,
517 -550, 273, 263, -550, -550, 2135, 2135, 286, 3, 287,
518 -550, 257, 290, -550, 357, 297, 357, 293, -550, 188,
519 188, -550, 176, 160, 302, 3247, -550, -550, -550, -550,
520 304, 1427, 2017, -550, 3199, -550, -550, 305, 2302, 171,
521 -550, 789, 2636, 3223, 3271, 314, 303, 312, 2302, 315,
522 287, -550, -550, 357, -550, 12, 1191, -550, -550, 302,
523 -550, -550, -550, -550, 313, 2017, 12, -550, -550, 2017,
524 1545, 316, 320, -550, -550, -550, 319, 318, 329, 257,
525 324, -550, 331, -550, -3, -550, 12, 3149, 335, 3295,
526 338, -550, 339, -550, -550, -550, 342, 341, -550, 2302,
527 -550, 350, 345, 2017, 1309, 346, -550, 1781, 351, 353,
528 257, 348, 1663, 3123, 230, -550, -550, -550, 349, 1427,
529 -550, -550, 352, 354, -550, 347, 355, 356, -550, -550,
530 1309, -550, 358, -550, 357, 359, 1781, -550, 360, -550,
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, 287, 284, 288, 282, 283, 285, 271, 272, 0,
540 274, 275, 276, 277, 278, 279, 280, 281, 270, 169,
541 168, 0, 0, 0, 0, 373, 0, 0, 0, 478,
542 170, 0, 0, 165, 166, 172, 171, 173, 176, 383,
543 261, 263, 262, 268, 269, 291, 301, 267, 174, 175,
544 0, 306, 316, 318, 319, 0, 0, 328, 178, 177,
545 179, 0, 180, 0, 286, 273, 33, 34, 466, 432,
546 24, 383, 387, 39, 38, 37, 35, 36, 32, 31,
547 25, 29, 28, 26, 27, 440, 439, 437, 435, 436,
548 438, 434, 433, 441, 30, 464, 462, 461, 463, 460,
549 459, 329, 0, 385, 40, 41, 270, 0, 0, 0,
550 0, 317, 312, 182, 193, 190, 192, 194, 195, 206,
551 203, 204, 201, 207, 202, 0, 205, 196, 197, 198,
552 0, 220, 220, 0, 186, 0, 0, 0, 373, 373,
553 0, 383, 255, 338, 254, 0, 379, 379, 264, 265,
554 266, 370, 240, 288, 271, 243, 0, 0, 239, 260,
555 0, 0, 480, 0, 479, 270, 0, 306, 1, 167,
556 381, 339, 0, 384, 292, 296, 294, 298, 289, 302,
557 291, 290, 310, 0, 0, 330, 330, 0, 0, 0,
558 384, 383, 341, 388, 386, 264, 265, 266, 0, 311,
559 209, 210, 211, 213, 212, 208, 220, 188, 183, 75,
560 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
561 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
562 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
563 72, 73, 74, 76, 77, 78, 79, 80, 81, 82,
564 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
565 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
566 103, 104, 105, 106, 107, 108, 109, 115, 113, 114,
567 112, 110, 111, 116, 117, 118, 119, 120, 121, 122,
568 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
569 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
570 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
571 153, 154, 155, 156, 157, 158, 159, 162, 160, 161,
572 163, 222, 191, 221, 184, 199, 200, 185, 208, 187,
573 230, 231, 0, 22, 23, 20, 21, 0, 0, 232,
574 189, 329, 264, 372, 265, 371, 251, 259, 256, 0,
575 0, 0, 0, 0, 0, 0, 181, 0, 0, 0,
576 0, 0, 343, 383, 381, 297, 293, 299, 300, 295,
577 303, 0, 304, 331, 0, 383, 0, 332, 334, 0,
578 358, 0, 356, 0, 478, 0, 0, 0, 472, 473,
579 0, 409, 412, 411, 413, 414, 0, 415, 0, 0,
580 313, 314, 0, 0, 215, 223, 0, 0, 228, 225,
581 234, 2, 3, 4, 5, 6, 7, 8, 9, 10,
582 11, 13, 12, 14, 15, 16, 17, 18, 19, 0,
583 0, 252, 0, 0, 0, 0, 346, 345, 347, 344,
584 383, 340, 244, 0, 0, 253, 305, 0, 0, 342,
585 308, 0, 337, 0, 335, 381, 0, 381, 0, 0,
586 0, 355, 0, 0, 367, 366, 368, 0, 0, 369,
587 455, 360, 0, 0, 454, 41, 0, 0, 0, 0,
588 475, 465, 0, 0, 389, 410, 0, 327, 0, 0,
589 216, 224, 0, 236, 0, 235, 0, 226, 0, 375,
590 0, 258, 257, 0, 247, 248, 249, 250, 0, 246,
591 245, 390, 402, 403, 404, 405, 401, 406, 407, 408,
592 400, 0, 0, 394, 478, 399, 382, 0, 309, 307,
593 336, 322, 0, 0, 333, 320, 0, 359, 357, 0,
594 416, 24, 0, 0, 0, 364, 0, 0, 478, 453,
595 0, 398, 478, 0, 474, 0, 452, 471, 326, 315,
596 218, 0, 217, 229, 233, 0, 0, 0, 0, 351,
597 348, 375, 0, 238, 0, 0, 0, 396, 324, 381,
598 381, 421, 0, 31, 30, 426, 427, 422, 424, 425,
599 40, 0, 0, 362, 0, 363, 456, 467, 0, 0,
600 476, 220, 0, 237, 227, 0, 376, 0, 0, 0,
601 351, 325, 391, 0, 395, 478, 244, 323, 321, 0,
602 423, 446, 432, 447, 0, 0, 478, 428, 361, 0,
603 478, 0, 0, 477, 214, 219, 0, 0, 0, 375,
604 352, 349, 0, 392, 0, 397, 478, 0, 442, 365,
605 0, 469, 468, 457, 417, 380, 0, 0, 353, 0,
606 350, 0, 0, 0, 0, 0, 458, 478, 0, 0,
607 375, 0, 448, 0, 369, 444, 420, 418, 443, 0,
608 431, 470, 0, 0, 354, 0, 0, 449, 450, 429,
609 0, 419, 0, 377, 0, 0, 478, 445, 0, 393,
613 /* YYPGOTO[NTERM-NUM]. */
614 static const short int yypgoto
[] =
616 -550, -320, -129, 1, 67, -550, -550, 362, -550, -550,
617 -550, -550, -550, -550, -550, -550, -550, -550, 272, -550,
618 -550, -550, -127, -550, -328, -550, -550, -550, -550, -550,
619 -222, -550, -550, -157, -4, -23, -550, -550, -550, 268,
620 365, -550, -550, 228, -550, -550, -550, -550, 245, -550,
621 -550, -550, -550, -149, 384, 5, -16, 27, -550, -550,
622 231, -293, -14, -39, -550, -550, 56, -146, -550, -204,
623 -550, 38, -550, -48, -393, -550, -550, -550, -550, 78,
624 -548, -43, -352, -60, -7, -550, -550, 392, -550, -163,
625 -503, -549, -550, 57, -381, -550, -275, -528, 33, -164,
626 -550, -550, -532, -550, -550, -550, -550, -550, -550, -550,
627 -517, 34, -382, -550, -550, -550, -550, -550, -550, -135,
631 /* YYDEFGOTO[NTERM-NUM]. */
632 static const short int yydefgoto
[] =
634 -1, 557, 478, 170, 331, 32, 33, 34, 35, 36,
635 130, 131, 132, 133, 337, 134, 135, 136, 206, 207,
636 571, 572, 332, 333, 350, 504, 505, 37, 157, 158,
637 518, 519, 38, 140, 39, 40, 41, 42, 43, 44,
638 45, 46, 47, 178, 376, 379, 181, 48, 184, 461,
639 49, 50, 199, 410, 51, 52, 53, 143, 55, 56,
640 386, 387, 57, 479, 58, 59, 447, 448, 510, 619,
641 650, 145, 391, 392, 480, 481, 61, 146, 147, 151,
642 579, 360, 372, 172, 412, 103, 62, 63, 532, 533,
643 482, 534, 535, 400, 401, 402, 685, 686, 687, 597,
644 598, 599, 104, 675, 688, 634, 696, 697, 403, 404,
645 483, 484, 105, 641, 662, 405, 406, 407, 489, 490,
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 171, 163, 102, 159, 112, 334, 142, 348, 144, 369,
655 101, 189, 485, 496, 416, 493, 601, 600, 141, 495,
656 419, 596, 459, 111, 148, 149, 150, 54, 335, 561,
657 440, 587, 173, 620, 193, 622, 616, 625, 60, 522,
658 71, 606, 523, 160, 617, 54, 524, 29, 525, 526,
659 527, 528, 529, 530, 179, 4, 5, 72, 54, 520,
660 54, 633, 162, 446, 190, 538, 168, 671, 443, 600,
661 539, 60, 495, 637, 653, 531, 547, -319, -338, 414,
662 -338, 174, 175, 176, 554, 555, 177, 159, 377, -379,
663 182, 378, 503, 359, -379, 183, 440, 68, 491, 440,
664 185, 668, 171, 192, 361, 362, 363, 194, 195, 196,
665 197, 506, 507, 541, 470, 545, 564, 471, 336, 565,
666 465, 466, 587, 661, 186, 64, 205, 65, -374, -374,
667 102, 409, 694, 658, 173, 187, 338, 349, 351, 352,
668 354, 689, 600, -328, 188, 198, 358, 467, 468, 364,
669 142, 72, 144, 672, 208, 709, 595, 600, 356, 411,
670 691, 701, 141, 604, 605, 698, 494, 689, 600, -328,
671 111, 388, 388, 544, 374, 544, 485, 631, 632, 585,
672 586, 385, 385, 440, 190, 359, 440, 440, 390, 711,
673 408, -374, 54, -241, 521, 95, 96, 97, 98, 99,
674 100, 393, 394, 395, 396, 397, 398, 399, 595, 638,
675 643, 499, -242, 348, 444, 445, 353, 355, 365, 348,
676 366, 393, 394, 395, 396, 397, 398, 399, 367, 368,
677 373, 375, 371, 520, 381, 413, 382, 627, 628, 420,
678 441, 442, 657, 452, 443, 454, 659, 613, 614, 393,
679 394, 395, 396, 397, 398, 399, 455, 456, 485, 457,
680 469, 460, 497, 536, 499, 85, 86, 87, 88, 89,
681 90, 91, 92, 93, 500, 508, 549, 550, 558, 559,
682 683, 595, 560, 561, 562, 563, 509, 566, 568, 577,
683 629, 348, 573, 440, 440, 485, 595, 574, 578, 575,
684 485, 583, 584, 612, 588, 589, 590, 595, -24, 602,
685 348, 348, 611, 458, 152, 1, 2, 153, 4, 5,
686 6, 154, 8, 155, 485, 464, 615, 618, 156, 621,
687 10, 11, 12, 13, 14, 15, 16, 17, 623, 626,
688 635, 106, 636, 349, 647, 640, 171, 646, 418, 349,
689 648, 656, 651, 581, 472, 663, 487, 664, 665, 666,
690 522, 159, 667, 523, 669, 451, 190, 524, 670, 525,
691 526, 527, 528, 529, 530, 674, 462, 676, 173, 677,
692 678, 679, 681, 682, 692, 690, 693, 695, 704, 700,
693 513, 708, 702, 703, 705, 169, 706, 488, 710, 712,
694 415, 107, 108, 109, 655, 511, 512, 339, 380, 357,
695 498, 180, 370, 374, 609, 167, 652, 389, 502, 449,
696 161, 349, 548, 624, 453, 707, 473, 142, 630, 144,
697 610, 492, 0, 0, 0, 0, 0, 0, 0, 141,
698 349, 349, 0, 190, 0, 0, 348, 348, 0, 0,
699 0, 0, 388, 0, 388, 0, 540, 0, 0, 537,
700 569, 0, 385, 192, 385, 0, 0, 0, 0, 0,
701 0, 390, 0, 553, 0, 0, 0, 0, 0, 0,
702 0, 0, 0, 0, 644, 0, 0, 0, 0, 0,
703 0, 0, 0, 0, 142, 0, 144, 0, 0, 0,
704 0, 570, 0, 0, 0, 0, 141, 113, 0, 0,
705 0, 0, 0, 0, 582, 0, 0, 0, 0, 0,
706 0, 607, 0, 0, 411, 0, 0, 0, 0, 159,
707 0, 0, 0, 0, 608, 462, 0, 0, 0, 0,
708 0, 451, 0, 114, 115, 116, 117, 118, 119, 120,
709 121, 122, 123, 124, 125, 0, 126, 127, 128, 129,
710 0, 0, 0, 0, 0, 0, 488, 0, 0, 642,
711 0, 0, 0, 0, 0, 0, 349, 349, 0, 649,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
713 0, 0, 0, 0, 0, 0, 0, 654, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
715 0, 0, 0, 645, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 567, 0, 0, 0,
717 680, 0, 0, 0, 0, 684, 0, 421, 422, 423,
718 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
719 434, 435, 436, 437, 438, 0, 0, 0, 0, -432,
720 556, 684, -432, -432, -432, -432, -432, -432, -432, -432,
721 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
722 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
723 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
724 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
725 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
726 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
727 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
728 -432, -432, -432, -432, -432, 0, -432, 0, -432, -432,
729 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
730 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
731 -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
732 -432, 0, -432, -432, 0, -432, -432, -432, -432, 209,
733 0, 0, 210, 211, 212, 213, 214, 215, 216, 217,
734 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
735 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
736 238, 239, 240, 241, 242, 0, 243, 244, 245, 246,
737 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
738 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
739 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
740 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
741 287, 288, 289, 290, 291, 0, 292, 0, 293, 294,
742 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
743 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
744 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
745 325, 66, 0, 326, 0, 327, 328, 329, 330, 0,
746 67, 0, 0, 0, 0, 68, 69, 0, 0, 0,
747 0, 0, 0, 0, 0, 200, 201, 202, 70, 0,
748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
749 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
750 8, 0, 0, 0, 0, 0, 9, 0, 10, 11,
751 12, 13, 14, 15, 16, 17, 0, 0, 0, 18,
752 73, 74, 75, 76, 77, 19, 20, 0, 0, 0,
753 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
754 0, 0, 78, 0, 79, 80, 81, 82, 83, 84,
755 0, 0, 0, 85, 86, 87, 88, 89, 90, 91,
756 92, 93, 94, 95, 96, 97, 98, 99, 100, 0,
757 0, 0, 0, 0, 203, 0, 204, 0, 22, 23,
758 24, 25, 26, 27, 28, 0, 29, 1, 2, 3,
759 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
760 9, 0, 10, 11, 12, 13, 14, 15, 16, 17,
761 30, 0, 0, 165, 0, 31, 66, 1, 2, 3,
762 4, 5, 6, 7, 8, 67, 0, 0, 0, 0,
763 68, 69, 10, 11, 12, 13, 14, 15, 16, 17,
764 0, 0, 0, 551, 474, 0, 475, 0, 476, 0,
765 0, 477, 0, 0, 0, 0, 0, 0, 0, 0,
766 0, 0, 0, 0, 0, 0, 343, 344, 72, 0,
767 0, 0, 166, 107, 108, 109, 110, 0, 0, 345,
768 346, 0, 0, 0, 0, 73, 74, 75, 76, 77,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
770 0, 0, 0, 107, 108, 109, 552, 78, 0, 79,
771 80, 81, 82, 83, 84, 0, 0, 0, 85, 86,
772 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
773 97, 98, 99, 100, 66, 0, 0, 0, 0, 0,
774 0, 0, 0, 67, 0, 0, 0, 0, 68, 69,
775 0, 0, 0, 0, 0, 0, 0, 0, 514, 515,
776 516, 70, 474, 0, 475, 517, 476, 0, 0, 477,
777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 343, 344, 72, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 345, 346, 0,
780 0, 0, 0, 73, 74, 75, 76, 77, 0, 0,
781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 78, 0, 79, 80, 81,
783 82, 83, 84, 0, 0, 0, 85, 86, 87, 88,
784 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
785 99, 100, 66, 0, 0, 0, 0, 0, 0, 0,
786 0, 67, 0, 0, 0, 0, 68, 69, 0, 0,
787 0, 0, 0, 0, 0, 0, 591, 0, 0, 70,
788 474, 0, 475, 0, 476, 0, 0, 477, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 162,
790 0, 0, 343, 344, 72, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 345, 346, 0, 0, 0,
792 0, 73, 74, 75, 76, 77, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 78, 592, 593, 80, 81, 82, 83,
795 84, 0, 0, 0, 85, 86, 87, 88, 89, 90,
796 91, 92, 93, 594, 95, 96, 97, 98, 99, 100,
797 66, 0, 0, 0, 0, 0, 0, 0, 0, 67,
798 0, 0, 0, 0, 68, 69, 0, 0, 0, 0,
799 0, 0, 0, 0, 591, 0, 0, 70, 474, 0,
800 475, 0, 476, 0, 0, 477, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 343, 344, 72, 0, 0, 0, 0, 0, 0, 0,
803 0, 0, 0, 345, 346, 0, 0, 0, 0, 73,
804 74, 75, 76, 77, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 78, 592, 593, 80, 81, 82, 83, 84, 0,
807 0, 0, 85, 86, 87, 88, 89, 90, 91, 92,
808 93, 594, 95, 96, 97, 98, 99, 100, 66, 0,
809 0, 0, 0, 0, 0, 0, 0, 67, 0, 0,
810 0, 0, 68, 69, 0, 0, 0, 0, 0, 0,
811 0, 0, 0, 0, 0, 70, 474, 0, 475, 0,
812 476, 0, 0, 477, 0, 0, 0, 0, 0, 0,
813 0, 0, 0, 0, 0, 162, 0, 0, 343, 344,
814 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
815 0, 345, 346, 0, 0, 660, 0, 73, 74, 75,
816 76, 77, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
818 0, 79, 80, 81, 82, 83, 84, 0, 0, 0,
819 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
820 95, 96, 97, 98, 99, 100, 66, 0, 0, 0,
821 0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
822 68, 69, 0, 0, 0, 0, 0, 0, 0, 0,
823 0, 0, 0, 70, 474, -478, 475, 0, 476, 0,
824 0, 477, 0, 0, 0, 0, 0, 0, 0, 0,
825 0, 0, 0, 162, 0, 0, 343, 344, 72, 0,
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 345,
827 346, 0, 0, 0, 0, 73, 74, 75, 76, 77,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 78, 0, 79,
830 80, 81, 82, 83, 84, 0, 0, 0, 85, 86,
831 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
832 97, 98, 99, 100, 66, 0, 0, 0, 0, 0,
833 0, 0, 0, 67, 0, 0, 0, 0, 68, 69,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 70, 474, 0, 475, 0, 476, 0, 0, 477,
836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
837 0, 162, 0, 0, 343, 344, 72, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 345, 346, 0,
839 0, 0, 0, 73, 74, 75, 76, 77, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 78, 0, 79, 80, 81,
842 82, 83, 84, 0, 0, 0, 85, 86, 87, 88,
843 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
844 99, 100, 66, 0, 0, 0, 0, 0, 0, 0,
845 0, 67, 0, 0, 0, 0, 68, 69, 10, 11,
846 12, 13, 14, 15, 16, 17, 0, 0, 0, 70,
847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
849 7, 8, 0, 0, 72, 0, 0, 9, 0, 10,
850 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
851 106, 73, 74, 75, 76, 77, 0, 0, 0, 0,
852 0, 0, 0, 580, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 78, 0, 79, 80, 81, 82, 83,
854 84, 0, 0, 0, 85, 86, 87, 88, 89, 90,
855 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
856 66, 0, 0, 0, 0, 0, 0, 0, 0, 67,
857 138, 139, 25, 110, 68, 69, 0, 0, 0, 0,
858 0, 0, 0, 0, 0, 0, 0, 70, 474, 0,
859 475, 0, 476, 0, 0, 477, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 343, 344, 72, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 345, 346, 0, 0, 0, 0, 73,
863 74, 75, 76, 77, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 78, 0, 79, 80, 81, 82, 83, 84, 0,
866 0, 0, 85, 86, 87, 88, 89, 90, 91, 92,
867 93, 94, 95, 96, 97, 98, 99, 100, 66, 0,
868 0, 0, 0, 0, 0, 0, 0, 67, 0, 0,
869 0, 0, 68, 69, 0, 0, 0, 0, 0, 0,
870 0, 0, 0, 0, 0, 70, 0, 0, 340, 0,
871 341, 0, 0, 342, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 343, 344,
873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 345, 346, 0, 0, 0, 0, 73, 74, 75,
875 76, 77, 0, 0, 0, 0, 0, 0, 0, 347,
876 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
877 0, 79, 80, 81, 82, 83, 84, 0, 0, 0,
878 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
879 95, 96, 97, 98, 99, 100, 66, 0, 0, 0,
880 0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
881 68, 69, 0, 0, 0, 0, 0, 0, 0, 0,
882 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
883 0, 71, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 66, 0, 0, 72, 0,
885 0, 0, 0, 0, 67, 0, 0, 0, 0, 68,
886 69, 0, 0, 0, 0, 73, 74, 75, 76, 77,
887 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 78, 0, 79,
889 80, 81, 82, 83, 84, 0, 0, 72, 85, 86,
890 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
891 97, 98, 99, 100, 73, 74, 75, 76, 77, 0,
892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 78, 0, 79, 80,
894 81, 82, 83, 84, 0, 0, 0, 85, 86, 87,
895 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
896 98, 99, 100, 66, 0, 0, 0, 0, 0, 0,
897 0, 0, 67, 0, 0, 0, 0, 68, 69, 0,
898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
899 70, 0, 0, 0, 0, 0, 0, 0, 191, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
901 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,
902 0, 67, 0, 0, 0, 0, 68, 69, 0, 0,
903 0, 0, 73, 74, 75, 76, 77, 0, 0, 70,
904 0, 0, 0, 0, 0, 0, 0, 417, 0, 0,
905 0, 0, 0, 0, 78, 0, 79, 80, 81, 82,
906 83, 84, 0, 0, 0, 85, 86, 87, 88, 89,
907 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
908 100, 73, 74, 75, 76, 77, 0, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 78, 0, 79, 80, 81, 82, 83,
911 84, 0, 0, 0, 85, 86, 87, 88, 89, 90,
912 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
913 66, 0, 0, 0, 0, 0, 0, 0, 0, 67,
914 0, 0, 0, 0, 68, 69, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 70, 0, 0,
916 0, 0, 0, 0, 0, 450, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
918 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
919 0, 0, 0, 68, 69, 0, 0, 0, 0, 73,
920 74, 75, 76, 77, 0, 0, 70, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
922 0, 78, 0, 79, 80, 81, 82, 83, 84, 0,
923 0, 0, 85, 86, 87, 88, 89, 90, 91, 92,
924 93, 94, 95, 96, 97, 98, 99, 100, 73, 74,
925 75, 76, 77, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
927 78, 0, 79, 80, 81, 82, 83, 84, 0, 0,
928 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
929 94, 95, 96, 97, 98, 99, 100, 1, 2, 3,
930 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
931 542, 0, 10, 11, 12, 13, 14, 15, 16, 17,
932 0, 0, 0, 106, 1, 2, 3, 4, 5, 6,
933 7, 8, 0, 0, 0, 0, 0, 542, 0, 10,
934 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
935 106, 1, 2, 3, 4, 5, 6, 7, 8, 0,
936 0, 0, 0, 543, 9, 0, 10, 11, 12, 13,
937 14, 15, 16, 17, 0, 0, 0, 106, 0, 0,
938 0, 0, 0, 107, 108, 109, 384, 0, 0, 0,
939 546, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
941 107, 108, 109, 384, 137, 0, 10, 11, 12, 13,
942 14, 15, 16, 17, 0, 0, 0, 106, 1, 2,
943 3, 4, 5, 6, 7, 8, 0, 107, 108, 109,
944 110, 9, 0, 10, 11, 12, 13, 14, 15, 16,
945 17, 0, 0, 0, 106, 1, 2, 3, 4, 5,
946 6, 7, 8, 0, 0, 0, 0, 0, 9, 0,
947 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
948 0, 106, 0, 0, 0, 0, 0, 138, 139, 25,
949 110, 0, 0, 0, 0, 0, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
951 6, 7, 8, 0, 107, 108, 109, 110, 383, 0,
952 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
953 0, 106, 1, 2, 3, 4, 5, 6, 7, 8,
954 0, 138, 139, 25, 110, 156, 0, 10, 11, 12,
955 13, 14, 15, 16, 17, 0, 0, 0, 106, 1,
956 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
957 0, 0, 463, 0, 10, 11, 12, 13, 14, 15,
958 16, 17, 0, 0, 0, 106, 0, 0, 0, 0,
959 0, 107, 108, 109, 384, 1, 2, 3, 4, 5,
960 6, 7, 8, 0, 0, 0, 0, 0, 0, 0,
961 10, 11, 12, 13, 14, 15, 16, 17, 107, 108,
962 109, 106, 0, 0, 0, 0, 0, 0, 0, 0,
963 0, 0, 0, 0, 0, 0, 0, 0, 0, 501,
964 0, 0, 0, 0, 0, 107, 108, 109, 421, 422,
965 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
966 433, 434, 435, 436, 437, 438, 0, 0, 0, 0,
967 0, 439, 0, 0, 0, 603, 0, 0, 0, 0,
968 0, 107, 108, 109, 421, 422, 423, 424, 425, 426,
969 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
970 437, 438, 699, 0, 0, 0, 0, 556, 0, 0,
971 0, 421, 422, 423, 424, 425, 426, 427, 428, 429,
972 430, 431, 432, 433, 434, 435, 436, 437, 438, 673,
973 0, 0, 0, 0, 556, 0, 0, 421, 422, 423,
974 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
975 434, 435, 436, 437, 438, 576, 0, 0, 0, 0,
976 556, 0, 421, 422, 423, 424, 425, 426, 427, 428,
977 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
978 639, 0, 0, 0, 0, 439, 0, 421, 422, 423,
979 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
980 434, 435, 436, 437, 438, 0, 0, 0, 0, 0,
981 556, 421, 422, 423, 424, 425, 426, 427, 428, 429,
982 430, 431, 432, 433, 434, 435, 436, 437, 438, 0,
983 0, 0, 0, 0, 439, 421, 422, 423, 424, 425,
984 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
985 436, 437, 438, 0, 0, 0, 0, 0, 556, 421,
986 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
987 432, 433, 434, 435, 436, 437, 438, 0, 0, 0,
988 0, 0, 439, 421, 422, 423, 424, 425, 426, 427,
989 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
990 438, 0, 0, 0, 0, 0, 556
993 static const short int yycheck
[] =
995 39, 29, 9, 26, 18, 132, 22, 136, 22, 166,
996 9, 71, 394, 406, 342, 397, 549, 549, 22, 400,
997 348, 549, 374, 18, 23, 24, 25, 0, 34, 32,
998 350, 534, 39, 581, 55, 584, 33, 586, 0, 3,
999 38, 558, 6, 34, 41, 18, 10, 97, 12, 13,
1000 14, 15, 16, 17, 6, 7, 8, 55, 31, 452,
1001 33, 593, 50, 37, 71, 34, 0, 70, 42, 601,
1002 39, 33, 453, 601, 623, 39, 469, 37, 38, 206,
1003 40, 4, 5, 6, 477, 478, 9, 110, 6, 37,
1004 37, 9, 420, 41, 42, 129, 416, 17, 18, 419,
1005 38, 649, 141, 102, 147, 148, 149, 128, 107, 108,
1006 109, 439, 440, 465, 40, 467, 37, 43, 124, 40,
1007 39, 40, 625, 640, 38, 9, 125, 11, 41, 42,
1008 137, 191, 680, 636, 141, 42, 135, 136, 137, 138,
1009 139, 674, 674, 38, 42, 40, 145, 39, 40, 156,
1010 166, 55, 166, 656, 36, 704, 549, 689, 37, 198,
1011 677, 689, 166, 556, 557, 682, 43, 700, 700, 38,
1012 165, 185, 186, 466, 173, 468, 558, 17, 18, 39,
1013 40, 185, 186, 503, 191, 41, 506, 507, 187, 706,
1014 189, 42, 165, 31, 43, 115, 116, 117, 118, 119,
1015 120, 98, 99, 100, 101, 102, 103, 104, 601, 602,
1016 39, 40, 31, 342, 360, 361, 138, 139, 31, 348,
1017 37, 98, 99, 100, 101, 102, 103, 104, 42, 31,
1018 38, 6, 44, 626, 38, 123, 37, 589, 590, 38,
1019 37, 41, 635, 46, 42, 38, 639, 575, 576, 98,
1020 99, 100, 101, 102, 103, 104, 37, 37, 640, 33,
1021 46, 34, 39, 45, 40, 105, 106, 107, 108, 109,
1022 110, 111, 112, 113, 38, 38, 46, 37, 46, 37,
1023 673, 674, 38, 32, 46, 38, 443, 37, 39, 33,
1024 114, 420, 39, 613, 614, 677, 689, 39, 41, 40,
1025 682, 37, 41, 40, 39, 39, 39, 700, 39, 39,
1026 439, 440, 39, 373, 3, 4, 5, 6, 7, 8,
1027 9, 10, 11, 12, 706, 385, 40, 40, 17, 39,
1028 19, 20, 21, 22, 23, 24, 25, 26, 41, 46,
1029 38, 30, 38, 342, 41, 40, 385, 33, 347, 348,
1030 38, 38, 37, 510, 393, 39, 395, 37, 39, 41,
1031 3, 384, 33, 6, 40, 364, 373, 10, 37, 12,
1032 13, 14, 15, 16, 17, 40, 383, 39, 385, 40,
1033 38, 40, 32, 38, 33, 39, 33, 39, 41, 40,
1034 450, 33, 40, 39, 39, 33, 40, 396, 39, 39,
1035 333, 90, 91, 92, 626, 444, 445, 135, 180, 141,
1036 409, 46, 167, 412, 563, 31, 620, 186, 417, 363,
1037 28, 420, 470, 586, 367, 700, 393, 443, 592, 443,
1038 565, 397, -1, -1, -1, -1, -1, -1, -1, 443,
1039 439, 440, -1, 450, -1, -1, 575, 576, -1, -1,
1040 -1, -1, 466, -1, 468, -1, 463, -1, -1, 458,
1041 499, -1, 466, 462, 468, -1, -1, -1, -1, -1,
1042 -1, 470, -1, 477, -1, -1, -1, -1, -1, -1,
1043 -1, -1, -1, -1, 611, -1, -1, -1, -1, -1,
1044 -1, -1, -1, -1, 510, -1, 510, -1, -1, -1,
1045 -1, 500, -1, -1, -1, -1, 510, 36, -1, -1,
1046 -1, -1, -1, -1, 513, -1, -1, -1, -1, -1,
1047 -1, 560, -1, -1, 563, -1, -1, -1, -1, 552,
1048 -1, -1, -1, -1, 562, 542, -1, -1, -1, -1,
1049 -1, 540, -1, 72, 73, 74, 75, 76, 77, 78,
1050 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
1051 -1, -1, -1, -1, -1, -1, 565, -1, -1, 608,
1052 -1, -1, -1, -1, -1, -1, 575, 576, -1, 618,
1053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1054 -1, -1, -1, -1, -1, -1, -1, 625, -1, -1,
1055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, 612, -1, -1, -1, -1, -1, -1,
1057 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
1058 669, -1, -1, -1, -1, 674, -1, 48, 49, 50,
1059 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1060 61, 62, 63, 64, 65, -1, -1, -1, -1, 0,
1061 71, 700, 3, 4, 5, 6, 7, 8, 9, 10,
1062 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1063 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1064 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1065 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1066 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1067 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1068 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1069 81, 82, 83, 84, 85, -1, 87, -1, 89, 90,
1070 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1071 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1072 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1073 121, -1, 123, 124, -1, 126, 127, 128, 129, 0,
1074 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1075 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1076 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1077 31, 32, 33, 34, 35, -1, 37, 38, 39, 40,
1078 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1079 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1080 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1081 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1082 81, 82, 83, 84, 85, -1, 87, -1, 89, 90,
1083 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1084 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1085 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1086 121, 3, -1, 124, -1, 126, 127, 128, 129, -1,
1087 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1088 -1, -1, -1, -1, -1, 27, 28, 29, 30, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1090 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1091 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1092 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1093 72, 73, 74, 75, 76, 36, 37, -1, -1, -1,
1094 -1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
1095 -1, -1, 94, -1, 96, 97, 98, 99, 100, 101,
1096 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1097 112, 113, 114, 115, 116, 117, 118, 119, 120, -1,
1098 -1, -1, -1, -1, 126, -1, 128, -1, 89, 90,
1099 91, 92, 93, 94, 95, -1, 97, 4, 5, 6,
1100 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1101 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1102 121, -1, -1, 30, -1, 126, 3, 4, 5, 6,
1103 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
1104 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1105 -1, -1, -1, 30, 31, -1, 33, -1, 35, -1,
1106 -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
1107 -1, -1, -1, -1, -1, -1, 53, 54, 55, -1,
1108 -1, -1, 89, 90, 91, 92, 93, -1, -1, 66,
1109 67, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1110 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1111 -1, -1, -1, 90, 91, 92, 93, 94, -1, 96,
1112 97, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1113 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1114 117, 118, 119, 120, 3, -1, -1, -1, -1, -1,
1115 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1116 -1, -1, -1, -1, -1, -1, -1, -1, 27, 28,
1117 29, 30, 31, -1, 33, 34, 35, -1, -1, 38,
1118 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1119 -1, -1, -1, -1, 53, 54, 55, -1, -1, -1,
1120 -1, -1, -1, -1, -1, -1, -1, 66, 67, -1,
1121 -1, -1, -1, 72, 73, 74, 75, 76, -1, -1,
1122 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1123 -1, -1, -1, -1, -1, 94, -1, 96, 97, 98,
1124 99, 100, 101, -1, -1, -1, 105, 106, 107, 108,
1125 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1126 119, 120, 3, -1, -1, -1, -1, -1, -1, -1,
1127 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1128 -1, -1, -1, -1, -1, -1, 27, -1, -1, 30,
1129 31, -1, 33, -1, 35, -1, -1, 38, -1, -1,
1130 -1, -1, -1, -1, -1, -1, -1, -1, -1, 50,
1131 -1, -1, 53, 54, 55, -1, -1, -1, -1, -1,
1132 -1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
1133 -1, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1135 -1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
1136 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1137 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1138 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1139 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1140 -1, -1, -1, -1, 27, -1, -1, 30, 31, -1,
1141 33, -1, 35, -1, -1, 38, -1, -1, -1, -1,
1142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1143 53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
1144 -1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
1145 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
1146 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1147 -1, 94, 95, 96, 97, 98, 99, 100, 101, -1,
1148 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1149 113, 114, 115, 116, 117, 118, 119, 120, 3, -1,
1150 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1151 -1, -1, 17, 18, -1, -1, -1, -1, -1, -1,
1152 -1, -1, -1, -1, -1, 30, 31, -1, 33, -1,
1153 35, -1, -1, 38, -1, -1, -1, -1, -1, -1,
1154 -1, -1, -1, -1, -1, 50, -1, -1, 53, 54,
1155 55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1156 -1, 66, 67, -1, -1, 70, -1, 72, 73, 74,
1157 75, 76, -1, -1, -1, -1, -1, -1, -1, -1,
1158 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1159 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
1160 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1161 115, 116, 117, 118, 119, 120, 3, -1, -1, -1,
1162 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1163 17, 18, -1, -1, -1, -1, -1, -1, -1, -1,
1164 -1, -1, -1, 30, 31, 32, 33, -1, 35, -1,
1165 -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
1166 -1, -1, -1, 50, -1, -1, 53, 54, 55, -1,
1167 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
1168 67, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1170 -1, -1, -1, -1, -1, -1, -1, 94, -1, 96,
1171 97, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1172 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1173 117, 118, 119, 120, 3, -1, -1, -1, -1, -1,
1174 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1175 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1176 -1, 30, 31, -1, 33, -1, 35, -1, -1, 38,
1177 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1178 -1, 50, -1, -1, 53, 54, 55, -1, -1, -1,
1179 -1, -1, -1, -1, -1, -1, -1, 66, 67, -1,
1180 -1, -1, -1, 72, 73, 74, 75, 76, -1, -1,
1181 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1182 -1, -1, -1, -1, -1, 94, -1, 96, 97, 98,
1183 99, 100, 101, -1, -1, -1, 105, 106, 107, 108,
1184 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1185 119, 120, 3, -1, -1, -1, -1, -1, -1, -1,
1186 -1, 12, -1, -1, -1, -1, 17, 18, 19, 20,
1187 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1189 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1190 10, 11, -1, -1, 55, -1, -1, 17, -1, 19,
1191 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1192 30, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1193 -1, -1, -1, 43, -1, -1, -1, -1, -1, -1,
1194 -1, -1, -1, 94, -1, 96, 97, 98, 99, 100,
1195 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1196 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1197 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1198 90, 91, 92, 93, 17, 18, -1, -1, -1, -1,
1199 -1, -1, -1, -1, -1, -1, -1, 30, 31, -1,
1200 33, -1, 35, -1, -1, 38, -1, -1, -1, -1,
1201 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1202 53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
1203 -1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
1204 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
1205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1206 -1, 94, -1, 96, 97, 98, 99, 100, 101, -1,
1207 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1208 113, 114, 115, 116, 117, 118, 119, 120, 3, -1,
1209 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1210 -1, -1, 17, 18, -1, -1, -1, -1, -1, -1,
1211 -1, -1, -1, -1, -1, 30, -1, -1, 33, -1,
1212 35, -1, -1, 38, -1, -1, -1, -1, -1, -1,
1213 -1, -1, -1, -1, -1, -1, -1, -1, 53, 54,
1214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1215 -1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
1216 75, 76, -1, -1, -1, -1, -1, -1, -1, 84,
1217 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1218 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
1219 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1220 115, 116, 117, 118, 119, 120, 3, -1, -1, -1,
1221 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1222 17, 18, -1, -1, -1, -1, -1, -1, -1, -1,
1223 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1224 -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
1225 -1, -1, -1, -1, -1, 3, -1, -1, 55, -1,
1226 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1227 18, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1228 -1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
1229 -1, -1, -1, -1, -1, -1, -1, 94, -1, 96,
1230 97, 98, 99, 100, 101, -1, -1, 55, 105, 106,
1231 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1232 117, 118, 119, 120, 72, 73, 74, 75, 76, -1,
1233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, 94, -1, 96, 97,
1235 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1236 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1237 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1238 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1240 30, -1, -1, -1, -1, -1, -1, -1, 38, -1,
1241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1242 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
1243 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1244 -1, -1, 72, 73, 74, 75, 76, -1, -1, 30,
1245 -1, -1, -1, -1, -1, -1, -1, 38, -1, -1,
1246 -1, -1, -1, -1, 94, -1, 96, 97, 98, 99,
1247 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1248 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1249 120, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1251 -1, -1, -1, 94, -1, 96, 97, 98, 99, 100,
1252 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1253 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1254 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1255 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, -1, 30, -1, -1,
1257 -1, -1, -1, -1, -1, 38, -1, -1, -1, -1,
1258 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
1259 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1260 -1, -1, -1, 17, 18, -1, -1, -1, -1, 72,
1261 73, 74, 75, 76, -1, -1, 30, -1, -1, -1,
1262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1263 -1, 94, -1, 96, 97, 98, 99, 100, 101, -1,
1264 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1265 113, 114, 115, 116, 117, 118, 119, 120, 72, 73,
1266 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
1267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1268 94, -1, 96, 97, 98, 99, 100, 101, -1, -1,
1269 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1270 114, 115, 116, 117, 118, 119, 120, 4, 5, 6,
1271 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1272 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1273 -1, -1, -1, 30, 4, 5, 6, 7, 8, 9,
1274 10, 11, -1, -1, -1, -1, -1, 17, -1, 19,
1275 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1276 30, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1277 -1, -1, -1, 70, 17, -1, 19, 20, 21, 22,
1278 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
1279 -1, -1, -1, 90, 91, 92, 93, -1, -1, -1,
1280 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1281 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1282 90, 91, 92, 93, 17, -1, 19, 20, 21, 22,
1283 23, 24, 25, 26, -1, -1, -1, 30, 4, 5,
1284 6, 7, 8, 9, 10, 11, -1, 90, 91, 92,
1285 93, 17, -1, 19, 20, 21, 22, 23, 24, 25,
1286 26, -1, -1, -1, 30, 4, 5, 6, 7, 8,
1287 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1288 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1289 -1, 30, -1, -1, -1, -1, -1, 90, 91, 92,
1290 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1291 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1292 9, 10, 11, -1, 90, 91, 92, 93, 17, -1,
1293 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1294 -1, 30, 4, 5, 6, 7, 8, 9, 10, 11,
1295 -1, 90, 91, 92, 93, 17, -1, 19, 20, 21,
1296 22, 23, 24, 25, 26, -1, -1, -1, 30, 4,
1297 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1298 -1, -1, 17, -1, 19, 20, 21, 22, 23, 24,
1299 25, 26, -1, -1, -1, 30, -1, -1, -1, -1,
1300 -1, 90, 91, 92, 93, 4, 5, 6, 7, 8,
1301 9, 10, 11, -1, -1, -1, -1, -1, -1, -1,
1302 19, 20, 21, 22, 23, 24, 25, 26, 90, 91,
1303 92, 30, -1, -1, -1, -1, -1, -1, -1, -1,
1304 -1, -1, -1, -1, -1, -1, -1, -1, -1, 39,
1305 -1, -1, -1, -1, -1, 90, 91, 92, 48, 49,
1306 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1307 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
1308 -1, 71, -1, -1, -1, 39, -1, -1, -1, -1,
1309 -1, 90, 91, 92, 48, 49, 50, 51, 52, 53,
1310 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1311 64, 65, 39, -1, -1, -1, -1, 71, -1, -1,
1312 -1, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1313 57, 58, 59, 60, 61, 62, 63, 64, 65, 40,
1314 -1, -1, -1, -1, 71, -1, -1, 48, 49, 50,
1315 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1316 61, 62, 63, 64, 65, 41, -1, -1, -1, -1,
1317 71, -1, 48, 49, 50, 51, 52, 53, 54, 55,
1318 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1319 41, -1, -1, -1, -1, 71, -1, 48, 49, 50,
1320 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1321 61, 62, 63, 64, 65, -1, -1, -1, -1, -1,
1322 71, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1323 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
1324 -1, -1, -1, -1, 71, 48, 49, 50, 51, 52,
1325 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1326 63, 64, 65, -1, -1, -1, -1, -1, 71, 48,
1327 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1328 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
1329 -1, -1, 71, 48, 49, 50, 51, 52, 53, 54,
1330 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1331 65, -1, -1, -1, -1, -1, 71
1334 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1335 symbol of state STATE-NUM. */
1336 static const unsigned char yystos
[] =
1338 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1339 19, 20, 21, 22, 23, 24, 25, 26, 30, 36,
1340 37, 47, 89, 90, 91, 92, 93, 94, 95, 97,
1341 121, 126, 137, 138, 139, 140, 141, 159, 164, 166,
1342 167, 168, 169, 170, 171, 172, 173, 174, 179, 182,
1343 183, 186, 187, 188, 189, 190, 191, 194, 196, 197,
1344 203, 208, 218, 219, 9, 11, 3, 12, 17, 18,
1345 30, 38, 55, 72, 73, 74, 75, 76, 94, 96,
1346 97, 98, 99, 100, 101, 105, 106, 107, 108, 109,
1347 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1348 120, 135, 216, 217, 234, 244, 30, 90, 91, 92,
1349 93, 187, 194, 36, 72, 73, 74, 75, 76, 77,
1350 78, 79, 80, 81, 82, 83, 85, 86, 87, 88,
1351 142, 143, 144, 145, 147, 148, 149, 17, 90, 91,
1352 165, 166, 188, 189, 194, 203, 209, 210, 135, 135,
1353 135, 211, 3, 6, 10, 12, 17, 160, 161, 167,
1354 34, 219, 50, 252, 253, 30, 89, 186, 0, 139,
1355 135, 195, 215, 216, 4, 5, 6, 9, 175, 6,
1356 172, 178, 37, 129, 180, 38, 38, 42, 42, 215,
1357 216, 38, 135, 55, 128, 135, 135, 135, 40, 184,
1358 27, 28, 29, 126, 128, 135, 150, 151, 36, 0,
1359 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1360 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1361 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1362 33, 34, 35, 37, 38, 39, 40, 41, 42, 43,
1363 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1364 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1365 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1366 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1367 84, 85, 87, 89, 90, 91, 92, 93, 94, 95,
1368 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1369 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1370 116, 117, 118, 119, 120, 121, 124, 126, 127, 128,
1371 129, 136, 154, 155, 154, 34, 124, 146, 135, 150,
1372 33, 35, 38, 53, 54, 66, 67, 84, 134, 135,
1373 156, 135, 135, 211, 135, 211, 37, 171, 135, 41,
1374 213, 213, 213, 213, 216, 31, 37, 42, 31, 165,
1375 180, 44, 214, 38, 135, 6, 176, 6, 9, 177,
1376 175, 38, 37, 17, 93, 166, 192, 193, 194, 192,
1377 135, 204, 205, 98, 99, 100, 101, 102, 103, 104,
1378 225, 226, 227, 240, 241, 247, 248, 249, 135, 215,
1379 185, 195, 216, 123, 154, 136, 156, 38, 135, 156,
1380 38, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1381 57, 58, 59, 60, 61, 62, 63, 64, 65, 71,
1382 133, 37, 41, 42, 199, 199, 37, 198, 199, 198,
1383 38, 135, 46, 225, 38, 37, 37, 33, 215, 214,
1384 34, 181, 216, 17, 215, 39, 40, 39, 40, 46,
1385 40, 43, 195, 230, 31, 33, 35, 38, 134, 195,
1386 206, 207, 222, 242, 243, 244, 252, 195, 135, 250,
1387 251, 18, 243, 244, 43, 226, 206, 39, 135, 40,
1388 38, 39, 135, 156, 157, 158, 156, 156, 38, 165,
1389 200, 195, 195, 215, 27, 28, 29, 34, 162, 163,
1390 206, 43, 3, 6, 10, 12, 13, 14, 15, 16,
1391 17, 39, 220, 221, 223, 224, 45, 135, 34, 39,
1392 216, 214, 17, 70, 193, 214, 70, 206, 205, 46,
1393 37, 30, 93, 166, 206, 206, 71, 133, 46, 37,
1394 38, 32, 46, 38, 37, 40, 37, 37, 39, 195,
1395 135, 152, 153, 39, 39, 40, 41, 33, 41, 212,
1396 43, 165, 135, 37, 41, 39, 40, 222, 39, 39,
1397 39, 27, 95, 96, 114, 206, 229, 231, 232, 233,
1398 234, 253, 39, 39, 206, 206, 242, 195, 252, 185,
1399 251, 39, 40, 156, 156, 40, 33, 41, 40, 201,
1400 212, 39, 223, 41, 221, 223, 46, 214, 214, 114,
1401 231, 17, 18, 234, 237, 38, 38, 229, 206, 41,
1402 40, 245, 195, 39, 154, 135, 33, 41, 38, 195,
1403 202, 37, 201, 223, 252, 162, 38, 206, 222, 206,
1404 70, 242, 246, 39, 37, 39, 41, 33, 212, 40,
1405 37, 70, 222, 40, 40, 235, 39, 40, 38, 40,
1406 195, 32, 38, 206, 195, 228, 229, 230, 236, 253,
1407 39, 242, 33, 33, 212, 39, 238, 239, 242, 39,
1408 40, 229, 40, 39, 41, 39, 40, 228, 33, 223,
1412 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1413 static const unsigned char yyr1
[] =
1415 0, 132, 133, 133, 133, 133, 133, 133, 133, 133,
1416 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1417 134, 134, 134, 134, 135, 135, 135, 135, 135, 135,
1418 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1419 135, 135, 136, 136, 136, 136, 136, 136, 136, 136,
1420 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1421 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1422 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1423 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1424 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1425 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1426 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1427 136, 136, 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, 137, 137, 138, 138, 139, 139,
1432 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1433 139, 140, 141, 141, 142, 142, 142, 142, 142, 142,
1434 142, 142, 143, 143, 144, 144, 145, 145, 145, 146,
1435 146, 147, 147, 148, 148, 148, 149, 149, 150, 150,
1436 150, 150, 150, 150, 151, 151, 152, 152, 153, 153,
1437 154, 154, 155, 155, 156, 156, 156, 156, 156, 156,
1438 156, 156, 156, 156, 157, 157, 158, 158, 159, 160,
1439 161, 161, 161, 161, 162, 162, 162, 163, 163, 163,
1440 163, 164, 164, 164, 165, 165, 165, 165, 165, 165,
1441 166, 166, 167, 167, 168, 168, 168, 169, 169, 169,
1442 169, 170, 170, 170, 171, 171, 171, 171, 171, 171,
1443 171, 171, 172, 172, 173, 173, 173, 174, 174, 174,
1444 174, 175, 175, 175, 175, 175, 176, 176, 177, 177,
1445 177, 178, 178, 178, 179, 179, 180, 180, 181, 181,
1446 182, 183, 184, 184, 185, 185, 186, 186, 187, 187,
1447 188, 188, 189, 189, 190, 190, 190, 190, 191, 191,
1448 192, 192, 192, 192, 193, 193, 193, 193, 194, 194,
1449 194, 194, 195, 195, 196, 197, 198, 198, 199, 200,
1450 200, 201, 201, 202, 202, 203, 204, 204, 205, 205,
1451 206, 206, 206, 206, 206, 206, 207, 207, 207, 207,
1452 208, 209, 210, 211, 211, 212, 212, 212, 212, 213,
1453 213, 214, 214, 215, 215, 216, 216, 217, 217, 218,
1454 218, 219, 219, 219, 220, 220, 221, 221, 222, 223,
1455 224, 224, 224, 224, 224, 224, 224, 224, 224, 225,
1456 225, 226, 226, 226, 226, 226, 227, 227, 228, 228,
1457 228, 229, 229, 229, 229, 229, 229, 230, 230, 231,
1458 232, 233, 234, 234, 234, 234, 234, 234, 234, 234,
1459 234, 234, 235, 235, 236, 236, 237, 237, 238, 238,
1460 239, 239, 240, 241, 242, 242, 242, 243, 243, 244,
1461 244, 244, 244, 244, 244, 244, 244, 245, 245, 246,
1462 246, 247, 248, 248, 249, 250, 250, 251, 252, 252,
1466 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1467 static const unsigned char yyr2
[] =
1469 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1472 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1475 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1477 1, 1, 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, 0, 1, 1, 2, 1, 1,
1486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1487 1, 3, 2, 3, 2, 2, 1, 2, 2, 2,
1488 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1490 1, 1, 1, 1, 6, 2, 0, 1, 1, 3,
1491 0, 1, 1, 2, 3, 2, 3, 5, 2, 4,
1492 1, 1, 1, 4, 0, 1, 1, 3, 6, 1,
1493 1, 1, 1, 1, 0, 1, 1, 1, 1, 1,
1494 1, 3, 4, 4, 1, 1, 2, 4, 4, 2,
1495 2, 1, 1, 1, 2, 2, 2, 1, 1, 1,
1496 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
1497 1, 1, 1, 1, 1, 1, 2, 1, 1, 2,
1498 2, 0, 1, 2, 1, 2, 0, 1, 0, 1,
1499 1, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1500 2, 3, 0, 2, 1, 3, 1, 2, 1, 1,
1501 5, 7, 5, 7, 6, 7, 6, 5, 1, 2,
1502 0, 1, 1, 3, 1, 2, 3, 2, 1, 2,
1503 4, 3, 3, 2, 4, 4, 1, 1, 3, 4,
1504 5, 0, 2, 2, 4, 4, 1, 3, 1, 3,
1505 1, 4, 3, 3, 2, 5, 1, 1, 1, 1,
1506 2, 2, 2, 0, 1, 0, 2, 7, 9, 0,
1507 7, 0, 3, 0, 1, 1, 2, 1, 2, 4,
1508 5, 7, 8, 13, 1, 3, 2, 4, 2, 1,
1509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1510 2, 1, 1, 1, 1, 1, 3, 6, 1, 2,
1511 1, 1, 1, 2, 1, 1, 1, 3, 4, 6,
1512 8, 5, 1, 1, 1, 1, 1, 1, 1, 1,
1513 1, 1, 0, 2, 1, 3, 1, 1, 0, 1,
1514 1, 3, 3, 3, 1, 1, 3, 5, 6, 1,
1515 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
1516 3, 3, 1, 1, 3, 1, 3, 4, 0, 1,
1521 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1522 static const unsigned char yydprec
[] =
1524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1575 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1576 static const unsigned char yymerger
[] =
1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1629 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1630 in the case of predicates. */
1631 static const yybool yyimmediate
[] =
1633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1684 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1685 list of conflicting reductions corresponding to action entry for
1686 state STATE-NUM in yytable. 0 means no conflicts. The list in
1687 yyconfl is terminated by a rule number of 0. */
1688 static const unsigned short int yyconflp
[] =
1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 5, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 259, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 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, 7,
1756 0, 0, 9, 11, 13, 15, 17, 19, 21, 23,
1757 25, 27, 29, 31, 33, 35, 37, 39, 41, 43,
1758 45, 47, 49, 51, 53, 55, 57, 59, 61, 63,
1759 65, 67, 69, 71, 73, 75, 77, 79, 81, 83,
1760 85, 87, 89, 91, 93, 95, 97, 99, 101, 103,
1761 105, 107, 109, 111, 113, 115, 117, 119, 121, 123,
1762 125, 127, 129, 131, 133, 135, 137, 139, 141, 143,
1763 145, 147, 149, 151, 153, 155, 157, 159, 161, 163,
1764 165, 167, 169, 171, 173, 0, 175, 0, 177, 179,
1765 181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
1766 201, 203, 205, 207, 209, 211, 213, 215, 217, 219,
1767 221, 223, 225, 227, 229, 231, 233, 235, 237, 239,
1768 241, 0, 243, 245, 0, 247, 249, 251, 253, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 1, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 3, 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, 255, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 257, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 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, 261, 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, 263
2029 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2030 0, pointed into by YYCONFLP. */
2031 static const short int yyconfl
[] =
2033 0, 270, 0, 270, 0, 338, 0, 465, 0, 465,
2034 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2035 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2036 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2037 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2038 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2039 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2040 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2041 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2042 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2043 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2044 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2045 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2046 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2047 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2048 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2049 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2050 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2051 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2052 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2053 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2054 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2055 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2056 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2057 0, 465, 0, 465, 0, 465, 0, 465, 0, 465,
2058 0, 465, 0, 465, 0, 270, 0, 270, 0, 270,
2062 /* Error token number */
2069 #define yynerrs (yystackp->yyerrcnt)
2071 #define yychar (yystackp->yyrawchar)
2073 #define yylval (yystackp->yyval)
2075 #define yylloc (yystackp->yyloc)
2076 #define psi_parser_proc_nerrs yynerrs
2077 #define psi_parser_proc_char yychar
2078 #define psi_parser_proc_lval yylval
2079 #define psi_parser_proc_lloc yylloc
2081 static const int YYEOF
= 0;
2082 static const int YYEMPTY
= -2;
2084 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2086 #define YYCHK(YYE) \
2088 YYRESULTTAG yychk_flag = YYE; \
2089 if (yychk_flag != yyok) \
2090 return yychk_flag; \
2096 # define YYFPRINTF fprintf
2099 /* This macro is provided for backward compatibility. */
2100 #ifndef YY_LOCATION_PRINT
2101 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2105 # define YYDPRINTF(Args) \
2112 /*----------------------------------------.
2113 | Print this symbol's value on YYOUTPUT. |
2114 `----------------------------------------*/
2117 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2119 FILE *yyo
= yyoutput
;
2130 /*--------------------------------.
2131 | Print this symbol on YYOUTPUT. |
2132 `--------------------------------*/
2135 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2137 YYFPRINTF (yyoutput
, "%s %s (",
2138 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2140 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2141 YYFPRINTF (yyoutput
, ")");
2144 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2148 YYFPRINTF (stderr, "%s ", Title); \
2149 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2150 YYFPRINTF (stderr, "\n"); \
2154 /* Nonzero means print parse trace. It is left uninitialized so that
2155 multiple parsers can coexist. */
2159 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2160 YY_ATTRIBUTE_UNUSED
;
2161 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2162 YY_ATTRIBUTE_UNUSED
;
2164 #else /* !YYDEBUG */
2166 # define YYDPRINTF(Args)
2167 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2169 #endif /* !YYDEBUG */
2171 /* YYINITDEPTH -- initial size of the parser's stacks. */
2173 # define YYINITDEPTH 200
2176 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2177 if the built-in stack extension method is used).
2179 Do not make this value too large; the results are undefined if
2180 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2181 evaluated with infinite-precision integer arithmetic. */
2184 # define YYMAXDEPTH 10000
2187 /* Minimum number of free items on the stack allowed after an
2188 allocation. This is to allow allocation and initialization
2189 to be completed by functions that call yyexpandGLRStack before the
2190 stack is expanded, thus insuring that all necessary pointers get
2191 properly redirected to new data. */
2192 #define YYHEADROOM 2
2194 #ifndef YYSTACKEXPANDABLE
2195 # define YYSTACKEXPANDABLE 1
2198 #if YYSTACKEXPANDABLE
2199 # define YY_RESERVE_GLRSTACK(Yystack) \
2201 if (Yystack->yyspaceLeft < YYHEADROOM) \
2202 yyexpandGLRStack (Yystack); \
2205 # define YY_RESERVE_GLRSTACK(Yystack) \
2207 if (Yystack->yyspaceLeft < YYHEADROOM) \
2208 yyMemoryExhausted (Yystack); \
2216 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2217 # define yystpcpy stpcpy
2219 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2222 yystpcpy (char *yydest
, const char *yysrc
)
2225 const char *yys
= yysrc
;
2227 while ((*yyd
++ = *yys
++) != '\0')
2236 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2237 quotes and backslashes, so that it's suitable for yyerror. The
2238 heuristic is that double-quoting is unnecessary unless the string
2239 contains an apostrophe, a comma, or backslash (other than
2240 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2241 null, do not copy; instead, return the length of what the result
2244 yytnamerr (char *yyres
, const char *yystr
)
2249 char const *yyp
= yystr
;
2256 goto do_not_strip_quotes
;
2260 goto do_not_strip_quotes
;
2273 do_not_strip_quotes
: ;
2277 return strlen (yystr
);
2279 return yystpcpy (yyres
, yystr
) - yyres
;
2283 #endif /* !YYERROR_VERBOSE */
2285 /** State numbers, as in LALR(1) machine */
2286 typedef int yyStateNum
;
2288 /** Rule numbers, as in LALR(1) machine */
2289 typedef int yyRuleNum
;
2291 /** Grammar symbol */
2292 typedef int yySymbol
;
2294 /** Item references, as in LALR(1) machine */
2295 typedef short int yyItemNum
;
2297 typedef struct yyGLRState yyGLRState
;
2298 typedef struct yyGLRStateSet yyGLRStateSet
;
2299 typedef struct yySemanticOption yySemanticOption
;
2300 typedef union yyGLRStackItem yyGLRStackItem
;
2301 typedef struct yyGLRStack yyGLRStack
;
2304 /** Type tag: always true. */
2306 /** Type tag for yysemantics. If true, yysval applies, otherwise
2307 * yyfirstVal applies. */
2309 /** Number of corresponding LALR(1) machine state. */
2310 yyStateNum yylrState
;
2311 /** Preceding state in this stack */
2313 /** Source position of the last token produced by my symbol */
2316 /** First in a chain of alternative reductions producing the
2317 * non-terminal corresponding to this state, threaded through
2319 yySemanticOption
* yyfirstVal
;
2320 /** Semantic value for this state. */
2325 struct yyGLRStateSet
{
2326 yyGLRState
** yystates
;
2327 /** During nondeterministic operation, yylookaheadNeeds tracks which
2328 * stacks have actually needed the current lookahead. During deterministic
2329 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2330 * duplicate yychar != YYEMPTY. */
2331 yybool
* yylookaheadNeeds
;
2332 size_t yysize
, yycapacity
;
2335 struct yySemanticOption
{
2336 /** Type tag: always false. */
2338 /** Rule number for this reduction */
2340 /** The last RHS state in the list of states to be reduced. */
2341 yyGLRState
* yystate
;
2342 /** The lookahead for this reduction. */
2345 /** Next sibling in chain of options. To facilitate merging,
2346 * options are chained in decreasing order by address. */
2347 yySemanticOption
* yynext
;
2350 /** Type of the items in the GLR stack. The yyisState field
2351 * indicates which item of the union is valid. */
2352 union yyGLRStackItem
{
2354 yySemanticOption yyoption
;
2365 YYJMP_BUF yyexception_buffer
;
2366 yyGLRStackItem
* yyitems
;
2367 yyGLRStackItem
* yynextFree
;
2369 yyGLRState
* yysplitPoint
;
2370 yyGLRState
* yylastDeleted
;
2371 yyGLRStateSet yytops
;
2374 #if YYSTACKEXPANDABLE
2375 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2378 static _Noreturn
void
2379 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2381 if (yymsg
!= YY_NULLPTR
)
2382 yyerror (P
, tokens
, index
, yymsg
);
2383 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2386 static _Noreturn
void
2387 yyMemoryExhausted (yyGLRStack
* yystackp
)
2389 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2392 #if YYDEBUG || YYERROR_VERBOSE
2393 /** A printable representation of TOKEN. */
2394 static inline const char*
2395 yytokenName (yySymbol yytoken
)
2397 if (yytoken
== YYEMPTY
)
2400 return yytname
[yytoken
];
2404 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2405 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2406 * containing the pointer to the next state in the chain. */
2407 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2409 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2412 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2413 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2416 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2418 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2420 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2422 /* The effect of using yysval or yyloc (in an immediate rule) is
2424 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2425 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2429 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2430 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2431 * For convenience, always return YYLOW1. */
2432 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2433 YY_ATTRIBUTE_UNUSED
;
2435 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2437 if (!yynormal
&& yylow1
< *yylow
)
2439 yyfillin (yyvsp
, *yylow
, yylow1
);
2445 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2446 * and top stack item YYVSP. YYLVALP points to place to put semantic
2447 * value ($$), and yylocp points to place for location information
2448 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2449 * yyerr for YYERROR, yyabort for YYABORT. */
2451 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2452 yyGLRStack
* yystackp
,
2453 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2455 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2463 # define yyerrok (yystackp->yyerrState = 0)
2465 # define YYACCEPT return yyaccept
2467 # define YYABORT return yyabort
2469 # define YYERROR return yyerrok, yyerr
2470 # undef YYRECOVERING
2471 # define YYRECOVERING() (yystackp->yyerrState != 0)
2473 # define yyclearin (yychar = YYEMPTY)
2475 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2477 # define YYBACKUP(Token, Value) \
2478 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2483 *yyvalp
= yyval_default
;
2485 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2489 #line 391 "src/parser_proc_grammar.y" /* glr.c:816 */
2491 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2492 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2493 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2496 #line 2497 "src/parser_proc.c" /* glr.c:816 */
2500 #line 397 "src/parser_proc_grammar.y" /* glr.c:816 */
2503 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2504 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2506 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
);
2509 #line 2510 "src/parser_proc.c" /* glr.c:816 */
2513 #line 405 "src/parser_proc_grammar.y" /* glr.c:816 */
2515 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2517 #line 2518 "src/parser_proc.c" /* glr.c:816 */
2521 #line 408 "src/parser_proc_grammar.y" /* glr.c:816 */
2523 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2525 #line 2526 "src/parser_proc.c" /* glr.c:816 */
2529 #line 412 "src/parser_proc_grammar.y" /* glr.c:816 */
2531 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2533 #line 2534 "src/parser_proc.c" /* glr.c:816 */
2537 #line 415 "src/parser_proc_grammar.y" /* glr.c:816 */
2539 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2541 #line 2542 "src/parser_proc.c" /* glr.c:816 */
2545 #line 418 "src/parser_proc_grammar.y" /* glr.c:816 */
2547 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2549 #line 2550 "src/parser_proc.c" /* glr.c:816 */
2553 #line 421 "src/parser_proc_grammar.y" /* glr.c:816 */
2555 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2557 #line 2558 "src/parser_proc.c" /* glr.c:816 */
2561 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2563 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2565 #line 2566 "src/parser_proc.c" /* glr.c:816 */
2569 #line 430 "src/parser_proc_grammar.y" /* glr.c:816 */
2571 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2573 #line 2574 "src/parser_proc.c" /* glr.c:816 */
2577 #line 436 "src/parser_proc_grammar.y" /* glr.c:816 */
2579 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2581 #line 2582 "src/parser_proc.c" /* glr.c:816 */
2585 #line 439 "src/parser_proc_grammar.y" /* glr.c:816 */
2587 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2589 #line 2590 "src/parser_proc.c" /* glr.c:816 */
2593 #line 445 "src/parser_proc_grammar.y" /* glr.c:816 */
2595 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2596 struct psi_token
*msg
= NULL
;
2598 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2600 struct psi_token
*next
;
2602 msg
= psi_token_copy(msg
);
2603 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2604 struct psi_token
*old
= msg
;
2605 msg
= psi_token_cat(" ", 2, msg
, next
);
2609 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2611 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2613 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2615 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2617 #line 2618 "src/parser_proc.c" /* glr.c:816 */
2621 #line 468 "src/parser_proc_grammar.y" /* glr.c:816 */
2623 (*(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
))));
2624 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2626 #line 2627 "src/parser_proc.c" /* glr.c:816 */
2630 #line 472 "src/parser_proc_grammar.y" /* glr.c:816 */
2632 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2633 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2635 #line 2636 "src/parser_proc.c" /* glr.c:816 */
2639 #line 476 "src/parser_proc_grammar.y" /* glr.c:816 */
2641 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2642 (*(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
))));
2643 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2645 #line 2646 "src/parser_proc.c" /* glr.c:816 */
2649 #line 481 "src/parser_proc_grammar.y" /* glr.c:816 */
2651 (*(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
)));
2652 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2654 #line 2655 "src/parser_proc.c" /* glr.c:816 */
2658 #line 485 "src/parser_proc_grammar.y" /* glr.c:816 */
2660 (*(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
)));
2661 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2663 #line 2664 "src/parser_proc.c" /* glr.c:816 */
2667 #line 489 "src/parser_proc_grammar.y" /* glr.c:816 */
2669 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2670 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2672 #line 2673 "src/parser_proc.c" /* glr.c:816 */
2676 #line 493 "src/parser_proc_grammar.y" /* glr.c:816 */
2678 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2679 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2681 #line 2682 "src/parser_proc.c" /* glr.c:816 */
2685 #line 546 "src/parser_proc_grammar.y" /* glr.c:816 */
2687 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2688 (*(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
);
2689 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2691 #line 2692 "src/parser_proc.c" /* glr.c:816 */
2695 #line 551 "src/parser_proc_grammar.y" /* glr.c:816 */
2697 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2698 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2699 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2701 #line 2702 "src/parser_proc.c" /* glr.c:816 */
2705 #line 559 "src/parser_proc_grammar.y" /* glr.c:816 */
2707 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2709 #line 2710 "src/parser_proc.c" /* glr.c:816 */
2713 #line 566 "src/parser_proc_grammar.y" /* glr.c:816 */
2715 (*(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
)));
2716 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2717 (*(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
)));
2719 #line 2720 "src/parser_proc.c" /* glr.c:816 */
2723 #line 571 "src/parser_proc_grammar.y" /* glr.c:816 */
2725 (*(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
)));
2726 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2727 (*(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
)));
2729 #line 2730 "src/parser_proc.c" /* glr.c:816 */
2733 #line 579 "src/parser_proc_grammar.y" /* glr.c:816 */
2735 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2737 #line 2738 "src/parser_proc.c" /* glr.c:816 */
2741 #line 586 "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_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
)));
2746 #line 2747 "src/parser_proc.c" /* glr.c:816 */
2750 #line 590 "src/parser_proc_grammar.y" /* glr.c:816 */
2752 (*(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
)));
2753 (*(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
)));
2755 #line 2756 "src/parser_proc.c" /* glr.c:816 */
2759 #line 597 "src/parser_proc_grammar.y" /* glr.c:816 */
2761 (*(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
)));
2762 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
2764 #line 2765 "src/parser_proc.c" /* glr.c:816 */
2768 #line 601 "src/parser_proc_grammar.y" /* glr.c:816 */
2770 (*(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
)));
2771 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2773 #line 2774 "src/parser_proc.c" /* glr.c:816 */
2777 #line 605 "src/parser_proc_grammar.y" /* glr.c:816 */
2779 (*(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
)));
2780 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2782 #line 2783 "src/parser_proc.c" /* glr.c:816 */
2786 #line 609 "src/parser_proc_grammar.y" /* glr.c:816 */
2788 (*(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
)));
2789 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2791 #line 2792 "src/parser_proc.c" /* glr.c:816 */
2795 #line 614 "src/parser_proc_grammar.y" /* glr.c:816 */
2800 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2801 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2802 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2803 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2806 #line 2807 "src/parser_proc.c" /* glr.c:816 */
2810 #line 624 "src/parser_proc_grammar.y" /* glr.c:816 */
2815 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2816 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2817 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2818 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2821 #line 2822 "src/parser_proc.c" /* glr.c:816 */
2825 #line 634 "src/parser_proc_grammar.y" /* glr.c:816 */
2827 (*(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
));
2828 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2829 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2831 #line 2832 "src/parser_proc.c" /* glr.c:816 */
2835 #line 639 "src/parser_proc_grammar.y" /* glr.c:816 */
2837 (*(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));
2838 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2839 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2841 #line 2842 "src/parser_proc.c" /* glr.c:816 */
2845 #line 644 "src/parser_proc_grammar.y" /* glr.c:816 */
2847 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2848 (*(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));
2849 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2850 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2852 #line 2853 "src/parser_proc.c" /* glr.c:816 */
2856 #line 650 "src/parser_proc_grammar.y" /* glr.c:816 */
2858 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2859 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
2860 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));
2861 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2863 #line 2864 "src/parser_proc.c" /* glr.c:816 */
2867 #line 659 "src/parser_proc_grammar.y" /* glr.c:816 */
2869 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2871 #line 2872 "src/parser_proc.c" /* glr.c:816 */
2875 #line 666 "src/parser_proc_grammar.y" /* glr.c:816 */
2877 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
2878 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2880 #line 2881 "src/parser_proc.c" /* glr.c:816 */
2884 #line 670 "src/parser_proc_grammar.y" /* glr.c:816 */
2886 (*(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
)));
2888 #line 2889 "src/parser_proc.c" /* glr.c:816 */
2892 #line 676 "src/parser_proc_grammar.y" /* glr.c:816 */
2894 (*(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
)));
2895 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2897 #line 2898 "src/parser_proc.c" /* glr.c:816 */
2901 #line 683 "src/parser_proc_grammar.y" /* glr.c:816 */
2903 (*(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
);
2905 #line 2906 "src/parser_proc.c" /* glr.c:816 */
2909 #line 696 "src/parser_proc_grammar.y" /* glr.c:816 */
2911 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
2913 #line 2914 "src/parser_proc.c" /* glr.c:816 */
2917 #line 699 "src/parser_proc_grammar.y" /* glr.c:816 */
2919 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
)) {
2921 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
2923 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
2924 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
2926 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
2930 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
2931 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
2932 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
2933 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
2934 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
2935 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
2936 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
2937 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
2938 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
2939 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
2945 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
2947 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2949 #line 2950 "src/parser_proc.c" /* glr.c:816 */
2953 #line 730 "src/parser_proc_grammar.y" /* glr.c:816 */
2955 (*(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
);
2956 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2958 #line 2959 "src/parser_proc.c" /* glr.c:816 */
2962 #line 744 "src/parser_proc_grammar.y" /* glr.c:816 */
2964 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2966 #line 2967 "src/parser_proc.c" /* glr.c:816 */
2970 #line 747 "src/parser_proc_grammar.y" /* glr.c:816 */
2972 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
2973 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
2974 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
2976 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
2977 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
2978 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2980 #line 2981 "src/parser_proc.c" /* glr.c:816 */
2984 #line 756 "src/parser_proc_grammar.y" /* glr.c:816 */
2986 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2988 #line 2989 "src/parser_proc.c" /* glr.c:816 */
2992 #line 763 "src/parser_proc_grammar.y" /* glr.c:816 */
2994 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
2995 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
2996 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
2998 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
2999 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3001 #line 3002 "src/parser_proc.c" /* glr.c:816 */
3005 #line 771 "src/parser_proc_grammar.y" /* glr.c:816 */
3007 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3008 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3009 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3010 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3012 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3013 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3014 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3015 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3017 #line 3018 "src/parser_proc.c" /* glr.c:816 */
3021 #line 782 "src/parser_proc_grammar.y" /* glr.c:816 */
3023 (*(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
)));
3024 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3025 (*(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
)));
3026 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3027 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3028 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3029 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3031 #line 3032 "src/parser_proc.c" /* glr.c:816 */
3035 #line 791 "src/parser_proc_grammar.y" /* glr.c:816 */
3037 (*(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
)));
3038 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3039 (*(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
)));
3040 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3041 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3042 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3043 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3045 #line 3046 "src/parser_proc.c" /* glr.c:816 */
3049 #line 800 "src/parser_proc_grammar.y" /* glr.c:816 */
3051 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3052 (*(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));
3053 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3055 #line 3056 "src/parser_proc.c" /* glr.c:816 */
3059 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
3061 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3063 #line 3064 "src/parser_proc.c" /* glr.c:816 */
3067 #line 815 "src/parser_proc_grammar.y" /* glr.c:816 */
3069 (*(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
);
3070 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3072 #line 3073 "src/parser_proc.c" /* glr.c:816 */
3076 #line 823 "src/parser_proc_grammar.y" /* glr.c:816 */
3078 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3079 (*(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
);
3080 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3082 #line 3083 "src/parser_proc.c" /* glr.c:816 */
3086 #line 828 "src/parser_proc_grammar.y" /* glr.c:816 */
3088 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3089 (*(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
);
3090 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3092 #line 3093 "src/parser_proc.c" /* glr.c:816 */
3096 #line 833 "src/parser_proc_grammar.y" /* glr.c:816 */
3098 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3099 (*(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
);
3100 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3102 #line 3103 "src/parser_proc.c" /* glr.c:816 */
3106 #line 843 "src/parser_proc_grammar.y" /* glr.c:816 */
3108 (*(struct psi_token
**)(&(*yyvalp
))) = 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 846 "src/parser_proc_grammar.y" /* glr.c:816 */
3116 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3118 #line 3119 "src/parser_proc.c" /* glr.c:816 */
3122 #line 852 "src/parser_proc_grammar.y" /* glr.c:816 */
3124 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3126 #line 3127 "src/parser_proc.c" /* glr.c:816 */
3130 #line 855 "src/parser_proc_grammar.y" /* glr.c:816 */
3132 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3134 #line 3135 "src/parser_proc.c" /* glr.c:816 */
3138 #line 858 "src/parser_proc_grammar.y" /* glr.c:816 */
3140 (*(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
)));
3142 #line 3143 "src/parser_proc.c" /* glr.c:816 */
3146 #line 880 "src/parser_proc_grammar.y" /* glr.c:816 */
3148 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3150 #line 3151 "src/parser_proc.c" /* glr.c:816 */
3154 #line 883 "src/parser_proc_grammar.y" /* glr.c:816 */
3156 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3158 #line 3159 "src/parser_proc.c" /* glr.c:816 */
3162 #line 886 "src/parser_proc_grammar.y" /* glr.c:816 */
3164 (*(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
)));
3166 #line 3167 "src/parser_proc.c" /* glr.c:816 */
3170 #line 892 "src/parser_proc_grammar.y" /* glr.c:816 */
3172 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3174 #line 3175 "src/parser_proc.c" /* glr.c:816 */
3178 #line 895 "src/parser_proc_grammar.y" /* glr.c:816 */
3180 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3182 #line 3183 "src/parser_proc.c" /* glr.c:816 */
3186 #line 898 "src/parser_proc_grammar.y" /* glr.c:816 */
3188 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3189 (*(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
)));
3190 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3192 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3195 #line 3196 "src/parser_proc.c" /* glr.c:816 */
3199 #line 906 "src/parser_proc_grammar.y" /* glr.c:816 */
3201 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3202 (*(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
)));
3203 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3204 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3206 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3209 #line 3210 "src/parser_proc.c" /* glr.c:816 */
3213 #line 918 "src/parser_proc_grammar.y" /* glr.c:816 */
3215 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3217 #line 3218 "src/parser_proc.c" /* glr.c:816 */
3221 #line 921 "src/parser_proc_grammar.y" /* glr.c:816 */
3223 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3225 #line 3226 "src/parser_proc.c" /* glr.c:816 */
3229 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3231 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3232 (*(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
)));
3234 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3237 #line 3238 "src/parser_proc.c" /* glr.c:816 */
3241 #line 931 "src/parser_proc_grammar.y" /* glr.c:816 */
3243 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3245 #line 3246 "src/parser_proc.c" /* glr.c:816 */
3249 #line 934 "src/parser_proc_grammar.y" /* glr.c:816 */
3251 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3252 (*(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
)));
3254 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3257 #line 3258 "src/parser_proc.c" /* glr.c:816 */
3261 #line 944 "src/parser_proc_grammar.y" /* glr.c:816 */
3263 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3265 #line 3266 "src/parser_proc.c" /* glr.c:816 */
3269 #line 950 "src/parser_proc_grammar.y" /* glr.c:816 */
3271 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3273 #line 3274 "src/parser_proc.c" /* glr.c:816 */
3277 #line 958 "src/parser_proc_grammar.y" /* glr.c:816 */
3279 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3281 #line 3282 "src/parser_proc.c" /* glr.c:816 */
3285 #line 961 "src/parser_proc_grammar.y" /* glr.c:816 */
3287 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3289 #line 3290 "src/parser_proc.c" /* glr.c:816 */
3293 #line 964 "src/parser_proc_grammar.y" /* glr.c:816 */
3295 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3296 (*(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
)));
3297 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3299 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3302 #line 3303 "src/parser_proc.c" /* glr.c:816 */
3306 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
3308 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3310 #line 3311 "src/parser_proc.c" /* glr.c:816 */
3314 #line 978 "src/parser_proc_grammar.y" /* glr.c:816 */
3316 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3318 #line 3319 "src/parser_proc.c" /* glr.c:816 */
3322 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3324 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3326 #line 3327 "src/parser_proc.c" /* glr.c:816 */
3330 #line 1005 "src/parser_proc_grammar.y" /* glr.c:816 */
3332 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3334 #line 3335 "src/parser_proc.c" /* glr.c:816 */
3338 #line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */
3340 (*(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
)));
3342 #line 3343 "src/parser_proc.c" /* glr.c:816 */
3346 #line 1014 "src/parser_proc_grammar.y" /* glr.c:816 */
3348 (*(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
)));
3350 #line 3351 "src/parser_proc.c" /* glr.c:816 */
3354 #line 1021 "src/parser_proc_grammar.y" /* glr.c:816 */
3356 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3357 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3359 #line 3360 "src/parser_proc.c" /* glr.c:816 */
3363 #line 1033 "src/parser_proc_grammar.y" /* glr.c:816 */
3365 (*(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
)));
3366 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3367 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3368 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3371 #line 3372 "src/parser_proc.c" /* glr.c:816 */
3375 #line 1040 "src/parser_proc_grammar.y" /* glr.c:816 */
3377 (*(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
)));
3378 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3379 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3380 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3381 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3384 #line 3385 "src/parser_proc.c" /* glr.c:816 */
3388 #line 1051 "src/parser_proc_grammar.y" /* glr.c:816 */
3390 (*(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
)));
3391 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3392 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3393 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3396 #line 3397 "src/parser_proc.c" /* glr.c:816 */
3400 #line 1058 "src/parser_proc_grammar.y" /* glr.c:816 */
3402 (*(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
)));
3403 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3404 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3405 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3406 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3409 #line 3410 "src/parser_proc.c" /* glr.c:816 */
3413 #line 1069 "src/parser_proc_grammar.y" /* glr.c:816 */
3415 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3416 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3417 (*(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));
3418 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3419 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3421 #line 3422 "src/parser_proc.c" /* glr.c:816 */
3425 #line 1076 "src/parser_proc_grammar.y" /* glr.c:816 */
3427 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3428 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3429 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3430 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
),
3431 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)
3433 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3434 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3435 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3437 #line 3438 "src/parser_proc.c" /* glr.c:816 */
3441 #line 1087 "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(
3446 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
),
3447 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)
3449 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3450 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3451 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3453 #line 3454 "src/parser_proc.c" /* glr.c:816 */
3457 #line 1098 "src/parser_proc_grammar.y" /* glr.c:816 */
3459 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3460 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3461 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3462 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
),
3463 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3465 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3466 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3467 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3469 #line 3470 "src/parser_proc.c" /* glr.c:816 */
3473 #line 1113 "src/parser_proc_grammar.y" /* glr.c:816 */
3475 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3476 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
),
3477 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3479 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3480 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3481 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3483 #line 3484 "src/parser_proc.c" /* glr.c:816 */
3487 #line 1125 "src/parser_proc_grammar.y" /* glr.c:816 */
3489 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3491 #line 3492 "src/parser_proc.c" /* glr.c:816 */
3495 #line 1128 "src/parser_proc_grammar.y" /* glr.c:816 */
3497 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3499 #line 3500 "src/parser_proc.c" /* glr.c:816 */
3503 #line 1131 "src/parser_proc_grammar.y" /* glr.c:816 */
3505 (*(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
)));
3507 #line 3508 "src/parser_proc.c" /* glr.c:816 */
3511 #line 1134 "src/parser_proc_grammar.y" /* glr.c:816 */
3513 (*(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
)));
3515 #line 3516 "src/parser_proc.c" /* glr.c:816 */
3519 #line 1141 "src/parser_proc_grammar.y" /* glr.c:816 */
3521 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3523 #line 3524 "src/parser_proc.c" /* glr.c:816 */
3527 #line 1144 "src/parser_proc_grammar.y" /* glr.c:816 */
3529 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3530 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3531 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3534 #line 3535 "src/parser_proc.c" /* glr.c:816 */
3538 #line 1150 "src/parser_proc_grammar.y" /* glr.c:816 */
3540 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3541 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
),
3542 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3544 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3545 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3546 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3548 #line 3549 "src/parser_proc.c" /* glr.c:816 */
3552 #line 1159 "src/parser_proc_grammar.y" /* glr.c:816 */
3554 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3555 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
),
3556 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3558 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3559 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3560 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3562 #line 3563 "src/parser_proc.c" /* glr.c:816 */
3566 #line 1171 "src/parser_proc_grammar.y" /* glr.c:816 */
3568 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3569 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3570 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3572 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3573 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3575 #line 3576 "src/parser_proc.c" /* glr.c:816 */
3579 #line 1179 "src/parser_proc_grammar.y" /* glr.c:816 */
3581 (*(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
)));
3583 #line 3584 "src/parser_proc.c" /* glr.c:816 */
3587 #line 1182 "src/parser_proc_grammar.y" /* glr.c:816 */
3589 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3590 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3591 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
),
3592 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)
3594 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3595 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3596 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3598 #line 3599 "src/parser_proc.c" /* glr.c:816 */
3602 #line 1192 "src/parser_proc_grammar.y" /* glr.c:816 */
3604 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3605 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3606 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
),
3607 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)
3609 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3610 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3611 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3613 #line 3614 "src/parser_proc.c" /* glr.c:816 */
3617 #line 1205 "src/parser_proc_grammar.y" /* glr.c:816 */
3619 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3620 (*(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
)));
3621 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3623 #line 3624 "src/parser_proc.c" /* glr.c:816 */
3627 #line 1210 "src/parser_proc_grammar.y" /* glr.c:816 */
3629 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3630 (*(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
)));
3631 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3633 #line 3634 "src/parser_proc.c" /* glr.c:816 */
3637 #line 1218 "src/parser_proc_grammar.y" /* glr.c:816 */
3639 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3640 (*(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
)));
3641 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3642 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3643 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3645 #line 3646 "src/parser_proc.c" /* glr.c:816 */
3649 #line 1228 "src/parser_proc_grammar.y" /* glr.c:816 */
3651 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3652 (*(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
)));
3653 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3654 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3655 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3657 #line 3658 "src/parser_proc.c" /* glr.c:816 */
3661 #line 1238 "src/parser_proc_grammar.y" /* glr.c:816 */
3663 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3665 #line 3666 "src/parser_proc.c" /* glr.c:816 */
3669 #line 1245 "src/parser_proc_grammar.y" /* glr.c:816 */
3671 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3673 #line 3674 "src/parser_proc.c" /* glr.c:816 */
3677 #line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */
3679 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3680 (*(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
)));
3681 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
3683 struct psi_decl_arg
*arg
;
3685 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
3686 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
3687 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
3689 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3692 #line 3693 "src/parser_proc.c" /* glr.c:816 */
3696 #line 1265 "src/parser_proc_grammar.y" /* glr.c:816 */
3698 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3699 (*(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
)));
3700 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
3702 struct psi_decl_arg
*arg
;
3704 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
3705 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
3706 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
3708 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3711 #line 3712 "src/parser_proc.c" /* glr.c:816 */
3715 #line 1282 "src/parser_proc_grammar.y" /* glr.c:816 */
3717 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3719 #line 3720 "src/parser_proc.c" /* glr.c:816 */
3723 #line 1285 "src/parser_proc_grammar.y" /* glr.c:816 */
3725 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3727 #line 3728 "src/parser_proc.c" /* glr.c:816 */
3731 #line 1291 "src/parser_proc_grammar.y" /* glr.c:816 */
3734 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3735 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3736 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
3739 #line 3740 "src/parser_proc.c" /* glr.c:816 */
3743 #line 1298 "src/parser_proc_grammar.y" /* glr.c:816 */
3746 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3747 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3748 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
3751 #line 3752 "src/parser_proc.c" /* glr.c:816 */
3755 #line 1308 "src/parser_proc_grammar.y" /* glr.c:816 */
3757 (*(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
)));
3758 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3760 #line 3761 "src/parser_proc.c" /* glr.c:816 */
3764 #line 1315 "src/parser_proc_grammar.y" /* glr.c:816 */
3766 (*(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
)));
3768 #line 3769 "src/parser_proc.c" /* glr.c:816 */
3772 #line 1318 "src/parser_proc_grammar.y" /* glr.c:816 */
3774 (*(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
)));
3776 #line 3777 "src/parser_proc.c" /* glr.c:816 */
3780 #line 1324 "src/parser_proc_grammar.y" /* glr.c:816 */
3782 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3783 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
3784 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3786 #line 3787 "src/parser_proc.c" /* glr.c:816 */
3790 #line 1329 "src/parser_proc_grammar.y" /* glr.c:816 */
3792 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3793 (*(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
)));
3794 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3796 #line 3797 "src/parser_proc.c" /* glr.c:816 */
3800 #line 1337 "src/parser_proc_grammar.y" /* glr.c:816 */
3802 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3803 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3805 #line 3806 "src/parser_proc.c" /* glr.c:816 */
3809 #line 1341 "src/parser_proc_grammar.y" /* glr.c:816 */
3811 (*(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
)));
3812 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
3814 #line 3815 "src/parser_proc.c" /* glr.c:816 */
3818 #line 1345 "src/parser_proc_grammar.y" /* glr.c:816 */
3820 (*(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
)));
3821 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3823 #line 3824 "src/parser_proc.c" /* glr.c:816 */
3827 #line 1349 "src/parser_proc_grammar.y" /* glr.c:816 */
3829 (*(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
)));
3830 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3832 #line 3833 "src/parser_proc.c" /* glr.c:816 */
3836 #line 1353 "src/parser_proc_grammar.y" /* glr.c:816 */
3838 (*(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
)));
3839 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3841 #line 3842 "src/parser_proc.c" /* glr.c:816 */
3845 #line 1357 "src/parser_proc_grammar.y" /* glr.c:816 */
3847 (*(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
)));
3848 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3850 #line 3851 "src/parser_proc.c" /* glr.c:816 */
3854 #line 1364 "src/parser_proc_grammar.y" /* glr.c:816 */
3856 (*(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
);
3857 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3859 #line 3860 "src/parser_proc.c" /* glr.c:816 */
3863 #line 1368 "src/parser_proc_grammar.y" /* glr.c:816 */
3865 (*(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);
3866 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3868 #line 3869 "src/parser_proc.c" /* glr.c:816 */
3872 #line 1372 "src/parser_proc_grammar.y" /* glr.c:816 */
3874 (*(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);
3875 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3877 #line 3878 "src/parser_proc.c" /* glr.c:816 */
3881 #line 1376 "src/parser_proc_grammar.y" /* glr.c:816 */
3883 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
3884 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3886 #line 3887 "src/parser_proc.c" /* glr.c:816 */
3890 #line 1383 "src/parser_proc_grammar.y" /* glr.c:816 */
3892 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3893 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3897 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3898 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3901 #line 3902 "src/parser_proc.c" /* glr.c:816 */
3905 #line 1396 "src/parser_proc_grammar.y" /* glr.c:816 */
3907 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3908 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3912 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3913 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3916 #line 3917 "src/parser_proc.c" /* glr.c:816 */
3920 #line 1409 "src/parser_proc_grammar.y" /* glr.c:816 */
3922 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3923 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3927 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3928 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3931 #line 3932 "src/parser_proc.c" /* glr.c:816 */
3935 #line 1422 "src/parser_proc_grammar.y" /* glr.c:816 */
3937 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3939 #line 3940 "src/parser_proc.c" /* glr.c:816 */
3943 #line 1425 "src/parser_proc_grammar.y" /* glr.c:816 */
3945 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3946 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
3948 #line 3949 "src/parser_proc.c" /* glr.c:816 */
3952 #line 1432 "src/parser_proc_grammar.y" /* glr.c:816 */
3954 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
3956 #line 3957 "src/parser_proc.c" /* glr.c:816 */
3960 #line 1435 "src/parser_proc_grammar.y" /* glr.c:816 */
3962 (*(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
));
3964 #line 3965 "src/parser_proc.c" /* glr.c:816 */
3968 #line 1438 "src/parser_proc_grammar.y" /* glr.c:816 */
3970 (*(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
);
3972 #line 3973 "src/parser_proc.c" /* glr.c:816 */
3976 #line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */
3978 (*(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
));
3980 #line 3981 "src/parser_proc.c" /* glr.c:816 */
3984 #line 1447 "src/parser_proc_grammar.y" /* glr.c:816 */
3986 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
3987 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
3989 #line 3990 "src/parser_proc.c" /* glr.c:816 */
3993 #line 1451 "src/parser_proc_grammar.y" /* glr.c:816 */
3995 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
3996 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3998 #line 3999 "src/parser_proc.c" /* glr.c:816 */
4002 #line 1458 "src/parser_proc_grammar.y" /* glr.c:816 */
4004 (*(size_t*)(&(*yyvalp
))) = 0;
4006 #line 4007 "src/parser_proc.c" /* glr.c:816 */
4010 #line 1461 "src/parser_proc_grammar.y" /* glr.c:816 */
4012 (*(size_t*)(&(*yyvalp
))) = atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4014 #line 4015 "src/parser_proc.c" /* glr.c:816 */
4018 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
4020 (*(size_t*)(&(*yyvalp
))) = 0;
4022 #line 4023 "src/parser_proc.c" /* glr.c:816 */
4026 #line 1470 "src/parser_proc_grammar.y" /* glr.c:816 */
4028 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4030 #line 4031 "src/parser_proc.c" /* glr.c:816 */
4034 #line 1477 "src/parser_proc_grammar.y" /* glr.c:816 */
4036 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4038 #line 4039 "src/parser_proc.c" /* glr.c:816 */
4042 #line 1483 "src/parser_proc_grammar.y" /* glr.c:816 */
4044 (*(size_t*)(&(*yyvalp
))) = 1;
4046 #line 4047 "src/parser_proc.c" /* glr.c:816 */
4050 #line 1486 "src/parser_proc_grammar.y" /* glr.c:816 */
4052 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4054 #line 4055 "src/parser_proc.c" /* glr.c:816 */
4058 #line 1498 "src/parser_proc_grammar.y" /* glr.c:816 */
4060 (*(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
)));
4062 #line 4063 "src/parser_proc.c" /* glr.c:816 */
4066 #line 1501 "src/parser_proc_grammar.y" /* glr.c:816 */
4068 (*(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
)));
4069 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4071 #line 4072 "src/parser_proc.c" /* glr.c:816 */
4075 #line 1508 "src/parser_proc_grammar.y" /* glr.c:816 */
4077 (*(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
)));
4078 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4079 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4081 #line 4082 "src/parser_proc.c" /* glr.c:816 */
4085 #line 1513 "src/parser_proc_grammar.y" /* glr.c:816 */
4087 (*(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
)));
4088 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4089 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4091 #line 4092 "src/parser_proc.c" /* glr.c:816 */
4095 #line 1518 "src/parser_proc_grammar.y" /* glr.c:816 */
4097 (*(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
)));
4098 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4099 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4100 (*(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
);
4101 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4103 #line 4104 "src/parser_proc.c" /* glr.c:816 */
4107 #line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */
4109 (*(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
)));
4111 #line 4112 "src/parser_proc.c" /* glr.c:816 */
4115 #line 1531 "src/parser_proc_grammar.y" /* glr.c:816 */
4117 (*(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
)));
4119 #line 4120 "src/parser_proc.c" /* glr.c:816 */
4123 #line 1537 "src/parser_proc_grammar.y" /* glr.c:816 */
4125 (*(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
);
4127 #line 4128 "src/parser_proc.c" /* glr.c:816 */
4131 #line 1540 "src/parser_proc_grammar.y" /* glr.c:816 */
4133 (*(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
)));
4135 #line 4136 "src/parser_proc.c" /* glr.c:816 */
4139 #line 1546 "src/parser_proc_grammar.y" /* glr.c:816 */
4141 (*(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
)));
4142 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4144 #line 4145 "src/parser_proc.c" /* glr.c:816 */
4148 #line 1553 "src/parser_proc_grammar.y" /* glr.c:816 */
4150 (*(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
);
4151 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4153 #line 4154 "src/parser_proc.c" /* glr.c:816 */
4157 #line 1572 "src/parser_proc_grammar.y" /* glr.c:816 */
4159 (*(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
)));
4161 #line 4162 "src/parser_proc.c" /* glr.c:816 */
4165 #line 1575 "src/parser_proc_grammar.y" /* glr.c:816 */
4167 (*(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
)));
4169 #line 4170 "src/parser_proc.c" /* glr.c:816 */
4173 #line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */
4175 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4177 #line 4178 "src/parser_proc.c" /* glr.c:816 */
4181 #line 1584 "src/parser_proc_grammar.y" /* glr.c:816 */
4183 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4185 #line 4186 "src/parser_proc.c" /* glr.c:816 */
4189 #line 1587 "src/parser_proc_grammar.y" /* glr.c:816 */
4191 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4193 #line 4194 "src/parser_proc.c" /* glr.c:816 */
4197 #line 1590 "src/parser_proc_grammar.y" /* glr.c:816 */
4199 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4201 #line 4202 "src/parser_proc.c" /* glr.c:816 */
4205 #line 1593 "src/parser_proc_grammar.y" /* glr.c:816 */
4207 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4209 #line 4210 "src/parser_proc.c" /* glr.c:816 */
4213 #line 1599 "src/parser_proc_grammar.y" /* glr.c:816 */
4215 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4216 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4218 #line 4219 "src/parser_proc.c" /* glr.c:816 */
4222 #line 1603 "src/parser_proc_grammar.y" /* glr.c:816 */
4224 (*(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
))));
4225 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4226 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4228 #line 4229 "src/parser_proc.c" /* glr.c:816 */
4232 #line 1612 "src/parser_proc_grammar.y" /* glr.c:816 */
4234 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4235 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4237 #line 4238 "src/parser_proc.c" /* glr.c:816 */
4241 #line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */
4243 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4244 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4246 #line 4247 "src/parser_proc.c" /* glr.c:816 */
4250 #line 1623 "src/parser_proc_grammar.y" /* glr.c:816 */
4252 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4254 #line 4255 "src/parser_proc.c" /* glr.c:816 */
4258 #line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */
4260 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4262 #line 4263 "src/parser_proc.c" /* glr.c:816 */
4266 #line 1629 "src/parser_proc_grammar.y" /* glr.c:816 */
4268 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4269 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4271 #line 4272 "src/parser_proc.c" /* glr.c:816 */
4275 #line 1633 "src/parser_proc_grammar.y" /* glr.c:816 */
4277 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4279 #line 4280 "src/parser_proc.c" /* glr.c:816 */
4283 #line 1636 "src/parser_proc_grammar.y" /* glr.c:816 */
4285 (*(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
)));
4287 #line 4288 "src/parser_proc.c" /* glr.c:816 */
4291 #line 1639 "src/parser_proc_grammar.y" /* glr.c:816 */
4293 (*(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
)));
4295 #line 4296 "src/parser_proc.c" /* glr.c:816 */
4299 #line 1645 "src/parser_proc_grammar.y" /* glr.c:816 */
4301 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4302 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4304 #line 4305 "src/parser_proc.c" /* glr.c:816 */
4308 #line 1649 "src/parser_proc_grammar.y" /* glr.c:816 */
4310 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4311 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4312 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4314 #line 4315 "src/parser_proc.c" /* glr.c:816 */
4318 #line 1657 "src/parser_proc_grammar.y" /* glr.c:816 */
4320 (*(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
)));
4321 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4323 #line 4324 "src/parser_proc.c" /* glr.c:816 */
4327 #line 1664 "src/parser_proc_grammar.y" /* glr.c:816 */
4329 (*(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
)));
4330 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4331 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4333 #line 4334 "src/parser_proc.c" /* glr.c:816 */
4337 #line 1672 "src/parser_proc_grammar.y" /* glr.c:816 */
4339 (*(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
)));
4340 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4341 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4343 #line 4344 "src/parser_proc.c" /* glr.c:816 */
4347 #line 1693 "src/parser_proc_grammar.y" /* glr.c:816 */
4349 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4351 #line 4352 "src/parser_proc.c" /* glr.c:816 */
4355 #line 1696 "src/parser_proc_grammar.y" /* glr.c:816 */
4357 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4359 #line 4360 "src/parser_proc.c" /* glr.c:816 */
4363 #line 1702 "src/parser_proc_grammar.y" /* glr.c:816 */
4365 (*(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
)));
4367 #line 4368 "src/parser_proc.c" /* glr.c:816 */
4371 #line 1705 "src/parser_proc_grammar.y" /* glr.c:816 */
4373 (*(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
)));
4375 #line 4376 "src/parser_proc.c" /* glr.c:816 */
4379 #line 1716 "src/parser_proc_grammar.y" /* glr.c:816 */
4381 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4383 #line 4384 "src/parser_proc.c" /* glr.c:816 */
4387 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4389 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4391 #line 4392 "src/parser_proc.c" /* glr.c:816 */
4395 #line 1725 "src/parser_proc_grammar.y" /* glr.c:816 */
4397 (*(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
)));
4399 #line 4400 "src/parser_proc.c" /* glr.c:816 */
4403 #line 1728 "src/parser_proc_grammar.y" /* glr.c:816 */
4405 (*(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
)));
4407 #line 4408 "src/parser_proc.c" /* glr.c:816 */
4411 #line 1734 "src/parser_proc_grammar.y" /* glr.c:816 */
4413 (*(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
))));
4414 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4416 #line 4417 "src/parser_proc.c" /* glr.c:816 */
4420 #line 1741 "src/parser_proc_grammar.y" /* glr.c:816 */
4422 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4423 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4425 #line 4426 "src/parser_proc.c" /* glr.c:816 */
4429 #line 1748 "src/parser_proc_grammar.y" /* glr.c:816 */
4431 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4433 #line 4434 "src/parser_proc.c" /* glr.c:816 */
4437 #line 1751 "src/parser_proc_grammar.y" /* glr.c:816 */
4439 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4441 #line 4442 "src/parser_proc.c" /* glr.c:816 */
4445 #line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */
4447 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4448 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4450 #line 4451 "src/parser_proc.c" /* glr.c:816 */
4454 #line 1761 "src/parser_proc_grammar.y" /* glr.c:816 */
4456 (*(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
)));
4457 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4458 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4460 #line 4461 "src/parser_proc.c" /* glr.c:816 */
4464 #line 1766 "src/parser_proc_grammar.y" /* glr.c:816 */
4466 (*(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
)));
4467 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4468 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4470 #line 4471 "src/parser_proc.c" /* glr.c:816 */
4474 #line 1785 "src/parser_proc_grammar.y" /* glr.c:816 */
4476 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4478 #line 4479 "src/parser_proc.c" /* glr.c:816 */
4482 #line 1788 "src/parser_proc_grammar.y" /* glr.c:816 */
4484 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4486 #line 4487 "src/parser_proc.c" /* glr.c:816 */
4490 #line 1794 "src/parser_proc_grammar.y" /* glr.c:816 */
4492 (*(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
)));
4494 #line 4495 "src/parser_proc.c" /* glr.c:816 */
4498 #line 1797 "src/parser_proc_grammar.y" /* glr.c:816 */
4500 (*(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
)));
4502 #line 4503 "src/parser_proc.c" /* glr.c:816 */
4506 #line 1803 "src/parser_proc_grammar.y" /* glr.c:816 */
4508 (*(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
)));
4509 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4511 #line 4512 "src/parser_proc.c" /* glr.c:816 */
4515 #line 1815 "src/parser_proc_grammar.y" /* glr.c:816 */
4517 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4518 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4520 #line 4521 "src/parser_proc.c" /* glr.c:816 */
4524 #line 1822 "src/parser_proc_grammar.y" /* glr.c:816 */
4526 (*(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
)));
4528 #line 4529 "src/parser_proc.c" /* glr.c:816 */
4532 #line 1825 "src/parser_proc_grammar.y" /* glr.c:816 */
4534 (*(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
)));
4536 #line 4537 "src/parser_proc.c" /* glr.c:816 */
4540 #line 1831 "src/parser_proc_grammar.y" /* glr.c:816 */
4542 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4543 (*(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
)));
4544 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4546 #line 4547 "src/parser_proc.c" /* glr.c:816 */
4550 #line 1839 "src/parser_proc_grammar.y" /* glr.c:816 */
4552 (*(bool*)(&(*yyvalp
))) = false;
4554 #line 4555 "src/parser_proc.c" /* glr.c:816 */
4558 #line 1842 "src/parser_proc_grammar.y" /* glr.c:816 */
4560 (*(bool*)(&(*yyvalp
))) = true;
4562 #line 4563 "src/parser_proc.c" /* glr.c:816 */
4566 #line 4567 "src/parser_proc.c" /* glr.c:816 */
4577 # undef YYRECOVERING
4582 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
4594 /* Bison grammar-table manipulation. */
4596 /*-----------------------------------------------.
4597 | Release the memory associated to this symbol. |
4598 `-----------------------------------------------*/
4601 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4609 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
4611 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4614 case 133: /* binary_op_token */
4615 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4617 #line 4618 "src/parser_proc.c" /* glr.c:846 */
4620 case 134: /* unary_op_token */
4621 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4623 #line 4624 "src/parser_proc.c" /* glr.c:846 */
4626 case 135: /* name_token */
4627 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4629 #line 4630 "src/parser_proc.c" /* glr.c:846 */
4632 case 136: /* any_noeol_token */
4633 #line 258 "src/parser_proc_grammar.y" /* glr.c:846 */
4635 #line 4636 "src/parser_proc.c" /* glr.c:846 */
4639 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
4640 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4641 #line 4642 "src/parser_proc.c" /* glr.c:846 */
4645 #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */
4646 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4647 #line 4648 "src/parser_proc.c" /* glr.c:846 */
4650 case 142: /* cpp_exp */
4651 #line 267 "src/parser_proc_grammar.y" /* glr.c:846 */
4652 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4653 #line 4654 "src/parser_proc.c" /* glr.c:846 */
4656 case 144: /* cpp_message_token */
4657 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4659 #line 4660 "src/parser_proc.c" /* glr.c:846 */
4662 case 145: /* cpp_include_token */
4663 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4665 #line 4666 "src/parser_proc.c" /* glr.c:846 */
4668 case 146: /* cpp_header_token */
4669 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4671 #line 4672 "src/parser_proc.c" /* glr.c:846 */
4674 case 147: /* cpp_no_arg_token */
4675 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4677 #line 4678 "src/parser_proc.c" /* glr.c:846 */
4680 case 148: /* cpp_name_arg_token */
4681 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4683 #line 4684 "src/parser_proc.c" /* glr.c:846 */
4686 case 149: /* cpp_exp_arg_token */
4687 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4689 #line 4690 "src/parser_proc.c" /* glr.c:846 */
4692 case 150: /* cpp_special_name_token */
4693 #line 255 "src/parser_proc_grammar.y" /* glr.c:846 */
4695 #line 4696 "src/parser_proc.c" /* glr.c:846 */
4698 case 151: /* cpp_macro_decl */
4699 #line 269 "src/parser_proc_grammar.y" /* glr.c:846 */
4700 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
4701 #line 4702 "src/parser_proc.c" /* glr.c:846 */
4704 case 152: /* cpp_macro_sig */
4705 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4706 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4707 #line 4708 "src/parser_proc.c" /* glr.c:846 */
4710 case 153: /* cpp_macro_sig_args */
4711 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4712 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4713 #line 4714 "src/parser_proc.c" /* glr.c:846 */
4716 case 154: /* cpp_macro_decl_tokens */
4717 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4718 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4719 #line 4720 "src/parser_proc.c" /* glr.c:846 */
4722 case 155: /* cpp_macro_decl_token_list */
4723 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4724 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4725 #line 4726 "src/parser_proc.c" /* glr.c:846 */
4728 case 156: /* cpp_macro_exp */
4729 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
4730 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
4731 #line 4732 "src/parser_proc.c" /* glr.c:846 */
4734 case 157: /* cpp_macro_call_args */
4735 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4736 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4737 #line 4738 "src/parser_proc.c" /* glr.c:846 */
4740 case 158: /* cpp_macro_call_arg_list */
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 159: /* constant */
4747 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
4748 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
4749 #line 4750 "src/parser_proc.c" /* glr.c:846 */
4752 case 160: /* constant_type */
4753 #line 281 "src/parser_proc_grammar.y" /* glr.c:846 */
4754 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
4755 #line 4756 "src/parser_proc.c" /* glr.c:846 */
4758 case 161: /* constant_type_token */
4759 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
4761 #line 4762 "src/parser_proc.c" /* glr.c:846 */
4764 case 162: /* impl_def_val */
4765 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4766 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
4767 #line 4768 "src/parser_proc.c" /* glr.c:846 */
4770 case 163: /* impl_def_val_token */
4771 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
4773 #line 4774 "src/parser_proc.c" /* glr.c:846 */
4776 case 164: /* decl_typedef */
4777 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4778 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4779 #line 4780 "src/parser_proc.c" /* glr.c:846 */
4782 case 165: /* typedef */
4783 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4784 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4785 #line 4786 "src/parser_proc.c" /* glr.c:846 */
4788 case 166: /* const_decl_type */
4789 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4790 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4791 #line 4792 "src/parser_proc.c" /* glr.c:846 */
4794 case 167: /* decl_type */
4795 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4796 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4797 #line 4798 "src/parser_proc.c" /* glr.c:846 */
4800 case 168: /* decl_type_complex */
4801 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4802 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4803 #line 4804 "src/parser_proc.c" /* glr.c:846 */
4806 case 169: /* decl_type_simple */
4807 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4808 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4809 #line 4810 "src/parser_proc.c" /* glr.c:846 */
4812 case 170: /* decl_real_type */
4813 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4814 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4815 #line 4816 "src/parser_proc.c" /* glr.c:846 */
4818 case 171: /* decl_stdint_type */
4819 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
4821 #line 4822 "src/parser_proc.c" /* glr.c:846 */
4824 case 172: /* int_signed */
4825 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
4827 #line 4828 "src/parser_proc.c" /* glr.c:846 */
4830 case 173: /* int_width */
4831 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
4832 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4833 #line 4834 "src/parser_proc.c" /* glr.c:846 */
4836 case 174: /* decl_int_type */
4837 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4838 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4839 #line 4840 "src/parser_proc.c" /* glr.c:846 */
4842 case 175: /* int_signed_types */
4843 #line 261 "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 176: /* signed_short_types */
4849 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
4851 #line 4852 "src/parser_proc.c" /* glr.c:846 */
4854 case 177: /* signed_long_types */
4855 #line 264 "src/parser_proc_grammar.y" /* glr.c:846 */
4857 #line 4858 "src/parser_proc.c" /* glr.c:846 */
4860 case 178: /* int_width_types */
4861 #line 261 "src/parser_proc_grammar.y" /* glr.c:846 */
4862 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4863 #line 4864 "src/parser_proc.c" /* glr.c:846 */
4866 case 179: /* decl_stmt */
4867 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4868 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4869 #line 4870 "src/parser_proc.c" /* glr.c:846 */
4872 case 185: /* decl_vars */
4873 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4874 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4875 #line 4876 "src/parser_proc.c" /* glr.c:846 */
4878 case 186: /* decl */
4879 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4880 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4881 #line 4882 "src/parser_proc.c" /* glr.c:846 */
4884 case 187: /* decl_body */
4885 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4886 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4887 #line 4888 "src/parser_proc.c" /* glr.c:846 */
4890 case 188: /* decl_func_body */
4891 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4892 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4893 #line 4894 "src/parser_proc.c" /* glr.c:846 */
4896 case 189: /* decl_functor_body */
4897 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
4898 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4899 #line 4900 "src/parser_proc.c" /* glr.c:846 */
4902 case 190: /* decl_functor */
4903 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4904 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4905 #line 4906 "src/parser_proc.c" /* glr.c:846 */
4908 case 191: /* decl_func */
4909 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4910 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4911 #line 4912 "src/parser_proc.c" /* glr.c:846 */
4914 case 192: /* decl_args */
4915 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4916 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4917 #line 4918 "src/parser_proc.c" /* glr.c:846 */
4920 case 193: /* decl_anon_arg */
4921 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4922 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4923 #line 4924 "src/parser_proc.c" /* glr.c:846 */
4926 case 194: /* decl_arg */
4927 #line 296 "src/parser_proc_grammar.y" /* glr.c:846 */
4928 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4929 #line 4930 "src/parser_proc.c" /* glr.c:846 */
4932 case 195: /* decl_var */
4933 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
4934 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
4935 #line 4936 "src/parser_proc.c" /* glr.c:846 */
4938 case 196: /* decl_union */
4939 #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */
4940 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
4941 #line 4942 "src/parser_proc.c" /* glr.c:846 */
4944 case 197: /* decl_struct */
4945 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
4946 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
4947 #line 4948 "src/parser_proc.c" /* glr.c:846 */
4950 case 198: /* decl_struct_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 199: /* struct_args_block */
4957 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4958 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4959 #line 4960 "src/parser_proc.c" /* glr.c:846 */
4962 case 200: /* struct_args */
4963 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4964 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4965 #line 4966 "src/parser_proc.c" /* glr.c:846 */
4968 case 201: /* struct_arg_var_list */
4969 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4970 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4971 #line 4972 "src/parser_proc.c" /* glr.c:846 */
4974 case 202: /* decl_vars_with_layout */
4975 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4976 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4977 #line 4978 "src/parser_proc.c" /* glr.c:846 */
4980 case 203: /* decl_enum */
4981 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
4982 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
4983 #line 4984 "src/parser_proc.c" /* glr.c:846 */
4986 case 204: /* decl_enum_items */
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 205: /* decl_enum_item */
4993 #line 306 "src/parser_proc_grammar.y" /* glr.c:846 */
4994 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
4995 #line 4996 "src/parser_proc.c" /* glr.c:846 */
4998 case 206: /* num_exp */
4999 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5000 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5001 #line 5002 "src/parser_proc.c" /* glr.c:846 */
5004 case 207: /* number */
5005 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
5006 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5007 #line 5008 "src/parser_proc.c" /* glr.c:846 */
5010 case 208: /* enum_name */
5011 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5012 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5013 #line 5014 "src/parser_proc.c" /* glr.c:846 */
5016 case 209: /* union_name */
5017 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5018 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5019 #line 5020 "src/parser_proc.c" /* glr.c:846 */
5022 case 210: /* struct_name */
5023 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5024 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5025 #line 5026 "src/parser_proc.c" /* glr.c:846 */
5028 case 211: /* optional_name */
5029 #line 252 "src/parser_proc_grammar.y" /* glr.c:846 */
5030 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5031 #line 5032 "src/parser_proc.c" /* glr.c:846 */
5034 case 212: /* decl_layout */
5035 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5036 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5037 #line 5038 "src/parser_proc.c" /* glr.c:846 */
5040 case 213: /* align_and_size */
5041 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
5043 #line 5044 "src/parser_proc.c" /* glr.c:846 */
5046 case 214: /* array_size */
5047 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5049 #line 5050 "src/parser_proc.c" /* glr.c:846 */
5052 case 215: /* indirection */
5053 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5055 #line 5056 "src/parser_proc.c" /* glr.c:846 */
5058 case 216: /* pointers */
5059 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5061 #line 5062 "src/parser_proc.c" /* glr.c:846 */
5064 case 217: /* asterisks */
5065 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5067 #line 5068 "src/parser_proc.c" /* glr.c:846 */
5070 case 218: /* impl */
5071 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5072 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5073 #line 5074 "src/parser_proc.c" /* glr.c:846 */
5076 case 219: /* impl_func */
5077 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5078 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5079 #line 5080 "src/parser_proc.c" /* glr.c:846 */
5082 case 220: /* impl_args */
5083 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5084 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5085 #line 5086 "src/parser_proc.c" /* glr.c:846 */
5088 case 221: /* impl_arg */
5089 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5090 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5091 #line 5092 "src/parser_proc.c" /* glr.c:846 */
5094 case 222: /* impl_var */
5095 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
5096 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5097 #line 5098 "src/parser_proc.c" /* glr.c:846 */
5100 case 223: /* impl_type */
5101 #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */
5102 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5103 #line 5104 "src/parser_proc.c" /* glr.c:846 */
5106 case 224: /* impl_type_token */
5107 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5108 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5109 #line 5110 "src/parser_proc.c" /* glr.c:846 */
5112 case 225: /* impl_stmts */
5113 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5114 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5115 #line 5116 "src/parser_proc.c" /* glr.c:846 */
5118 case 226: /* impl_stmt */
5119 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5120 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5121 #line 5122 "src/parser_proc.c" /* glr.c:846 */
5124 case 227: /* let_stmt */
5125 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
5126 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5127 #line 5128 "src/parser_proc.c" /* glr.c:846 */
5130 case 228: /* let_exp */
5131 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5132 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5133 #line 5134 "src/parser_proc.c" /* glr.c:846 */
5136 case 229: /* let_exp_byref */
5137 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5138 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5139 #line 5140 "src/parser_proc.c" /* glr.c:846 */
5142 case 230: /* let_exp_assign */
5143 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5144 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5145 #line 5146 "src/parser_proc.c" /* glr.c:846 */
5148 case 231: /* let_calloc */
5149 #line 331 "src/parser_proc_grammar.y" /* glr.c:846 */
5150 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5151 #line 5152 "src/parser_proc.c" /* glr.c:846 */
5154 case 232: /* let_callback */
5155 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5156 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5157 #line 5158 "src/parser_proc.c" /* glr.c:846 */
5160 case 233: /* let_func */
5161 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5162 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5163 #line 5164 "src/parser_proc.c" /* glr.c:846 */
5166 case 234: /* let_func_token */
5167 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5168 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5169 #line 5170 "src/parser_proc.c" /* glr.c:846 */
5172 case 235: /* let_func_exps */
5173 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5174 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5175 #line 5176 "src/parser_proc.c" /* glr.c:846 */
5178 case 236: /* let_exps */
5179 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5180 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5181 #line 5182 "src/parser_proc.c" /* glr.c:846 */
5184 case 237: /* callback_rval */
5185 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5186 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5187 #line 5188 "src/parser_proc.c" /* glr.c:846 */
5190 case 238: /* callback_arg_list */
5191 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5192 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5193 #line 5194 "src/parser_proc.c" /* glr.c:846 */
5196 case 239: /* callback_args */
5197 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5198 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5199 #line 5200 "src/parser_proc.c" /* glr.c:846 */
5202 case 240: /* return_stmt */
5203 #line 345 "src/parser_proc_grammar.y" /* glr.c:846 */
5204 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5205 #line 5206 "src/parser_proc.c" /* glr.c:846 */
5208 case 241: /* set_stmt */
5209 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5210 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5211 #line 5212 "src/parser_proc.c" /* glr.c:846 */
5214 case 242: /* set_exp */
5215 #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */
5216 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5217 #line 5218 "src/parser_proc.c" /* glr.c:846 */
5220 case 243: /* set_func */
5221 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
5222 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5223 #line 5224 "src/parser_proc.c" /* glr.c:846 */
5226 case 244: /* set_func_token */
5227 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5228 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5229 #line 5230 "src/parser_proc.c" /* glr.c:846 */
5232 case 245: /* set_func_exps */
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 246: /* set_exps */
5239 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5240 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5241 #line 5242 "src/parser_proc.c" /* glr.c:846 */
5244 case 247: /* assert_stmt */
5245 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5246 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5247 #line 5248 "src/parser_proc.c" /* glr.c:846 */
5250 case 248: /* assert_stmt_token */
5251 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5252 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5253 #line 5254 "src/parser_proc.c" /* glr.c:846 */
5256 case 249: /* free_stmt */
5257 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
5258 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5259 #line 5260 "src/parser_proc.c" /* glr.c:846 */
5262 case 250: /* free_exps */
5263 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5264 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5265 #line 5266 "src/parser_proc.c" /* glr.c:846 */
5268 case 251: /* free_exp */
5269 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
5270 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5271 #line 5272 "src/parser_proc.c" /* glr.c:846 */
5274 case 252: /* reference */
5275 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
5277 #line 5278 "src/parser_proc.c" /* glr.c:846 */
5284 YY_IGNORE_MAYBE_UNINITIALIZED_END
5287 /** Number of symbols composing the right hand side of rule #RULE. */
5289 yyrhsLength (yyRuleNum yyrule
)
5291 return yyr2
[yyrule
];
5295 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5297 if (yys
->yyresolved
)
5298 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5299 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5305 if (yys
->yysemantics
.yyfirstVal
)
5306 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5308 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5309 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5313 if (yys
->yysemantics
.yyfirstVal
)
5315 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5318 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5320 yyrh
= yyrh
->yypred
, yyn
-= 1)
5321 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5326 /** Left-hand-side symbol for rule #YYRULE. */
5327 static inline yySymbol
5328 yylhsNonterm (yyRuleNum yyrule
)
5330 return yyr1
[yyrule
];
5333 #define yypact_value_is_default(Yystate) \
5334 (!!((Yystate) == (-550)))
5336 /** True iff LR state YYSTATE has only a default reduction (regardless
5338 static inline yybool
5339 yyisDefaultedState (yyStateNum yystate
)
5341 return yypact_value_is_default (yypact
[yystate
]);
5344 /** The default reduction for YYSTATE, assuming it has one. */
5345 static inline yyRuleNum
5346 yydefaultAction (yyStateNum yystate
)
5348 return yydefact
[yystate
];
5351 #define yytable_value_is_error(Yytable_value) \
5354 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5356 * R < 0: Reduce on rule -R.
5358 * R > 0: Shift to state R.
5359 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5360 * of conflicting reductions.
5363 yygetLRActions (yyStateNum yystate
, int yytoken
,
5364 int* yyaction
, const short int** yyconflicts
)
5366 int yyindex
= yypact
[yystate
] + yytoken
;
5367 if (yypact_value_is_default (yypact
[yystate
])
5368 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5370 *yyaction
= -yydefact
[yystate
];
5371 *yyconflicts
= yyconfl
;
5373 else if (! yytable_value_is_error (yytable
[yyindex
]))
5375 *yyaction
= yytable
[yyindex
];
5376 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5381 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5385 /** Compute post-reduction state.
5386 * \param yystate the current state
5387 * \param yysym the nonterminal to push on the stack
5389 static inline yyStateNum
5390 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5392 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5393 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5394 return yytable
[yyr
];
5396 return yydefgoto
[yysym
- YYNTOKENS
];
5399 static inline yybool
5400 yyisShiftAction (int yyaction
)
5402 return 0 < yyaction
;
5405 static inline yybool
5406 yyisErrorAction (int yyaction
)
5408 return yyaction
== 0;
5413 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5414 * if YYISSTATE, and otherwise a semantic option. Callers should call
5415 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5418 static inline yyGLRStackItem
*
5419 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5421 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5422 yystackp
->yyspaceLeft
-= 1;
5423 yystackp
->yynextFree
+= 1;
5424 yynewItem
->yystate
.yyisState
= yyisState
;
5428 /** Add a new semantic action that will execute the action for rule
5429 * YYRULE on the semantic values in YYRHS to the list of
5430 * alternative actions for YYSTATE. Assumes that YYRHS comes from
5431 * stack #YYK of *YYSTACKP. */
5433 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
5434 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5436 yySemanticOption
* yynewOption
=
5437 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
5438 YYASSERT (!yynewOption
->yyisState
);
5439 yynewOption
->yystate
= yyrhs
;
5440 yynewOption
->yyrule
= yyrule
;
5441 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
5443 yynewOption
->yyrawchar
= yychar
;
5444 yynewOption
->yyval
= yylval
;
5447 yynewOption
->yyrawchar
= YYEMPTY
;
5448 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
5449 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
5451 YY_RESERVE_GLRSTACK (yystackp
);
5456 /** Initialize YYSET to a singleton set containing an empty stack. */
5458 yyinitStateSet (yyGLRStateSet
* yyset
)
5461 yyset
->yycapacity
= 16;
5462 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
5463 if (! yyset
->yystates
)
5465 yyset
->yystates
[0] = YY_NULLPTR
;
5466 yyset
->yylookaheadNeeds
=
5467 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
5468 if (! yyset
->yylookaheadNeeds
)
5470 YYFREE (yyset
->yystates
);
5476 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
5478 YYFREE (yyset
->yystates
);
5479 YYFREE (yyset
->yylookaheadNeeds
);
5482 /** Initialize *YYSTACKP to a single empty stack, with total maximum
5483 * capacity for all stacks of YYSIZE. */
5485 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
5487 yystackp
->yyerrState
= 0;
5489 yystackp
->yyspaceLeft
= yysize
;
5491 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
5492 if (!yystackp
->yyitems
)
5494 yystackp
->yynextFree
= yystackp
->yyitems
;
5495 yystackp
->yysplitPoint
= YY_NULLPTR
;
5496 yystackp
->yylastDeleted
= YY_NULLPTR
;
5497 return yyinitStateSet (&yystackp
->yytops
);
5501 #if YYSTACKEXPANDABLE
5502 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
5503 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
5505 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
5506 stack from outside should be considered invalid after this call.
5507 We always expand when there are 1 or fewer items left AFTER an
5508 allocation, so that we can avoid having external pointers exist
5509 across an allocation. */
5511 yyexpandGLRStack (yyGLRStack
* yystackp
)
5513 yyGLRStackItem
* yynewItems
;
5514 yyGLRStackItem
* yyp0
, *yyp1
;
5517 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
5518 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
5519 yyMemoryExhausted (yystackp
);
5520 yynewSize
= 2*yysize
;
5521 if (YYMAXDEPTH
< yynewSize
)
5522 yynewSize
= YYMAXDEPTH
;
5523 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
5525 yyMemoryExhausted (yystackp
);
5526 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
5528 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
5531 if (*(yybool
*) yyp0
)
5533 yyGLRState
* yys0
= &yyp0
->yystate
;
5534 yyGLRState
* yys1
= &yyp1
->yystate
;
5535 if (yys0
->yypred
!= YY_NULLPTR
)
5537 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
5538 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
5539 yys1
->yysemantics
.yyfirstVal
=
5540 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
5544 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
5545 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
5546 if (yyv0
->yystate
!= YY_NULLPTR
)
5547 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
5548 if (yyv0
->yynext
!= YY_NULLPTR
)
5549 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
5552 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
5553 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
5554 yystackp
->yysplitPoint
, yystate
);
5556 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
5557 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
5558 yystackp
->yytops
.yystates
[yyn
] =
5559 YYRELOC (yystackp
->yyitems
, yynewItems
,
5560 yystackp
->yytops
.yystates
[yyn
], yystate
);
5561 YYFREE (yystackp
->yyitems
);
5562 yystackp
->yyitems
= yynewItems
;
5563 yystackp
->yynextFree
= yynewItems
+ yysize
;
5564 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
5569 yyfreeGLRStack (yyGLRStack
* yystackp
)
5571 YYFREE (yystackp
->yyitems
);
5572 yyfreeStateSet (&yystackp
->yytops
);
5575 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
5576 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
5579 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
5581 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
5582 yystackp
->yysplitPoint
= yys
;
5585 /** Invalidate stack #YYK in *YYSTACKP. */
5587 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
5589 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
5590 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
5591 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
5594 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
5595 only be done once after a deletion, and only when all other stacks have
5598 yyundeleteLastStack (yyGLRStack
* yystackp
)
5600 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
5602 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
5603 yystackp
->yytops
.yysize
= 1;
5604 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
5605 yystackp
->yylastDeleted
= YY_NULLPTR
;
5609 yyremoveDeletes (yyGLRStack
* yystackp
)
5613 while (yyj
< yystackp
->yytops
.yysize
)
5615 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
5619 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
5621 yystackp
->yytops
.yysize
-= 1;
5625 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
5626 /* In the current implementation, it's unnecessary to copy
5627 yystackp->yytops.yylookaheadNeeds[yyi] since, after
5628 yyremoveDeletes returns, the parser immediately either enters
5629 deterministic operation or shifts a token. However, it doesn't
5630 hurt, and the code might evolve to need it. */
5631 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
5632 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
5635 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
5636 (unsigned long int) yyi
, (unsigned long int) yyj
));
5644 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
5645 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
5646 * value *YYVALP and source location *YYLOCP. */
5648 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5652 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5654 yynewState
->yylrState
= yylrState
;
5655 yynewState
->yyposn
= yyposn
;
5656 yynewState
->yyresolved
= yytrue
;
5657 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5658 yynewState
->yysemantics
.yysval
= *yyvalp
;
5659 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5661 YY_RESERVE_GLRSTACK (yystackp
);
5664 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
5665 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
5666 * semantic value of YYRHS under the action for YYRULE. */
5668 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5669 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5671 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5672 YYASSERT (yynewState
->yyisState
);
5674 yynewState
->yylrState
= yylrState
;
5675 yynewState
->yyposn
= yyposn
;
5676 yynewState
->yyresolved
= yyfalse
;
5677 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5678 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
5679 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5681 /* Invokes YY_RESERVE_GLRSTACK. */
5682 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
5686 # define YY_REDUCE_PRINT(Args)
5688 # define YY_REDUCE_PRINT(Args) \
5691 yy_reduce_print Args; \
5694 /*----------------------------------------------------------------------.
5695 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
5696 `----------------------------------------------------------------------*/
5699 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
5700 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5702 int yynrhs
= yyrhsLength (yyrule
);
5704 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
5705 (unsigned long int) yyk
, yyrule
- 1,
5706 (unsigned long int) yyrline
[yyrule
]);
5708 yyfillin (yyvsp
, 1, -yynrhs
);
5709 /* The symbols being reduced. */
5710 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
5712 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
5713 yy_symbol_print (stderr
,
5714 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
5715 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
5716 , P
, tokens
, index
);
5717 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
5718 YYFPRINTF (stderr
, " (unresolved)");
5719 YYFPRINTF (stderr
, "\n");
5724 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
5725 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
5726 * semantic values. Assumes that all ambiguities in semantic values
5727 * have been previously resolved. Set *YYVALP to the resulting value,
5728 * and *YYLOCP to the computed location (if any). Return value is as
5729 * for userAction. */
5730 static inline YYRESULTTAG
5731 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5732 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5734 int yynrhs
= yyrhsLength (yyrule
);
5736 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5738 /* Standard special case: single stack. */
5739 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
5740 YYASSERT (yyk
== 0);
5741 yystackp
->yynextFree
-= yynrhs
;
5742 yystackp
->yyspaceLeft
+= yynrhs
;
5743 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
5744 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
5745 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
5746 yyvalp
, P
, tokens
, index
);
5752 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
5753 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
5754 = yystackp
->yytops
.yystates
[yyk
];
5755 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
5760 yyupdateSplit (yystackp
, yys
);
5761 yystackp
->yytops
.yystates
[yyk
] = yys
;
5762 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
5763 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
5764 yystackp
, yyvalp
, P
, tokens
, index
);
5768 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
5769 * and push back on the resulting nonterminal symbol. Perform the
5770 * semantic action associated with YYRULE and store its value with the
5771 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
5772 * unambiguous. Otherwise, store the deferred semantic action with
5773 * the new state. If the new state would have an identical input
5774 * position, LR state, and predecessor to an existing state on the stack,
5775 * it is identified with that existing state, eliminating stack #YYK from
5776 * *YYSTACKP. In this case, the semantic value is
5777 * added to the options for the existing state's semantic value.
5779 static inline YYRESULTTAG
5780 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5781 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5783 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
5785 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
5789 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
5790 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
5792 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
5793 (unsigned long int) yyk
, yyrule
- 1));
5797 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
5798 yyglrShift (yystackp
, yyk
,
5799 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
5800 yylhsNonterm (yyrule
)),
5807 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
5808 yyStateNum yynewLRState
;
5810 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
5816 yyupdateSplit (yystackp
, yys
);
5817 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
5819 "Reduced stack %lu by rule #%d; action deferred. "
5820 "Now in state %d.\n",
5821 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
5822 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
5823 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
5825 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
5826 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
5827 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
5829 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
5831 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
5832 yymarkStackDeleted (yystackp
, yyk
);
5833 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
5834 (unsigned long int) yyk
,
5835 (unsigned long int) yyi
));
5841 yystackp
->yytops
.yystates
[yyk
] = yys
;
5842 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
5848 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
5850 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5852 YYASSERT (yyk
== 0);
5853 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
5855 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
5857 yyGLRState
** yynewStates
;
5858 yybool
* yynewLookaheadNeeds
;
5860 yynewStates
= YY_NULLPTR
;
5862 if (yystackp
->yytops
.yycapacity
5863 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
5864 yyMemoryExhausted (yystackp
);
5865 yystackp
->yytops
.yycapacity
*= 2;
5868 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
5869 (yystackp
->yytops
.yycapacity
5870 * sizeof yynewStates
[0]));
5871 if (yynewStates
== YY_NULLPTR
)
5872 yyMemoryExhausted (yystackp
);
5873 yystackp
->yytops
.yystates
= yynewStates
;
5875 yynewLookaheadNeeds
=
5876 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
5877 (yystackp
->yytops
.yycapacity
5878 * sizeof yynewLookaheadNeeds
[0]));
5879 if (yynewLookaheadNeeds
== YY_NULLPTR
)
5880 yyMemoryExhausted (yystackp
);
5881 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
5883 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
5884 = yystackp
->yytops
.yystates
[yyk
];
5885 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
5886 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
5887 yystackp
->yytops
.yysize
+= 1;
5888 return yystackp
->yytops
.yysize
-1;
5891 /** True iff YYY0 and YYY1 represent identical options at the top level.
5892 * That is, they represent the same rule applied to RHS symbols
5893 * that produce the same terminal symbols. */
5895 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5897 if (yyy0
->yyrule
== yyy1
->yyrule
)
5899 yyGLRState
*yys0
, *yys1
;
5901 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5902 yyn
= yyrhsLength (yyy0
->yyrule
);
5904 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5905 if (yys0
->yyposn
!= yys1
->yyposn
)
5913 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
5914 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
5916 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5918 yyGLRState
*yys0
, *yys1
;
5920 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5921 yyn
= yyrhsLength (yyy0
->yyrule
);
5923 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5927 else if (yys0
->yyresolved
)
5929 yys1
->yyresolved
= yytrue
;
5930 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
5932 else if (yys1
->yyresolved
)
5934 yys0
->yyresolved
= yytrue
;
5935 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
5939 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
5940 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
5943 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
5945 else if (*yyz0p
== YY_NULLPTR
)
5950 else if (*yyz0p
< yyz1
)
5952 yySemanticOption
* yyz
= *yyz0p
;
5954 yyz1
= yyz1
->yynext
;
5955 (*yyz0p
)->yynext
= yyz
;
5957 yyz0p
= &(*yyz0p
)->yynext
;
5959 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
5964 /** Y0 and Y1 represent two possible actions to take in a given
5965 * parsing state; return 0 if no combination is possible,
5966 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
5968 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
5970 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
5971 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
5975 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
5980 if (p0
== 0 || p1
== 0)
5989 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
5990 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
5993 /** Resolve the previous YYN states starting at and including state YYS
5994 * on *YYSTACKP. If result != yyok, some states may have been left
5995 * unresolved possibly with empty semantic option chains. Regardless
5996 * of whether result = yyok, each state has been left with consistent
5997 * data so that yydestroyGLRState can be invoked if necessary. */
5999 yyresolveStates (yyGLRState
* yys
, int yyn
,
6000 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6004 YYASSERT (yys
->yypred
);
6005 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6006 if (! yys
->yyresolved
)
6007 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6012 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6013 * user action, and return the semantic value and location in *YYVALP
6014 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6015 * have been destroyed (assuming the user action destroys all RHS
6016 * semantic values if invoked). */
6018 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6019 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6021 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6022 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6023 YYRESULTTAG yyflag
=
6024 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6028 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6029 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6033 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6035 int yychar_current
= yychar
;
6036 YYSTYPE yylval_current
= yylval
;
6037 yychar
= yyopt
->yyrawchar
;
6038 yylval
= yyopt
->yyval
;
6039 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6040 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6041 yystackp
, yyvalp
, P
, tokens
, index
);
6042 yychar
= yychar_current
;
6043 yylval
= yylval_current
;
6050 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6052 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6055 yyGLRState
* yystates
[1 + YYMAXRHS
];
6056 yyGLRState yyleftmost_state
;
6058 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6059 yystates
[yyi
] = yys
;
6060 if (yys
== YY_NULLPTR
)
6062 yyleftmost_state
.yyposn
= 0;
6063 yystates
[0] = &yyleftmost_state
;
6068 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6069 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6070 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6073 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6074 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6075 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6076 (unsigned long int) yyx
->yystate
->yyposn
);
6077 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6079 if (yystates
[yyi
]->yyresolved
)
6081 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6082 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6083 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6085 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6086 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6087 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6088 (unsigned long int) yystates
[yyi
]->yyposn
);
6091 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6097 yyreportAmbiguity (yySemanticOption
* yyx0
,
6098 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6104 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6105 YYFPRINTF (stderr
, "Option 1,\n");
6106 yyreportTree (yyx0
, 2);
6107 YYFPRINTF (stderr
, "\nOption 2,\n");
6108 yyreportTree (yyx1
, 2);
6109 YYFPRINTF (stderr
, "\n");
6112 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6116 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6117 * perform the indicated actions, and set the semantic value of YYS.
6118 * If result != yyok, the chain of semantic options in YYS has been
6119 * cleared instead or it has been left unmodified except that
6120 * redundant options may have been removed. Regardless of whether
6121 * result = yyok, YYS has been left with consistent data so that
6122 * yydestroyGLRState can be invoked if necessary. */
6124 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6126 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6127 yySemanticOption
* yybest
= yyoptionList
;
6128 yySemanticOption
** yypp
;
6129 yybool yymerge
= yyfalse
;
6133 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6135 yySemanticOption
* yyp
= *yypp
;
6137 if (yyidenticalOptions (yybest
, yyp
))
6139 yymergeOptionSets (yybest
, yyp
);
6140 *yypp
= yyp
->yynext
;
6144 switch (yypreference (yybest
, yyp
))
6147 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6159 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6160 but some compilers complain if the default case is
6164 yypp
= &yyp
->yynext
;
6170 yySemanticOption
* yyp
;
6171 int yyprec
= yydprec
[yybest
->yyrule
];
6172 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6174 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6176 if (yyprec
== yydprec
[yyp
->yyrule
])
6178 YYSTYPE yysval_other
;
6179 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6182 yydestruct ("Cleanup: discarding incompletely merged value for",
6183 yystos
[yys
->yylrState
],
6184 &yysval
, P
, tokens
, index
);
6187 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6192 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6196 yys
->yyresolved
= yytrue
;
6197 yys
->yysemantics
.yysval
= yysval
;
6200 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6205 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6207 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6212 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6213 yys
!= yystackp
->yysplitPoint
;
6214 yys
= yys
->yypred
, yyn
+= 1)
6216 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6217 , P
, tokens
, index
));
6223 yycompressStack (yyGLRStack
* yystackp
)
6225 yyGLRState
* yyp
, *yyq
, *yyr
;
6227 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6230 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6231 yyp
!= yystackp
->yysplitPoint
;
6232 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6235 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6236 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6237 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6238 yystackp
->yysplitPoint
= YY_NULLPTR
;
6239 yystackp
->yylastDeleted
= YY_NULLPTR
;
6241 while (yyr
!= YY_NULLPTR
)
6243 yystackp
->yynextFree
->yystate
= *yyr
;
6245 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6246 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6247 yystackp
->yynextFree
+= 1;
6248 yystackp
->yyspaceLeft
-= 1;
6253 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6254 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6256 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6258 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6259 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6260 (unsigned long int) yyk
, yystate
));
6262 YYASSERT (yystate
!= YYFINAL
);
6264 if (yyisDefaultedState (yystate
))
6267 yyRuleNum yyrule
= yydefaultAction (yystate
);
6270 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6271 (unsigned long int) yyk
));
6272 yymarkStackDeleted (yystackp
, yyk
);
6275 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6276 if (yyflag
== yyerr
)
6280 "(predicate failure or explicit user error).\n",
6281 (unsigned long int) yyk
));
6282 yymarkStackDeleted (yystackp
, yyk
);
6292 const short int* yyconflicts
;
6294 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6295 if (yychar
== YYEMPTY
)
6297 YYDPRINTF ((stderr
, "Reading a token: "));
6298 yychar
= yylex (&yylval
, P
, tokens
, index
);
6301 if (yychar
<= YYEOF
)
6303 yychar
= yytoken
= YYEOF
;
6304 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6308 yytoken
= YYTRANSLATE (yychar
);
6309 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6312 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6314 while (*yyconflicts
!= 0)
6317 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6318 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6319 (unsigned long int) yynewStack
,
6320 (unsigned long int) yyk
));
6321 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6323 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6325 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6326 yyposn
, P
, tokens
, index
));
6327 else if (yyflag
== yyerr
)
6329 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6330 (unsigned long int) yynewStack
));
6331 yymarkStackDeleted (yystackp
, yynewStack
);
6338 if (yyisShiftAction (yyaction
))
6340 else if (yyisErrorAction (yyaction
))
6342 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6343 (unsigned long int) yyk
));
6344 yymarkStackDeleted (yystackp
, yyk
);
6349 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6350 yyimmediate
[-yyaction
], P
, tokens
, index
);
6351 if (yyflag
== yyerr
)
6355 "(predicate failure or explicit user error).\n",
6356 (unsigned long int) yyk
));
6357 yymarkStackDeleted (yystackp
, yyk
);
6360 else if (yyflag
!= yyok
)
6369 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6371 if (yystackp
->yyerrState
!= 0)
6373 #if ! YYERROR_VERBOSE
6374 yyerror (P
, tokens
, index
, YY_("syntax error"));
6377 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6378 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6379 size_t yysize
= yysize0
;
6380 yybool yysize_overflow
= yyfalse
;
6381 char* yymsg
= YY_NULLPTR
;
6382 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6383 /* Internationalized format string. */
6384 const char *yyformat
= YY_NULLPTR
;
6385 /* Arguments of yyformat. */
6386 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6387 /* Number of reported tokens (one for the "unexpected", one per
6391 /* There are many possibilities here to consider:
6392 - If this state is a consistent state with a default action, then
6393 the only way this function was invoked is if the default action
6394 is an error action. In that case, don't check for expected
6395 tokens because there are none.
6396 - The only way there can be no lookahead present (in yychar) is if
6397 this state is a consistent state with a default action. Thus,
6398 detecting the absence of a lookahead is sufficient to determine
6399 that there is no unexpected or expected token to report. In that
6400 case, just report a simple "syntax error".
6401 - Don't assume there isn't a lookahead just because this state is a
6402 consistent state with a default action. There might have been a
6403 previous inconsistent state, consistent state with a non-default
6404 action, or user semantic action that manipulated yychar.
6405 - Of course, the expected token list depends on states to have
6406 correct lookahead information, and it depends on the parser not
6407 to perform extra reductions after fetching a lookahead from the
6408 scanner and before detecting a syntax error. Thus, state merging
6409 (from LALR or IELR) and default reductions corrupt the expected
6410 token list. However, the list is correct for canonical LR with
6411 one exception: it will still contain any token that will not be
6412 accepted due to an error action in a later state.
6414 if (yytoken
!= YYEMPTY
)
6416 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6417 yyarg
[yycount
++] = yytokenName (yytoken
);
6418 if (!yypact_value_is_default (yyn
))
6420 /* Start YYX at -YYN if negative to avoid negative indexes in
6421 YYCHECK. In other words, skip the first -YYN actions for this
6422 state because they are default actions. */
6423 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
6424 /* Stay within bounds of both yycheck and yytname. */
6425 int yychecklim
= YYLAST
- yyn
+ 1;
6426 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
6428 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
6429 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
6430 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
6432 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
6438 yyarg
[yycount
++] = yytokenName (yyx
);
6440 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
6441 yysize_overflow
|= yysz
< yysize
;
6450 #define YYCASE_(N, S) \
6454 YYCASE_(0, YY_("syntax error"));
6455 YYCASE_(1, YY_("syntax error, unexpected %s"));
6456 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
6457 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
6458 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
6459 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
6464 size_t yysz
= yysize
+ strlen (yyformat
);
6465 yysize_overflow
|= yysz
< yysize
;
6469 if (!yysize_overflow
)
6470 yymsg
= (char *) YYMALLOC (yysize
);
6476 while ((*yyp
= *yyformat
))
6478 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
6480 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
6489 yyerror (P
, tokens
, index
, yymsg
);
6494 yyerror (P
, tokens
, index
, YY_("syntax error"));
6495 yyMemoryExhausted (yystackp
);
6498 #endif /* YYERROR_VERBOSE */
6502 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
6503 yylval, and yylloc are the syntactic category, semantic value, and location
6504 of the lookahead. */
6506 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6511 if (yystackp
->yyerrState
== 3)
6512 /* We just shifted the error token and (perhaps) took some
6513 reductions. Skip tokens until we can proceed. */
6517 if (yychar
== YYEOF
)
6518 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6519 if (yychar
!= YYEMPTY
)
6521 yytoken
= YYTRANSLATE (yychar
);
6522 yydestruct ("Error: discarding",
6523 yytoken
, &yylval
, P
, tokens
, index
);
6525 YYDPRINTF ((stderr
, "Reading a token: "));
6526 yychar
= yylex (&yylval
, P
, tokens
, index
);
6527 if (yychar
<= YYEOF
)
6529 yychar
= yytoken
= YYEOF
;
6530 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6534 yytoken
= YYTRANSLATE (yychar
);
6535 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6537 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6538 if (yypact_value_is_default (yyj
))
6541 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
6543 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
6546 else if (! yytable_value_is_error (yytable
[yyj
]))
6550 /* Reduce to one stack. */
6551 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6552 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6554 if (yyk
>= yystackp
->yytops
.yysize
)
6555 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6556 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6557 yymarkStackDeleted (yystackp
, yyk
);
6558 yyremoveDeletes (yystackp
);
6559 yycompressStack (yystackp
);
6561 /* Now pop stack until we find a state that shifts the error token. */
6562 yystackp
->yyerrState
= 3;
6563 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
6565 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
6566 yyj
= yypact
[yys
->yylrState
];
6567 if (! yypact_value_is_default (yyj
))
6570 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
6571 && yyisShiftAction (yytable
[yyj
]))
6573 /* Shift the error token. */
6574 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
6575 &yylval
, &yyerrloc
);
6576 yyglrShift (yystackp
, 0, yytable
[yyj
],
6577 yys
->yyposn
, &yylval
);
6578 yys
= yystackp
->yytops
.yystates
[0];
6582 if (yys
->yypred
!= YY_NULLPTR
)
6583 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
6584 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
6585 yystackp
->yynextFree
-= 1;
6586 yystackp
->yyspaceLeft
+= 1;
6588 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
6589 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6592 #define YYCHK1(YYE) \
6602 goto yyuser_error; \
6613 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6617 yyGLRStack
* const yystackp
= &yystack
;
6620 YYDPRINTF ((stderr
, "Starting parse\n"));
6623 yylval
= yyval_default
;
6625 /* User initialization code. */
6626 #line 98 "src/parser_proc_grammar.y" /* glr.c:2270 */
6630 #line 6631 "src/parser_proc.c" /* glr.c:2270 */
6632 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
6633 goto yyexhaustedlab
;
6634 switch (YYSETJMP (yystack
.yyexception_buffer
))
6637 case 1: goto yyabortlab
;
6638 case 2: goto yyexhaustedlab
;
6639 default: goto yybuglab
;
6641 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
6646 /* For efficiency, we have two loops, the first of which is
6647 specialized to deterministic operation (single stack, no
6648 potential ambiguity). */
6654 const short int* yyconflicts
;
6656 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
6657 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
6658 if (yystate
== YYFINAL
)
6660 if (yyisDefaultedState (yystate
))
6662 yyrule
= yydefaultAction (yystate
);
6666 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6669 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
6674 if (yychar
== YYEMPTY
)
6676 YYDPRINTF ((stderr
, "Reading a token: "));
6677 yychar
= yylex (&yylval
, P
, tokens
, index
);
6680 if (yychar
<= YYEOF
)
6682 yychar
= yytoken
= YYEOF
;
6683 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6687 yytoken
= YYTRANSLATE (yychar
);
6688 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6691 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6692 if (*yyconflicts
!= 0)
6694 if (yyisShiftAction (yyaction
))
6696 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
6699 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
6700 if (0 < yystack
.yyerrState
)
6701 yystack
.yyerrState
-= 1;
6703 else if (yyisErrorAction (yyaction
))
6706 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6710 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
6716 yySymbol yytoken_to_shift
;
6719 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6720 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
6722 /* yyprocessOneStack returns one of three things:
6724 - An error flag. If the caller is yyprocessOneStack, it
6725 immediately returns as well. When the caller is finally
6726 yyparse, it jumps to an error label via YYCHK1.
6728 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
6729 (&yystack, yys), which sets the top state of yys to NULL. Thus,
6730 yyparse's following invocation of yyremoveDeletes will remove
6733 - yyok, when ready to shift a token.
6735 Except in the first case, yyparse will invoke yyremoveDeletes and
6736 then shift the next token onto all remaining stacks. This
6737 synchronization of the shift (that is, after all preceding
6738 reductions on all stacks) helps prevent double destructor calls
6739 on yylval in the event of memory exhaustion. */
6741 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6742 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
6743 yyremoveDeletes (&yystack
);
6744 if (yystack
.yytops
.yysize
== 0)
6746 yyundeleteLastStack (&yystack
);
6747 if (yystack
.yytops
.yysize
== 0)
6748 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
6749 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6750 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6752 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6756 /* If any yyglrShift call fails, it will fail after shifting. Thus,
6757 a copy of yylval will already be on stack 0 in the event of a
6758 failure in the following loop. Thus, yychar is set to YYEMPTY
6759 before the loop to make sure the user destructor for yylval isn't
6761 yytoken_to_shift
= YYTRANSLATE (yychar
);
6764 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6767 const short int* yyconflicts
;
6768 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
6769 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
6771 /* Note that yyconflicts were handled by yyprocessOneStack. */
6772 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
6773 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
6774 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
6776 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
6777 (unsigned long int) yys
,
6778 yystack
.yytops
.yystates
[yys
]->yylrState
));
6781 if (yystack
.yytops
.yysize
== 1)
6783 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6784 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6785 yycompressStack (&yystack
);
6791 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
6792 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
6808 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
6813 if (yychar
!= YYEMPTY
)
6814 yydestruct ("Cleanup: discarding lookahead",
6815 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
6817 /* If the stack is well-formed, pop the stack until it is empty,
6818 destroying its entries as we go. But free the stack regardless
6819 of whether it is well-formed. */
6820 if (yystack
.yyitems
)
6822 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
6825 size_t yysize
= yystack
.yytops
.yysize
;
6827 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
6830 while (yystates
[yyk
])
6832 yyGLRState
*yys
= yystates
[yyk
];
6833 if (yys
->yypred
!= YY_NULLPTR
)
6834 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6835 yystates
[yyk
] = yys
->yypred
;
6836 yystack
.yynextFree
-= 1;
6837 yystack
.yyspaceLeft
+= 1;
6842 yyfreeGLRStack (&yystack
);
6848 /* DEBUGGING ONLY */
6851 yy_yypstack (yyGLRState
* yys
)
6855 yy_yypstack (yys
->yypred
);
6856 YYFPRINTF (stderr
, " -> ");
6858 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
6859 (unsigned long int) yys
->yyposn
);
6863 yypstates (yyGLRState
* yyst
)
6865 if (yyst
== YY_NULLPTR
)
6866 YYFPRINTF (stderr
, "<null>");
6869 YYFPRINTF (stderr
, "\n");
6873 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
6875 yypstates (yystackp
->yytops
.yystates
[yyk
]);
6878 #define YYINDEX(YYX) \
6879 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
6883 yypdumpstack (yyGLRStack
* yystackp
)
6885 yyGLRStackItem
* yyp
;
6887 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
6889 YYFPRINTF (stderr
, "%3lu. ",
6890 (unsigned long int) (yyp
- yystackp
->yyitems
));
6891 if (*(yybool
*) yyp
)
6893 YYASSERT (yyp
->yystate
.yyisState
);
6894 YYASSERT (yyp
->yyoption
.yyisState
);
6895 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
6896 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
6897 (unsigned long int) yyp
->yystate
.yyposn
,
6898 (long int) YYINDEX (yyp
->yystate
.yypred
));
6899 if (! yyp
->yystate
.yyresolved
)
6900 YYFPRINTF (stderr
, ", firstVal: %ld",
6901 (long int) YYINDEX (yyp
->yystate
6902 .yysemantics
.yyfirstVal
));
6906 YYASSERT (!yyp
->yystate
.yyisState
);
6907 YYASSERT (!yyp
->yyoption
.yyisState
);
6908 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
6909 yyp
->yyoption
.yyrule
- 1,
6910 (long int) YYINDEX (yyp
->yyoption
.yystate
),
6911 (long int) YYINDEX (yyp
->yyoption
.yynext
));
6913 YYFPRINTF (stderr
, "\n");
6915 YYFPRINTF (stderr
, "Tops:");
6916 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6917 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
6918 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
6919 YYFPRINTF (stderr
, "\n");
6927 /* Substitute the variable and function names. */
6928 #define yyparse psi_parser_proc_parse
6929 #define yylex psi_parser_proc_lex
6930 #define yyerror psi_parser_proc_error
6931 #define yylval psi_parser_proc_lval
6932 #define yychar psi_parser_proc_char
6933 #define yydebug psi_parser_proc_debug
6934 #define yynerrs psi_parser_proc_nerrs
6936 #line 1851 "src/parser_proc_grammar.y" /* glr.c:2584 */
6941 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6943 struct psi_token
*token
;
6945 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
6946 if (P
->flags
& PSI_DEBUG
) {
6947 psi_token_dump(2, token
);
6950 *((struct psi_token
**)lvalp
) = token
;
6954 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
6960 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
6962 struct psi_token
*T
= NULL
;
6971 psi_plist_get(tokens
, last
, &T
);
6973 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
6975 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);