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_from_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
133 if (def
->type
->real
.def
) {
134 switch (def
->type
->type
) {
136 psi_parser_proc_add_struct(P
, def
->type
->real
.strct
);
139 psi_parser_proc_add_union(P
, def
->type
->real
.unn
);
142 psi_parser_proc_add_enum(P
, def
->type
->real
.enm
);
149 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
153 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
155 P
->types
= psi_plist_add(P
->types
, &def
);
156 psi_parser_proc_add_from_typedef(P
, def
);
158 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
161 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
163 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
166 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
169 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
171 P
->decls
= psi_plist_add(P
->decls
, &decl
);
173 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
176 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
178 P
->impls
= psi_plist_add(P
->impls
, &impl
);
183 #line 184 "src/parser_proc.c" /* glr.c:264 */
190 # if defined YYENABLE_NLS && YYENABLE_NLS
192 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
193 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
197 # define YY_(Msgid) Msgid
205 # define YYMALLOC malloc
208 # define YYREALLOC realloc
211 #define YYSIZEMAX ((size_t) -1)
216 typedef unsigned char yybool
;
223 # define YYJMP_BUF jmp_buf
224 # define YYSETJMP(Env) setjmp (Env)
226 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
230 # if (defined __GNUC__ \
231 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
232 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
233 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
235 # define YY_ATTRIBUTE(Spec) /* empty */
239 #ifndef YY_ATTRIBUTE_PURE
240 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
243 #ifndef YY_ATTRIBUTE_UNUSED
244 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
247 #if !defined _Noreturn \
248 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
249 # if defined _MSC_VER && 1200 <= _MSC_VER
250 # define _Noreturn __declspec (noreturn)
252 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
256 /* Suppress unused-variable warnings by "using" E. */
257 #if ! defined lint || defined __GNUC__
258 # define YYUSE(E) ((void) (E))
260 # define YYUSE(E) /* empty */
263 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
264 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
265 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
266 _Pragma ("GCC diagnostic push") \
267 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
268 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
269 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
270 _Pragma ("GCC diagnostic pop")
272 # define YY_INITIAL_VALUE(Value) Value
274 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
275 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
276 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
278 #ifndef YY_INITIAL_VALUE
279 # define YY_INITIAL_VALUE(Value) /* Nothing. */
284 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
287 /* YYFINAL -- State number of the termination state. */
289 /* YYLAST -- Last index in YYTABLE. */
292 /* YYNTOKENS -- Number of terminals. */
293 #define YYNTOKENS 132
294 /* YYNNTS -- Number of nonterminals. */
296 /* YYNRULES -- Number of rules. */
298 /* YYNRULES -- Number of states. */
299 #define YYNSTATES 680
300 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
302 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
303 accessed by $0, $-1, etc., in any rule. */
306 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
308 #define YYMAXUTOK 386
310 #define YYTRANSLATE(YYX) \
311 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
313 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
314 static const unsigned char yytranslate
[] =
316 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
342 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
343 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
344 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
345 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
346 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
347 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
348 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
349 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
350 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
351 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
352 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
353 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
354 125, 126, 127, 128, 129, 130, 131
358 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
359 static const unsigned short int yyrline
[] =
361 0, 392, 392, 392, 392, 392, 392, 392, 392, 392,
362 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
363 393, 393, 393, 393, 394, 394, 394, 394, 394, 394,
364 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
365 394, 395, 395, 395, 395, 395, 395, 395, 395, 395,
366 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
367 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
368 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
369 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
370 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
371 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
372 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
373 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
374 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
375 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
376 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
377 395, 395, 395, 399, 400, 403, 404, 407, 408, 409,
378 410, 416, 424, 427, 430, 431, 434, 437, 440, 443,
379 449, 455, 458, 464, 487, 491, 495, 500, 504, 508,
380 512, 519, 520, 524, 525, 529, 530, 531, 535, 536,
381 540, 541, 545, 546, 547, 551, 552, 556, 557, 558,
382 559, 560, 561, 565, 570, 578, 581, 585, 590, 598,
383 601, 605, 609, 616, 620, 624, 628, 633, 643, 653,
384 658, 663, 669, 678, 681, 685, 689, 695, 702, 708,
385 709, 710, 711, 715, 718, 725, 726, 727, 728, 729,
386 733, 739, 740, 748, 758, 766, 774, 782, 785, 789,
387 793, 797, 802, 807, 815, 816, 817, 820, 826, 829,
388 832, 838, 839, 840, 841, 842, 843, 844, 845, 849,
389 850, 854, 857, 860, 866, 869, 872, 880, 892, 895,
390 898, 905, 908, 918, 921, 924, 927, 928, 932, 935,
391 938, 949, 952, 958, 959, 963, 964, 968, 972, 978,
392 979, 985, 992, 1000, 1007, 1018, 1019, 1023, 1030, 1041,
393 1052, 1066, 1067, 1079, 1082, 1085, 1088, 1094, 1097, 1107,
394 1120, 1125, 1133, 1143, 1153, 1156, 1160, 1166, 1169, 1175,
395 1183, 1190, 1193, 1199, 1204, 1212, 1216, 1220, 1224, 1228,
396 1232, 1239, 1243, 1247, 1251, 1258, 1271, 1284, 1297, 1300,
397 1307, 1310, 1316, 1320, 1327, 1330, 1336, 1339, 1345, 1346,
398 1352, 1355, 1367, 1370, 1377, 1382, 1387, 1397, 1400, 1406,
399 1409, 1415, 1422, 1429, 1430, 1431, 1432, 1433, 1434, 1435,
400 1436, 1437, 1441, 1444, 1450, 1453, 1456, 1459, 1462, 1468,
401 1472, 1480, 1481, 1485, 1492, 1495, 1498, 1501, 1504, 1510,
402 1514, 1522, 1529, 1537, 1545, 1546, 1547, 1548, 1549, 1550,
403 1551, 1552, 1553, 1554, 1558, 1561, 1567, 1570, 1576, 1577,
404 1581, 1584, 1590, 1593, 1599, 1606, 1613, 1616, 1619, 1626,
405 1631, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1650,
406 1653, 1659, 1662, 1668, 1675, 1676, 1680, 1687, 1690, 1696,
407 1704, 1707, 1713, 1716, 1722
411 #if YYDEBUG || YYERROR_VERBOSE || 1
412 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
413 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
414 static const char *const yytname
[] =
416 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
417 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
418 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "INT8", "UINT8",
419 "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "NULL", "TRUE",
420 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
421 "QUOTED_CHAR", "\"end of line\"", "\";\"", "\"(\"", "\")\"", "\",\"",
422 "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"", "\"#\"", "\"|\"",
423 "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"", "\"*\"", "\"/\"",
424 "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"", "\"||\"", "\"&&\"",
425 "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"", "\"\\\\\"", "\"...\"",
426 "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR", "WARNING", "IF",
427 "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE", "DEFINED", "UNDEF",
428 "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF", "STRUCT", "UNION",
429 "ENUM", "CONST", "LIB", "STATIC", "CALLBACK", "FUNCTION", "LET", "SET",
430 "TEMP", "FREE", "RETURN", "PRE_ASSERT", "POST_ASSERT", "BOOLVAL",
431 "INTVAL", "STRVAL", "PATHVAL", "STRLEN", "FLOATVAL", "ARRVAL", "OBJVAL",
432 "COUNT", "CALLOC", "TO_BOOL", "TO_INT", "TO_STRING", "TO_FLOAT",
433 "TO_ARRAY", "TO_OBJECT", "COMMENT", "WHITESPACE", "NO_WHITESPACE",
434 "CPP_HEADER", "CPP_ATTRIBUTE", "CPP_EXTENSION", "CPP_PASTE",
435 "CPP_RESTRICT", "CPP_ASM", "BINARY", "UNARY", "$accept",
436 "binary_op_token", "unary_op_token", "name_token", "any_noeol_token",
437 "file", "blocks", "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
438 "cpp_message_token", "cpp_include_token", "cpp_header_token",
439 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
440 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
441 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
442 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
443 "cpp_macro_call_arg_list", "constant", "constant_type",
444 "constant_type_token", "impl_def_val", "impl_def_val_token",
445 "decl_typedef", "typedef", "const_decl_type", "decl_type",
446 "decl_type_complex", "decl_type_simple", "decl_real_type",
447 "decl_stdint_type", "int_signed", "int_width", "decl_int_type",
448 "int_signed_types", "signed_short_types", "signed_long_types",
449 "int_width_types", "decl_stmt", "decl_asm", "ignored_quoted_strings",
450 "decl_ext_var_stmt", "decl_ext_var", "decl_ext_var_list", "decl",
451 "decl_fn", "decl_functor", "decl_func", "decl_args", "decl_arg",
452 "decl_var", "decl_union", "decl_struct", "decl_struct_args",
453 "struct_args_block", "struct_args", "struct_arg", "decl_enum",
454 "decl_enum_items", "decl_enum_item", "num_exp", "number", "enum_name",
455 "union_name", "struct_name", "optional_name", "decl_layout",
456 "align_and_size", "array_size", "indirection", "pointers", "asterisks",
457 "impl", "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
458 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
459 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
460 "let_func", "let_func_token", "let_func_exps", "let_exps",
461 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
462 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
463 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
464 "free_exp", "decl_vars", "reference", "byref", YY_NULLPTR
468 #define YYPACT_NINF -547
469 #define YYTABLE_NINF -463
471 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
473 static const short int yypact
[] =
475 919, -547, -547, -547, -547, -547, 56, -547, -547, 1936,
476 -547, -547, -547, -547, -547, -547, -547, -547, 2491, -547,
477 -547, 236, 2541, 2319, 2319, 2319, 1554, 9, -63, 21,
478 -547, 2568, 73, 919, -547, -547, -547, -547, -547, 1985,
479 -547, -547, -547, -547, -547, 104, 78, -547, -547, -547,
480 43, -10, 67, -547, -547, -547, -547, -547, -547, 81,
481 -547, 87, -547, -547, -547, -547, -547, 629, -547, 80,
482 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
483 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
484 -547, -547, -547, -547, -547, -547, -547, -547, -547, 2103,
485 -38, -547, -547, -547, 2319, 2319, 2319, 2672, 100, 58,
486 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
487 -547, -547, 878, -547, -547, -547, -547, 108, 759, 759,
488 -9, -547, 878, 1818, 2595, 2319, 2319, 110, 1582, -547,
489 111, 2319, 115, 115, -6, -6, 117, -547, -547, 130,
490 142, -547, 80, 148, -547, -547, 144, 140, -547, 154,
491 -547, -10, -547, -547, 150, -547, 155, 2319, -547, 189,
492 -547, 38, -547, -547, 104, -547, -547, 158, 160, 2645,
493 2319, 165, 2319, -547, 80, -547, -547, -547, -547, -547,
494 -547, 2645, 1985, -547, -547, -547, -547, -547, -547, 75,
495 759, -547, -547, -547, -547, -547, -547, -547, -547, -547,
496 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
497 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
498 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
499 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
500 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
501 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
502 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
503 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
504 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
505 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
506 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
507 -547, -547, -547, -547, -547, -547, -547, 759, -547, -547,
508 -547, -547, -547, -547, -547, -547, 1818, -547, -547, -547,
509 -547, 2152, 1818, 163, 2934, 59, -547, 59, -547, -547,
510 -547, -547, 164, 162, 162, 3, 3, 2270, 166, -547,
511 165, 168, 171, 176, -547, 80, 150, -547, -547, -547,
512 -547, -547, -547, 177, -547, 80, 2699, 1985, 72, -547,
513 169, 51, -547, 1985, 1397, 1985, 2319, 71, -547, -547,
514 123, -547, -547, -547, -547, -547, 1700, -547, 175, 2319,
515 82, -547, 2319, 170, 178, -547, -547, 2780, 2319, -547,
516 -547, 1818, -547, -547, -547, -547, -547, -547, -547, -547,
517 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
518 1818, 1818, 179, 2541, 1985, 1985, -547, -547, -547, -547,
519 80, -547, 27, 149, 36, -547, 174, 2319, -547, -547,
520 24, 2319, 80, 150, 1013, 1700, 2319, -547, 183, 191,
521 -547, -547, -547, 1043, 1700, -547, 2958, -547, 184, 195,
522 -547, 196, 188, 187, 198, 55, -547, -547, 200, 196,
523 -547, -547, 2744, -547, 203, 150, 2436, 1985, 2319, -547,
524 204, 2934, 205, 199, 2885, -547, 212, 214, 2464, -547,
525 -547, -547, 2319, -547, -547, -547, -547, -547, 209, -547,
526 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
527 215, 102, -547, 21, -547, -547, 218, -547, -547, 2319,
528 -547, 80, 219, -547, 2958, -547, 1161, -547, 220, 2735,
529 221, 2807, -547, 1700, 1700, 1397, -547, 1985, -547, 21,
530 1985, -547, 2319, -547, -547, -547, -547, 234, -547, -547,
531 235, 237, -547, -547, 1818, 1818, 238, 239, 242, -547,
532 -547, 246, -547, 344, 240, 344, 230, -547, 150, -547,
533 182, 258, 2958, -547, -547, -547, -547, 259, 1515, 1700,
534 -547, 2910, -547, -547, 260, 1985, 129, -547, 150, 759,
535 2319, 2934, 2982, 265, 261, -547, -547, -547, 344, -547,
536 21, 27, -547, -547, -547, -547, 266, 1700, 21, -547,
537 -547, 1700, 459, 264, 269, -547, -547, -547, -547, 281,
538 292, -547, 0, -547, 21, 2860, 286, 3006, 288, -547,
539 289, -547, -547, -547, 290, 296, 293, 1700, 1161, 294,
540 -547, 1397, 299, 297, 1279, 2834, 183, -547, -547, -547,
541 295, 1515, -547, -547, 298, 300, 303, 305, -547, -547,
542 1161, -547, -547, 344, 304, 1397, -547, -547, -547, -547
545 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
546 Performed when YYTABLE does not specify something else to do. Zero
547 means the default is an error. */
548 static const unsigned short int yydefact
[] =
550 163, 284, 281, 285, 279, 280, 282, 268, 269, 0,
551 271, 272, 273, 274, 275, 276, 277, 278, 267, 168,
552 167, 0, 0, 0, 0, 358, 0, 0, 0, 462,
553 169, 0, 0, 164, 165, 171, 170, 172, 175, 366,
554 258, 260, 259, 265, 266, 288, 298, 264, 173, 174,
555 0, 303, 0, 316, 315, 321, 177, 176, 178, 0,
556 179, 0, 283, 270, 32, 33, 448, 414, 24, 366,
557 370, 38, 37, 36, 34, 35, 31, 30, 28, 27,
558 25, 26, 422, 421, 419, 417, 418, 420, 416, 415,
559 423, 29, 446, 444, 443, 445, 442, 441, 322, 0,
560 368, 39, 40, 267, 0, 0, 0, 0, 0, 309,
561 181, 192, 189, 191, 193, 194, 205, 202, 203, 200,
562 206, 201, 0, 204, 195, 196, 197, 0, 219, 219,
563 0, 185, 0, 0, 267, 358, 358, 0, 366, 252,
564 251, 0, 362, 362, 261, 262, 263, 355, 239, 285,
565 268, 242, 0, 0, 238, 257, 0, 0, 464, 0,
566 463, 303, 1, 166, 364, 327, 0, 367, 289, 293,
567 291, 295, 286, 299, 288, 287, 307, 0, 0, 323,
568 0, 0, 0, 367, 366, 329, 371, 369, 261, 262,
569 263, 323, 0, 308, 208, 209, 210, 212, 211, 207,
570 219, 187, 182, 74, 41, 42, 43, 44, 45, 46,
571 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
572 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
573 67, 68, 69, 70, 71, 72, 73, 75, 76, 77,
574 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
575 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
576 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
577 108, 114, 112, 113, 111, 109, 110, 115, 116, 117,
578 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
579 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
580 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
581 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
582 158, 161, 159, 160, 162, 221, 190, 220, 183, 198,
583 199, 184, 207, 186, 229, 230, 0, 22, 23, 20,
584 21, 0, 0, 231, 188, 261, 357, 262, 356, 250,
585 256, 253, 0, 0, 0, 0, 0, 0, 0, 180,
586 0, 0, 0, 0, 331, 366, 364, 294, 290, 296,
587 297, 292, 300, 0, 301, 324, 0, 0, 0, 325,
588 343, 0, 341, 0, 462, 0, 0, 0, 454, 455,
589 0, 392, 395, 394, 396, 397, 0, 398, 0, 0,
590 0, 460, 0, 310, 0, 214, 222, 0, 0, 227,
591 224, 233, 2, 3, 4, 5, 6, 7, 8, 9,
592 10, 11, 13, 12, 14, 15, 16, 17, 18, 19,
593 0, 0, 0, 0, 0, 0, 334, 333, 335, 332,
594 366, 328, 243, 0, 0, 302, 0, 0, 330, 305,
595 0, 0, 0, 364, 0, 0, 0, 340, 0, 0,
596 352, 351, 353, 0, 0, 354, 437, 345, 0, 0,
597 436, 40, 0, 0, 0, 0, 457, 447, 0, 0,
598 372, 393, 0, 320, 0, 364, 0, 0, 215, 223,
599 0, 235, 0, 234, 0, 225, 0, 360, 0, 337,
600 255, 254, 0, 245, 247, 248, 246, 249, 0, 244,
601 373, 385, 386, 387, 388, 384, 389, 390, 391, 383,
602 0, 0, 377, 462, 382, 365, 0, 306, 304, 0,
603 311, 0, 0, 326, 344, 342, 0, 399, 24, 0,
604 0, 0, 349, 0, 0, 462, 435, 0, 381, 462,
605 0, 456, 0, 434, 453, 319, 313, 0, 461, 217,
606 0, 216, 228, 232, 0, 0, 0, 0, 0, 336,
607 338, 0, 237, 0, 0, 0, 379, 317, 364, 404,
608 30, 29, 408, 409, 405, 406, 407, 39, 0, 0,
609 347, 0, 348, 438, 449, 0, 0, 458, 364, 219,
610 0, 236, 226, 0, 0, 339, 318, 374, 0, 378,
611 462, 243, 312, 428, 414, 429, 0, 0, 462, 410,
612 346, 0, 462, 0, 0, 459, 314, 213, 218, 0,
613 0, 375, 0, 380, 462, 0, 424, 350, 0, 451,
614 450, 439, 400, 363, 0, 0, 0, 0, 0, 0,
615 440, 462, 0, 0, 430, 0, 354, 426, 403, 401,
616 425, 0, 413, 452, 0, 0, 0, 431, 432, 411,
617 0, 402, 361, 0, 0, 462, 427, 376, 412, 433
620 /* YYPGOTO[NTERM-NUM]. */
621 static const short int yypgoto
[] =
623 -547, -331, -129, -2, 22, -547, -547, 315, -547, -547,
624 -547, -547, -547, -547, -547, -547, -547, -547, 231, -547,
625 -547, -547, -126, -547, -324, -547, -547, -547, -547, -547,
626 -260, -547, -547, 331, -17, -24, -547, -547, -547, 224,
627 319, -547, -547, 192, -547, -547, -547, -547, 206, -547,
628 -547, -547, -547, 26, 6, -547, -547, 180, -7, -39,
629 -547, -547, 12, -183, -547, -128, 33, -547, -87, -386,
630 -547, -547, -547, -547, 40, -547, -27, -360, -60, -1,
631 -547, -547, 345, -547, -203, -482, -546, -547, 15, -362,
632 -547, -294, -506, -5, -547, -547, -547, -516, -547, -547,
633 -547, -547, -547, -547, -547, -508, -8, -368, -547, -547,
634 -547, -547, -547, -547, -175, -169, -28, -522
637 /* YYDEFGOTO[NTERM-NUM]. */
638 static const short int yydefgoto
[] =
640 -1, 544, 464, 164, 325, 32, 33, 34, 35, 36,
641 127, 128, 129, 130, 331, 131, 132, 133, 200, 201,
642 560, 561, 326, 327, 344, 492, 493, 37, 153, 154,
643 508, 509, 38, 497, 39, 40, 41, 42, 43, 44,
644 45, 46, 47, 172, 368, 371, 175, 48, 178, 450,
645 49, 50, 193, 139, 52, 53, 54, 378, 55, 465,
646 56, 57, 437, 438, 498, 499, 141, 381, 382, 466,
647 467, 59, 142, 143, 147, 568, 353, 364, 166, 402,
648 100, 60, 61, 521, 522, 468, 523, 524, 390, 391,
649 392, 657, 658, 659, 584, 585, 586, 101, 649, 660,
650 616, 666, 667, 393, 394, 469, 470, 102, 623, 640,
651 395, 396, 397, 475, 476, 403, 472, 160
654 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
655 positive, shift that token. If negative, reduce the rule whose
656 number is the opposite. If YYTABLE_NINF, syntax error. */
657 static const short int yytable
[] =
659 165, 159, 155, 328, 342, 138, 448, 98, 99, 182,
660 482, 109, 407, 431, 588, 140, 471, 186, 410, 479,
661 587, 144, 145, 146, 108, 329, 51, 607, 481, 610,
662 583, -362, 548, 58, 29, 352, -362, 593, 167, 511,
663 436, 576, 512, 156, 369, 433, 513, 370, 514, 515,
664 516, 517, 518, 519, 503, 504, 505, 161, 527, 51,
665 506, 507, 631, 528, 615, 62, 58, 63, 183, 534,
666 645, 158, 587, 162, 405, 520, 431, 541, 542, 431,
667 176, 481, 619, 155, 173, 4, 5, 491, 66, 477,
668 187, 456, 551, 530, 457, 552, -321, 185, 192, 165,
669 -359, -359, 188, 189, 190, 179, 494, 495, 168, 169,
670 170, 453, 454, 171, 639, 330, 354, 355, 356, 177,
671 199, 485, 486, 180, 399, 556, 661, 677, 576, 181,
672 332, 343, 587, 345, 347, 70, 636, 167, 191, 351,
673 108, 574, 575, 663, 202, 587, 668, 349, 661, -321,
674 582, 357, 646, 401, 587, 671, 352, 591, 592, -359,
675 431, -240, 377, 431, 431, 366, 480, 679, 625, 487,
676 434, 435, 379, -241, 377, 346, 348, 471, 380, 358,
677 398, 359, 360, 183, 379, 361, 92, 93, 94, 95,
678 96, 97, 510, 365, 363, 367, 373, 374, 404, 613,
679 614, 411, 582, 620, 433, 432, 444, 342, 445, 446,
680 487, 449, 442, 342, 483, 455, 488, 496, 612, 525,
681 548, 383, 384, 385, 386, 387, 388, 389, 537, 536,
682 545, 635, 546, 549, 547, 637, 550, 553, 626, 564,
683 601, 602, 555, 562, 563, 566, 572, 383, 384, 385,
684 386, 387, 388, 389, 471, 567, 573, 577, 578, -24,
685 589, 655, 582, 383, 384, 385, 386, 387, 388, 389,
686 431, 431, 110, 598, 599, 582, 611, 600, 603, 605,
687 604, 608, 342, 471, 582, 606, 471, 82, 83, 84,
688 85, 86, 87, 88, 89, 90, 617, 618, 629, 630,
689 622, 342, 342, 641, 634, 447, 642, 471, 111, 112,
690 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
691 643, 123, 124, 125, 126, 644, 648, 650, 653, 651,
692 652, 654, 664, 662, 343, 670, 665, 672, 165, 409,
693 343, 673, 674, 678, 458, 675, 473, 511, 163, 406,
694 512, 633, 155, 137, 513, 441, 514, 515, 516, 517,
695 518, 519, 350, 333, 183, 174, 372, 362, 439, 535,
696 570, 400, 609, 157, 451, 443, 676, 597, 459, 478,
697 502, 596, 0, 0, 474, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 0, 500, 501, 484, 0, 0,
699 366, 0, 0, 0, 0, 0, 490, 0, 0, 343,
700 0, 0, 0, 0, 0, 0, 138, 0, 0, 0,
701 0, 0, 0, 0, 0, 0, 140, 0, 343, 343,
702 0, 0, 0, 0, 0, 342, 342, 377, 0, 183,
703 0, 0, 0, 0, 0, 526, 540, 533, 558, 185,
704 0, 529, 0, 0, 380, 0, 0, 0, 0, 0,
705 0, 0, 64, 0, 0, 0, 0, 0, 0, 377,
706 0, 65, 0, 627, 0, 0, 66, 67, 0, 533,
707 0, 138, 0, 0, 0, 0, 559, 0, 0, 68,
708 460, 140, 461, 0, 462, 0, 0, 463, 0, 0,
709 571, 0, 0, 0, 0, 0, 0, 0, 594, 158,
710 0, 401, 337, 338, 70, 155, 0, 0, 0, 0,
711 0, 595, 0, 0, 0, 339, 340, 441, 0, 638,
712 451, 71, 72, 73, 74, 75, 0, 0, 0, 0,
713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 474, 0, 0, 76, 0, 77, 624, 78, 79, 80,
715 81, 0, 343, 343, 82, 83, 84, 85, 86, 87,
716 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
717 0, 0, 632, 0, 0, 0, 0, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 628, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 656,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, -414,
722 0, 656, -414, -414, -414, -414, -414, -414, -414, -414,
723 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
724 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
725 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
726 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
727 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
728 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
729 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
730 -414, -414, -414, -414, -414, 0, -414, 0, -414, -414,
731 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
732 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
733 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
734 -414, 0, -414, -414, 0, -414, -414, -414, -414, 203,
735 0, 0, 204, 205, 206, 207, 208, 209, 210, 211,
736 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
737 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
738 232, 233, 234, 235, 236, 0, 237, 238, 239, 240,
739 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
740 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
741 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
742 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
743 281, 282, 283, 284, 285, 0, 286, 0, 287, 288,
744 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
745 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
746 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
747 319, 64, 0, 320, 0, 321, 322, 323, 324, 0,
748 65, 0, 0, 0, 0, 66, 67, 0, 0, 0,
749 0, 0, 0, 0, 0, 194, 195, 196, 68, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
752 8, 0, 0, 0, 0, 0, 9, 0, 10, 11,
753 12, 13, 14, 15, 16, 17, 0, 0, 0, 18,
754 71, 72, 73, 74, 75, 19, 20, 0, 0, 0,
755 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
756 0, 0, 76, 0, 77, 0, 78, 79, 80, 81,
757 0, 0, 0, 82, 83, 84, 85, 86, 87, 88,
758 89, 90, 91, 92, 93, 94, 95, 96, 97, 0,
759 0, 0, 0, 0, 197, 0, 198, 0, 22, 23,
760 24, 25, 26, 27, 28, 0, 29, 1, 2, 3,
761 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
762 531, 0, 10, 11, 12, 13, 14, 15, 16, 17,
763 30, 0, 0, 103, 0, 31, 64, 1, 2, 3,
764 4, 5, 6, 7, 8, 65, 0, 0, 0, 0,
765 66, 67, 10, 11, 12, 13, 14, 15, 16, 17,
766 0, 0, 0, 538, 460, 0, 461, 0, 462, 0,
767 0, 463, 0, 532, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 337, 338, 70, 0,
769 0, 0, 0, 104, 105, 106, 376, 0, 0, 339,
770 340, 0, 0, 0, 0, 71, 72, 73, 74, 75,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 104, 105, 106, 539, 76, 0, 77,
773 0, 78, 79, 80, 81, 0, 0, 0, 82, 83,
774 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
775 94, 95, 96, 97, 64, 0, 0, 0, 0, 0,
776 0, 0, 0, 65, 0, 0, 0, 0, 66, 67,
777 0, 0, 0, 0, 0, 0, 0, 0, 579, 0,
778 0, 68, 460, 0, 461, 0, 462, 0, 0, 463,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 158, 0, 0, 337, 338, 70, 0, 0, 0,
781 0, 0, 0, 0, 0, 0, 0, 339, 340, 0,
782 0, 0, 0, 71, 72, 73, 74, 75, 0, 0,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 76, 0, 580, 0, 78,
785 79, 80, 81, 0, 0, 0, 82, 83, 84, 85,
786 86, 87, 88, 89, 90, 581, 92, 93, 94, 95,
787 96, 97, 64, 0, 0, 0, 0, 0, 0, 0,
788 0, 65, 0, 0, 0, 0, 66, 67, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
790 460, -462, 461, 0, 462, 0, 0, 463, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
792 0, 0, 337, 338, 70, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 339, 340, 0, 0, 0,
794 0, 71, 72, 73, 74, 75, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 76, 0, 77, 0, 78, 79, 80,
797 81, 0, 0, 0, 82, 83, 84, 85, 86, 87,
798 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
799 64, 0, 0, 0, 0, 0, 0, 0, 0, 65,
800 0, 0, 0, 0, 66, 67, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 68, 460, 0,
802 461, 0, 462, 0, 0, 463, 0, 0, 0, 0,
803 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
804 337, 338, 70, 0, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 339, 340, 0, 0, 0, 0, 71,
806 72, 73, 74, 75, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 76, 0, 77, 0, 78, 79, 80, 81, 0,
809 0, 0, 82, 83, 84, 85, 86, 87, 88, 89,
810 90, 91, 92, 93, 94, 95, 96, 97, 64, 0,
811 0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
812 0, 0, 66, 67, 0, 0, 0, 0, 0, 0,
813 0, 0, 579, 0, 0, 68, 460, 0, 461, 0,
814 462, 0, 0, 463, 0, 0, 0, 148, 1, 2,
815 149, 4, 5, 6, 150, 8, 151, 0, 337, 338,
816 70, 152, 0, 10, 11, 12, 13, 14, 15, 16,
817 17, 339, 340, 0, 103, 64, 0, 71, 72, 73,
818 74, 75, 0, 0, 65, 0, 0, 0, 0, 66,
819 67, 10, 11, 12, 13, 14, 15, 16, 17, 76,
820 0, 580, 68, 78, 79, 80, 81, 0, 0, 0,
821 82, 83, 84, 85, 86, 87, 88, 89, 90, 581,
822 92, 93, 94, 95, 96, 97, 0, 70, 0, 0,
823 0, 0, 0, 0, 104, 105, 106, 0, 0, 0,
824 0, 0, 0, 0, 71, 72, 73, 74, 75, 0,
825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 0, 0, 0, 0, 76, 0, 77, 0,
827 78, 79, 80, 81, 0, 0, 0, 82, 83, 84,
828 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
829 95, 96, 97, 64, 0, 0, 0, 0, 0, 0,
830 0, 0, 65, 0, 0, 0, 0, 66, 67, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 68, 460, 0, 461, 0, 462, 0, 0, 463, 0,
833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 337, 338, 70, 0, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 339, 340, 0, 0,
836 0, 0, 71, 72, 73, 74, 75, 0, 0, 0,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 76, 0, 77, 0, 78, 79,
839 80, 81, 0, 0, 0, 82, 83, 84, 85, 86,
840 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
841 97, 64, 0, 0, 0, 0, 0, 0, 0, 0,
842 65, 0, 0, 0, 0, 66, 67, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
844 0, 334, 0, 335, 0, 0, 336, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 337, 338, 0, 0, 0, 0, 0, 0, 0,
847 0, 0, 0, 0, 339, 340, 0, 0, 0, 0,
848 71, 72, 73, 74, 75, 0, 0, 0, 0, 0,
849 0, 0, 341, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 76, 0, 77, 0, 78, 79, 80, 81,
851 0, 0, 0, 82, 83, 84, 85, 86, 87, 88,
852 89, 90, 91, 92, 93, 94, 95, 96, 97, 64,
853 0, 0, 0, 0, 0, 0, 0, 0, 65, 0,
854 0, 0, 0, 66, 67, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
856 0, 0, 0, 0, 69, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0, 64, 0,
858 0, 70, 0, 0, 0, 0, 0, 65, 0, 0,
859 0, 0, 66, 67, 0, 0, 0, 0, 71, 72,
860 73, 74, 75, 0, 0, 68, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 76, 0, 77, 0, 78, 79, 80, 81, 0, 0,
863 70, 82, 83, 84, 85, 86, 87, 88, 89, 90,
864 91, 92, 93, 94, 95, 96, 97, 71, 72, 73,
865 74, 75, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,
867 0, 77, 0, 78, 79, 80, 81, 0, 0, 0,
868 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
869 92, 93, 94, 95, 96, 97, 64, 0, 0, 0,
870 0, 0, 0, 0, 0, 65, 0, 0, 0, 0,
871 66, 67, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,
873 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
875 0, 0, 0, 0, 65, 0, 0, 0, 0, 66,
876 67, 0, 0, 0, 0, 71, 72, 73, 74, 75,
877 0, 0, 68, 0, 0, 0, 0, 0, 0, 0,
878 408, 0, 0, 0, 0, 0, 0, 76, 0, 77,
879 0, 78, 79, 80, 81, 0, 0, 0, 82, 83,
880 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
881 94, 95, 96, 97, 71, 72, 73, 74, 75, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 76, 0, 77, 0,
884 78, 79, 80, 81, 0, 0, 0, 82, 83, 84,
885 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
886 95, 96, 97, 64, 0, 0, 0, 0, 0, 0,
887 0, 0, 65, 0, 0, 0, 0, 66, 67, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 68, 0, 0, 0, 0, 0, 0, 0, 440, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
892 0, 65, 0, 0, 0, 0, 66, 67, 0, 0,
893 0, 0, 71, 72, 73, 74, 75, 0, 0, 68,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 76, 0, 77, 0, 78, 79,
896 80, 81, 0, 0, 0, 82, 83, 84, 85, 86,
897 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
898 97, 71, 72, 73, 74, 75, 0, 0, 0, 0,
899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 76, 0, 77, 0, 78, 79, 80,
901 81, 0, 0, 0, 82, 83, 84, 85, 86, 87,
902 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
903 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
904 0, 0, 0, 531, 0, 10, 11, 12, 13, 14,
905 15, 16, 17, 0, 0, 0, 103, 0, 1, 2,
906 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
907 0, 9, 0, 10, 11, 12, 13, 14, 15, 16,
908 17, 0, 0, 0, 134, 1, 2, 3, 4, 5,
909 6, 7, 8, 0, 0, 0, 557, 569, 9, 0,
910 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
911 0, 103, 0, 0, 0, 0, 104, 105, 106, 376,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
914 6, 7, 8, 0, 135, 136, 25, 107, 9, 0,
915 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
916 0, 134, 1, 2, 3, 4, 5, 6, 7, 8,
917 0, 104, 105, 106, 107, 9, 0, 10, 11, 12,
918 13, 14, 15, 16, 17, 0, 0, 0, 134, 1,
919 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
920 0, 0, 9, 0, 10, 11, 12, 13, 14, 15,
921 16, 17, 0, 0, 0, 103, 0, 0, 0, 0,
922 0, 135, 136, 25, 107, 0, 0, 0, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
924 2, 3, 4, 5, 6, 7, 8, 0, 104, 105,
925 106, 107, 375, 0, 10, 11, 12, 13, 14, 15,
926 16, 17, 0, 0, 0, 103, 1, 2, 3, 4,
927 5, 6, 7, 8, 0, 104, 105, 106, 107, 152,
928 0, 10, 11, 12, 13, 14, 15, 16, 17, 0,
929 0, 0, 103, 1, 2, 3, 4, 5, 6, 7,
930 8, 0, 0, 0, 0, 0, 452, 0, 10, 11,
931 12, 13, 14, 15, 16, 17, 0, 0, 0, 103,
932 0, 0, 0, 0, 0, 104, 105, 106, 376, 1,
933 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
934 0, 0, 0, 0, 10, 11, 12, 13, 14, 15,
935 16, 17, 104, 105, 106, 103, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 0, 554, 0, 0, 0, 0, 0, 0, 0, 104,
938 105, 106, 412, 413, 414, 415, 416, 417, 418, 419,
939 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
940 0, 0, 0, 0, 0, 543, 0, 0, 0, 489,
941 0, 0, 0, 0, 0, 104, 105, 106, 412, 413,
942 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
943 424, 425, 426, 427, 428, 429, 590, 0, 0, 0,
944 0, 430, 0, 0, 0, 412, 413, 414, 415, 416,
945 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
946 427, 428, 429, 669, 0, 0, 0, 0, 543, 0,
947 0, 0, 412, 413, 414, 415, 416, 417, 418, 419,
948 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
949 647, 0, 0, 0, 0, 543, 0, 0, 412, 413,
950 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
951 424, 425, 426, 427, 428, 429, 565, 0, 0, 0,
952 0, 543, 0, 412, 413, 414, 415, 416, 417, 418,
953 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
954 429, 621, 0, 0, 0, 0, 430, 0, 412, 413,
955 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
956 424, 425, 426, 427, 428, 429, 0, 0, 0, 0,
957 0, 543, 412, 413, 414, 415, 416, 417, 418, 419,
958 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
959 0, 0, 0, 0, 0, 430, 412, 413, 414, 415,
960 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
961 426, 427, 428, 429, 0, 0, 0, 0, 0, 543,
962 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
963 422, 423, 424, 425, 426, 427, 428, 429, 0, 0,
964 0, 0, 0, 430, 412, 413, 414, 415, 416, 417,
965 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
966 428, 429, 0, 0, 0, 0, 0, 543
969 static const short int yycheck
[] =
971 39, 29, 26, 129, 133, 22, 366, 9, 9, 69,
972 396, 18, 336, 344, 536, 22, 384, 55, 342, 387,
973 536, 23, 24, 25, 18, 34, 0, 573, 390, 575,
974 536, 37, 32, 0, 97, 41, 42, 545, 39, 3,
975 37, 523, 6, 34, 6, 42, 10, 9, 12, 13,
976 14, 15, 16, 17, 27, 28, 29, 31, 34, 33,
977 33, 34, 608, 39, 580, 9, 33, 11, 69, 455,
978 70, 50, 588, 0, 200, 39, 407, 463, 464, 410,
979 37, 443, 588, 107, 6, 7, 8, 411, 17, 18,
980 128, 40, 37, 453, 43, 40, 38, 99, 40, 138,
981 41, 42, 104, 105, 106, 38, 430, 431, 4, 5,
982 6, 39, 40, 9, 622, 124, 143, 144, 145, 129,
983 122, 39, 40, 42, 184, 485, 648, 673, 610, 42,
984 132, 133, 648, 135, 136, 55, 618, 138, 38, 141,
985 134, 39, 40, 651, 36, 661, 654, 37, 670, 38,
986 536, 152, 634, 192, 670, 661, 41, 543, 544, 42,
987 491, 31, 179, 494, 495, 167, 43, 675, 39, 40,
988 353, 354, 179, 31, 191, 135, 136, 545, 180, 31,
989 182, 37, 42, 184, 191, 31, 115, 116, 117, 118,
990 119, 120, 43, 38, 44, 6, 38, 37, 123, 17,
991 18, 38, 588, 589, 42, 41, 38, 336, 37, 33,
992 40, 34, 46, 342, 39, 46, 38, 38, 578, 45,
993 32, 98, 99, 100, 101, 102, 103, 104, 37, 46,
994 46, 617, 37, 46, 38, 621, 38, 37, 598, 40,
995 564, 565, 39, 39, 39, 33, 37, 98, 99, 100,
996 101, 102, 103, 104, 622, 41, 41, 39, 39, 39,
997 39, 647, 648, 98, 99, 100, 101, 102, 103, 104,
998 601, 602, 36, 39, 39, 661, 46, 40, 40, 37,
999 41, 41, 411, 651, 670, 39, 654, 105, 106, 107,
1000 108, 109, 110, 111, 112, 113, 38, 38, 33, 38,
1001 40, 430, 431, 39, 38, 365, 37, 675, 72, 73,
1002 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1003 39, 85, 86, 87, 88, 33, 40, 39, 32, 40,
1004 40, 38, 33, 39, 336, 40, 39, 39, 377, 341,
1005 342, 41, 39, 39, 383, 40, 385, 3, 33, 327,
1006 6, 611, 376, 22, 10, 357, 12, 13, 14, 15,
1007 16, 17, 138, 132, 365, 46, 174, 161, 356, 456,
1008 498, 191, 575, 28, 375, 360, 670, 552, 383, 387,
1009 440, 550, -1, -1, 386, -1, -1, -1, -1, -1,
1010 -1, -1, -1, -1, -1, 434, 435, 399, -1, -1,
1011 402, -1, -1, -1, -1, -1, 408, -1, -1, 411,
1012 -1, -1, -1, -1, -1, -1, 433, -1, -1, -1,
1013 -1, -1, -1, -1, -1, -1, 433, -1, 430, 431,
1014 -1, -1, -1, -1, -1, 564, 565, 454, -1, 440,
1015 -1, -1, -1, -1, -1, 447, 463, 454, 487, 451,
1016 -1, 452, -1, -1, 456, -1, -1, -1, -1, -1,
1017 -1, -1, 3, -1, -1, -1, -1, -1, -1, 486,
1018 -1, 12, -1, 599, -1, -1, 17, 18, -1, 486,
1019 -1, 498, -1, -1, -1, -1, 488, -1, -1, 30,
1020 31, 498, 33, -1, 35, -1, -1, 38, -1, -1,
1021 502, -1, -1, -1, -1, -1, -1, -1, 547, 50,
1022 -1, 550, 53, 54, 55, 539, -1, -1, -1, -1,
1023 -1, 549, -1, -1, -1, 66, 67, 529, -1, 70,
1024 531, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1026 552, -1, -1, 94, -1, 96, 595, 98, 99, 100,
1027 101, -1, 564, 565, 105, 106, 107, 108, 109, 110,
1028 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1029 -1, -1, 610, -1, -1, -1, -1, -1, -1, -1,
1030 -1, -1, -1, -1, -1, -1, -1, -1, 600, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, -1, 648,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
1034 -1, 670, 3, 4, 5, 6, 7, 8, 9, 10,
1035 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1036 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1037 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1038 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1039 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1040 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1041 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1042 81, 82, 83, 84, 85, -1, 87, -1, 89, 90,
1043 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1044 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1045 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1046 121, -1, 123, 124, -1, 126, 127, 128, 129, 0,
1047 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1048 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1049 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1050 31, 32, 33, 34, 35, -1, 37, 38, 39, 40,
1051 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1052 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1053 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1054 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1055 81, 82, 83, 84, 85, -1, 87, -1, 89, 90,
1056 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1057 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1058 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1059 121, 3, -1, 124, -1, 126, 127, 128, 129, -1,
1060 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1061 -1, -1, -1, -1, -1, 27, 28, 29, 30, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1064 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1065 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1066 72, 73, 74, 75, 76, 36, 37, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
1068 -1, -1, 94, -1, 96, -1, 98, 99, 100, 101,
1069 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1070 112, 113, 114, 115, 116, 117, 118, 119, 120, -1,
1071 -1, -1, -1, -1, 126, -1, 128, -1, 89, 90,
1072 91, 92, 93, 94, 95, -1, 97, 4, 5, 6,
1073 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1074 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1075 121, -1, -1, 30, -1, 126, 3, 4, 5, 6,
1076 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
1077 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1078 -1, -1, -1, 30, 31, -1, 33, -1, 35, -1,
1079 -1, 38, -1, 70, -1, -1, -1, -1, -1, -1,
1080 -1, -1, -1, -1, -1, -1, 53, 54, 55, -1,
1081 -1, -1, -1, 90, 91, 92, 93, -1, -1, 66,
1082 67, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1084 -1, -1, -1, 90, 91, 92, 93, 94, -1, 96,
1085 -1, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1086 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1087 117, 118, 119, 120, 3, -1, -1, -1, -1, -1,
1088 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1089 -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
1090 -1, 30, 31, -1, 33, -1, 35, -1, -1, 38,
1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1092 -1, 50, -1, -1, 53, 54, 55, -1, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, 66, 67, -1,
1094 -1, -1, -1, 72, 73, 74, 75, 76, -1, -1,
1095 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, 94, -1, 96, -1, 98,
1097 99, 100, 101, -1, -1, -1, 105, 106, 107, 108,
1098 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1099 119, 120, 3, -1, -1, -1, -1, -1, -1, -1,
1100 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1101 -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
1102 31, 32, 33, -1, 35, -1, -1, 38, -1, -1,
1103 -1, -1, -1, -1, -1, -1, -1, -1, -1, 50,
1104 -1, -1, 53, 54, 55, -1, -1, -1, -1, -1,
1105 -1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
1106 -1, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1108 -1, -1, -1, 94, -1, 96, -1, 98, 99, 100,
1109 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1110 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1111 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1112 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1113 -1, -1, -1, -1, -1, -1, -1, 30, 31, -1,
1114 33, -1, 35, -1, -1, 38, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, -1, 50, -1, -1,
1116 53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
1117 -1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
1118 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
1119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1120 -1, 94, -1, 96, -1, 98, 99, 100, 101, -1,
1121 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1122 113, 114, 115, 116, 117, 118, 119, 120, 3, -1,
1123 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1124 -1, -1, 17, 18, -1, -1, -1, -1, -1, -1,
1125 -1, -1, 27, -1, -1, 30, 31, -1, 33, -1,
1126 35, -1, -1, 38, -1, -1, -1, 3, 4, 5,
1127 6, 7, 8, 9, 10, 11, 12, -1, 53, 54,
1128 55, 17, -1, 19, 20, 21, 22, 23, 24, 25,
1129 26, 66, 67, -1, 30, 3, -1, 72, 73, 74,
1130 75, 76, -1, -1, 12, -1, -1, -1, -1, 17,
1131 18, 19, 20, 21, 22, 23, 24, 25, 26, 94,
1132 -1, 96, 30, 98, 99, 100, 101, -1, -1, -1,
1133 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1134 115, 116, 117, 118, 119, 120, -1, 55, -1, -1,
1135 -1, -1, -1, -1, 90, 91, 92, -1, -1, -1,
1136 -1, -1, -1, -1, 72, 73, 74, 75, 76, -1,
1137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1138 -1, -1, -1, -1, -1, -1, 94, -1, 96, -1,
1139 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1140 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1141 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1142 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1143 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1144 30, 31, -1, 33, -1, 35, -1, -1, 38, -1,
1145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1146 -1, -1, -1, 53, 54, 55, -1, -1, -1, -1,
1147 -1, -1, -1, -1, -1, -1, 66, 67, -1, -1,
1148 -1, -1, 72, 73, 74, 75, 76, -1, -1, -1,
1149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1150 -1, -1, -1, -1, 94, -1, 96, -1, 98, 99,
1151 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1152 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1153 120, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1154 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1155 -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
1156 -1, 33, -1, 35, -1, -1, 38, -1, -1, -1,
1157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1158 -1, 53, 54, -1, -1, -1, -1, -1, -1, -1,
1159 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
1160 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1161 -1, -1, 84, -1, -1, -1, -1, -1, -1, -1,
1162 -1, -1, 94, -1, 96, -1, 98, 99, 100, 101,
1163 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1164 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1165 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1166 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1167 -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
1168 -1, -1, -1, -1, 38, -1, -1, -1, -1, -1,
1169 -1, -1, -1, -1, -1, -1, -1, -1, 3, -1,
1170 -1, 55, -1, -1, -1, -1, -1, 12, -1, -1,
1171 -1, -1, 17, 18, -1, -1, -1, -1, 72, 73,
1172 74, 75, 76, -1, -1, 30, -1, -1, -1, -1,
1173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1174 94, -1, 96, -1, 98, 99, 100, 101, -1, -1,
1175 55, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1176 114, 115, 116, 117, 118, 119, 120, 72, 73, 74,
1177 75, 76, -1, -1, -1, -1, -1, -1, -1, -1,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1179 -1, 96, -1, 98, 99, 100, 101, -1, -1, -1,
1180 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1181 115, 116, 117, 118, 119, 120, 3, -1, -1, -1,
1182 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1183 17, 18, -1, -1, -1, -1, -1, -1, -1, -1,
1184 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1185 -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
1186 -1, -1, -1, -1, -1, 3, -1, -1, -1, -1,
1187 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1188 18, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1189 -1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
1190 38, -1, -1, -1, -1, -1, -1, 94, -1, 96,
1191 -1, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1192 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1193 117, 118, 119, 120, 72, 73, 74, 75, 76, -1,
1194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1195 -1, -1, -1, -1, -1, -1, 94, -1, 96, -1,
1196 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1197 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1198 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1199 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1201 30, -1, -1, -1, -1, -1, -1, -1, 38, -1,
1202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1203 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
1204 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1205 -1, -1, 72, 73, 74, 75, 76, -1, -1, 30,
1206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1207 -1, -1, -1, -1, 94, -1, 96, -1, 98, 99,
1208 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1209 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1210 120, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1212 -1, -1, -1, 94, -1, 96, -1, 98, 99, 100,
1213 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1214 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1215 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1216 -1, -1, -1, 17, -1, 19, 20, 21, 22, 23,
1217 24, 25, 26, -1, -1, -1, 30, -1, 4, 5,
1218 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1219 -1, 17, -1, 19, 20, 21, 22, 23, 24, 25,
1220 26, -1, -1, -1, 30, 4, 5, 6, 7, 8,
1221 9, 10, 11, -1, -1, -1, 70, 43, 17, -1,
1222 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1223 -1, 30, -1, -1, -1, -1, 90, 91, 92, 93,
1224 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1225 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1226 9, 10, 11, -1, 90, 91, 92, 93, 17, -1,
1227 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1228 -1, 30, 4, 5, 6, 7, 8, 9, 10, 11,
1229 -1, 90, 91, 92, 93, 17, -1, 19, 20, 21,
1230 22, 23, 24, 25, 26, -1, -1, -1, 30, 4,
1231 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1232 -1, -1, 17, -1, 19, 20, 21, 22, 23, 24,
1233 25, 26, -1, -1, -1, 30, -1, -1, -1, -1,
1234 -1, 90, 91, 92, 93, -1, -1, -1, -1, -1,
1235 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
1236 5, 6, 7, 8, 9, 10, 11, -1, 90, 91,
1237 92, 93, 17, -1, 19, 20, 21, 22, 23, 24,
1238 25, 26, -1, -1, -1, 30, 4, 5, 6, 7,
1239 8, 9, 10, 11, -1, 90, 91, 92, 93, 17,
1240 -1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
1241 -1, -1, 30, 4, 5, 6, 7, 8, 9, 10,
1242 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1243 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1244 -1, -1, -1, -1, -1, 90, 91, 92, 93, 4,
1245 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1246 -1, -1, -1, -1, 19, 20, 21, 22, 23, 24,
1247 25, 26, 90, 91, 92, 30, -1, -1, -1, -1,
1248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1249 -1, 37, -1, -1, -1, -1, -1, -1, -1, 90,
1250 91, 92, 48, 49, 50, 51, 52, 53, 54, 55,
1251 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1252 -1, -1, -1, -1, -1, 71, -1, -1, -1, 39,
1253 -1, -1, -1, -1, -1, 90, 91, 92, 48, 49,
1254 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1255 60, 61, 62, 63, 64, 65, 39, -1, -1, -1,
1256 -1, 71, -1, -1, -1, 48, 49, 50, 51, 52,
1257 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1258 63, 64, 65, 39, -1, -1, -1, -1, 71, -1,
1259 -1, -1, 48, 49, 50, 51, 52, 53, 54, 55,
1260 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1261 40, -1, -1, -1, -1, 71, -1, -1, 48, 49,
1262 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1263 60, 61, 62, 63, 64, 65, 41, -1, -1, -1,
1264 -1, 71, -1, 48, 49, 50, 51, 52, 53, 54,
1265 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1266 65, 41, -1, -1, -1, -1, 71, -1, 48, 49,
1267 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1268 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
1269 -1, 71, 48, 49, 50, 51, 52, 53, 54, 55,
1270 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1271 -1, -1, -1, -1, -1, 71, 48, 49, 50, 51,
1272 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1273 62, 63, 64, 65, -1, -1, -1, -1, -1, 71,
1274 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1275 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
1276 -1, -1, -1, 71, 48, 49, 50, 51, 52, 53,
1277 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1278 64, 65, -1, -1, -1, -1, -1, 71
1281 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1282 symbol of state STATE-NUM. */
1283 static const unsigned char yystos
[] =
1285 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1286 19, 20, 21, 22, 23, 24, 25, 26, 30, 36,
1287 37, 47, 89, 90, 91, 92, 93, 94, 95, 97,
1288 121, 126, 137, 138, 139, 140, 141, 159, 164, 166,
1289 167, 168, 169, 170, 171, 172, 173, 174, 179, 182,
1290 183, 185, 186, 187, 188, 190, 192, 193, 198, 203,
1291 213, 214, 9, 11, 3, 12, 17, 18, 30, 38,
1292 55, 72, 73, 74, 75, 76, 94, 96, 98, 99,
1293 100, 101, 105, 106, 107, 108, 109, 110, 111, 112,
1294 113, 114, 115, 116, 117, 118, 119, 120, 135, 211,
1295 212, 229, 239, 30, 90, 91, 92, 93, 186, 190,
1296 36, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1297 81, 82, 83, 85, 86, 87, 88, 142, 143, 144,
1298 145, 147, 148, 149, 30, 90, 91, 165, 166, 185,
1299 190, 198, 204, 205, 135, 135, 135, 206, 3, 6,
1300 10, 12, 17, 160, 161, 167, 34, 214, 50, 248,
1301 249, 185, 0, 139, 135, 191, 210, 211, 4, 5,
1302 6, 9, 175, 6, 172, 178, 37, 129, 180, 38,
1303 42, 42, 210, 211, 38, 135, 55, 128, 135, 135,
1304 135, 38, 40, 184, 27, 28, 29, 126, 128, 135,
1305 150, 151, 36, 0, 3, 4, 5, 6, 7, 8,
1306 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1307 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1308 29, 30, 31, 32, 33, 34, 35, 37, 38, 39,
1309 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1310 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1311 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1312 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1313 80, 81, 82, 83, 84, 85, 87, 89, 90, 91,
1314 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1315 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1316 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1317 124, 126, 127, 128, 129, 136, 154, 155, 154, 34,
1318 124, 146, 135, 150, 33, 35, 38, 53, 54, 66,
1319 67, 84, 134, 135, 156, 135, 206, 135, 206, 37,
1320 171, 135, 41, 208, 208, 208, 208, 211, 31, 37,
1321 42, 31, 180, 44, 209, 38, 135, 6, 176, 6,
1322 9, 177, 175, 38, 37, 17, 93, 166, 189, 190,
1323 135, 199, 200, 98, 99, 100, 101, 102, 103, 104,
1324 220, 221, 222, 235, 236, 242, 243, 244, 135, 210,
1325 189, 191, 211, 247, 123, 154, 136, 156, 38, 135,
1326 156, 38, 48, 49, 50, 51, 52, 53, 54, 55,
1327 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1328 71, 133, 41, 42, 195, 195, 37, 194, 195, 194,
1329 38, 135, 46, 220, 38, 37, 33, 210, 209, 34,
1330 181, 211, 17, 39, 40, 46, 40, 43, 191, 225,
1331 31, 33, 35, 38, 134, 191, 201, 202, 217, 237,
1332 238, 239, 248, 191, 135, 245, 246, 18, 238, 239,
1333 43, 221, 201, 39, 135, 39, 40, 40, 38, 39,
1334 135, 156, 157, 158, 156, 156, 38, 165, 196, 197,
1335 191, 191, 210, 27, 28, 29, 33, 34, 162, 163,
1336 43, 3, 6, 10, 12, 13, 14, 15, 16, 17,
1337 39, 215, 216, 218, 219, 45, 135, 34, 39, 211,
1338 209, 17, 70, 190, 201, 200, 46, 37, 30, 93,
1339 166, 201, 201, 71, 133, 46, 37, 38, 32, 46,
1340 38, 37, 40, 37, 37, 39, 209, 70, 191, 135,
1341 152, 153, 39, 39, 40, 41, 33, 41, 207, 43,
1342 197, 135, 37, 41, 39, 40, 217, 39, 39, 27,
1343 96, 114, 201, 224, 226, 227, 228, 229, 249, 39,
1344 39, 201, 201, 237, 191, 248, 247, 246, 39, 39,
1345 40, 156, 156, 40, 41, 37, 39, 218, 41, 216,
1346 218, 46, 209, 17, 18, 229, 232, 38, 38, 224,
1347 201, 41, 40, 240, 191, 39, 209, 154, 135, 33,
1348 38, 218, 248, 162, 38, 201, 217, 201, 70, 237,
1349 241, 39, 37, 39, 33, 70, 217, 40, 40, 230,
1350 39, 40, 40, 32, 38, 201, 191, 223, 224, 225,
1351 231, 249, 39, 237, 33, 39, 233, 234, 237, 39,
1352 40, 224, 39, 41, 39, 40, 223, 218, 39, 237
1355 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1356 static const unsigned char yyr1
[] =
1358 0, 132, 133, 133, 133, 133, 133, 133, 133, 133,
1359 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1360 134, 134, 134, 134, 135, 135, 135, 135, 135, 135,
1361 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1362 135, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1363 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1364 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1365 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1366 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1367 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1368 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1369 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1370 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1371 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1372 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1373 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1374 136, 136, 136, 137, 137, 138, 138, 139, 139, 139,
1375 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1376 140, 141, 141, 142, 142, 142, 142, 142, 142, 142,
1377 142, 143, 143, 144, 144, 145, 145, 145, 146, 146,
1378 147, 147, 148, 148, 148, 149, 149, 150, 150, 150,
1379 150, 150, 150, 151, 151, 152, 152, 153, 153, 154,
1380 154, 155, 155, 156, 156, 156, 156, 156, 156, 156,
1381 156, 156, 156, 157, 157, 158, 158, 159, 160, 161,
1382 161, 161, 161, 162, 162, 163, 163, 163, 163, 163,
1383 164, 165, 165, 165, 165, 165, 165, 166, 166, 167,
1384 167, 168, 168, 168, 169, 169, 169, 169, 170, 170,
1385 170, 171, 171, 171, 171, 171, 171, 171, 171, 172,
1386 172, 173, 173, 173, 174, 174, 174, 174, 175, 175,
1387 175, 175, 175, 176, 176, 177, 177, 177, 178, 178,
1388 178, 179, 179, 180, 180, 181, 181, 182, 183, 184,
1389 184, 185, 185, 185, 185, 186, 186, 187, 187, 187,
1390 187, 188, 188, 189, 189, 189, 189, 190, 190, 190,
1391 191, 191, 192, 193, 194, 194, 195, 196, 196, 197,
1392 198, 199, 199, 200, 200, 201, 201, 201, 201, 201,
1393 201, 202, 202, 202, 202, 203, 204, 205, 206, 206,
1394 207, 207, 208, 208, 209, 209, 210, 210, 211, 211,
1395 212, 212, 213, 213, 214, 214, 214, 215, 215, 216,
1396 216, 217, 218, 219, 219, 219, 219, 219, 219, 219,
1397 219, 219, 220, 220, 221, 221, 221, 221, 221, 222,
1398 222, 223, 223, 223, 224, 224, 224, 224, 224, 225,
1399 225, 226, 227, 228, 229, 229, 229, 229, 229, 229,
1400 229, 229, 229, 229, 230, 230, 231, 231, 232, 232,
1401 233, 233, 234, 234, 235, 236, 237, 237, 237, 238,
1402 238, 239, 239, 239, 239, 239, 239, 239, 239, 240,
1403 240, 241, 241, 242, 243, 243, 244, 245, 245, 246,
1404 247, 247, 248, 248, 249
1407 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1408 static const unsigned char yyr2
[] =
1410 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1411 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1412 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1413 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1415 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1416 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1417 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1418 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1421 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1422 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1426 1, 1, 1, 0, 1, 1, 2, 1, 1, 1,
1427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1428 3, 2, 3, 2, 2, 1, 2, 2, 2, 1,
1429 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1431 1, 1, 1, 6, 2, 0, 1, 1, 3, 0,
1432 1, 1, 2, 3, 2, 3, 5, 2, 4, 1,
1433 1, 1, 4, 0, 1, 1, 3, 6, 1, 1,
1434 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1435 3, 1, 1, 2, 4, 4, 2, 2, 1, 1,
1436 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1437 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1438 1, 1, 1, 2, 1, 1, 2, 2, 0, 1,
1439 2, 1, 2, 0, 1, 0, 1, 1, 0, 1,
1440 2, 3, 4, 0, 4, 1, 2, 2, 3, 0,
1441 2, 5, 7, 6, 8, 1, 1, 6, 7, 6,
1442 5, 1, 2, 0, 1, 1, 3, 2, 4, 3,
1443 3, 2, 4, 4, 1, 1, 3, 1, 2, 3,
1444 4, 1, 3, 1, 3, 1, 4, 3, 3, 2,
1445 5, 1, 1, 1, 1, 2, 2, 2, 0, 1,
1446 0, 7, 0, 7, 0, 3, 0, 1, 1, 2,
1447 1, 2, 4, 5, 7, 8, 13, 1, 3, 2,
1448 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1449 1, 1, 1, 2, 1, 1, 1, 1, 1, 3,
1450 6, 1, 2, 1, 1, 1, 1, 1, 1, 3,
1451 4, 6, 8, 5, 1, 1, 1, 1, 1, 1,
1452 1, 1, 1, 1, 0, 2, 1, 3, 1, 1,
1453 0, 1, 1, 3, 3, 3, 1, 1, 3, 5,
1454 6, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1455 2, 1, 3, 3, 1, 1, 3, 1, 3, 4,
1460 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1461 static const unsigned char yydprec
[] =
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1513 static const unsigned char yymerger
[] =
1515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1564 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1565 in the case of predicates. */
1566 static const yybool yyimmediate
[] =
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1617 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1618 list of conflicting reductions corresponding to action entry for
1619 state STATE-NUM in yytable. 0 means no conflicts. The list in
1620 yyconfl is terminated by a rule number of 0. */
1621 static const unsigned short int yyconflp
[] =
1623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 273,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
1686 0, 0, 7, 9, 11, 13, 15, 17, 19, 21,
1687 23, 25, 27, 29, 31, 33, 35, 37, 39, 41,
1688 43, 45, 47, 49, 51, 53, 55, 57, 59, 61,
1689 63, 65, 67, 69, 71, 73, 75, 77, 79, 81,
1690 83, 85, 87, 89, 91, 93, 95, 97, 99, 101,
1691 103, 105, 107, 109, 111, 113, 115, 117, 119, 121,
1692 123, 125, 127, 129, 131, 133, 135, 137, 139, 141,
1693 143, 145, 147, 149, 151, 153, 155, 157, 159, 161,
1694 163, 165, 167, 169, 171, 0, 173, 0, 175, 177,
1695 179, 181, 183, 185, 187, 189, 191, 193, 195, 197,
1696 199, 201, 203, 205, 207, 209, 211, 213, 215, 217,
1697 219, 221, 223, 225, 227, 229, 231, 233, 235, 237,
1698 239, 0, 241, 243, 0, 245, 247, 249, 251, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 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, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 1, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 3, 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, 253, 0, 255, 257, 259, 261, 263, 265,
1885 267, 269, 0, 0, 0, 271, 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, 275, 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, 277
1933 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
1934 0, pointed into by YYCONFLP. */
1935 static const short int yyconfl
[] =
1937 0, 267, 0, 267, 0, 447, 0, 447, 0, 447,
1938 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1939 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1940 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1941 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1942 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1943 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1944 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1945 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1946 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1947 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1948 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1949 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1950 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1951 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1952 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1953 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1954 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1955 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1956 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1957 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1958 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1959 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1960 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1961 0, 447, 0, 447, 0, 447, 0, 447, 0, 447,
1962 0, 447, 0, 267, 0, 267, 0, 267, 0, 267,
1963 0, 267, 0, 267, 0, 267, 0, 267, 0, 267,
1964 0, 267, 0, 267, 0, 226, 0, 350, 0
1967 /* Error token number */
1974 #define yynerrs (yystackp->yyerrcnt)
1976 #define yychar (yystackp->yyrawchar)
1978 #define yylval (yystackp->yyval)
1980 #define yylloc (yystackp->yyloc)
1981 #define psi_parser_proc_nerrs yynerrs
1982 #define psi_parser_proc_char yychar
1983 #define psi_parser_proc_lval yylval
1984 #define psi_parser_proc_lloc yylloc
1986 static const int YYEOF
= 0;
1987 static const int YYEMPTY
= -2;
1989 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
1991 #define YYCHK(YYE) \
1993 YYRESULTTAG yychk_flag = YYE; \
1994 if (yychk_flag != yyok) \
1995 return yychk_flag; \
2001 # define YYFPRINTF fprintf
2004 /* This macro is provided for backward compatibility. */
2005 #ifndef YY_LOCATION_PRINT
2006 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2010 # define YYDPRINTF(Args) \
2017 /*----------------------------------------.
2018 | Print this symbol's value on YYOUTPUT. |
2019 `----------------------------------------*/
2022 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2024 FILE *yyo
= yyoutput
;
2035 /*--------------------------------.
2036 | Print this symbol on YYOUTPUT. |
2037 `--------------------------------*/
2040 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2042 YYFPRINTF (yyoutput
, "%s %s (",
2043 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2045 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2046 YYFPRINTF (yyoutput
, ")");
2049 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2053 YYFPRINTF (stderr, "%s ", Title); \
2054 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2055 YYFPRINTF (stderr, "\n"); \
2059 /* Nonzero means print parse trace. It is left uninitialized so that
2060 multiple parsers can coexist. */
2064 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2065 YY_ATTRIBUTE_UNUSED
;
2066 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2067 YY_ATTRIBUTE_UNUSED
;
2069 #else /* !YYDEBUG */
2071 # define YYDPRINTF(Args)
2072 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2074 #endif /* !YYDEBUG */
2076 /* YYINITDEPTH -- initial size of the parser's stacks. */
2078 # define YYINITDEPTH 200
2081 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2082 if the built-in stack extension method is used).
2084 Do not make this value too large; the results are undefined if
2085 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2086 evaluated with infinite-precision integer arithmetic. */
2089 # define YYMAXDEPTH 10000
2092 /* Minimum number of free items on the stack allowed after an
2093 allocation. This is to allow allocation and initialization
2094 to be completed by functions that call yyexpandGLRStack before the
2095 stack is expanded, thus insuring that all necessary pointers get
2096 properly redirected to new data. */
2097 #define YYHEADROOM 2
2099 #ifndef YYSTACKEXPANDABLE
2100 # define YYSTACKEXPANDABLE 1
2103 #if YYSTACKEXPANDABLE
2104 # define YY_RESERVE_GLRSTACK(Yystack) \
2106 if (Yystack->yyspaceLeft < YYHEADROOM) \
2107 yyexpandGLRStack (Yystack); \
2110 # define YY_RESERVE_GLRSTACK(Yystack) \
2112 if (Yystack->yyspaceLeft < YYHEADROOM) \
2113 yyMemoryExhausted (Yystack); \
2121 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2122 # define yystpcpy stpcpy
2124 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2127 yystpcpy (char *yydest
, const char *yysrc
)
2130 const char *yys
= yysrc
;
2132 while ((*yyd
++ = *yys
++) != '\0')
2141 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2142 quotes and backslashes, so that it's suitable for yyerror. The
2143 heuristic is that double-quoting is unnecessary unless the string
2144 contains an apostrophe, a comma, or backslash (other than
2145 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2146 null, do not copy; instead, return the length of what the result
2149 yytnamerr (char *yyres
, const char *yystr
)
2154 char const *yyp
= yystr
;
2161 goto do_not_strip_quotes
;
2165 goto do_not_strip_quotes
;
2178 do_not_strip_quotes
: ;
2182 return strlen (yystr
);
2184 return yystpcpy (yyres
, yystr
) - yyres
;
2188 #endif /* !YYERROR_VERBOSE */
2190 /** State numbers, as in LALR(1) machine */
2191 typedef int yyStateNum
;
2193 /** Rule numbers, as in LALR(1) machine */
2194 typedef int yyRuleNum
;
2196 /** Grammar symbol */
2197 typedef int yySymbol
;
2199 /** Item references, as in LALR(1) machine */
2200 typedef short int yyItemNum
;
2202 typedef struct yyGLRState yyGLRState
;
2203 typedef struct yyGLRStateSet yyGLRStateSet
;
2204 typedef struct yySemanticOption yySemanticOption
;
2205 typedef union yyGLRStackItem yyGLRStackItem
;
2206 typedef struct yyGLRStack yyGLRStack
;
2209 /** Type tag: always true. */
2211 /** Type tag for yysemantics. If true, yysval applies, otherwise
2212 * yyfirstVal applies. */
2214 /** Number of corresponding LALR(1) machine state. */
2215 yyStateNum yylrState
;
2216 /** Preceding state in this stack */
2218 /** Source position of the last token produced by my symbol */
2221 /** First in a chain of alternative reductions producing the
2222 * non-terminal corresponding to this state, threaded through
2224 yySemanticOption
* yyfirstVal
;
2225 /** Semantic value for this state. */
2230 struct yyGLRStateSet
{
2231 yyGLRState
** yystates
;
2232 /** During nondeterministic operation, yylookaheadNeeds tracks which
2233 * stacks have actually needed the current lookahead. During deterministic
2234 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2235 * duplicate yychar != YYEMPTY. */
2236 yybool
* yylookaheadNeeds
;
2237 size_t yysize
, yycapacity
;
2240 struct yySemanticOption
{
2241 /** Type tag: always false. */
2243 /** Rule number for this reduction */
2245 /** The last RHS state in the list of states to be reduced. */
2246 yyGLRState
* yystate
;
2247 /** The lookahead for this reduction. */
2250 /** Next sibling in chain of options. To facilitate merging,
2251 * options are chained in decreasing order by address. */
2252 yySemanticOption
* yynext
;
2255 /** Type of the items in the GLR stack. The yyisState field
2256 * indicates which item of the union is valid. */
2257 union yyGLRStackItem
{
2259 yySemanticOption yyoption
;
2270 YYJMP_BUF yyexception_buffer
;
2271 yyGLRStackItem
* yyitems
;
2272 yyGLRStackItem
* yynextFree
;
2274 yyGLRState
* yysplitPoint
;
2275 yyGLRState
* yylastDeleted
;
2276 yyGLRStateSet yytops
;
2279 #if YYSTACKEXPANDABLE
2280 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2283 static _Noreturn
void
2284 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2286 if (yymsg
!= YY_NULLPTR
)
2287 yyerror (P
, tokens
, index
, yymsg
);
2288 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2291 static _Noreturn
void
2292 yyMemoryExhausted (yyGLRStack
* yystackp
)
2294 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2297 #if YYDEBUG || YYERROR_VERBOSE
2298 /** A printable representation of TOKEN. */
2299 static inline const char*
2300 yytokenName (yySymbol yytoken
)
2302 if (yytoken
== YYEMPTY
)
2305 return yytname
[yytoken
];
2309 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2310 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2311 * containing the pointer to the next state in the chain. */
2312 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2314 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2317 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2318 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2321 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2323 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2325 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2327 /* The effect of using yysval or yyloc (in an immediate rule) is
2329 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2330 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2334 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2335 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2336 * For convenience, always return YYLOW1. */
2337 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2338 YY_ATTRIBUTE_UNUSED
;
2340 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2342 if (!yynormal
&& yylow1
< *yylow
)
2344 yyfillin (yyvsp
, *yylow
, yylow1
);
2350 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2351 * and top stack item YYVSP. YYLVALP points to place to put semantic
2352 * value ($$), and yylocp points to place for location information
2353 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2354 * yyerr for YYERROR, yyabort for YYABORT. */
2356 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2357 yyGLRStack
* yystackp
,
2358 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2360 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2368 # define yyerrok (yystackp->yyerrState = 0)
2370 # define YYACCEPT return yyaccept
2372 # define YYABORT return yyabort
2374 # define YYERROR return yyerrok, yyerr
2375 # undef YYRECOVERING
2376 # define YYRECOVERING() (yystackp->yyerrState != 0)
2378 # define yyclearin (yychar = YYEMPTY)
2380 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2382 # define YYBACKUP(Token, Value) \
2383 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2388 *yyvalp
= yyval_default
;
2390 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2394 #line 410 "src/parser_proc_grammar.y" /* glr.c:816 */
2396 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2397 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2398 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2401 #line 2402 "src/parser_proc.c" /* glr.c:816 */
2405 #line 416 "src/parser_proc_grammar.y" /* glr.c:816 */
2408 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2409 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2411 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
);
2414 #line 2415 "src/parser_proc.c" /* glr.c:816 */
2418 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2420 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2422 #line 2423 "src/parser_proc.c" /* glr.c:816 */
2426 #line 427 "src/parser_proc_grammar.y" /* glr.c:816 */
2428 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2430 #line 2431 "src/parser_proc.c" /* glr.c:816 */
2434 #line 431 "src/parser_proc_grammar.y" /* glr.c:816 */
2436 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2438 #line 2439 "src/parser_proc.c" /* glr.c:816 */
2442 #line 434 "src/parser_proc_grammar.y" /* glr.c:816 */
2444 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2446 #line 2447 "src/parser_proc.c" /* glr.c:816 */
2450 #line 437 "src/parser_proc_grammar.y" /* glr.c:816 */
2452 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2454 #line 2455 "src/parser_proc.c" /* glr.c:816 */
2458 #line 440 "src/parser_proc_grammar.y" /* glr.c:816 */
2460 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2462 #line 2463 "src/parser_proc.c" /* glr.c:816 */
2466 #line 443 "src/parser_proc_grammar.y" /* glr.c:816 */
2468 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2470 #line 2471 "src/parser_proc.c" /* glr.c:816 */
2474 #line 449 "src/parser_proc_grammar.y" /* glr.c:816 */
2476 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2478 #line 2479 "src/parser_proc.c" /* glr.c:816 */
2482 #line 455 "src/parser_proc_grammar.y" /* glr.c:816 */
2484 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2486 #line 2487 "src/parser_proc.c" /* glr.c:816 */
2490 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
2492 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2494 #line 2495 "src/parser_proc.c" /* glr.c:816 */
2498 #line 464 "src/parser_proc_grammar.y" /* glr.c:816 */
2500 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2501 struct psi_token
*msg
= NULL
;
2503 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2505 struct psi_token
*next
;
2507 msg
= psi_token_copy(msg
);
2508 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2509 struct psi_token
*old
= msg
;
2510 msg
= psi_token_cat(" ", 2, msg
, next
);
2514 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2516 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2518 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2520 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2522 #line 2523 "src/parser_proc.c" /* glr.c:816 */
2526 #line 487 "src/parser_proc_grammar.y" /* glr.c:816 */
2528 (*(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
))));
2529 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2531 #line 2532 "src/parser_proc.c" /* glr.c:816 */
2535 #line 491 "src/parser_proc_grammar.y" /* glr.c:816 */
2537 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2538 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2540 #line 2541 "src/parser_proc.c" /* glr.c:816 */
2544 #line 495 "src/parser_proc_grammar.y" /* glr.c:816 */
2546 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2547 (*(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
))));
2548 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2550 #line 2551 "src/parser_proc.c" /* glr.c:816 */
2554 #line 500 "src/parser_proc_grammar.y" /* glr.c:816 */
2556 (*(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
)));
2557 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2559 #line 2560 "src/parser_proc.c" /* glr.c:816 */
2563 #line 504 "src/parser_proc_grammar.y" /* glr.c:816 */
2565 (*(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
)));
2566 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2568 #line 2569 "src/parser_proc.c" /* glr.c:816 */
2572 #line 508 "src/parser_proc_grammar.y" /* glr.c:816 */
2574 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2575 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2577 #line 2578 "src/parser_proc.c" /* glr.c:816 */
2581 #line 512 "src/parser_proc_grammar.y" /* glr.c:816 */
2583 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2584 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2586 #line 2587 "src/parser_proc.c" /* glr.c:816 */
2590 #line 565 "src/parser_proc_grammar.y" /* glr.c:816 */
2592 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2593 (*(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
);
2594 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2596 #line 2597 "src/parser_proc.c" /* glr.c:816 */
2600 #line 570 "src/parser_proc_grammar.y" /* glr.c:816 */
2602 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2603 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2604 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2606 #line 2607 "src/parser_proc.c" /* glr.c:816 */
2610 #line 578 "src/parser_proc_grammar.y" /* glr.c:816 */
2612 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2614 #line 2615 "src/parser_proc.c" /* glr.c:816 */
2618 #line 585 "src/parser_proc_grammar.y" /* glr.c:816 */
2620 (*(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
)));
2621 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2622 (*(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
)));
2624 #line 2625 "src/parser_proc.c" /* glr.c:816 */
2628 #line 590 "src/parser_proc_grammar.y" /* glr.c:816 */
2630 (*(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
)));
2631 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2632 (*(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
)));
2634 #line 2635 "src/parser_proc.c" /* glr.c:816 */
2638 #line 598 "src/parser_proc_grammar.y" /* glr.c:816 */
2640 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2642 #line 2643 "src/parser_proc.c" /* glr.c:816 */
2646 #line 605 "src/parser_proc_grammar.y" /* glr.c:816 */
2648 (*(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
)));
2649 (*(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
)));
2651 #line 2652 "src/parser_proc.c" /* glr.c:816 */
2655 #line 609 "src/parser_proc_grammar.y" /* glr.c:816 */
2657 (*(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
)));
2658 (*(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
)));
2660 #line 2661 "src/parser_proc.c" /* glr.c:816 */
2664 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
2666 (*(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
)));
2667 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
2669 #line 2670 "src/parser_proc.c" /* glr.c:816 */
2673 #line 620 "src/parser_proc_grammar.y" /* glr.c:816 */
2675 (*(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
)));
2676 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2678 #line 2679 "src/parser_proc.c" /* glr.c:816 */
2682 #line 624 "src/parser_proc_grammar.y" /* glr.c:816 */
2684 (*(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
)));
2685 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2687 #line 2688 "src/parser_proc.c" /* glr.c:816 */
2691 #line 628 "src/parser_proc_grammar.y" /* glr.c:816 */
2693 (*(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
)));
2694 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2696 #line 2697 "src/parser_proc.c" /* glr.c:816 */
2700 #line 633 "src/parser_proc_grammar.y" /* glr.c:816 */
2705 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2706 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2707 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2708 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2711 #line 2712 "src/parser_proc.c" /* glr.c:816 */
2715 #line 643 "src/parser_proc_grammar.y" /* glr.c:816 */
2720 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2721 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2722 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2723 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2726 #line 2727 "src/parser_proc.c" /* glr.c:816 */
2730 #line 653 "src/parser_proc_grammar.y" /* glr.c:816 */
2732 (*(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
));
2733 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2734 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2736 #line 2737 "src/parser_proc.c" /* glr.c:816 */
2740 #line 658 "src/parser_proc_grammar.y" /* glr.c:816 */
2742 (*(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));
2743 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2744 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2746 #line 2747 "src/parser_proc.c" /* glr.c:816 */
2750 #line 663 "src/parser_proc_grammar.y" /* glr.c:816 */
2752 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2753 (*(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));
2754 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2755 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2757 #line 2758 "src/parser_proc.c" /* glr.c:816 */
2761 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
2763 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2764 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
2765 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));
2766 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2768 #line 2769 "src/parser_proc.c" /* glr.c:816 */
2772 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
2774 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2776 #line 2777 "src/parser_proc.c" /* glr.c:816 */
2780 #line 685 "src/parser_proc_grammar.y" /* glr.c:816 */
2782 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
2783 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2785 #line 2786 "src/parser_proc.c" /* glr.c:816 */
2789 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
2791 (*(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
)));
2793 #line 2794 "src/parser_proc.c" /* glr.c:816 */
2797 #line 695 "src/parser_proc_grammar.y" /* glr.c:816 */
2799 (*(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
)));
2800 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2802 #line 2803 "src/parser_proc.c" /* glr.c:816 */
2806 #line 702 "src/parser_proc_grammar.y" /* glr.c:816 */
2808 (*(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
);
2810 #line 2811 "src/parser_proc.c" /* glr.c:816 */
2814 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
2816 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
2818 #line 2819 "src/parser_proc.c" /* glr.c:816 */
2822 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
2824 (*(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
);
2825 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2827 #line 2828 "src/parser_proc.c" /* glr.c:816 */
2831 #line 733 "src/parser_proc_grammar.y" /* glr.c:816 */
2833 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2835 #line 2836 "src/parser_proc.c" /* glr.c:816 */
2839 #line 740 "src/parser_proc_grammar.y" /* glr.c:816 */
2841 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
2842 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
2843 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
2845 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
2846 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
2848 #line 2849 "src/parser_proc.c" /* glr.c:816 */
2852 #line 748 "src/parser_proc_grammar.y" /* glr.c:816 */
2854 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2855 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
2856 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
2857 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
2859 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2860 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
2861 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2863 #line 2864 "src/parser_proc.c" /* glr.c:816 */
2867 #line 758 "src/parser_proc_grammar.y" /* glr.c:816 */
2869 (*(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
)));
2870 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
2871 (*(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
)));
2872 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2873 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
2874 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
2876 #line 2877 "src/parser_proc.c" /* glr.c:816 */
2880 #line 766 "src/parser_proc_grammar.y" /* glr.c:816 */
2882 (*(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
)));
2883 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
2884 (*(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
)));
2885 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2886 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
2887 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
2889 #line 2890 "src/parser_proc.c" /* glr.c:816 */
2893 #line 774 "src/parser_proc_grammar.y" /* glr.c:816 */
2895 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2896 (*(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));
2897 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2899 #line 2900 "src/parser_proc.c" /* glr.c:816 */
2903 #line 782 "src/parser_proc_grammar.y" /* glr.c:816 */
2905 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
2907 #line 2908 "src/parser_proc.c" /* glr.c:816 */
2911 #line 789 "src/parser_proc_grammar.y" /* glr.c:816 */
2913 (*(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
);
2914 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
2916 #line 2917 "src/parser_proc.c" /* glr.c:816 */
2920 #line 797 "src/parser_proc_grammar.y" /* glr.c:816 */
2922 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2923 (*(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
);
2924 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2926 #line 2927 "src/parser_proc.c" /* glr.c:816 */
2930 #line 802 "src/parser_proc_grammar.y" /* glr.c:816 */
2932 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2933 (*(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
);
2934 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2936 #line 2937 "src/parser_proc.c" /* glr.c:816 */
2940 #line 807 "src/parser_proc_grammar.y" /* glr.c:816 */
2942 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2943 (*(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
);
2944 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2946 #line 2947 "src/parser_proc.c" /* glr.c:816 */
2950 #line 817 "src/parser_proc_grammar.y" /* glr.c:816 */
2952 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2954 #line 2955 "src/parser_proc.c" /* glr.c:816 */
2958 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
2960 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2962 #line 2963 "src/parser_proc.c" /* glr.c:816 */
2966 #line 826 "src/parser_proc_grammar.y" /* glr.c:816 */
2968 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2970 #line 2971 "src/parser_proc.c" /* glr.c:816 */
2974 #line 829 "src/parser_proc_grammar.y" /* glr.c:816 */
2976 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2978 #line 2979 "src/parser_proc.c" /* glr.c:816 */
2982 #line 832 "src/parser_proc_grammar.y" /* glr.c:816 */
2984 (*(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
)));
2986 #line 2987 "src/parser_proc.c" /* glr.c:816 */
2990 #line 854 "src/parser_proc_grammar.y" /* glr.c:816 */
2992 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2994 #line 2995 "src/parser_proc.c" /* glr.c:816 */
2998 #line 857 "src/parser_proc_grammar.y" /* glr.c:816 */
3000 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3002 #line 3003 "src/parser_proc.c" /* glr.c:816 */
3006 #line 860 "src/parser_proc_grammar.y" /* glr.c:816 */
3008 (*(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
)));
3010 #line 3011 "src/parser_proc.c" /* glr.c:816 */
3014 #line 866 "src/parser_proc_grammar.y" /* glr.c:816 */
3016 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3018 #line 3019 "src/parser_proc.c" /* glr.c:816 */
3022 #line 869 "src/parser_proc_grammar.y" /* glr.c:816 */
3024 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3026 #line 3027 "src/parser_proc.c" /* glr.c:816 */
3030 #line 872 "src/parser_proc_grammar.y" /* glr.c:816 */
3032 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3033 (*(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
)));
3034 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3036 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3039 #line 3040 "src/parser_proc.c" /* glr.c:816 */
3043 #line 880 "src/parser_proc_grammar.y" /* glr.c:816 */
3045 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3046 (*(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
)));
3047 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3048 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3050 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3053 #line 3054 "src/parser_proc.c" /* glr.c:816 */
3057 #line 892 "src/parser_proc_grammar.y" /* glr.c:816 */
3059 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3061 #line 3062 "src/parser_proc.c" /* glr.c:816 */
3065 #line 895 "src/parser_proc_grammar.y" /* glr.c:816 */
3067 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3069 #line 3070 "src/parser_proc.c" /* glr.c:816 */
3073 #line 898 "src/parser_proc_grammar.y" /* glr.c:816 */
3075 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3076 (*(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
)));
3078 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3081 #line 3082 "src/parser_proc.c" /* glr.c:816 */
3085 #line 905 "src/parser_proc_grammar.y" /* glr.c:816 */
3087 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3089 #line 3090 "src/parser_proc.c" /* glr.c:816 */
3093 #line 908 "src/parser_proc_grammar.y" /* glr.c:816 */
3095 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3096 (*(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
)));
3098 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3101 #line 3102 "src/parser_proc.c" /* glr.c:816 */
3105 #line 918 "src/parser_proc_grammar.y" /* glr.c:816 */
3107 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3109 #line 3110 "src/parser_proc.c" /* glr.c:816 */
3113 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3115 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3117 #line 3118 "src/parser_proc.c" /* glr.c:816 */
3121 #line 932 "src/parser_proc_grammar.y" /* glr.c:816 */
3123 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3125 #line 3126 "src/parser_proc.c" /* glr.c:816 */
3129 #line 935 "src/parser_proc_grammar.y" /* glr.c:816 */
3131 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3133 #line 3134 "src/parser_proc.c" /* glr.c:816 */
3137 #line 938 "src/parser_proc_grammar.y" /* glr.c:816 */
3139 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
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
)));
3141 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3143 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3146 #line 3147 "src/parser_proc.c" /* glr.c:816 */
3150 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3152 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3154 #line 3155 "src/parser_proc.c" /* glr.c:816 */
3158 #line 952 "src/parser_proc_grammar.y" /* glr.c:816 */
3160 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3162 #line 3163 "src/parser_proc.c" /* glr.c:816 */
3166 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3168 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3170 #line 3171 "src/parser_proc.c" /* glr.c:816 */
3174 #line 979 "src/parser_proc_grammar.y" /* glr.c:816 */
3176 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3178 #line 3179 "src/parser_proc.c" /* glr.c:816 */
3182 #line 985 "src/parser_proc_grammar.y" /* glr.c:816 */
3184 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(psi_decl_abi_init("default"), (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3185 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3186 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3187 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3190 #line 3191 "src/parser_proc.c" /* glr.c:816 */
3194 #line 992 "src/parser_proc_grammar.y" /* glr.c:816 */
3196 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(psi_decl_abi_init("default"), (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3197 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3198 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3199 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3200 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3203 #line 3204 "src/parser_proc.c" /* glr.c:816 */
3207 #line 1000 "src/parser_proc_grammar.y" /* glr.c:816 */
3209 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->text
), (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3210 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3211 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3212 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3215 #line 3216 "src/parser_proc.c" /* glr.c:816 */
3219 #line 1007 "src/parser_proc_grammar.y" /* glr.c:816 */
3221 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init(psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
))->text
), (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3222 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3223 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3224 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3225 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3228 #line 3229 "src/parser_proc.c" /* glr.c:816 */
3232 #line 1023 "src/parser_proc_grammar.y" /* glr.c:816 */
3234 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3235 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3236 (*(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));
3237 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3238 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3240 #line 3241 "src/parser_proc.c" /* glr.c:816 */
3244 #line 1030 "src/parser_proc_grammar.y" /* glr.c:816 */
3246 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3247 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3248 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3249 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
),
3250 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)
3252 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3253 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3254 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3256 #line 3257 "src/parser_proc.c" /* glr.c:816 */
3260 #line 1041 "src/parser_proc_grammar.y" /* glr.c:816 */
3262 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3263 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3264 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3265 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
),
3266 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)
3268 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3269 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3270 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3272 #line 3273 "src/parser_proc.c" /* glr.c:816 */
3276 #line 1052 "src/parser_proc_grammar.y" /* glr.c:816 */
3278 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3279 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3280 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3281 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
),
3282 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3284 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3285 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3286 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3288 #line 3289 "src/parser_proc.c" /* glr.c:816 */
3292 #line 1067 "src/parser_proc_grammar.y" /* glr.c:816 */
3294 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3295 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
),
3296 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3298 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3299 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3300 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3302 #line 3303 "src/parser_proc.c" /* glr.c:816 */
3306 #line 1079 "src/parser_proc_grammar.y" /* glr.c:816 */
3308 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3310 #line 3311 "src/parser_proc.c" /* glr.c:816 */
3314 #line 1082 "src/parser_proc_grammar.y" /* glr.c:816 */
3316 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3318 #line 3319 "src/parser_proc.c" /* glr.c:816 */
3322 #line 1085 "src/parser_proc_grammar.y" /* glr.c:816 */
3324 (*(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
)));
3326 #line 3327 "src/parser_proc.c" /* glr.c:816 */
3330 #line 1088 "src/parser_proc_grammar.y" /* glr.c:816 */
3332 (*(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
)));
3334 #line 3335 "src/parser_proc.c" /* glr.c:816 */
3338 #line 1094 "src/parser_proc_grammar.y" /* glr.c:816 */
3340 (*(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
)));
3342 #line 3343 "src/parser_proc.c" /* glr.c:816 */
3346 #line 1097 "src/parser_proc_grammar.y" /* glr.c:816 */
3348 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3349 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3350 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
),
3351 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)
3353 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3354 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3355 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3357 #line 3358 "src/parser_proc.c" /* glr.c:816 */
3361 #line 1107 "src/parser_proc_grammar.y" /* glr.c:816 */
3363 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3364 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3365 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
),
3366 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)
3368 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3369 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3370 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3372 #line 3373 "src/parser_proc.c" /* glr.c:816 */
3376 #line 1120 "src/parser_proc_grammar.y" /* glr.c:816 */
3378 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3379 (*(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
)));
3380 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3382 #line 3383 "src/parser_proc.c" /* glr.c:816 */
3386 #line 1125 "src/parser_proc_grammar.y" /* glr.c:816 */
3388 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3389 (*(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
)));
3390 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3392 #line 3393 "src/parser_proc.c" /* glr.c:816 */
3396 #line 1133 "src/parser_proc_grammar.y" /* glr.c:816 */
3398 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3399 (*(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
)));
3400 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3401 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3402 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3404 #line 3405 "src/parser_proc.c" /* glr.c:816 */
3408 #line 1143 "src/parser_proc_grammar.y" /* glr.c:816 */
3410 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3411 (*(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
)));
3412 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3413 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3414 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3416 #line 3417 "src/parser_proc.c" /* glr.c:816 */
3420 #line 1153 "src/parser_proc_grammar.y" /* glr.c:816 */
3422 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3424 #line 3425 "src/parser_proc.c" /* glr.c:816 */
3428 #line 1160 "src/parser_proc_grammar.y" /* glr.c:816 */
3430 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3432 #line 3433 "src/parser_proc.c" /* glr.c:816 */
3436 #line 1166 "src/parser_proc_grammar.y" /* glr.c:816 */
3438 (*(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
)));
3440 #line 3441 "src/parser_proc.c" /* glr.c:816 */
3444 #line 1169 "src/parser_proc_grammar.y" /* glr.c:816 */
3446 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3448 #line 3449 "src/parser_proc.c" /* glr.c:816 */
3452 #line 1175 "src/parser_proc_grammar.y" /* glr.c:816 */
3454 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3455 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3456 psi_parser_proc_add_from_typedef(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
))));
3458 #line 3459 "src/parser_proc.c" /* glr.c:816 */
3462 #line 1183 "src/parser_proc_grammar.y" /* glr.c:816 */
3464 (*(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
)));
3465 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3467 #line 3468 "src/parser_proc.c" /* glr.c:816 */
3471 #line 1190 "src/parser_proc_grammar.y" /* glr.c:816 */
3473 (*(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
)));
3475 #line 3476 "src/parser_proc.c" /* glr.c:816 */
3479 #line 1193 "src/parser_proc_grammar.y" /* glr.c:816 */
3481 (*(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
)));
3483 #line 3484 "src/parser_proc.c" /* glr.c:816 */
3487 #line 1199 "src/parser_proc_grammar.y" /* glr.c:816 */
3489 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3490 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
3491 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3493 #line 3494 "src/parser_proc.c" /* glr.c:816 */
3497 #line 1204 "src/parser_proc_grammar.y" /* glr.c:816 */
3499 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3500 (*(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
)));
3501 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3503 #line 3504 "src/parser_proc.c" /* glr.c:816 */
3507 #line 1212 "src/parser_proc_grammar.y" /* glr.c:816 */
3509 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3510 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3512 #line 3513 "src/parser_proc.c" /* glr.c:816 */
3516 #line 1216 "src/parser_proc_grammar.y" /* glr.c:816 */
3518 (*(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
)));
3519 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
3521 #line 3522 "src/parser_proc.c" /* glr.c:816 */
3525 #line 1220 "src/parser_proc_grammar.y" /* glr.c:816 */
3527 (*(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
)));
3528 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3530 #line 3531 "src/parser_proc.c" /* glr.c:816 */
3534 #line 1224 "src/parser_proc_grammar.y" /* glr.c:816 */
3536 (*(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
)));
3537 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3539 #line 3540 "src/parser_proc.c" /* glr.c:816 */
3543 #line 1228 "src/parser_proc_grammar.y" /* glr.c:816 */
3545 (*(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
)));
3546 (*(struct psi_num_exp
**)(&(*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 1232 "src/parser_proc_grammar.y" /* glr.c:816 */
3554 (*(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
)));
3555 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3557 #line 3558 "src/parser_proc.c" /* glr.c:816 */
3561 #line 1239 "src/parser_proc_grammar.y" /* glr.c:816 */
3563 (*(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
);
3564 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3566 #line 3567 "src/parser_proc.c" /* glr.c:816 */
3570 #line 1243 "src/parser_proc_grammar.y" /* glr.c:816 */
3572 (*(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);
3573 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3575 #line 3576 "src/parser_proc.c" /* glr.c:816 */
3579 #line 1247 "src/parser_proc_grammar.y" /* glr.c:816 */
3581 (*(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);
3582 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3584 #line 3585 "src/parser_proc.c" /* glr.c:816 */
3588 #line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */
3590 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
3591 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3593 #line 3594 "src/parser_proc.c" /* glr.c:816 */
3597 #line 1258 "src/parser_proc_grammar.y" /* glr.c:816 */
3599 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3600 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3604 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3605 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3608 #line 3609 "src/parser_proc.c" /* glr.c:816 */
3612 #line 1271 "src/parser_proc_grammar.y" /* glr.c:816 */
3614 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3615 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3619 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3620 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3623 #line 3624 "src/parser_proc.c" /* glr.c:816 */
3627 #line 1284 "src/parser_proc_grammar.y" /* glr.c:816 */
3629 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3630 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3634 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3635 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3638 #line 3639 "src/parser_proc.c" /* glr.c:816 */
3642 #line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */
3644 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3646 #line 3647 "src/parser_proc.c" /* glr.c:816 */
3650 #line 1300 "src/parser_proc_grammar.y" /* glr.c:816 */
3652 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3653 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
3655 #line 3656 "src/parser_proc.c" /* glr.c:816 */
3659 #line 1307 "src/parser_proc_grammar.y" /* glr.c:816 */
3661 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
3663 #line 3664 "src/parser_proc.c" /* glr.c:816 */
3667 #line 1310 "src/parser_proc_grammar.y" /* glr.c:816 */
3669 (*(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
));
3671 #line 3672 "src/parser_proc.c" /* glr.c:816 */
3675 #line 1316 "src/parser_proc_grammar.y" /* glr.c:816 */
3677 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
3678 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
3680 #line 3681 "src/parser_proc.c" /* glr.c:816 */
3684 #line 1320 "src/parser_proc_grammar.y" /* glr.c:816 */
3686 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
3687 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3689 #line 3690 "src/parser_proc.c" /* glr.c:816 */
3693 #line 1327 "src/parser_proc_grammar.y" /* glr.c:816 */
3695 (*(size_t*)(&(*yyvalp
))) = 0;
3697 #line 3698 "src/parser_proc.c" /* glr.c:816 */
3701 #line 1330 "src/parser_proc_grammar.y" /* glr.c:816 */
3703 (*(size_t*)(&(*yyvalp
))) = atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3705 #line 3706 "src/parser_proc.c" /* glr.c:816 */
3709 #line 1336 "src/parser_proc_grammar.y" /* glr.c:816 */
3711 (*(size_t*)(&(*yyvalp
))) = 0;
3713 #line 3714 "src/parser_proc.c" /* glr.c:816 */
3717 #line 1339 "src/parser_proc_grammar.y" /* glr.c:816 */
3719 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3721 #line 3722 "src/parser_proc.c" /* glr.c:816 */
3725 #line 1346 "src/parser_proc_grammar.y" /* glr.c:816 */
3727 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3729 #line 3730 "src/parser_proc.c" /* glr.c:816 */
3733 #line 1352 "src/parser_proc_grammar.y" /* glr.c:816 */
3735 (*(size_t*)(&(*yyvalp
))) = 1;
3737 #line 3738 "src/parser_proc.c" /* glr.c:816 */
3741 #line 1355 "src/parser_proc_grammar.y" /* glr.c:816 */
3743 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
3745 #line 3746 "src/parser_proc.c" /* glr.c:816 */
3749 #line 1367 "src/parser_proc_grammar.y" /* glr.c:816 */
3751 (*(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
)));
3753 #line 3754 "src/parser_proc.c" /* glr.c:816 */
3757 #line 1370 "src/parser_proc_grammar.y" /* glr.c:816 */
3759 (*(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
)));
3760 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
3762 #line 3763 "src/parser_proc.c" /* glr.c:816 */
3766 #line 1377 "src/parser_proc_grammar.y" /* glr.c:816 */
3768 (*(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
)));
3769 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3770 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
3772 #line 3773 "src/parser_proc.c" /* glr.c:816 */
3776 #line 1382 "src/parser_proc_grammar.y" /* glr.c:816 */
3778 (*(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
)));
3779 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3780 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
3782 #line 3783 "src/parser_proc.c" /* glr.c:816 */
3786 #line 1387 "src/parser_proc_grammar.y" /* glr.c:816 */
3788 (*(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
)));
3789 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
3790 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
3791 (*(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
);
3792 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3794 #line 3795 "src/parser_proc.c" /* glr.c:816 */
3798 #line 1397 "src/parser_proc_grammar.y" /* glr.c:816 */
3800 (*(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
)));
3802 #line 3803 "src/parser_proc.c" /* glr.c:816 */
3806 #line 1400 "src/parser_proc_grammar.y" /* glr.c:816 */
3808 (*(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
)));
3810 #line 3811 "src/parser_proc.c" /* glr.c:816 */
3814 #line 1406 "src/parser_proc_grammar.y" /* glr.c:816 */
3816 (*(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
);
3818 #line 3819 "src/parser_proc.c" /* glr.c:816 */
3822 #line 1409 "src/parser_proc_grammar.y" /* glr.c:816 */
3824 (*(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
)));
3826 #line 3827 "src/parser_proc.c" /* glr.c:816 */
3830 #line 1415 "src/parser_proc_grammar.y" /* glr.c:816 */
3832 (*(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
)));
3833 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3835 #line 3836 "src/parser_proc.c" /* glr.c:816 */
3839 #line 1422 "src/parser_proc_grammar.y" /* glr.c:816 */
3841 (*(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
);
3842 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3844 #line 3845 "src/parser_proc.c" /* glr.c:816 */
3848 #line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */
3850 (*(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
)));
3852 #line 3853 "src/parser_proc.c" /* glr.c:816 */
3856 #line 1444 "src/parser_proc_grammar.y" /* glr.c:816 */
3858 (*(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
)));
3860 #line 3861 "src/parser_proc.c" /* glr.c:816 */
3864 #line 1450 "src/parser_proc_grammar.y" /* glr.c:816 */
3866 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3868 #line 3869 "src/parser_proc.c" /* glr.c:816 */
3872 #line 1453 "src/parser_proc_grammar.y" /* glr.c:816 */
3874 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3876 #line 3877 "src/parser_proc.c" /* glr.c:816 */
3880 #line 1456 "src/parser_proc_grammar.y" /* glr.c:816 */
3882 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3884 #line 3885 "src/parser_proc.c" /* glr.c:816 */
3888 #line 1459 "src/parser_proc_grammar.y" /* glr.c:816 */
3890 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3892 #line 3893 "src/parser_proc.c" /* glr.c:816 */
3896 #line 1462 "src/parser_proc_grammar.y" /* glr.c:816 */
3898 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3900 #line 3901 "src/parser_proc.c" /* glr.c:816 */
3904 #line 1468 "src/parser_proc_grammar.y" /* glr.c:816 */
3906 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3907 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3909 #line 3910 "src/parser_proc.c" /* glr.c:816 */
3913 #line 1472 "src/parser_proc_grammar.y" /* glr.c:816 */
3915 (*(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
))));
3916 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3917 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3919 #line 3920 "src/parser_proc.c" /* glr.c:816 */
3923 #line 1481 "src/parser_proc_grammar.y" /* glr.c:816 */
3925 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3926 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
3928 #line 3929 "src/parser_proc.c" /* glr.c:816 */
3932 #line 1485 "src/parser_proc_grammar.y" /* glr.c:816 */
3934 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3935 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
3937 #line 3938 "src/parser_proc.c" /* glr.c:816 */
3941 #line 1492 "src/parser_proc_grammar.y" /* glr.c:816 */
3943 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
3945 #line 3946 "src/parser_proc.c" /* glr.c:816 */
3949 #line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */
3951 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3953 #line 3954 "src/parser_proc.c" /* glr.c:816 */
3957 #line 1498 "src/parser_proc_grammar.y" /* glr.c:816 */
3959 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3961 #line 3962 "src/parser_proc.c" /* glr.c:816 */
3965 #line 1501 "src/parser_proc_grammar.y" /* glr.c:816 */
3967 (*(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
)));
3969 #line 3970 "src/parser_proc.c" /* glr.c:816 */
3973 #line 1504 "src/parser_proc_grammar.y" /* glr.c:816 */
3975 (*(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
)));
3977 #line 3978 "src/parser_proc.c" /* glr.c:816 */
3981 #line 1510 "src/parser_proc_grammar.y" /* glr.c:816 */
3983 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3984 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3986 #line 3987 "src/parser_proc.c" /* glr.c:816 */
3990 #line 1514 "src/parser_proc_grammar.y" /* glr.c:816 */
3992 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3993 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
3994 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3996 #line 3997 "src/parser_proc.c" /* glr.c:816 */
4000 #line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */
4002 (*(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
)));
4003 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4005 #line 4006 "src/parser_proc.c" /* glr.c:816 */
4009 #line 1529 "src/parser_proc_grammar.y" /* glr.c:816 */
4011 (*(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
)));
4012 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4013 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4015 #line 4016 "src/parser_proc.c" /* glr.c:816 */
4019 #line 1537 "src/parser_proc_grammar.y" /* glr.c:816 */
4021 (*(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
)));
4022 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4023 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4025 #line 4026 "src/parser_proc.c" /* glr.c:816 */
4029 #line 1558 "src/parser_proc_grammar.y" /* glr.c:816 */
4031 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4033 #line 4034 "src/parser_proc.c" /* glr.c:816 */
4037 #line 1561 "src/parser_proc_grammar.y" /* glr.c:816 */
4039 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4041 #line 4042 "src/parser_proc.c" /* glr.c:816 */
4045 #line 1567 "src/parser_proc_grammar.y" /* glr.c:816 */
4047 (*(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
)));
4049 #line 4050 "src/parser_proc.c" /* glr.c:816 */
4053 #line 1570 "src/parser_proc_grammar.y" /* glr.c:816 */
4055 (*(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
)));
4057 #line 4058 "src/parser_proc.c" /* glr.c:816 */
4061 #line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */
4063 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4065 #line 4066 "src/parser_proc.c" /* glr.c:816 */
4069 #line 1584 "src/parser_proc_grammar.y" /* glr.c:816 */
4071 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4073 #line 4074 "src/parser_proc.c" /* glr.c:816 */
4077 #line 1590 "src/parser_proc_grammar.y" /* glr.c:816 */
4079 (*(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
)));
4081 #line 4082 "src/parser_proc.c" /* glr.c:816 */
4085 #line 1593 "src/parser_proc_grammar.y" /* glr.c:816 */
4087 (*(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
)));
4089 #line 4090 "src/parser_proc.c" /* glr.c:816 */
4093 #line 1599 "src/parser_proc_grammar.y" /* glr.c:816 */
4095 (*(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
))));
4096 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4098 #line 4099 "src/parser_proc.c" /* glr.c:816 */
4102 #line 1606 "src/parser_proc_grammar.y" /* glr.c:816 */
4104 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4105 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4107 #line 4108 "src/parser_proc.c" /* glr.c:816 */
4111 #line 1613 "src/parser_proc_grammar.y" /* glr.c:816 */
4113 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4115 #line 4116 "src/parser_proc.c" /* glr.c:816 */
4119 #line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */
4121 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4123 #line 4124 "src/parser_proc.c" /* glr.c:816 */
4127 #line 1619 "src/parser_proc_grammar.y" /* glr.c:816 */
4129 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4130 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4132 #line 4133 "src/parser_proc.c" /* glr.c:816 */
4136 #line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */
4138 (*(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
)));
4139 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4140 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4142 #line 4143 "src/parser_proc.c" /* glr.c:816 */
4146 #line 1631 "src/parser_proc_grammar.y" /* glr.c:816 */
4148 (*(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
)));
4149 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4150 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4152 #line 4153 "src/parser_proc.c" /* glr.c:816 */
4156 #line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */
4158 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4160 #line 4161 "src/parser_proc.c" /* glr.c:816 */
4164 #line 1653 "src/parser_proc_grammar.y" /* glr.c:816 */
4166 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4168 #line 4169 "src/parser_proc.c" /* glr.c:816 */
4172 #line 1659 "src/parser_proc_grammar.y" /* glr.c:816 */
4174 (*(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
)));
4176 #line 4177 "src/parser_proc.c" /* glr.c:816 */
4180 #line 1662 "src/parser_proc_grammar.y" /* glr.c:816 */
4182 (*(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
)));
4184 #line 4185 "src/parser_proc.c" /* glr.c:816 */
4188 #line 1668 "src/parser_proc_grammar.y" /* glr.c:816 */
4190 (*(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
)));
4191 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4193 #line 4194 "src/parser_proc.c" /* glr.c:816 */
4197 #line 1680 "src/parser_proc_grammar.y" /* glr.c:816 */
4199 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4200 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4202 #line 4203 "src/parser_proc.c" /* glr.c:816 */
4206 #line 1687 "src/parser_proc_grammar.y" /* glr.c:816 */
4208 (*(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
)));
4210 #line 4211 "src/parser_proc.c" /* glr.c:816 */
4214 #line 1690 "src/parser_proc_grammar.y" /* glr.c:816 */
4216 (*(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
)));
4218 #line 4219 "src/parser_proc.c" /* glr.c:816 */
4222 #line 1696 "src/parser_proc_grammar.y" /* glr.c:816 */
4224 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4225 (*(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
)));
4226 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4228 #line 4229 "src/parser_proc.c" /* glr.c:816 */
4232 #line 1704 "src/parser_proc_grammar.y" /* glr.c:816 */
4234 (*(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
)));
4236 #line 4237 "src/parser_proc.c" /* glr.c:816 */
4240 #line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */
4242 (*(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
)));
4244 #line 4245 "src/parser_proc.c" /* glr.c:816 */
4248 #line 1713 "src/parser_proc_grammar.y" /* glr.c:816 */
4250 (*(bool*)(&(*yyvalp
))) = false;
4252 #line 4253 "src/parser_proc.c" /* glr.c:816 */
4256 #line 1716 "src/parser_proc_grammar.y" /* glr.c:816 */
4258 (*(bool*)(&(*yyvalp
))) = true;
4260 #line 4261 "src/parser_proc.c" /* glr.c:816 */
4264 #line 4265 "src/parser_proc.c" /* glr.c:816 */
4275 # undef YYRECOVERING
4280 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
4292 /* Bison grammar-table manipulation. */
4294 /*-----------------------------------------------.
4295 | Release the memory associated to this symbol. |
4296 `-----------------------------------------------*/
4299 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4307 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
4309 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4312 case 133: /* binary_op_token */
4313 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4315 #line 4316 "src/parser_proc.c" /* glr.c:846 */
4318 case 134: /* unary_op_token */
4319 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4321 #line 4322 "src/parser_proc.c" /* glr.c:846 */
4324 case 135: /* name_token */
4325 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4327 #line 4328 "src/parser_proc.c" /* glr.c:846 */
4330 case 136: /* any_noeol_token */
4331 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4333 #line 4334 "src/parser_proc.c" /* glr.c:846 */
4337 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4338 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4339 #line 4340 "src/parser_proc.c" /* glr.c:846 */
4343 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4344 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4345 #line 4346 "src/parser_proc.c" /* glr.c:846 */
4348 case 142: /* cpp_exp */
4349 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4350 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4351 #line 4352 "src/parser_proc.c" /* glr.c:846 */
4354 case 144: /* cpp_message_token */
4355 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4357 #line 4358 "src/parser_proc.c" /* glr.c:846 */
4360 case 145: /* cpp_include_token */
4361 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4363 #line 4364 "src/parser_proc.c" /* glr.c:846 */
4366 case 146: /* cpp_header_token */
4367 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4369 #line 4370 "src/parser_proc.c" /* glr.c:846 */
4372 case 147: /* cpp_no_arg_token */
4373 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4375 #line 4376 "src/parser_proc.c" /* glr.c:846 */
4378 case 148: /* cpp_name_arg_token */
4379 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4381 #line 4382 "src/parser_proc.c" /* glr.c:846 */
4384 case 149: /* cpp_exp_arg_token */
4385 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4387 #line 4388 "src/parser_proc.c" /* glr.c:846 */
4390 case 150: /* cpp_special_name_token */
4391 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4393 #line 4394 "src/parser_proc.c" /* glr.c:846 */
4396 case 151: /* cpp_macro_decl */
4397 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
4398 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
4399 #line 4400 "src/parser_proc.c" /* glr.c:846 */
4402 case 152: /* cpp_macro_sig */
4403 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4404 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4405 #line 4406 "src/parser_proc.c" /* glr.c:846 */
4408 case 153: /* cpp_macro_sig_args */
4409 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4410 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4411 #line 4412 "src/parser_proc.c" /* glr.c:846 */
4414 case 154: /* cpp_macro_decl_tokens */
4415 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4416 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4417 #line 4418 "src/parser_proc.c" /* glr.c:846 */
4420 case 155: /* cpp_macro_decl_token_list */
4421 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4422 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4423 #line 4424 "src/parser_proc.c" /* glr.c:846 */
4426 case 156: /* cpp_macro_exp */
4427 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4428 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
4429 #line 4430 "src/parser_proc.c" /* glr.c:846 */
4432 case 157: /* cpp_macro_call_args */
4433 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4434 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4435 #line 4436 "src/parser_proc.c" /* glr.c:846 */
4438 case 158: /* cpp_macro_call_arg_list */
4439 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4440 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4441 #line 4442 "src/parser_proc.c" /* glr.c:846 */
4444 case 159: /* constant */
4445 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
4446 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
4447 #line 4448 "src/parser_proc.c" /* glr.c:846 */
4450 case 160: /* constant_type */
4451 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
4452 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
4453 #line 4454 "src/parser_proc.c" /* glr.c:846 */
4456 case 161: /* constant_type_token */
4457 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
4459 #line 4460 "src/parser_proc.c" /* glr.c:846 */
4462 case 162: /* impl_def_val */
4463 #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */
4464 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
4465 #line 4466 "src/parser_proc.c" /* glr.c:846 */
4468 case 163: /* impl_def_val_token */
4469 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
4471 #line 4472 "src/parser_proc.c" /* glr.c:846 */
4474 case 164: /* decl_typedef */
4475 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4476 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4477 #line 4478 "src/parser_proc.c" /* glr.c:846 */
4480 case 165: /* typedef */
4481 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4482 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4483 #line 4484 "src/parser_proc.c" /* glr.c:846 */
4486 case 166: /* const_decl_type */
4487 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
4488 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4489 #line 4490 "src/parser_proc.c" /* glr.c:846 */
4492 case 167: /* decl_type */
4493 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
4494 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4495 #line 4496 "src/parser_proc.c" /* glr.c:846 */
4498 case 168: /* decl_type_complex */
4499 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
4500 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4501 #line 4502 "src/parser_proc.c" /* glr.c:846 */
4504 case 169: /* decl_type_simple */
4505 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
4506 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4507 #line 4508 "src/parser_proc.c" /* glr.c:846 */
4510 case 170: /* decl_real_type */
4511 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
4512 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4513 #line 4514 "src/parser_proc.c" /* glr.c:846 */
4516 case 171: /* decl_stdint_type */
4517 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4519 #line 4520 "src/parser_proc.c" /* glr.c:846 */
4522 case 172: /* int_signed */
4523 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4525 #line 4526 "src/parser_proc.c" /* glr.c:846 */
4528 case 173: /* int_width */
4529 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
4530 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4531 #line 4532 "src/parser_proc.c" /* glr.c:846 */
4534 case 174: /* decl_int_type */
4535 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
4536 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4537 #line 4538 "src/parser_proc.c" /* glr.c:846 */
4540 case 175: /* int_signed_types */
4541 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
4542 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4543 #line 4544 "src/parser_proc.c" /* glr.c:846 */
4546 case 176: /* signed_short_types */
4547 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4549 #line 4550 "src/parser_proc.c" /* glr.c:846 */
4552 case 177: /* signed_long_types */
4553 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4555 #line 4556 "src/parser_proc.c" /* glr.c:846 */
4558 case 178: /* int_width_types */
4559 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
4560 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4561 #line 4562 "src/parser_proc.c" /* glr.c:846 */
4564 case 179: /* decl_stmt */
4565 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
4566 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4567 #line 4568 "src/parser_proc.c" /* glr.c:846 */
4570 case 185: /* decl */
4571 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
4572 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4573 #line 4574 "src/parser_proc.c" /* glr.c:846 */
4576 case 186: /* decl_fn */
4577 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4578 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4579 #line 4580 "src/parser_proc.c" /* glr.c:846 */
4582 case 187: /* decl_functor */
4583 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4584 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4585 #line 4586 "src/parser_proc.c" /* glr.c:846 */
4588 case 188: /* decl_func */
4589 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4590 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4591 #line 4592 "src/parser_proc.c" /* glr.c:846 */
4594 case 189: /* decl_args */
4595 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4596 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4597 #line 4598 "src/parser_proc.c" /* glr.c:846 */
4600 case 190: /* decl_arg */
4601 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4602 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4603 #line 4604 "src/parser_proc.c" /* glr.c:846 */
4606 case 191: /* decl_var */
4607 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
4608 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
4609 #line 4610 "src/parser_proc.c" /* glr.c:846 */
4612 case 192: /* decl_union */
4613 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
4614 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
4615 #line 4616 "src/parser_proc.c" /* glr.c:846 */
4618 case 193: /* decl_struct */
4619 #line 319 "src/parser_proc_grammar.y" /* glr.c:846 */
4620 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
4621 #line 4622 "src/parser_proc.c" /* glr.c:846 */
4624 case 194: /* decl_struct_args */
4625 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4626 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4627 #line 4628 "src/parser_proc.c" /* glr.c:846 */
4630 case 195: /* struct_args_block */
4631 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4632 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4633 #line 4634 "src/parser_proc.c" /* glr.c:846 */
4636 case 196: /* struct_args */
4637 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4638 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4639 #line 4640 "src/parser_proc.c" /* glr.c:846 */
4642 case 197: /* struct_arg */
4643 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4644 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4645 #line 4646 "src/parser_proc.c" /* glr.c:846 */
4648 case 198: /* decl_enum */
4649 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
4650 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
4651 #line 4652 "src/parser_proc.c" /* glr.c:846 */
4654 case 199: /* decl_enum_items */
4655 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4656 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4657 #line 4658 "src/parser_proc.c" /* glr.c:846 */
4660 case 200: /* decl_enum_item */
4661 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
4662 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
4663 #line 4664 "src/parser_proc.c" /* glr.c:846 */
4666 case 201: /* num_exp */
4667 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
4668 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
4669 #line 4670 "src/parser_proc.c" /* glr.c:846 */
4672 case 202: /* number */
4673 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
4674 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
4675 #line 4676 "src/parser_proc.c" /* glr.c:846 */
4678 case 203: /* enum_name */
4679 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4680 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4681 #line 4682 "src/parser_proc.c" /* glr.c:846 */
4684 case 204: /* union_name */
4685 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4686 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4687 #line 4688 "src/parser_proc.c" /* glr.c:846 */
4690 case 205: /* struct_name */
4691 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4692 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4693 #line 4694 "src/parser_proc.c" /* glr.c:846 */
4696 case 206: /* optional_name */
4697 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4698 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4699 #line 4700 "src/parser_proc.c" /* glr.c:846 */
4702 case 207: /* decl_layout */
4703 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
4704 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
4705 #line 4706 "src/parser_proc.c" /* glr.c:846 */
4708 case 208: /* align_and_size */
4709 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
4711 #line 4712 "src/parser_proc.c" /* glr.c:846 */
4714 case 209: /* array_size */
4715 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4717 #line 4718 "src/parser_proc.c" /* glr.c:846 */
4720 case 210: /* indirection */
4721 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4723 #line 4724 "src/parser_proc.c" /* glr.c:846 */
4726 case 211: /* pointers */
4727 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4729 #line 4730 "src/parser_proc.c" /* glr.c:846 */
4732 case 212: /* asterisks */
4733 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4735 #line 4736 "src/parser_proc.c" /* glr.c:846 */
4738 case 213: /* impl */
4739 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
4740 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
4741 #line 4742 "src/parser_proc.c" /* glr.c:846 */
4744 case 214: /* impl_func */
4745 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
4746 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
4747 #line 4748 "src/parser_proc.c" /* glr.c:846 */
4750 case 215: /* impl_args */
4751 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4752 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4753 #line 4754 "src/parser_proc.c" /* glr.c:846 */
4756 case 216: /* impl_arg */
4757 #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */
4758 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
4759 #line 4760 "src/parser_proc.c" /* glr.c:846 */
4762 case 217: /* impl_var */
4763 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
4764 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
4765 #line 4766 "src/parser_proc.c" /* glr.c:846 */
4768 case 218: /* impl_type */
4769 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
4770 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
4771 #line 4772 "src/parser_proc.c" /* glr.c:846 */
4774 case 219: /* impl_type_token */
4775 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4776 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4777 #line 4778 "src/parser_proc.c" /* glr.c:846 */
4780 case 220: /* impl_stmts */
4781 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4782 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4783 #line 4784 "src/parser_proc.c" /* glr.c:846 */
4786 case 221: /* impl_stmt */
4787 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
4788 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
4789 #line 4790 "src/parser_proc.c" /* glr.c:846 */
4792 case 222: /* let_stmt */
4793 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
4794 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
4795 #line 4796 "src/parser_proc.c" /* glr.c:846 */
4798 case 223: /* let_exp */
4799 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
4800 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
4801 #line 4802 "src/parser_proc.c" /* glr.c:846 */
4804 case 224: /* let_exp_byref */
4805 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
4806 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
4807 #line 4808 "src/parser_proc.c" /* glr.c:846 */
4810 case 225: /* let_exp_assign */
4811 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
4812 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
4813 #line 4814 "src/parser_proc.c" /* glr.c:846 */
4816 case 226: /* let_calloc */
4817 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
4818 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
4819 #line 4820 "src/parser_proc.c" /* glr.c:846 */
4822 case 227: /* let_callback */
4823 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
4824 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
4825 #line 4826 "src/parser_proc.c" /* glr.c:846 */
4828 case 228: /* let_func */
4829 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
4830 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
4831 #line 4832 "src/parser_proc.c" /* glr.c:846 */
4834 case 229: /* let_func_token */
4835 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4836 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4837 #line 4838 "src/parser_proc.c" /* glr.c:846 */
4840 case 230: /* let_func_exps */
4841 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4842 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4843 #line 4844 "src/parser_proc.c" /* glr.c:846 */
4846 case 231: /* let_exps */
4847 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4848 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4849 #line 4850 "src/parser_proc.c" /* glr.c:846 */
4852 case 232: /* callback_rval */
4853 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4854 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4855 #line 4856 "src/parser_proc.c" /* glr.c:846 */
4858 case 233: /* callback_arg_list */
4859 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4860 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4861 #line 4862 "src/parser_proc.c" /* glr.c:846 */
4864 case 234: /* callback_args */
4865 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4866 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4867 #line 4868 "src/parser_proc.c" /* glr.c:846 */
4870 case 235: /* return_stmt */
4871 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
4872 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
4873 #line 4874 "src/parser_proc.c" /* glr.c:846 */
4876 case 236: /* set_stmt */
4877 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
4878 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
4879 #line 4880 "src/parser_proc.c" /* glr.c:846 */
4882 case 237: /* set_exp */
4883 #line 358 "src/parser_proc_grammar.y" /* glr.c:846 */
4884 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
4885 #line 4886 "src/parser_proc.c" /* glr.c:846 */
4888 case 238: /* set_func */
4889 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
4890 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
4891 #line 4892 "src/parser_proc.c" /* glr.c:846 */
4894 case 239: /* set_func_token */
4895 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4896 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4897 #line 4898 "src/parser_proc.c" /* glr.c:846 */
4900 case 240: /* set_func_exps */
4901 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4902 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4903 #line 4904 "src/parser_proc.c" /* glr.c:846 */
4906 case 241: /* set_exps */
4907 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4908 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4909 #line 4910 "src/parser_proc.c" /* glr.c:846 */
4912 case 242: /* assert_stmt */
4913 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
4914 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
4915 #line 4916 "src/parser_proc.c" /* glr.c:846 */
4918 case 243: /* assert_stmt_token */
4919 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4920 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4921 #line 4922 "src/parser_proc.c" /* glr.c:846 */
4924 case 244: /* free_stmt */
4925 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
4926 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
4927 #line 4928 "src/parser_proc.c" /* glr.c:846 */
4930 case 245: /* free_exps */
4931 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4932 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4933 #line 4934 "src/parser_proc.c" /* glr.c:846 */
4936 case 246: /* free_exp */
4937 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
4938 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
4939 #line 4940 "src/parser_proc.c" /* glr.c:846 */
4942 case 247: /* decl_vars */
4943 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4944 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4945 #line 4946 "src/parser_proc.c" /* glr.c:846 */
4948 case 248: /* reference */
4949 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
4951 #line 4952 "src/parser_proc.c" /* glr.c:846 */
4958 YY_IGNORE_MAYBE_UNINITIALIZED_END
4961 /** Number of symbols composing the right hand side of rule #RULE. */
4963 yyrhsLength (yyRuleNum yyrule
)
4965 return yyr2
[yyrule
];
4969 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4971 if (yys
->yyresolved
)
4972 yydestruct (yymsg
, yystos
[yys
->yylrState
],
4973 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
4979 if (yys
->yysemantics
.yyfirstVal
)
4980 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
4982 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
4983 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
4987 if (yys
->yysemantics
.yyfirstVal
)
4989 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
4992 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
4994 yyrh
= yyrh
->yypred
, yyn
-= 1)
4995 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5000 /** Left-hand-side symbol for rule #YYRULE. */
5001 static inline yySymbol
5002 yylhsNonterm (yyRuleNum yyrule
)
5004 return yyr1
[yyrule
];
5007 #define yypact_value_is_default(Yystate) \
5008 (!!((Yystate) == (-547)))
5010 /** True iff LR state YYSTATE has only a default reduction (regardless
5012 static inline yybool
5013 yyisDefaultedState (yyStateNum yystate
)
5015 return yypact_value_is_default (yypact
[yystate
]);
5018 /** The default reduction for YYSTATE, assuming it has one. */
5019 static inline yyRuleNum
5020 yydefaultAction (yyStateNum yystate
)
5022 return yydefact
[yystate
];
5025 #define yytable_value_is_error(Yytable_value) \
5028 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5030 * R < 0: Reduce on rule -R.
5032 * R > 0: Shift to state R.
5033 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5034 * of conflicting reductions.
5037 yygetLRActions (yyStateNum yystate
, int yytoken
,
5038 int* yyaction
, const short int** yyconflicts
)
5040 int yyindex
= yypact
[yystate
] + yytoken
;
5041 if (yypact_value_is_default (yypact
[yystate
])
5042 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5044 *yyaction
= -yydefact
[yystate
];
5045 *yyconflicts
= yyconfl
;
5047 else if (! yytable_value_is_error (yytable
[yyindex
]))
5049 *yyaction
= yytable
[yyindex
];
5050 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5055 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5059 /** Compute post-reduction state.
5060 * \param yystate the current state
5061 * \param yysym the nonterminal to push on the stack
5063 static inline yyStateNum
5064 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5066 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5067 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5068 return yytable
[yyr
];
5070 return yydefgoto
[yysym
- YYNTOKENS
];
5073 static inline yybool
5074 yyisShiftAction (int yyaction
)
5076 return 0 < yyaction
;
5079 static inline yybool
5080 yyisErrorAction (int yyaction
)
5082 return yyaction
== 0;
5087 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5088 * if YYISSTATE, and otherwise a semantic option. Callers should call
5089 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5092 static inline yyGLRStackItem
*
5093 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5095 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5096 yystackp
->yyspaceLeft
-= 1;
5097 yystackp
->yynextFree
+= 1;
5098 yynewItem
->yystate
.yyisState
= yyisState
;
5102 /** Add a new semantic action that will execute the action for rule
5103 * YYRULE on the semantic values in YYRHS to the list of
5104 * alternative actions for YYSTATE. Assumes that YYRHS comes from
5105 * stack #YYK of *YYSTACKP. */
5107 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
5108 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5110 yySemanticOption
* yynewOption
=
5111 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
5112 YYASSERT (!yynewOption
->yyisState
);
5113 yynewOption
->yystate
= yyrhs
;
5114 yynewOption
->yyrule
= yyrule
;
5115 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
5117 yynewOption
->yyrawchar
= yychar
;
5118 yynewOption
->yyval
= yylval
;
5121 yynewOption
->yyrawchar
= YYEMPTY
;
5122 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
5123 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
5125 YY_RESERVE_GLRSTACK (yystackp
);
5130 /** Initialize YYSET to a singleton set containing an empty stack. */
5132 yyinitStateSet (yyGLRStateSet
* yyset
)
5135 yyset
->yycapacity
= 16;
5136 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
5137 if (! yyset
->yystates
)
5139 yyset
->yystates
[0] = YY_NULLPTR
;
5140 yyset
->yylookaheadNeeds
=
5141 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
5142 if (! yyset
->yylookaheadNeeds
)
5144 YYFREE (yyset
->yystates
);
5150 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
5152 YYFREE (yyset
->yystates
);
5153 YYFREE (yyset
->yylookaheadNeeds
);
5156 /** Initialize *YYSTACKP to a single empty stack, with total maximum
5157 * capacity for all stacks of YYSIZE. */
5159 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
5161 yystackp
->yyerrState
= 0;
5163 yystackp
->yyspaceLeft
= yysize
;
5165 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
5166 if (!yystackp
->yyitems
)
5168 yystackp
->yynextFree
= yystackp
->yyitems
;
5169 yystackp
->yysplitPoint
= YY_NULLPTR
;
5170 yystackp
->yylastDeleted
= YY_NULLPTR
;
5171 return yyinitStateSet (&yystackp
->yytops
);
5175 #if YYSTACKEXPANDABLE
5176 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
5177 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
5179 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
5180 stack from outside should be considered invalid after this call.
5181 We always expand when there are 1 or fewer items left AFTER an
5182 allocation, so that we can avoid having external pointers exist
5183 across an allocation. */
5185 yyexpandGLRStack (yyGLRStack
* yystackp
)
5187 yyGLRStackItem
* yynewItems
;
5188 yyGLRStackItem
* yyp0
, *yyp1
;
5191 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
5192 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
5193 yyMemoryExhausted (yystackp
);
5194 yynewSize
= 2*yysize
;
5195 if (YYMAXDEPTH
< yynewSize
)
5196 yynewSize
= YYMAXDEPTH
;
5197 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
5199 yyMemoryExhausted (yystackp
);
5200 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
5202 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
5205 if (*(yybool
*) yyp0
)
5207 yyGLRState
* yys0
= &yyp0
->yystate
;
5208 yyGLRState
* yys1
= &yyp1
->yystate
;
5209 if (yys0
->yypred
!= YY_NULLPTR
)
5211 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
5212 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
5213 yys1
->yysemantics
.yyfirstVal
=
5214 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
5218 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
5219 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
5220 if (yyv0
->yystate
!= YY_NULLPTR
)
5221 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
5222 if (yyv0
->yynext
!= YY_NULLPTR
)
5223 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
5226 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
5227 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
5228 yystackp
->yysplitPoint
, yystate
);
5230 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
5231 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
5232 yystackp
->yytops
.yystates
[yyn
] =
5233 YYRELOC (yystackp
->yyitems
, yynewItems
,
5234 yystackp
->yytops
.yystates
[yyn
], yystate
);
5235 YYFREE (yystackp
->yyitems
);
5236 yystackp
->yyitems
= yynewItems
;
5237 yystackp
->yynextFree
= yynewItems
+ yysize
;
5238 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
5243 yyfreeGLRStack (yyGLRStack
* yystackp
)
5245 YYFREE (yystackp
->yyitems
);
5246 yyfreeStateSet (&yystackp
->yytops
);
5249 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
5250 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
5253 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
5255 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
5256 yystackp
->yysplitPoint
= yys
;
5259 /** Invalidate stack #YYK in *YYSTACKP. */
5261 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
5263 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
5264 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
5265 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
5268 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
5269 only be done once after a deletion, and only when all other stacks have
5272 yyundeleteLastStack (yyGLRStack
* yystackp
)
5274 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
5276 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
5277 yystackp
->yytops
.yysize
= 1;
5278 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
5279 yystackp
->yylastDeleted
= YY_NULLPTR
;
5283 yyremoveDeletes (yyGLRStack
* yystackp
)
5287 while (yyj
< yystackp
->yytops
.yysize
)
5289 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
5293 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
5295 yystackp
->yytops
.yysize
-= 1;
5299 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
5300 /* In the current implementation, it's unnecessary to copy
5301 yystackp->yytops.yylookaheadNeeds[yyi] since, after
5302 yyremoveDeletes returns, the parser immediately either enters
5303 deterministic operation or shifts a token. However, it doesn't
5304 hurt, and the code might evolve to need it. */
5305 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
5306 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
5309 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
5310 (unsigned long int) yyi
, (unsigned long int) yyj
));
5318 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
5319 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
5320 * value *YYVALP and source location *YYLOCP. */
5322 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5326 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5328 yynewState
->yylrState
= yylrState
;
5329 yynewState
->yyposn
= yyposn
;
5330 yynewState
->yyresolved
= yytrue
;
5331 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5332 yynewState
->yysemantics
.yysval
= *yyvalp
;
5333 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5335 YY_RESERVE_GLRSTACK (yystackp
);
5338 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
5339 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
5340 * semantic value of YYRHS under the action for YYRULE. */
5342 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5343 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5345 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5346 YYASSERT (yynewState
->yyisState
);
5348 yynewState
->yylrState
= yylrState
;
5349 yynewState
->yyposn
= yyposn
;
5350 yynewState
->yyresolved
= yyfalse
;
5351 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5352 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
5353 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5355 /* Invokes YY_RESERVE_GLRSTACK. */
5356 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
5360 # define YY_REDUCE_PRINT(Args)
5362 # define YY_REDUCE_PRINT(Args) \
5365 yy_reduce_print Args; \
5368 /*----------------------------------------------------------------------.
5369 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
5370 `----------------------------------------------------------------------*/
5373 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
5374 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5376 int yynrhs
= yyrhsLength (yyrule
);
5378 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
5379 (unsigned long int) yyk
, yyrule
- 1,
5380 (unsigned long int) yyrline
[yyrule
]);
5382 yyfillin (yyvsp
, 1, -yynrhs
);
5383 /* The symbols being reduced. */
5384 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
5386 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
5387 yy_symbol_print (stderr
,
5388 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
5389 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
5390 , P
, tokens
, index
);
5391 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
5392 YYFPRINTF (stderr
, " (unresolved)");
5393 YYFPRINTF (stderr
, "\n");
5398 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
5399 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
5400 * semantic values. Assumes that all ambiguities in semantic values
5401 * have been previously resolved. Set *YYVALP to the resulting value,
5402 * and *YYLOCP to the computed location (if any). Return value is as
5403 * for userAction. */
5404 static inline YYRESULTTAG
5405 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5406 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5408 int yynrhs
= yyrhsLength (yyrule
);
5410 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5412 /* Standard special case: single stack. */
5413 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
5414 YYASSERT (yyk
== 0);
5415 yystackp
->yynextFree
-= yynrhs
;
5416 yystackp
->yyspaceLeft
+= yynrhs
;
5417 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
5418 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
5419 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
5420 yyvalp
, P
, tokens
, index
);
5426 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
5427 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
5428 = yystackp
->yytops
.yystates
[yyk
];
5429 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
5434 yyupdateSplit (yystackp
, yys
);
5435 yystackp
->yytops
.yystates
[yyk
] = yys
;
5436 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
5437 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
5438 yystackp
, yyvalp
, P
, tokens
, index
);
5442 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
5443 * and push back on the resulting nonterminal symbol. Perform the
5444 * semantic action associated with YYRULE and store its value with the
5445 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
5446 * unambiguous. Otherwise, store the deferred semantic action with
5447 * the new state. If the new state would have an identical input
5448 * position, LR state, and predecessor to an existing state on the stack,
5449 * it is identified with that existing state, eliminating stack #YYK from
5450 * *YYSTACKP. In this case, the semantic value is
5451 * added to the options for the existing state's semantic value.
5453 static inline YYRESULTTAG
5454 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5455 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5457 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
5459 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
5463 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
5464 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
5466 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
5467 (unsigned long int) yyk
, yyrule
- 1));
5471 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
5472 yyglrShift (yystackp
, yyk
,
5473 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
5474 yylhsNonterm (yyrule
)),
5481 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
5482 yyStateNum yynewLRState
;
5484 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
5490 yyupdateSplit (yystackp
, yys
);
5491 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
5493 "Reduced stack %lu by rule #%d; action deferred. "
5494 "Now in state %d.\n",
5495 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
5496 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
5497 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
5499 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
5500 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
5501 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
5503 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
5505 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
5506 yymarkStackDeleted (yystackp
, yyk
);
5507 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
5508 (unsigned long int) yyk
,
5509 (unsigned long int) yyi
));
5515 yystackp
->yytops
.yystates
[yyk
] = yys
;
5516 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
5522 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
5524 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5526 YYASSERT (yyk
== 0);
5527 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
5529 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
5531 yyGLRState
** yynewStates
;
5532 yybool
* yynewLookaheadNeeds
;
5534 yynewStates
= YY_NULLPTR
;
5536 if (yystackp
->yytops
.yycapacity
5537 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
5538 yyMemoryExhausted (yystackp
);
5539 yystackp
->yytops
.yycapacity
*= 2;
5542 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
5543 (yystackp
->yytops
.yycapacity
5544 * sizeof yynewStates
[0]));
5545 if (yynewStates
== YY_NULLPTR
)
5546 yyMemoryExhausted (yystackp
);
5547 yystackp
->yytops
.yystates
= yynewStates
;
5549 yynewLookaheadNeeds
=
5550 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
5551 (yystackp
->yytops
.yycapacity
5552 * sizeof yynewLookaheadNeeds
[0]));
5553 if (yynewLookaheadNeeds
== YY_NULLPTR
)
5554 yyMemoryExhausted (yystackp
);
5555 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
5557 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
5558 = yystackp
->yytops
.yystates
[yyk
];
5559 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
5560 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
5561 yystackp
->yytops
.yysize
+= 1;
5562 return yystackp
->yytops
.yysize
-1;
5565 /** True iff YYY0 and YYY1 represent identical options at the top level.
5566 * That is, they represent the same rule applied to RHS symbols
5567 * that produce the same terminal symbols. */
5569 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5571 if (yyy0
->yyrule
== yyy1
->yyrule
)
5573 yyGLRState
*yys0
, *yys1
;
5575 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5576 yyn
= yyrhsLength (yyy0
->yyrule
);
5578 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5579 if (yys0
->yyposn
!= yys1
->yyposn
)
5587 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
5588 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
5590 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5592 yyGLRState
*yys0
, *yys1
;
5594 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5595 yyn
= yyrhsLength (yyy0
->yyrule
);
5597 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5601 else if (yys0
->yyresolved
)
5603 yys1
->yyresolved
= yytrue
;
5604 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
5606 else if (yys1
->yyresolved
)
5608 yys0
->yyresolved
= yytrue
;
5609 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
5613 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
5614 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
5617 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
5619 else if (*yyz0p
== YY_NULLPTR
)
5624 else if (*yyz0p
< yyz1
)
5626 yySemanticOption
* yyz
= *yyz0p
;
5628 yyz1
= yyz1
->yynext
;
5629 (*yyz0p
)->yynext
= yyz
;
5631 yyz0p
= &(*yyz0p
)->yynext
;
5633 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
5638 /** Y0 and Y1 represent two possible actions to take in a given
5639 * parsing state; return 0 if no combination is possible,
5640 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
5642 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
5644 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
5645 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
5649 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
5654 if (p0
== 0 || p1
== 0)
5663 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
5664 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
5667 /** Resolve the previous YYN states starting at and including state YYS
5668 * on *YYSTACKP. If result != yyok, some states may have been left
5669 * unresolved possibly with empty semantic option chains. Regardless
5670 * of whether result = yyok, each state has been left with consistent
5671 * data so that yydestroyGLRState can be invoked if necessary. */
5673 yyresolveStates (yyGLRState
* yys
, int yyn
,
5674 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5678 YYASSERT (yys
->yypred
);
5679 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
5680 if (! yys
->yyresolved
)
5681 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
5686 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
5687 * user action, and return the semantic value and location in *YYVALP
5688 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
5689 * have been destroyed (assuming the user action destroys all RHS
5690 * semantic values if invoked). */
5692 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
5693 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5695 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
5696 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
5697 YYRESULTTAG yyflag
=
5698 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
5702 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
5703 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
5707 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
5709 int yychar_current
= yychar
;
5710 YYSTYPE yylval_current
= yylval
;
5711 yychar
= yyopt
->yyrawchar
;
5712 yylval
= yyopt
->yyval
;
5713 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
5714 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
5715 yystackp
, yyvalp
, P
, tokens
, index
);
5716 yychar
= yychar_current
;
5717 yylval
= yylval_current
;
5724 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
5726 int yynrhs
= yyrhsLength (yyx
->yyrule
);
5729 yyGLRState
* yystates
[1 + YYMAXRHS
];
5730 yyGLRState yyleftmost_state
;
5732 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
5733 yystates
[yyi
] = yys
;
5734 if (yys
== YY_NULLPTR
)
5736 yyleftmost_state
.yyposn
= 0;
5737 yystates
[0] = &yyleftmost_state
;
5742 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
5743 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
5744 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
5747 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
5748 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
5749 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
5750 (unsigned long int) yyx
->yystate
->yyposn
);
5751 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
5753 if (yystates
[yyi
]->yyresolved
)
5755 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
5756 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
5757 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
5759 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
5760 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
5761 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
5762 (unsigned long int) yystates
[yyi
]->yyposn
);
5765 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
5771 yyreportAmbiguity (yySemanticOption
* yyx0
,
5772 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5778 YYFPRINTF (stderr
, "Ambiguity detected.\n");
5779 YYFPRINTF (stderr
, "Option 1,\n");
5780 yyreportTree (yyx0
, 2);
5781 YYFPRINTF (stderr
, "\nOption 2,\n");
5782 yyreportTree (yyx1
, 2);
5783 YYFPRINTF (stderr
, "\n");
5786 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
5790 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
5791 * perform the indicated actions, and set the semantic value of YYS.
5792 * If result != yyok, the chain of semantic options in YYS has been
5793 * cleared instead or it has been left unmodified except that
5794 * redundant options may have been removed. Regardless of whether
5795 * result = yyok, YYS has been left with consistent data so that
5796 * yydestroyGLRState can be invoked if necessary. */
5798 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5800 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
5801 yySemanticOption
* yybest
= yyoptionList
;
5802 yySemanticOption
** yypp
;
5803 yybool yymerge
= yyfalse
;
5807 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
5809 yySemanticOption
* yyp
= *yypp
;
5811 if (yyidenticalOptions (yybest
, yyp
))
5813 yymergeOptionSets (yybest
, yyp
);
5814 *yypp
= yyp
->yynext
;
5818 switch (yypreference (yybest
, yyp
))
5821 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
5833 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
5834 but some compilers complain if the default case is
5838 yypp
= &yyp
->yynext
;
5844 yySemanticOption
* yyp
;
5845 int yyprec
= yydprec
[yybest
->yyrule
];
5846 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
5848 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
5850 if (yyprec
== yydprec
[yyp
->yyrule
])
5852 YYSTYPE yysval_other
;
5853 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
5856 yydestruct ("Cleanup: discarding incompletely merged value for",
5857 yystos
[yys
->yylrState
],
5858 &yysval
, P
, tokens
, index
);
5861 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
5866 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
5870 yys
->yyresolved
= yytrue
;
5871 yys
->yysemantics
.yysval
= yysval
;
5874 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
5879 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5881 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
5886 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
5887 yys
!= yystackp
->yysplitPoint
;
5888 yys
= yys
->yypred
, yyn
+= 1)
5890 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
5891 , P
, tokens
, index
));
5897 yycompressStack (yyGLRStack
* yystackp
)
5899 yyGLRState
* yyp
, *yyq
, *yyr
;
5901 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
5904 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
5905 yyp
!= yystackp
->yysplitPoint
;
5906 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
5909 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
5910 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
5911 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
5912 yystackp
->yysplitPoint
= YY_NULLPTR
;
5913 yystackp
->yylastDeleted
= YY_NULLPTR
;
5915 while (yyr
!= YY_NULLPTR
)
5917 yystackp
->yynextFree
->yystate
= *yyr
;
5919 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
5920 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
5921 yystackp
->yynextFree
+= 1;
5922 yystackp
->yyspaceLeft
-= 1;
5927 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
5928 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5930 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
5932 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
5933 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
5934 (unsigned long int) yyk
, yystate
));
5936 YYASSERT (yystate
!= YYFINAL
);
5938 if (yyisDefaultedState (yystate
))
5941 yyRuleNum yyrule
= yydefaultAction (yystate
);
5944 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
5945 (unsigned long int) yyk
));
5946 yymarkStackDeleted (yystackp
, yyk
);
5949 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
5950 if (yyflag
== yyerr
)
5954 "(predicate failure or explicit user error).\n",
5955 (unsigned long int) yyk
));
5956 yymarkStackDeleted (yystackp
, yyk
);
5966 const short int* yyconflicts
;
5968 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
5969 if (yychar
== YYEMPTY
)
5971 YYDPRINTF ((stderr
, "Reading a token: "));
5972 yychar
= yylex (&yylval
, P
, tokens
, index
);
5975 if (yychar
<= YYEOF
)
5977 yychar
= yytoken
= YYEOF
;
5978 YYDPRINTF ((stderr
, "Now at end of input.\n"));
5982 yytoken
= YYTRANSLATE (yychar
);
5983 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
5986 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
5988 while (*yyconflicts
!= 0)
5991 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
5992 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
5993 (unsigned long int) yynewStack
,
5994 (unsigned long int) yyk
));
5995 yyflag
= yyglrReduce (yystackp
, yynewStack
,
5997 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
5999 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6000 yyposn
, P
, tokens
, index
));
6001 else if (yyflag
== yyerr
)
6003 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6004 (unsigned long int) yynewStack
));
6005 yymarkStackDeleted (yystackp
, yynewStack
);
6012 if (yyisShiftAction (yyaction
))
6014 else if (yyisErrorAction (yyaction
))
6016 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6017 (unsigned long int) yyk
));
6018 yymarkStackDeleted (yystackp
, yyk
);
6023 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6024 yyimmediate
[-yyaction
], P
, tokens
, index
);
6025 if (yyflag
== yyerr
)
6029 "(predicate failure or explicit user error).\n",
6030 (unsigned long int) yyk
));
6031 yymarkStackDeleted (yystackp
, yyk
);
6034 else if (yyflag
!= yyok
)
6043 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6045 if (yystackp
->yyerrState
!= 0)
6047 #if ! YYERROR_VERBOSE
6048 yyerror (P
, tokens
, index
, YY_("syntax error"));
6051 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6052 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6053 size_t yysize
= yysize0
;
6054 yybool yysize_overflow
= yyfalse
;
6055 char* yymsg
= YY_NULLPTR
;
6056 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6057 /* Internationalized format string. */
6058 const char *yyformat
= YY_NULLPTR
;
6059 /* Arguments of yyformat. */
6060 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6061 /* Number of reported tokens (one for the "unexpected", one per
6065 /* There are many possibilities here to consider:
6066 - If this state is a consistent state with a default action, then
6067 the only way this function was invoked is if the default action
6068 is an error action. In that case, don't check for expected
6069 tokens because there are none.
6070 - The only way there can be no lookahead present (in yychar) is if
6071 this state is a consistent state with a default action. Thus,
6072 detecting the absence of a lookahead is sufficient to determine
6073 that there is no unexpected or expected token to report. In that
6074 case, just report a simple "syntax error".
6075 - Don't assume there isn't a lookahead just because this state is a
6076 consistent state with a default action. There might have been a
6077 previous inconsistent state, consistent state with a non-default
6078 action, or user semantic action that manipulated yychar.
6079 - Of course, the expected token list depends on states to have
6080 correct lookahead information, and it depends on the parser not
6081 to perform extra reductions after fetching a lookahead from the
6082 scanner and before detecting a syntax error. Thus, state merging
6083 (from LALR or IELR) and default reductions corrupt the expected
6084 token list. However, the list is correct for canonical LR with
6085 one exception: it will still contain any token that will not be
6086 accepted due to an error action in a later state.
6088 if (yytoken
!= YYEMPTY
)
6090 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6091 yyarg
[yycount
++] = yytokenName (yytoken
);
6092 if (!yypact_value_is_default (yyn
))
6094 /* Start YYX at -YYN if negative to avoid negative indexes in
6095 YYCHECK. In other words, skip the first -YYN actions for this
6096 state because they are default actions. */
6097 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
6098 /* Stay within bounds of both yycheck and yytname. */
6099 int yychecklim
= YYLAST
- yyn
+ 1;
6100 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
6102 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
6103 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
6104 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
6106 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
6112 yyarg
[yycount
++] = yytokenName (yyx
);
6114 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
6115 yysize_overflow
|= yysz
< yysize
;
6124 #define YYCASE_(N, S) \
6128 YYCASE_(0, YY_("syntax error"));
6129 YYCASE_(1, YY_("syntax error, unexpected %s"));
6130 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
6131 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
6132 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
6133 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
6138 size_t yysz
= yysize
+ strlen (yyformat
);
6139 yysize_overflow
|= yysz
< yysize
;
6143 if (!yysize_overflow
)
6144 yymsg
= (char *) YYMALLOC (yysize
);
6150 while ((*yyp
= *yyformat
))
6152 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
6154 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
6163 yyerror (P
, tokens
, index
, yymsg
);
6168 yyerror (P
, tokens
, index
, YY_("syntax error"));
6169 yyMemoryExhausted (yystackp
);
6172 #endif /* YYERROR_VERBOSE */
6176 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
6177 yylval, and yylloc are the syntactic category, semantic value, and location
6178 of the lookahead. */
6180 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6185 if (yystackp
->yyerrState
== 3)
6186 /* We just shifted the error token and (perhaps) took some
6187 reductions. Skip tokens until we can proceed. */
6191 if (yychar
== YYEOF
)
6192 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6193 if (yychar
!= YYEMPTY
)
6195 yytoken
= YYTRANSLATE (yychar
);
6196 yydestruct ("Error: discarding",
6197 yytoken
, &yylval
, P
, tokens
, index
);
6199 YYDPRINTF ((stderr
, "Reading a token: "));
6200 yychar
= yylex (&yylval
, P
, tokens
, index
);
6201 if (yychar
<= YYEOF
)
6203 yychar
= yytoken
= YYEOF
;
6204 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6208 yytoken
= YYTRANSLATE (yychar
);
6209 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6211 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6212 if (yypact_value_is_default (yyj
))
6215 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
6217 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
6220 else if (! yytable_value_is_error (yytable
[yyj
]))
6224 /* Reduce to one stack. */
6225 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6226 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6228 if (yyk
>= yystackp
->yytops
.yysize
)
6229 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6230 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6231 yymarkStackDeleted (yystackp
, yyk
);
6232 yyremoveDeletes (yystackp
);
6233 yycompressStack (yystackp
);
6235 /* Now pop stack until we find a state that shifts the error token. */
6236 yystackp
->yyerrState
= 3;
6237 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
6239 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
6240 yyj
= yypact
[yys
->yylrState
];
6241 if (! yypact_value_is_default (yyj
))
6244 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
6245 && yyisShiftAction (yytable
[yyj
]))
6247 /* Shift the error token. */
6248 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
6249 &yylval
, &yyerrloc
);
6250 yyglrShift (yystackp
, 0, yytable
[yyj
],
6251 yys
->yyposn
, &yylval
);
6252 yys
= yystackp
->yytops
.yystates
[0];
6256 if (yys
->yypred
!= YY_NULLPTR
)
6257 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
6258 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
6259 yystackp
->yynextFree
-= 1;
6260 yystackp
->yyspaceLeft
+= 1;
6262 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
6263 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6266 #define YYCHK1(YYE) \
6276 goto yyuser_error; \
6287 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6291 yyGLRStack
* const yystackp
= &yystack
;
6294 YYDPRINTF ((stderr
, "Starting parse\n"));
6297 yylval
= yyval_default
;
6299 /* User initialization code. */
6300 #line 117 "src/parser_proc_grammar.y" /* glr.c:2270 */
6304 #line 6305 "src/parser_proc.c" /* glr.c:2270 */
6306 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
6307 goto yyexhaustedlab
;
6308 switch (YYSETJMP (yystack
.yyexception_buffer
))
6311 case 1: goto yyabortlab
;
6312 case 2: goto yyexhaustedlab
;
6313 default: goto yybuglab
;
6315 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
6320 /* For efficiency, we have two loops, the first of which is
6321 specialized to deterministic operation (single stack, no
6322 potential ambiguity). */
6328 const short int* yyconflicts
;
6330 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
6331 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
6332 if (yystate
== YYFINAL
)
6334 if (yyisDefaultedState (yystate
))
6336 yyrule
= yydefaultAction (yystate
);
6340 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6343 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
6348 if (yychar
== YYEMPTY
)
6350 YYDPRINTF ((stderr
, "Reading a token: "));
6351 yychar
= yylex (&yylval
, P
, tokens
, index
);
6354 if (yychar
<= YYEOF
)
6356 yychar
= yytoken
= YYEOF
;
6357 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6361 yytoken
= YYTRANSLATE (yychar
);
6362 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6365 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6366 if (*yyconflicts
!= 0)
6368 if (yyisShiftAction (yyaction
))
6370 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
6373 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
6374 if (0 < yystack
.yyerrState
)
6375 yystack
.yyerrState
-= 1;
6377 else if (yyisErrorAction (yyaction
))
6380 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6384 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
6390 yySymbol yytoken_to_shift
;
6393 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6394 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
6396 /* yyprocessOneStack returns one of three things:
6398 - An error flag. If the caller is yyprocessOneStack, it
6399 immediately returns as well. When the caller is finally
6400 yyparse, it jumps to an error label via YYCHK1.
6402 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
6403 (&yystack, yys), which sets the top state of yys to NULL. Thus,
6404 yyparse's following invocation of yyremoveDeletes will remove
6407 - yyok, when ready to shift a token.
6409 Except in the first case, yyparse will invoke yyremoveDeletes and
6410 then shift the next token onto all remaining stacks. This
6411 synchronization of the shift (that is, after all preceding
6412 reductions on all stacks) helps prevent double destructor calls
6413 on yylval in the event of memory exhaustion. */
6415 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6416 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
6417 yyremoveDeletes (&yystack
);
6418 if (yystack
.yytops
.yysize
== 0)
6420 yyundeleteLastStack (&yystack
);
6421 if (yystack
.yytops
.yysize
== 0)
6422 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
6423 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6424 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6426 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6430 /* If any yyglrShift call fails, it will fail after shifting. Thus,
6431 a copy of yylval will already be on stack 0 in the event of a
6432 failure in the following loop. Thus, yychar is set to YYEMPTY
6433 before the loop to make sure the user destructor for yylval isn't
6435 yytoken_to_shift
= YYTRANSLATE (yychar
);
6438 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6441 const short int* yyconflicts
;
6442 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
6443 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
6445 /* Note that yyconflicts were handled by yyprocessOneStack. */
6446 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
6447 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
6448 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
6450 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
6451 (unsigned long int) yys
,
6452 yystack
.yytops
.yystates
[yys
]->yylrState
));
6455 if (yystack
.yytops
.yysize
== 1)
6457 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6458 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6459 yycompressStack (&yystack
);
6465 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
6466 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
6482 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
6487 if (yychar
!= YYEMPTY
)
6488 yydestruct ("Cleanup: discarding lookahead",
6489 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
6491 /* If the stack is well-formed, pop the stack until it is empty,
6492 destroying its entries as we go. But free the stack regardless
6493 of whether it is well-formed. */
6494 if (yystack
.yyitems
)
6496 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
6499 size_t yysize
= yystack
.yytops
.yysize
;
6501 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
6504 while (yystates
[yyk
])
6506 yyGLRState
*yys
= yystates
[yyk
];
6507 if (yys
->yypred
!= YY_NULLPTR
)
6508 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6509 yystates
[yyk
] = yys
->yypred
;
6510 yystack
.yynextFree
-= 1;
6511 yystack
.yyspaceLeft
+= 1;
6516 yyfreeGLRStack (&yystack
);
6522 /* DEBUGGING ONLY */
6525 yy_yypstack (yyGLRState
* yys
)
6529 yy_yypstack (yys
->yypred
);
6530 YYFPRINTF (stderr
, " -> ");
6532 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
6533 (unsigned long int) yys
->yyposn
);
6537 yypstates (yyGLRState
* yyst
)
6539 if (yyst
== YY_NULLPTR
)
6540 YYFPRINTF (stderr
, "<null>");
6543 YYFPRINTF (stderr
, "\n");
6547 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
6549 yypstates (yystackp
->yytops
.yystates
[yyk
]);
6552 #define YYINDEX(YYX) \
6553 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
6557 yypdumpstack (yyGLRStack
* yystackp
)
6559 yyGLRStackItem
* yyp
;
6561 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
6563 YYFPRINTF (stderr
, "%3lu. ",
6564 (unsigned long int) (yyp
- yystackp
->yyitems
));
6565 if (*(yybool
*) yyp
)
6567 YYASSERT (yyp
->yystate
.yyisState
);
6568 YYASSERT (yyp
->yyoption
.yyisState
);
6569 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
6570 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
6571 (unsigned long int) yyp
->yystate
.yyposn
,
6572 (long int) YYINDEX (yyp
->yystate
.yypred
));
6573 if (! yyp
->yystate
.yyresolved
)
6574 YYFPRINTF (stderr
, ", firstVal: %ld",
6575 (long int) YYINDEX (yyp
->yystate
6576 .yysemantics
.yyfirstVal
));
6580 YYASSERT (!yyp
->yystate
.yyisState
);
6581 YYASSERT (!yyp
->yyoption
.yyisState
);
6582 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
6583 yyp
->yyoption
.yyrule
- 1,
6584 (long int) YYINDEX (yyp
->yyoption
.yystate
),
6585 (long int) YYINDEX (yyp
->yyoption
.yynext
));
6587 YYFPRINTF (stderr
, "\n");
6589 YYFPRINTF (stderr
, "Tops:");
6590 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6591 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
6592 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
6593 YYFPRINTF (stderr
, "\n");
6601 /* Substitute the variable and function names. */
6602 #define yyparse psi_parser_proc_parse
6603 #define yylex psi_parser_proc_lex
6604 #define yyerror psi_parser_proc_error
6605 #define yylval psi_parser_proc_lval
6606 #define yychar psi_parser_proc_char
6607 #define yydebug psi_parser_proc_debug
6608 #define yynerrs psi_parser_proc_nerrs
6610 #line 1725 "src/parser_proc_grammar.y" /* glr.c:2584 */
6615 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6617 struct psi_token
*token
;
6619 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
6620 if (P
->flags
& PSI_DEBUG
) {
6621 psi_token_dump(2, token
);
6624 *((struct psi_token
**)lvalp
) = token
;
6628 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
6634 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
6636 struct psi_token
*T
= NULL
;
6645 psi_plist_get(tokens
, last
, &T
);
6647 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
6649 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);