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 678
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, 986, 993, 994, 998, 1005, 1016, 1023, 1034,
393 1041, 1052, 1063, 1077, 1078, 1090, 1093, 1096, 1099, 1105,
394 1113, 1116, 1126, 1139, 1144, 1152, 1162, 1172, 1175, 1179,
395 1185, 1188, 1194, 1202, 1209, 1212, 1218, 1223, 1231, 1235,
396 1239, 1243, 1247, 1251, 1258, 1262, 1266, 1270, 1277, 1290,
397 1303, 1316, 1319, 1326, 1329, 1335, 1339, 1346, 1349, 1355,
398 1358, 1364, 1365, 1371, 1374, 1386, 1389, 1396, 1401, 1406,
399 1416, 1419, 1425, 1428, 1434, 1441, 1448, 1449, 1450, 1451,
400 1452, 1453, 1454, 1455, 1456, 1460, 1463, 1469, 1472, 1475,
401 1478, 1481, 1487, 1491, 1499, 1500, 1504, 1511, 1514, 1517,
402 1520, 1523, 1529, 1533, 1541, 1548, 1556, 1564, 1565, 1566,
403 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1577, 1580, 1586,
404 1589, 1595, 1596, 1600, 1603, 1609, 1612, 1618, 1625, 1632,
405 1635, 1638, 1645, 1650, 1658, 1659, 1660, 1661, 1662, 1663,
406 1664, 1665, 1669, 1672, 1678, 1681, 1687, 1694, 1695, 1699,
407 1706, 1709, 1715, 1723, 1726, 1732, 1735, 1741
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_body", "decl_func_body", "decl_functor_body", "decl_functor",
452 "decl_func", "decl_args", "decl_arg", "decl_var", "decl_union",
453 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
454 "struct_arg", "decl_enum", "decl_enum_items", "decl_enum_item",
455 "num_exp", "number", "enum_name", "union_name", "struct_name",
456 "optional_name", "decl_layout", "align_and_size", "array_size",
457 "indirection", "pointers", "asterisks", "impl", "impl_func", "impl_args",
458 "impl_arg", "impl_var", "impl_type", "impl_type_token", "impl_stmts",
459 "impl_stmt", "let_stmt", "let_exp", "let_exp_byref", "let_exp_assign",
460 "let_calloc", "let_callback", "let_func", "let_func_token",
461 "let_func_exps", "let_exps", "callback_rval", "callback_arg_list",
462 "callback_args", "return_stmt", "set_stmt", "set_exp", "set_func",
463 "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
464 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "decl_vars",
465 "reference", "byref", YY_NULLPTR
469 #define YYPACT_NINF -534
470 #define YYTABLE_NINF -466
472 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
474 static const short int yypact
[] =
476 917, -534, -534, -534, -534, -534, 65, -534, -534, 2052,
477 -534, -534, -534, -534, -534, -534, -534, -534, 2579, -534,
478 -534, 243, 2606, 2435, 2435, 2435, 1670, 17, -63, 14,
479 -534, 2656, 46, 917, -534, -534, -534, -534, -534, 2101,
480 -534, -534, -534, -534, -534, 52, 112, -534, -534, -534,
481 33, -51, -534, -534, 28, 64, 69, -534, -534, -534,
482 -534, 83, -534, 87, -534, -534, -534, -534, -534, 627,
483 -534, 31, -534, -534, -534, -534, -534, -534, -534, -534,
484 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
485 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
486 -534, 2219, -31, -534, -534, -534, 2435, 2435, 2435, 2760,
487 -534, 90, -534, -534, -534, -534, -534, -534, -534, -534,
488 -534, -534, -534, -534, 876, -534, -534, -534, -534, 118,
489 757, 757, -11, -534, 876, 1934, 2435, 2435, 120, 1698,
490 -534, -534, 136, 2435, 125, 125, 0, 0, 138, -534,
491 -534, 151, 154, -534, 31, 162, -534, -534, 157, 173,
492 -534, 165, -534, 2683, -51, -534, -534, 172, -534, 179,
493 2435, -534, 212, -534, 63, -534, -534, 52, -534, -534,
494 182, 184, 2710, 2710, 2435, 128, 2435, -534, 31, -534,
495 -534, -534, -534, -534, -534, 2101, -534, -534, -534, -534,
496 -534, -534, 99, 757, -534, -534, -534, -534, -534, -534,
497 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
498 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
499 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
500 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
501 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
502 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
503 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
504 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
505 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
506 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
507 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
508 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
509 757, -534, -534, -534, -534, -534, -534, -534, -534, 1934,
510 -534, -534, -534, -534, 2268, 1934, 195, 2906, 18, -534,
511 18, -534, -534, -534, -534, 193, 194, 194, 2, 2,
512 2386, 191, -534, 128, 200, 203, 208, -534, 31, 172,
513 -534, -534, -534, -534, -534, -534, 211, -534, -2, 55,
514 -534, 76, 202, 48, -534, 2101, 1513, 2101, 2435, 72,
515 -534, -534, 44, -534, -534, -534, -534, -534, 1816, -534,
516 210, 2435, -534, 2435, 219, 214, -534, -534, 514, 2435,
517 -534, -534, 1934, -534, -534, -534, -534, -534, -534, -534,
518 -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
519 -534, 1934, 1934, 222, 2606, 2101, 2101, -534, -534, -534,
520 -534, 31, -534, 21, 110, 241, -534, 205, 2435, -534,
521 -534, 13, 172, 522, 172, 1011, 1816, 2435, -534, 215,
522 225, -534, -534, -534, 1041, 1816, -534, 2930, -534, 217,
523 229, -534, 230, 235, 223, 234, 56, -534, -534, 236,
524 230, -534, -534, 409, -534, 237, 2101, 2435, -534, 242,
525 2906, 244, 245, 2857, -534, 249, 247, 2552, -534, -534,
526 -534, 2435, -534, -534, -534, -534, -534, 238, -534, -534,
527 -534, -534, -534, -534, -534, -534, -534, -534, -534, 248,
528 132, -534, 14, -534, -534, 252, -534, -534, -534, -2,
529 255, -534, -534, 256, 2930, -534, 1159, -534, 257, 2787,
530 266, 2775, -534, 1816, 1816, 1513, -534, 2101, -534, 14,
531 2101, -534, 2435, -534, -534, -534, -534, -534, 267, 246,
532 -534, -534, 1934, 1934, 268, 269, 272, -534, -534, 274,
533 -534, 287, 273, 287, 281, -534, 172, 172, -534, 92,
534 294, 2930, -534, -534, -534, -534, 295, 1631, 1816, -534,
535 2882, -534, -534, 297, 2101, 137, -534, 757, 2435, 2906,
536 2954, 251, 296, -534, -534, -534, 287, -534, 14, 21,
537 -534, -534, -534, -534, -534, 300, 1816, 14, -534, -534,
538 1816, 1277, 301, 298, -534, -534, -534, 304, 306, -534,
539 1, -534, 14, 2832, 305, 2978, 308, -534, 309, -534,
540 -534, -534, 310, 312, 313, 1816, 1159, 314, -534, 1513,
541 319, 315, 1395, 2805, 215, -534, -534, -534, 316, 1631,
542 -534, -534, 320, 317, 321, 322, -534, -534, 1159, -534,
543 -534, 287, 324, 1513, -534, -534, -534, -534
546 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
547 Performed when YYTABLE does not specify something else to do. Zero
548 means the default is an error. */
549 static const unsigned short int yydefact
[] =
551 163, 284, 281, 285, 279, 280, 282, 268, 269, 0,
552 271, 272, 273, 274, 275, 276, 277, 278, 267, 168,
553 167, 0, 0, 0, 0, 361, 0, 0, 0, 465,
554 169, 0, 0, 164, 165, 171, 170, 172, 175, 369,
555 258, 260, 259, 265, 266, 288, 298, 264, 173, 174,
556 0, 303, 311, 313, 314, 0, 0, 323, 177, 176,
557 178, 0, 179, 0, 283, 270, 32, 33, 451, 417,
558 24, 369, 373, 38, 37, 36, 34, 35, 31, 30,
559 28, 27, 25, 26, 425, 424, 422, 420, 421, 423,
560 419, 418, 426, 29, 449, 447, 446, 448, 445, 444,
561 324, 0, 371, 39, 40, 267, 0, 0, 0, 0,
562 312, 309, 181, 192, 189, 191, 193, 194, 205, 202,
563 203, 200, 206, 201, 0, 204, 195, 196, 197, 0,
564 219, 219, 0, 185, 0, 0, 361, 361, 0, 369,
565 252, 329, 251, 0, 365, 365, 261, 262, 263, 358,
566 239, 285, 268, 242, 0, 0, 238, 257, 0, 0,
567 467, 0, 466, 267, 303, 1, 166, 367, 330, 0,
568 370, 289, 293, 291, 295, 286, 299, 288, 287, 307,
569 0, 0, 325, 325, 0, 0, 0, 370, 369, 332,
570 374, 372, 261, 262, 263, 0, 308, 208, 209, 210,
571 212, 211, 207, 219, 187, 182, 74, 41, 42, 43,
572 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
573 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
574 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
575 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
576 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
577 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
578 105, 106, 107, 108, 114, 112, 113, 111, 109, 110,
579 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
580 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
581 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
582 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
583 155, 156, 157, 158, 161, 159, 160, 162, 221, 190,
584 220, 183, 198, 199, 184, 207, 186, 229, 230, 0,
585 22, 23, 20, 21, 0, 0, 231, 188, 261, 360,
586 262, 359, 250, 256, 253, 0, 0, 0, 0, 0,
587 0, 0, 180, 0, 0, 0, 0, 334, 369, 367,
588 294, 290, 296, 297, 292, 300, 0, 301, 326, 0,
589 327, 0, 346, 0, 344, 0, 465, 0, 0, 0,
590 457, 458, 0, 395, 398, 397, 399, 400, 0, 401,
591 0, 0, 463, 0, 310, 0, 214, 222, 0, 0,
592 227, 224, 233, 2, 3, 4, 5, 6, 7, 8,
593 9, 10, 11, 13, 12, 14, 15, 16, 17, 18,
594 19, 0, 0, 0, 0, 0, 0, 337, 336, 338,
595 335, 369, 331, 243, 0, 0, 302, 0, 0, 333,
596 305, 0, 367, 0, 367, 0, 0, 0, 343, 0,
597 0, 355, 354, 356, 0, 0, 357, 440, 348, 0,
598 0, 439, 40, 0, 0, 0, 0, 460, 450, 0,
599 0, 375, 396, 0, 322, 0, 0, 215, 223, 0,
600 235, 0, 234, 0, 225, 0, 363, 0, 340, 255,
601 254, 0, 245, 247, 248, 246, 249, 0, 244, 376,
602 388, 389, 390, 391, 387, 392, 393, 394, 386, 0,
603 0, 380, 465, 385, 368, 0, 306, 304, 317, 0,
604 0, 328, 315, 0, 347, 345, 0, 402, 24, 0,
605 0, 0, 352, 0, 0, 465, 438, 0, 384, 465,
606 0, 459, 0, 437, 456, 321, 464, 217, 0, 216,
607 228, 232, 0, 0, 0, 0, 0, 339, 341, 0,
608 237, 0, 0, 0, 382, 319, 367, 367, 407, 30,
609 29, 411, 412, 408, 409, 410, 39, 0, 0, 350,
610 0, 351, 441, 452, 0, 0, 461, 219, 0, 236,
611 226, 0, 0, 342, 320, 377, 0, 381, 465, 243,
612 318, 316, 431, 417, 432, 0, 0, 465, 413, 349,
613 0, 465, 0, 0, 462, 213, 218, 0, 0, 378,
614 0, 383, 465, 0, 427, 353, 0, 454, 453, 442,
615 403, 366, 0, 0, 0, 0, 0, 0, 443, 465,
616 0, 0, 433, 0, 357, 429, 406, 404, 428, 0,
617 416, 455, 0, 0, 0, 434, 435, 414, 0, 405,
618 364, 0, 0, 465, 430, 379, 415, 436
621 /* YYPGOTO[NTERM-NUM]. */
622 static const short int yypgoto
[] =
624 -534, -329, -120, -3, 25, -534, -534, 328, -534, -534,
625 -534, -534, -534, -534, -534, -534, -534, -534, 231, -534,
626 -534, -534, -122, -534, -320, -534, -534, -534, -534, -534,
627 -243, -534, -534, 345, -15, -24, -534, -534, -534, 232,
628 323, -534, -534, 196, -534, -534, -534, -534, 204, -534,
629 -534, -534, -534, 339, -5, -19, 12, -534, -534, 189,
630 -14, -39, -534, -534, 16, -205, -534, -121, 29, -534,
631 -80, -381, -534, -534, -534, -534, 42, -534, -23, -353,
632 -61, -4, -534, -534, 350, -534, -194, -491, -533, -534,
633 19, -364, -534, -287, -510, -1, -534, -534, -534, -473,
634 -534, -534, -534, -534, -534, -534, -534, -513, -6, -375,
635 -534, -534, -534, -534, -534, -534, -166, -163, -28, -509
638 /* YYDEFGOTO[NTERM-NUM]. */
639 static const short int yydefgoto
[] =
641 -1, 544, 465, 167, 328, 32, 33, 34, 35, 36,
642 129, 130, 131, 132, 334, 133, 134, 135, 203, 204,
643 558, 559, 329, 330, 347, 491, 492, 37, 155, 156,
644 507, 508, 38, 496, 39, 40, 41, 42, 43, 44,
645 45, 46, 47, 175, 371, 374, 178, 48, 181, 451,
646 49, 50, 196, 51, 52, 53, 141, 55, 56, 379,
647 57, 466, 58, 59, 438, 439, 497, 498, 143, 383,
648 384, 467, 468, 61, 144, 145, 149, 566, 356, 367,
649 169, 403, 102, 62, 63, 520, 521, 469, 522, 523,
650 392, 393, 394, 655, 656, 657, 583, 584, 585, 103,
651 647, 658, 615, 664, 665, 395, 396, 470, 471, 104,
652 622, 638, 397, 398, 399, 476, 477, 404, 473, 162
655 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
656 positive, shift that token. If negative, reduce the rule whose
657 number is the opposite. If YYTABLE_NINF, syntax error. */
658 static const short int yytable
[] =
660 168, 161, 157, 140, 111, 101, 100, 139, 142, 331,
661 186, 472, 54, 110, 480, 345, 449, 483, 432, 408,
662 146, 147, 148, 332, 190, 411, 582, 587, 482, 60,
663 54, 574, 592, 548, 29, 170, 71, -365, 605, 437,
664 608, 355, -365, 54, 434, 54, 165, 526, 502, 503,
665 504, 158, 527, 72, 505, 506, 171, 172, 173, -362,
666 -362, 174, 60, 586, 160, -314, -329, 187, -329, 372,
667 179, 643, 373, 629, 64, 534, 65, 618, 180, 432,
668 482, 406, 432, 541, 542, 157, 72, 481, 457, 68,
669 478, 458, 490, 551, 452, 453, 552, 191, 189, 528,
670 168, 532, 182, 192, 193, 194, 614, 183, 637, 612,
671 613, 493, 494, 333, 586, 454, 455, 574, 176, 4,
672 5, 202, 357, 358, 359, 184, 634, 401, -323, 185,
673 195, 335, 346, 348, 350, 170, 661, 659, 675, 666,
674 354, 644, 385, 386, 387, 388, 389, 390, 391, 669,
675 360, 435, 436, 509, 205, 581, 402, 352, 110, 659,
676 677, 432, 590, 591, 432, 432, 355, 369, 380, 380,
677 472, 572, 573, 586, -323, 54, 624, 486, 349, 351,
678 -362, 382, -240, 400, 187, -241, 586, 94, 95, 96,
679 97, 98, 99, 361, 362, 586, 364, 84, 85, 86,
680 87, 88, 89, 90, 91, 92, 581, 619, 385, 386,
681 387, 388, 389, 390, 391, 363, 366, 368, 370, 345,
682 376, 377, 405, 610, 611, 345, 385, 386, 387, 388,
683 389, 390, 391, 412, 433, 633, 434, 443, 445, 635,
684 446, 447, 599, 600, 510, 450, 472, 511, 456, 484,
685 524, 512, 487, 513, 514, 515, 516, 517, 518, 486,
686 495, 536, 537, 545, 653, 581, 546, 548, 547, 549,
687 432, 432, 550, 553, 472, 570, 555, 472, 581, 112,
688 519, 560, 564, 561, 627, 562, 598, 581, 565, 571,
689 510, 575, 345, 511, 576, 577, -24, 512, 472, 513,
690 514, 515, 516, 517, 518, 588, 597, 448, 601, 603,
691 602, 345, 345, 604, 606, 113, 114, 115, 116, 117,
692 118, 119, 120, 121, 122, 123, 124, 609, 125, 126,
693 127, 128, 616, 617, 628, 640, 346, 621, 632, 642,
694 639, 410, 346, 641, 651, 646, 459, 648, 474, 649,
695 650, 652, 662, 660, 663, 407, 668, 442, 671, 670,
696 672, 166, 673, 676, 187, 336, 631, 138, 365, 177,
697 164, 353, 381, 375, 101, 440, 568, 535, 159, 607,
698 501, 674, 444, 479, 460, 475, 596, 595, 0, 0,
699 0, 0, 0, 0, 0, 0, 499, 500, 485, 0,
700 369, 0, 0, 0, 0, 0, 489, 0, 0, 346,
701 0, 0, 0, 0, 0, 140, 0, 0, 0, 139,
702 142, 0, 0, 0, 0, 0, 0, 0, 346, 346,
703 0, 0, 0, 0, 0, 0, 0, 187, 0, 531,
704 0, 531, 345, 345, 0, 525, 554, 556, 0, 540,
705 0, 0, 0, 0, 382, 0, 0, 413, 414, 415,
706 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
707 426, 427, 428, 429, 430, 625, 0, 0, 140, 0,
708 543, 0, 139, 142, 557, 0, 0, 0, 0, 0,
709 0, 0, 0, 0, 0, 0, 0, 0, 569, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 593, 0,
711 0, 402, 0, 0, 0, 157, 0, 0, 0, 0,
712 0, 594, 0, 0, 0, 101, 1, 2, 3, 4,
713 5, 6, 7, 8, 0, 0, 0, 0, 0, 529,
714 0, 10, 11, 12, 13, 14, 15, 16, 17, 475,
715 0, 0, 105, 488, 0, 623, 0, 0, 0, 346,
716 346, 0, 413, 414, 415, 416, 417, 418, 419, 420,
717 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
718 630, 0, 0, 0, 0, 431, 0, 0, 0, 0,
719 0, 0, 530, 0, 0, 626, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 654, 0, 0,
721 0, 0, 106, 107, 108, 109, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, -417, 0, 654,
723 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
724 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
725 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
726 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
727 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
728 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
729 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
730 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
731 -417, -417, -417, 0, -417, 0, -417, -417, -417, -417,
732 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
733 -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
734 -417, -417, -417, -417, -417, -417, -417, -417, -417, 0,
735 -417, -417, 0, -417, -417, -417, -417, 206, 0, 0,
736 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
737 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
738 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
739 237, 238, 239, 0, 240, 241, 242, 243, 244, 245,
740 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
741 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
742 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
743 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
744 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
745 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
746 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
747 314, 315, 316, 317, 318, 319, 320, 321, 322, 66,
748 0, 323, 0, 324, 325, 326, 327, 0, 67, 0,
749 0, 0, 0, 68, 69, 0, 0, 0, 0, 0,
750 0, 0, 0, 197, 198, 199, 70, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
753 0, 0, 0, 0, 9, 0, 10, 11, 12, 13,
754 14, 15, 16, 17, 0, 0, 0, 18, 73, 74,
755 75, 76, 77, 19, 20, 0, 0, 0, 0, 0,
756 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
757 78, 0, 79, 0, 80, 81, 82, 83, 0, 0,
758 0, 84, 85, 86, 87, 88, 89, 90, 91, 92,
759 93, 94, 95, 96, 97, 98, 99, 0, 0, 0,
760 0, 0, 200, 0, 201, 0, 22, 23, 24, 25,
761 26, 27, 28, 0, 29, 1, 2, 3, 4, 5,
762 6, 7, 8, 0, 0, 0, 0, 0, 529, 0,
763 10, 11, 12, 13, 14, 15, 16, 17, 30, 0,
764 0, 105, 0, 31, 66, 1, 2, 3, 4, 5,
765 6, 7, 8, 67, 0, 0, 0, 0, 68, 69,
766 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
767 0, 538, 461, 0, 462, 0, 463, 0, 0, 464,
768 0, 533, 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 340, 341, 72, 0, 0, 0,
770 0, 106, 107, 108, 109, 0, 0, 342, 343, 0,
771 0, 0, 0, 73, 74, 75, 76, 77, 0, 0,
772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
773 0, 106, 107, 108, 539, 78, 0, 79, 0, 80,
774 81, 82, 83, 0, 0, 0, 84, 85, 86, 87,
775 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
776 98, 99, 66, 0, 0, 0, 0, 0, 0, 0,
777 0, 67, 0, 0, 0, 0, 68, 69, 0, 0,
778 0, 0, 0, 0, 0, 0, 578, 0, 0, 70,
779 461, 0, 462, 0, 463, 0, 0, 464, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 160,
781 0, 0, 340, 341, 72, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 342, 343, 0, 0, 0,
783 0, 73, 74, 75, 76, 77, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 78, 0, 579, 0, 80, 81, 82,
786 83, 0, 0, 0, 84, 85, 86, 87, 88, 89,
787 90, 91, 92, 580, 94, 95, 96, 97, 98, 99,
788 66, 0, 0, 0, 0, 0, 0, 0, 0, 67,
789 0, 0, 0, 0, 68, 69, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 70, 461, 0,
791 462, 0, 463, 0, 0, 464, 0, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 160, 0, 0,
793 340, 341, 72, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 342, 343, 0, 0, 636, 0, 73,
795 74, 75, 76, 77, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 0, 78, 0, 79, 0, 80, 81, 82, 83, 0,
798 0, 0, 84, 85, 86, 87, 88, 89, 90, 91,
799 92, 93, 94, 95, 96, 97, 98, 99, 66, 0,
800 0, 0, 0, 0, 0, 0, 0, 67, 0, 0,
801 0, 0, 68, 69, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 70, 461, -465, 462, 0,
803 463, 0, 0, 464, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 160, 0, 0, 340, 341,
805 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 342, 343, 0, 0, 0, 0, 73, 74, 75,
807 76, 77, 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
809 0, 79, 0, 80, 81, 82, 83, 0, 0, 0,
810 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
811 94, 95, 96, 97, 98, 99, 66, 0, 0, 0,
812 0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
813 68, 69, 0, 0, 0, 0, 0, 0, 0, 0,
814 0, 0, 0, 70, 461, 0, 462, 0, 463, 0,
815 0, 464, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 160, 0, 0, 340, 341, 72, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 342,
818 343, 0, 0, 0, 0, 73, 74, 75, 76, 77,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 78, 0, 79,
821 0, 80, 81, 82, 83, 0, 0, 0, 84, 85,
822 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
823 96, 97, 98, 99, 66, 0, 0, 0, 0, 0,
824 0, 0, 0, 67, 0, 0, 0, 0, 68, 69,
825 0, 0, 0, 0, 0, 0, 0, 0, 578, 0,
826 0, 70, 461, 0, 462, 0, 463, 0, 0, 464,
827 0, 0, 0, 150, 1, 2, 151, 4, 5, 6,
828 152, 8, 153, 0, 340, 341, 72, 154, 0, 10,
829 11, 12, 13, 14, 15, 16, 17, 342, 343, 0,
830 105, 66, 0, 73, 74, 75, 76, 77, 0, 0,
831 67, 0, 0, 0, 0, 68, 69, 10, 11, 12,
832 13, 14, 15, 16, 17, 78, 0, 579, 70, 80,
833 81, 82, 83, 0, 0, 0, 84, 85, 86, 87,
834 88, 89, 90, 91, 92, 580, 94, 95, 96, 97,
835 98, 99, 0, 72, 0, 0, 0, 0, 0, 0,
836 106, 107, 108, 0, 0, 0, 0, 0, 0, 0,
837 73, 74, 75, 76, 77, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
839 0, 0, 78, 0, 79, 0, 80, 81, 82, 83,
840 0, 0, 0, 84, 85, 86, 87, 88, 89, 90,
841 91, 92, 93, 94, 95, 96, 97, 98, 99, 66,
842 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
843 0, 0, 0, 68, 69, 0, 0, 0, 0, 0,
844 0, 0, 0, 0, 0, 0, 70, 461, 0, 462,
845 0, 463, 0, 0, 464, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 340,
847 341, 72, 0, 0, 0, 0, 0, 0, 0, 0,
848 0, 0, 342, 343, 0, 0, 0, 0, 73, 74,
849 75, 76, 77, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 78, 0, 79, 0, 80, 81, 82, 83, 0, 0,
852 0, 84, 85, 86, 87, 88, 89, 90, 91, 92,
853 93, 94, 95, 96, 97, 98, 99, 66, 0, 0,
854 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
855 0, 68, 69, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 0, 0, 70, 0, 0, 337, 0, 338,
857 0, 0, 339, 0, 0, 0, 0, 0, 0, 0,
858 0, 0, 0, 0, 0, 0, 0, 340, 341, 0,
859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
860 342, 343, 0, 0, 0, 0, 73, 74, 75, 76,
861 77, 0, 0, 0, 0, 0, 0, 0, 344, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 78, 0,
863 79, 0, 80, 81, 82, 83, 0, 0, 0, 84,
864 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
865 95, 96, 97, 98, 99, 66, 0, 0, 0, 0,
866 0, 0, 0, 0, 67, 0, 0, 0, 0, 68,
867 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
869 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870 0, 0, 0, 0, 66, 0, 0, 72, 0, 0,
871 0, 0, 0, 67, 0, 0, 0, 0, 68, 69,
872 0, 0, 0, 0, 73, 74, 75, 76, 77, 0,
873 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 0, 78, 0, 79, 0,
875 80, 81, 82, 83, 0, 0, 72, 84, 85, 86,
876 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
877 97, 98, 99, 73, 74, 75, 76, 77, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 0, 0, 0, 0, 78, 0, 79, 0, 80,
880 81, 82, 83, 0, 0, 0, 84, 85, 86, 87,
881 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
882 98, 99, 66, 0, 0, 0, 0, 0, 0, 0,
883 0, 67, 0, 0, 0, 0, 68, 69, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
885 0, 0, 0, 0, 0, 0, 0, 188, 0, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
888 67, 0, 0, 0, 0, 68, 69, 0, 0, 0,
889 0, 73, 74, 75, 76, 77, 0, 0, 70, 0,
890 0, 0, 0, 0, 0, 0, 409, 0, 0, 0,
891 0, 0, 0, 78, 0, 79, 0, 80, 81, 82,
892 83, 0, 0, 0, 84, 85, 86, 87, 88, 89,
893 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
894 73, 74, 75, 76, 77, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 0, 78, 0, 79, 0, 80, 81, 82, 83,
897 0, 0, 0, 84, 85, 86, 87, 88, 89, 90,
898 91, 92, 93, 94, 95, 96, 97, 98, 99, 66,
899 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
900 0, 0, 0, 68, 69, 0, 0, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
902 0, 0, 0, 0, 441, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
904 0, 0, 0, 0, 0, 0, 0, 67, 0, 0,
905 0, 0, 68, 69, 0, 0, 0, 0, 73, 74,
906 75, 76, 77, 0, 0, 70, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 78, 0, 79, 0, 80, 81, 82, 83, 0, 0,
909 0, 84, 85, 86, 87, 88, 89, 90, 91, 92,
910 93, 94, 95, 96, 97, 98, 99, 73, 74, 75,
911 76, 77, 0, 0, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
913 0, 79, 0, 80, 81, 82, 83, 0, 0, 0,
914 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
915 94, 95, 96, 97, 98, 99, 1, 2, 3, 4,
916 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
917 0, 10, 11, 12, 13, 14, 15, 16, 17, 0,
918 0, 0, 105, 1, 2, 3, 4, 5, 6, 7,
919 8, 0, 0, 0, 0, 567, 9, 0, 10, 11,
920 12, 13, 14, 15, 16, 17, 0, 0, 0, 105,
921 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
922 0, 0, 0, 9, 0, 10, 11, 12, 13, 14,
923 15, 16, 17, 0, 0, 0, 105, 0, 0, 0,
924 0, 0, 136, 137, 25, 109, 0, 0, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
926 1, 2, 3, 4, 5, 6, 7, 8, 0, 106,
927 107, 108, 109, 9, 0, 10, 11, 12, 13, 14,
928 15, 16, 17, 0, 0, 0, 163, 1, 2, 3,
929 4, 5, 6, 7, 8, 0, 136, 137, 25, 109,
930 9, 0, 10, 11, 12, 13, 14, 15, 16, 17,
931 0, 0, 0, 105, 1, 2, 3, 4, 5, 6,
932 7, 8, 0, 0, 0, 0, 0, 378, 0, 10,
933 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
934 105, 0, 0, 0, 0, 0, 106, 107, 108, 109,
935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
936 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
937 7, 8, 0, 106, 107, 108, 109, 154, 0, 10,
938 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
939 105, 1, 2, 3, 4, 5, 6, 7, 8, 0,
940 106, 107, 108, 109, 0, 0, 10, 11, 12, 13,
941 14, 15, 16, 17, 589, 0, 0, 105, 0, 0,
942 0, 0, 0, 413, 414, 415, 416, 417, 418, 419,
943 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
944 430, 0, 0, 0, 667, 0, 543, 0, 0, 0,
945 106, 107, 108, 413, 414, 415, 416, 417, 418, 419,
946 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
947 430, 0, 645, 0, 0, 0, 543, 106, 107, 108,
948 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
949 423, 424, 425, 426, 427, 428, 429, 430, 563, 0,
950 0, 0, 0, 543, 0, 413, 414, 415, 416, 417,
951 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
952 428, 429, 430, 620, 0, 0, 0, 0, 431, 0,
953 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
954 423, 424, 425, 426, 427, 428, 429, 430, 0, 0,
955 0, 0, 0, 543, 413, 414, 415, 416, 417, 418,
956 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
957 429, 430, 0, 0, 0, 0, 0, 431, 413, 414,
958 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
959 425, 426, 427, 428, 429, 430, 0, 0, 0, 0,
960 0, 543, 413, 414, 415, 416, 417, 418, 419, 420,
961 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
962 0, 0, 0, 0, 0, 431, 413, 414, 415, 416,
963 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
964 427, 428, 429, 430, 0, 0, 0, 0, 0, 543
967 static const short int yycheck
[] =
969 39, 29, 26, 22, 18, 9, 9, 22, 22, 131,
970 71, 386, 0, 18, 389, 135, 369, 398, 347, 339,
971 23, 24, 25, 34, 55, 345, 536, 536, 392, 0,
972 18, 522, 545, 32, 97, 39, 38, 37, 571, 37,
973 573, 41, 42, 31, 42, 33, 0, 34, 27, 28,
974 29, 34, 39, 55, 33, 34, 4, 5, 6, 41,
975 42, 9, 33, 536, 50, 37, 38, 71, 40, 6,
976 37, 70, 9, 606, 9, 456, 11, 587, 129, 408,
977 444, 203, 411, 464, 465, 109, 55, 43, 40, 17,
978 18, 43, 412, 37, 39, 40, 40, 128, 101, 452,
979 139, 454, 38, 106, 107, 108, 579, 38, 621, 17,
980 18, 431, 432, 124, 587, 39, 40, 608, 6, 7,
981 8, 124, 145, 146, 147, 42, 617, 188, 38, 42,
982 40, 134, 135, 136, 137, 139, 649, 646, 671, 652,
983 143, 632, 98, 99, 100, 101, 102, 103, 104, 659,
984 154, 356, 357, 43, 36, 536, 195, 37, 163, 668,
985 673, 490, 543, 544, 493, 494, 41, 170, 182, 183,
986 545, 39, 40, 646, 38, 163, 39, 40, 136, 137,
987 42, 184, 31, 186, 188, 31, 659, 115, 116, 117,
988 118, 119, 120, 31, 37, 668, 31, 105, 106, 107,
989 108, 109, 110, 111, 112, 113, 587, 588, 98, 99,
990 100, 101, 102, 103, 104, 42, 44, 38, 6, 339,
991 38, 37, 123, 576, 577, 345, 98, 99, 100, 101,
992 102, 103, 104, 38, 41, 616, 42, 46, 38, 620,
993 37, 33, 562, 563, 3, 34, 621, 6, 46, 39,
994 45, 10, 38, 12, 13, 14, 15, 16, 17, 40,
995 38, 46, 37, 46, 645, 646, 37, 32, 38, 46,
996 599, 600, 38, 37, 649, 37, 39, 652, 659, 36,
997 39, 39, 33, 39, 33, 40, 40, 668, 41, 41,
998 3, 39, 412, 6, 39, 39, 39, 10, 673, 12,
999 13, 14, 15, 16, 17, 39, 39, 368, 40, 37,
1000 41, 431, 432, 39, 41, 72, 73, 74, 75, 76,
1001 77, 78, 79, 80, 81, 82, 83, 46, 85, 86,
1002 87, 88, 38, 38, 38, 37, 339, 40, 38, 33,
1003 39, 344, 345, 39, 32, 40, 385, 39, 387, 40,
1004 40, 38, 33, 39, 39, 330, 40, 360, 41, 39,
1005 39, 33, 40, 39, 368, 134, 609, 22, 164, 46,
1006 31, 139, 183, 177, 378, 359, 497, 457, 28, 573,
1007 441, 668, 363, 389, 385, 388, 552, 550, -1, -1,
1008 -1, -1, -1, -1, -1, -1, 435, 436, 401, -1,
1009 403, -1, -1, -1, -1, -1, 409, -1, -1, 412,
1010 -1, -1, -1, -1, -1, 434, -1, -1, -1, 434,
1011 434, -1, -1, -1, -1, -1, -1, -1, 431, 432,
1012 -1, -1, -1, -1, -1, -1, -1, 441, -1, 453,
1013 -1, 455, 562, 563, -1, 448, 37, 486, -1, 464,
1014 -1, -1, -1, -1, 457, -1, -1, 48, 49, 50,
1015 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1016 61, 62, 63, 64, 65, 597, -1, -1, 497, -1,
1017 71, -1, 497, 497, 487, -1, -1, -1, -1, -1,
1018 -1, -1, -1, -1, -1, -1, -1, -1, 501, -1,
1019 -1, -1, -1, -1, -1, -1, -1, -1, 547, -1,
1020 -1, 550, -1, -1, -1, 539, -1, -1, -1, -1,
1021 -1, 549, -1, -1, -1, 529, 4, 5, 6, 7,
1022 8, 9, 10, 11, -1, -1, -1, -1, -1, 17,
1023 -1, 19, 20, 21, 22, 23, 24, 25, 26, 552,
1024 -1, -1, 30, 39, -1, 594, -1, -1, -1, 562,
1025 563, -1, 48, 49, 50, 51, 52, 53, 54, 55,
1026 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1027 608, -1, -1, -1, -1, 71, -1, -1, -1, -1,
1028 -1, -1, 70, -1, -1, 598, -1, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, -1, 646, -1, -1,
1030 -1, -1, 90, 91, 92, 93, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, 0, -1, 668,
1032 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1033 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1034 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1035 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1036 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1037 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1038 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1039 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1040 83, 84, 85, -1, 87, -1, 89, 90, 91, 92,
1041 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1042 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1043 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
1044 123, 124, -1, 126, 127, 128, 129, 0, -1, -1,
1045 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1046 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1047 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1048 33, 34, 35, -1, 37, 38, 39, 40, 41, 42,
1049 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1050 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1051 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1052 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1053 83, 84, 85, -1, 87, -1, 89, 90, 91, 92,
1054 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1055 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1056 113, 114, 115, 116, 117, 118, 119, 120, 121, 3,
1057 -1, 124, -1, 126, 127, 128, 129, -1, 12, -1,
1058 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1059 -1, -1, -1, 27, 28, 29, 30, -1, -1, -1,
1060 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1061 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1062 -1, -1, -1, -1, 17, -1, 19, 20, 21, 22,
1063 23, 24, 25, 26, -1, -1, -1, 30, 72, 73,
1064 74, 75, 76, 36, 37, -1, -1, -1, -1, -1,
1065 -1, -1, -1, -1, 47, -1, -1, -1, -1, -1,
1066 94, -1, 96, -1, 98, 99, 100, 101, -1, -1,
1067 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1068 114, 115, 116, 117, 118, 119, 120, -1, -1, -1,
1069 -1, -1, 126, -1, 128, -1, 89, 90, 91, 92,
1070 93, 94, 95, -1, 97, 4, 5, 6, 7, 8,
1071 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1072 19, 20, 21, 22, 23, 24, 25, 26, 121, -1,
1073 -1, 30, -1, 126, 3, 4, 5, 6, 7, 8,
1074 9, 10, 11, 12, -1, -1, -1, -1, 17, 18,
1075 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1076 -1, 30, 31, -1, 33, -1, 35, -1, -1, 38,
1077 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1078 -1, -1, -1, -1, 53, 54, 55, -1, -1, -1,
1079 -1, 90, 91, 92, 93, -1, -1, 66, 67, -1,
1080 -1, -1, -1, 72, 73, 74, 75, 76, -1, -1,
1081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1082 -1, 90, 91, 92, 93, 94, -1, 96, -1, 98,
1083 99, 100, 101, -1, -1, -1, 105, 106, 107, 108,
1084 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1085 119, 120, 3, -1, -1, -1, -1, -1, -1, -1,
1086 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1087 -1, -1, -1, -1, -1, -1, 27, -1, -1, 30,
1088 31, -1, 33, -1, 35, -1, -1, 38, -1, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1, -1, 50,
1090 -1, -1, 53, 54, 55, -1, -1, -1, -1, -1,
1091 -1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
1092 -1, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1094 -1, -1, -1, 94, -1, 96, -1, 98, 99, 100,
1095 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1096 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1097 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1098 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1099 -1, -1, -1, -1, -1, -1, -1, 30, 31, -1,
1100 33, -1, 35, -1, -1, 38, -1, -1, -1, -1,
1101 -1, -1, -1, -1, -1, -1, -1, 50, -1, -1,
1102 53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
1103 -1, -1, -1, 66, 67, -1, -1, 70, -1, 72,
1104 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
1105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1106 -1, 94, -1, 96, -1, 98, 99, 100, 101, -1,
1107 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1108 113, 114, 115, 116, 117, 118, 119, 120, 3, -1,
1109 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1110 -1, -1, 17, 18, -1, -1, -1, -1, -1, -1,
1111 -1, -1, -1, -1, -1, 30, 31, 32, 33, -1,
1112 35, -1, -1, 38, -1, -1, -1, -1, -1, -1,
1113 -1, -1, -1, -1, -1, 50, -1, -1, 53, 54,
1114 55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1115 -1, 66, 67, -1, -1, -1, -1, 72, 73, 74,
1116 75, 76, -1, -1, -1, -1, -1, -1, -1, -1,
1117 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1118 -1, 96, -1, 98, 99, 100, 101, -1, -1, -1,
1119 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1120 115, 116, 117, 118, 119, 120, 3, -1, -1, -1,
1121 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1122 17, 18, -1, -1, -1, -1, -1, -1, -1, -1,
1123 -1, -1, -1, 30, 31, -1, 33, -1, 35, -1,
1124 -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
1125 -1, -1, -1, 50, -1, -1, 53, 54, 55, -1,
1126 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
1127 67, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1128 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1129 -1, -1, -1, -1, -1, -1, -1, 94, -1, 96,
1130 -1, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1131 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1132 117, 118, 119, 120, 3, -1, -1, -1, -1, -1,
1133 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1134 -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
1135 -1, 30, 31, -1, 33, -1, 35, -1, -1, 38,
1136 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1137 10, 11, 12, -1, 53, 54, 55, 17, -1, 19,
1138 20, 21, 22, 23, 24, 25, 26, 66, 67, -1,
1139 30, 3, -1, 72, 73, 74, 75, 76, -1, -1,
1140 12, -1, -1, -1, -1, 17, 18, 19, 20, 21,
1141 22, 23, 24, 25, 26, 94, -1, 96, 30, 98,
1142 99, 100, 101, -1, -1, -1, 105, 106, 107, 108,
1143 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1144 119, 120, -1, 55, -1, -1, -1, -1, -1, -1,
1145 90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
1146 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1147 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1148 -1, -1, 94, -1, 96, -1, 98, 99, 100, 101,
1149 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1150 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1151 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1152 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1153 -1, -1, -1, -1, -1, -1, 30, 31, -1, 33,
1154 -1, 35, -1, -1, 38, -1, -1, -1, -1, -1,
1155 -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
1156 54, 55, -1, -1, -1, -1, -1, -1, -1, -1,
1157 -1, -1, 66, 67, -1, -1, -1, -1, 72, 73,
1158 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
1159 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1160 94, -1, 96, -1, 98, 99, 100, 101, -1, -1,
1161 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1162 114, 115, 116, 117, 118, 119, 120, 3, -1, -1,
1163 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1164 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1165 -1, -1, -1, -1, 30, -1, -1, 33, -1, 35,
1166 -1, -1, 38, -1, -1, -1, -1, -1, -1, -1,
1167 -1, -1, -1, -1, -1, -1, -1, 53, 54, -1,
1168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1169 66, 67, -1, -1, -1, -1, 72, 73, 74, 75,
1170 76, -1, -1, -1, -1, -1, -1, -1, 84, -1,
1171 -1, -1, -1, -1, -1, -1, -1, -1, 94, -1,
1172 96, -1, 98, 99, 100, 101, -1, -1, -1, 105,
1173 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1174 116, 117, 118, 119, 120, 3, -1, -1, -1, -1,
1175 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1176 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1177 -1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
1178 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1179 -1, -1, -1, -1, 3, -1, -1, 55, -1, -1,
1180 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1181 -1, -1, -1, -1, 72, 73, 74, 75, 76, -1,
1182 -1, 30, -1, -1, -1, -1, -1, -1, -1, -1,
1183 -1, -1, -1, -1, -1, -1, 94, -1, 96, -1,
1184 98, 99, 100, 101, -1, -1, 55, 105, 106, 107,
1185 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1186 118, 119, 120, 72, 73, 74, 75, 76, -1, -1,
1187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1188 -1, -1, -1, -1, -1, 94, -1, 96, -1, 98,
1189 99, 100, 101, -1, -1, -1, 105, 106, 107, 108,
1190 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1191 119, 120, 3, -1, -1, -1, -1, -1, -1, -1,
1192 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1193 -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
1194 -1, -1, -1, -1, -1, -1, -1, 38, -1, -1,
1195 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1196 -1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1197 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1198 -1, 72, 73, 74, 75, 76, -1, -1, 30, -1,
1199 -1, -1, -1, -1, -1, -1, 38, -1, -1, -1,
1200 -1, -1, -1, 94, -1, 96, -1, 98, 99, 100,
1201 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1202 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1203 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1205 -1, -1, 94, -1, 96, -1, 98, 99, 100, 101,
1206 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1207 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1208 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1209 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1210 -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
1211 -1, -1, -1, -1, 38, -1, -1, -1, -1, -1,
1212 -1, -1, -1, -1, -1, -1, -1, -1, 3, -1,
1213 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1214 -1, -1, 17, 18, -1, -1, -1, -1, 72, 73,
1215 74, 75, 76, -1, -1, 30, -1, -1, -1, -1,
1216 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1217 94, -1, 96, -1, 98, 99, 100, 101, -1, -1,
1218 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1219 114, 115, 116, 117, 118, 119, 120, 72, 73, 74,
1220 75, 76, -1, -1, -1, -1, -1, -1, -1, -1,
1221 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1222 -1, 96, -1, 98, 99, 100, 101, -1, -1, -1,
1223 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1224 115, 116, 117, 118, 119, 120, 4, 5, 6, 7,
1225 8, 9, 10, 11, -1, -1, -1, -1, -1, 17,
1226 -1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
1227 -1, -1, 30, 4, 5, 6, 7, 8, 9, 10,
1228 11, -1, -1, -1, -1, 43, 17, -1, 19, 20,
1229 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1230 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1231 -1, -1, -1, 17, -1, 19, 20, 21, 22, 23,
1232 24, 25, 26, -1, -1, -1, 30, -1, -1, -1,
1233 -1, -1, 90, 91, 92, 93, -1, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1235 4, 5, 6, 7, 8, 9, 10, 11, -1, 90,
1236 91, 92, 93, 17, -1, 19, 20, 21, 22, 23,
1237 24, 25, 26, -1, -1, -1, 30, 4, 5, 6,
1238 7, 8, 9, 10, 11, -1, 90, 91, 92, 93,
1239 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1240 -1, -1, -1, 30, 4, 5, 6, 7, 8, 9,
1241 10, 11, -1, -1, -1, -1, -1, 17, -1, 19,
1242 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1243 30, -1, -1, -1, -1, -1, 90, 91, 92, 93,
1244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1245 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1246 10, 11, -1, 90, 91, 92, 93, 17, -1, 19,
1247 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1248 30, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1249 90, 91, 92, 93, -1, -1, 19, 20, 21, 22,
1250 23, 24, 25, 26, 39, -1, -1, 30, -1, -1,
1251 -1, -1, -1, 48, 49, 50, 51, 52, 53, 54,
1252 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1253 65, -1, -1, -1, 39, -1, 71, -1, -1, -1,
1254 90, 91, 92, 48, 49, 50, 51, 52, 53, 54,
1255 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1256 65, -1, 40, -1, -1, -1, 71, 90, 91, 92,
1257 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1258 58, 59, 60, 61, 62, 63, 64, 65, 41, -1,
1259 -1, -1, -1, 71, -1, 48, 49, 50, 51, 52,
1260 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1261 63, 64, 65, 41, -1, -1, -1, -1, 71, -1,
1262 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1263 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
1264 -1, -1, -1, 71, 48, 49, 50, 51, 52, 53,
1265 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1266 64, 65, -1, -1, -1, -1, -1, 71, 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
1276 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1277 symbol of state STATE-NUM. */
1278 static const unsigned char yystos
[] =
1280 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1281 19, 20, 21, 22, 23, 24, 25, 26, 30, 36,
1282 37, 47, 89, 90, 91, 92, 93, 94, 95, 97,
1283 121, 126, 137, 138, 139, 140, 141, 159, 164, 166,
1284 167, 168, 169, 170, 171, 172, 173, 174, 179, 182,
1285 183, 185, 186, 187, 188, 189, 190, 192, 194, 195,
1286 200, 205, 215, 216, 9, 11, 3, 12, 17, 18,
1287 30, 38, 55, 72, 73, 74, 75, 76, 94, 96,
1288 98, 99, 100, 101, 105, 106, 107, 108, 109, 110,
1289 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1290 135, 213, 214, 231, 241, 30, 90, 91, 92, 93,
1291 186, 192, 36, 72, 73, 74, 75, 76, 77, 78,
1292 79, 80, 81, 82, 83, 85, 86, 87, 88, 142,
1293 143, 144, 145, 147, 148, 149, 90, 91, 165, 166,
1294 187, 188, 192, 200, 206, 207, 135, 135, 135, 208,
1295 3, 6, 10, 12, 17, 160, 161, 167, 34, 216,
1296 50, 250, 251, 30, 185, 0, 139, 135, 193, 212,
1297 213, 4, 5, 6, 9, 175, 6, 172, 178, 37,
1298 129, 180, 38, 38, 42, 42, 212, 213, 38, 135,
1299 55, 128, 135, 135, 135, 40, 184, 27, 28, 29,
1300 126, 128, 135, 150, 151, 36, 0, 3, 4, 5,
1301 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1302 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1303 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1304 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1305 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1306 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1307 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1308 77, 78, 79, 80, 81, 82, 83, 84, 85, 87,
1309 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1310 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1311 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1312 119, 120, 121, 124, 126, 127, 128, 129, 136, 154,
1313 155, 154, 34, 124, 146, 135, 150, 33, 35, 38,
1314 53, 54, 66, 67, 84, 134, 135, 156, 135, 208,
1315 135, 208, 37, 171, 135, 41, 210, 210, 210, 210,
1316 213, 31, 37, 42, 31, 180, 44, 211, 38, 135,
1317 6, 176, 6, 9, 177, 175, 38, 37, 17, 191,
1318 192, 191, 135, 201, 202, 98, 99, 100, 101, 102,
1319 103, 104, 222, 223, 224, 237, 238, 244, 245, 246,
1320 135, 212, 193, 213, 249, 123, 154, 136, 156, 38,
1321 135, 156, 38, 48, 49, 50, 51, 52, 53, 54,
1322 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1323 65, 71, 133, 41, 42, 197, 197, 37, 196, 197,
1324 196, 38, 135, 46, 222, 38, 37, 33, 212, 211,
1325 34, 181, 39, 40, 39, 40, 46, 40, 43, 193,
1326 227, 31, 33, 35, 38, 134, 193, 203, 204, 219,
1327 239, 240, 241, 250, 193, 135, 247, 248, 18, 240,
1328 241, 43, 223, 203, 39, 135, 40, 38, 39, 135,
1329 156, 157, 158, 156, 156, 38, 165, 198, 199, 193,
1330 193, 212, 27, 28, 29, 33, 34, 162, 163, 43,
1331 3, 6, 10, 12, 13, 14, 15, 16, 17, 39,
1332 217, 218, 220, 221, 45, 135, 34, 39, 211, 17,
1333 70, 192, 211, 70, 203, 202, 46, 37, 30, 93,
1334 166, 203, 203, 71, 133, 46, 37, 38, 32, 46,
1335 38, 37, 40, 37, 37, 39, 193, 135, 152, 153,
1336 39, 39, 40, 41, 33, 41, 209, 43, 199, 135,
1337 37, 41, 39, 40, 219, 39, 39, 39, 27, 96,
1338 114, 203, 226, 228, 229, 230, 231, 251, 39, 39,
1339 203, 203, 239, 193, 250, 249, 248, 39, 40, 156,
1340 156, 40, 41, 37, 39, 220, 41, 218, 220, 46,
1341 211, 211, 17, 18, 231, 234, 38, 38, 226, 203,
1342 41, 40, 242, 193, 39, 154, 135, 33, 38, 220,
1343 250, 162, 38, 203, 219, 203, 70, 239, 243, 39,
1344 37, 39, 33, 70, 219, 40, 40, 232, 39, 40,
1345 40, 32, 38, 203, 193, 225, 226, 227, 233, 251,
1346 39, 239, 33, 39, 235, 236, 239, 39, 40, 226,
1347 39, 41, 39, 40, 225, 220, 39, 239
1350 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1351 static const unsigned char yyr1
[] =
1353 0, 132, 133, 133, 133, 133, 133, 133, 133, 133,
1354 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1355 134, 134, 134, 134, 135, 135, 135, 135, 135, 135,
1356 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1357 135, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1358 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1359 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1360 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1361 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1362 136, 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, 137, 137, 138, 138, 139, 139, 139,
1370 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1371 140, 141, 141, 142, 142, 142, 142, 142, 142, 142,
1372 142, 143, 143, 144, 144, 145, 145, 145, 146, 146,
1373 147, 147, 148, 148, 148, 149, 149, 150, 150, 150,
1374 150, 150, 150, 151, 151, 152, 152, 153, 153, 154,
1375 154, 155, 155, 156, 156, 156, 156, 156, 156, 156,
1376 156, 156, 156, 157, 157, 158, 158, 159, 160, 161,
1377 161, 161, 161, 162, 162, 163, 163, 163, 163, 163,
1378 164, 165, 165, 165, 165, 165, 165, 166, 166, 167,
1379 167, 168, 168, 168, 169, 169, 169, 169, 170, 170,
1380 170, 171, 171, 171, 171, 171, 171, 171, 171, 172,
1381 172, 173, 173, 173, 174, 174, 174, 174, 175, 175,
1382 175, 175, 175, 176, 176, 177, 177, 177, 178, 178,
1383 178, 179, 179, 180, 180, 181, 181, 182, 183, 184,
1384 184, 185, 185, 186, 186, 187, 187, 188, 188, 189,
1385 189, 189, 189, 190, 190, 191, 191, 191, 191, 192,
1386 192, 192, 192, 193, 193, 194, 195, 196, 196, 197,
1387 198, 198, 199, 200, 201, 201, 202, 202, 203, 203,
1388 203, 203, 203, 203, 204, 204, 204, 204, 205, 206,
1389 207, 208, 208, 209, 209, 210, 210, 211, 211, 212,
1390 212, 213, 213, 214, 214, 215, 215, 216, 216, 216,
1391 217, 217, 218, 218, 219, 220, 221, 221, 221, 221,
1392 221, 221, 221, 221, 221, 222, 222, 223, 223, 223,
1393 223, 223, 224, 224, 225, 225, 225, 226, 226, 226,
1394 226, 226, 227, 227, 228, 229, 230, 231, 231, 231,
1395 231, 231, 231, 231, 231, 231, 231, 232, 232, 233,
1396 233, 234, 234, 235, 235, 236, 236, 237, 238, 239,
1397 239, 239, 240, 240, 241, 241, 241, 241, 241, 241,
1398 241, 241, 242, 242, 243, 243, 244, 245, 245, 246,
1399 247, 247, 248, 249, 249, 250, 250, 251
1402 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1403 static const unsigned char yyr2
[] =
1405 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1406 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1407 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1408 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1409 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1410 1, 1, 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, 0, 1, 1, 2, 1, 1, 1,
1422 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1423 3, 2, 3, 2, 2, 1, 2, 2, 2, 1,
1424 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1426 1, 1, 1, 6, 2, 0, 1, 1, 3, 0,
1427 1, 1, 2, 3, 2, 3, 5, 2, 4, 1,
1428 1, 1, 4, 0, 1, 1, 3, 6, 1, 1,
1429 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1430 3, 1, 1, 2, 4, 4, 2, 2, 1, 1,
1431 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1432 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1433 1, 1, 1, 2, 1, 1, 2, 2, 0, 1,
1434 2, 1, 2, 0, 1, 0, 1, 1, 0, 1,
1435 2, 3, 4, 0, 4, 1, 2, 2, 3, 0,
1436 2, 1, 2, 1, 1, 5, 7, 5, 7, 6,
1437 7, 6, 5, 1, 2, 0, 1, 1, 3, 1,
1438 2, 4, 3, 3, 2, 4, 4, 1, 1, 3,
1439 1, 2, 3, 4, 1, 3, 1, 3, 1, 4,
1440 3, 3, 2, 5, 1, 1, 1, 1, 2, 2,
1441 2, 0, 1, 0, 7, 0, 7, 0, 3, 0,
1442 1, 1, 2, 1, 2, 4, 5, 7, 8, 13,
1443 1, 3, 2, 4, 2, 1, 1, 1, 1, 1,
1444 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
1445 1, 1, 3, 6, 1, 2, 1, 1, 1, 1,
1446 1, 1, 3, 4, 6, 8, 5, 1, 1, 1,
1447 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
1448 3, 1, 1, 0, 1, 1, 3, 3, 3, 1,
1449 1, 3, 5, 6, 1, 1, 1, 1, 1, 1,
1450 1, 1, 0, 2, 1, 3, 3, 1, 1, 3,
1451 1, 3, 4, 1, 3, 0, 1, 1
1455 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1456 static const unsigned char yydprec
[] =
1458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1507 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1508 static const unsigned char yymerger
[] =
1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1559 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1560 in the case of predicates. */
1561 static const yybool yyimmediate
[] =
1563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1612 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1613 list of conflicting reductions corresponding to action entry for
1614 state STATE-NUM in yytable. 0 means no conflicts. The list in
1615 yyconfl is terminated by a rule number of 0. */
1616 static const unsigned short int yyconflp
[] =
1618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1624 0, 0, 0, 0, 0, 5, 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, 259, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
1681 9, 11, 13, 15, 17, 19, 21, 23, 25, 27,
1682 29, 31, 33, 35, 37, 39, 41, 43, 45, 47,
1683 49, 51, 53, 55, 57, 59, 61, 63, 65, 67,
1684 69, 71, 73, 75, 77, 79, 81, 83, 85, 87,
1685 89, 91, 93, 95, 97, 99, 101, 103, 105, 107,
1686 109, 111, 113, 115, 117, 119, 121, 123, 125, 127,
1687 129, 131, 133, 135, 137, 139, 141, 143, 145, 147,
1688 149, 151, 153, 155, 157, 159, 161, 163, 165, 167,
1689 169, 171, 173, 0, 175, 0, 177, 179, 181, 183,
1690 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
1691 205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
1692 225, 227, 229, 231, 233, 235, 237, 239, 241, 0,
1693 243, 245, 0, 247, 249, 251, 253, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 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, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 257, 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, 261, 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, 263
1925 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
1926 0, pointed into by YYCONFLP. */
1927 static const short int yyconfl
[] =
1929 0, 267, 0, 267, 0, 329, 0, 450, 0, 450,
1930 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1931 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1932 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1933 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1934 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1935 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1936 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1937 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1938 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1939 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1940 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1941 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1942 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1943 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1944 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1945 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1946 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1947 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1948 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1949 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1950 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1951 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1952 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1953 0, 450, 0, 450, 0, 450, 0, 450, 0, 450,
1954 0, 450, 0, 450, 0, 267, 0, 267, 0, 267,
1958 /* Error token number */
1965 #define yynerrs (yystackp->yyerrcnt)
1967 #define yychar (yystackp->yyrawchar)
1969 #define yylval (yystackp->yyval)
1971 #define yylloc (yystackp->yyloc)
1972 #define psi_parser_proc_nerrs yynerrs
1973 #define psi_parser_proc_char yychar
1974 #define psi_parser_proc_lval yylval
1975 #define psi_parser_proc_lloc yylloc
1977 static const int YYEOF
= 0;
1978 static const int YYEMPTY
= -2;
1980 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
1982 #define YYCHK(YYE) \
1984 YYRESULTTAG yychk_flag = YYE; \
1985 if (yychk_flag != yyok) \
1986 return yychk_flag; \
1992 # define YYFPRINTF fprintf
1995 /* This macro is provided for backward compatibility. */
1996 #ifndef YY_LOCATION_PRINT
1997 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2001 # define YYDPRINTF(Args) \
2008 /*----------------------------------------.
2009 | Print this symbol's value on YYOUTPUT. |
2010 `----------------------------------------*/
2013 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2015 FILE *yyo
= yyoutput
;
2026 /*--------------------------------.
2027 | Print this symbol on YYOUTPUT. |
2028 `--------------------------------*/
2031 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2033 YYFPRINTF (yyoutput
, "%s %s (",
2034 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2036 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2037 YYFPRINTF (yyoutput
, ")");
2040 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2044 YYFPRINTF (stderr, "%s ", Title); \
2045 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2046 YYFPRINTF (stderr, "\n"); \
2050 /* Nonzero means print parse trace. It is left uninitialized so that
2051 multiple parsers can coexist. */
2055 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2056 YY_ATTRIBUTE_UNUSED
;
2057 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2058 YY_ATTRIBUTE_UNUSED
;
2060 #else /* !YYDEBUG */
2062 # define YYDPRINTF(Args)
2063 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2065 #endif /* !YYDEBUG */
2067 /* YYINITDEPTH -- initial size of the parser's stacks. */
2069 # define YYINITDEPTH 200
2072 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2073 if the built-in stack extension method is used).
2075 Do not make this value too large; the results are undefined if
2076 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2077 evaluated with infinite-precision integer arithmetic. */
2080 # define YYMAXDEPTH 10000
2083 /* Minimum number of free items on the stack allowed after an
2084 allocation. This is to allow allocation and initialization
2085 to be completed by functions that call yyexpandGLRStack before the
2086 stack is expanded, thus insuring that all necessary pointers get
2087 properly redirected to new data. */
2088 #define YYHEADROOM 2
2090 #ifndef YYSTACKEXPANDABLE
2091 # define YYSTACKEXPANDABLE 1
2094 #if YYSTACKEXPANDABLE
2095 # define YY_RESERVE_GLRSTACK(Yystack) \
2097 if (Yystack->yyspaceLeft < YYHEADROOM) \
2098 yyexpandGLRStack (Yystack); \
2101 # define YY_RESERVE_GLRSTACK(Yystack) \
2103 if (Yystack->yyspaceLeft < YYHEADROOM) \
2104 yyMemoryExhausted (Yystack); \
2112 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2113 # define yystpcpy stpcpy
2115 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2118 yystpcpy (char *yydest
, const char *yysrc
)
2121 const char *yys
= yysrc
;
2123 while ((*yyd
++ = *yys
++) != '\0')
2132 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2133 quotes and backslashes, so that it's suitable for yyerror. The
2134 heuristic is that double-quoting is unnecessary unless the string
2135 contains an apostrophe, a comma, or backslash (other than
2136 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2137 null, do not copy; instead, return the length of what the result
2140 yytnamerr (char *yyres
, const char *yystr
)
2145 char const *yyp
= yystr
;
2152 goto do_not_strip_quotes
;
2156 goto do_not_strip_quotes
;
2169 do_not_strip_quotes
: ;
2173 return strlen (yystr
);
2175 return yystpcpy (yyres
, yystr
) - yyres
;
2179 #endif /* !YYERROR_VERBOSE */
2181 /** State numbers, as in LALR(1) machine */
2182 typedef int yyStateNum
;
2184 /** Rule numbers, as in LALR(1) machine */
2185 typedef int yyRuleNum
;
2187 /** Grammar symbol */
2188 typedef int yySymbol
;
2190 /** Item references, as in LALR(1) machine */
2191 typedef short int yyItemNum
;
2193 typedef struct yyGLRState yyGLRState
;
2194 typedef struct yyGLRStateSet yyGLRStateSet
;
2195 typedef struct yySemanticOption yySemanticOption
;
2196 typedef union yyGLRStackItem yyGLRStackItem
;
2197 typedef struct yyGLRStack yyGLRStack
;
2200 /** Type tag: always true. */
2202 /** Type tag for yysemantics. If true, yysval applies, otherwise
2203 * yyfirstVal applies. */
2205 /** Number of corresponding LALR(1) machine state. */
2206 yyStateNum yylrState
;
2207 /** Preceding state in this stack */
2209 /** Source position of the last token produced by my symbol */
2212 /** First in a chain of alternative reductions producing the
2213 * non-terminal corresponding to this state, threaded through
2215 yySemanticOption
* yyfirstVal
;
2216 /** Semantic value for this state. */
2221 struct yyGLRStateSet
{
2222 yyGLRState
** yystates
;
2223 /** During nondeterministic operation, yylookaheadNeeds tracks which
2224 * stacks have actually needed the current lookahead. During deterministic
2225 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2226 * duplicate yychar != YYEMPTY. */
2227 yybool
* yylookaheadNeeds
;
2228 size_t yysize
, yycapacity
;
2231 struct yySemanticOption
{
2232 /** Type tag: always false. */
2234 /** Rule number for this reduction */
2236 /** The last RHS state in the list of states to be reduced. */
2237 yyGLRState
* yystate
;
2238 /** The lookahead for this reduction. */
2241 /** Next sibling in chain of options. To facilitate merging,
2242 * options are chained in decreasing order by address. */
2243 yySemanticOption
* yynext
;
2246 /** Type of the items in the GLR stack. The yyisState field
2247 * indicates which item of the union is valid. */
2248 union yyGLRStackItem
{
2250 yySemanticOption yyoption
;
2261 YYJMP_BUF yyexception_buffer
;
2262 yyGLRStackItem
* yyitems
;
2263 yyGLRStackItem
* yynextFree
;
2265 yyGLRState
* yysplitPoint
;
2266 yyGLRState
* yylastDeleted
;
2267 yyGLRStateSet yytops
;
2270 #if YYSTACKEXPANDABLE
2271 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2274 static _Noreturn
void
2275 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2277 if (yymsg
!= YY_NULLPTR
)
2278 yyerror (P
, tokens
, index
, yymsg
);
2279 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2282 static _Noreturn
void
2283 yyMemoryExhausted (yyGLRStack
* yystackp
)
2285 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2288 #if YYDEBUG || YYERROR_VERBOSE
2289 /** A printable representation of TOKEN. */
2290 static inline const char*
2291 yytokenName (yySymbol yytoken
)
2293 if (yytoken
== YYEMPTY
)
2296 return yytname
[yytoken
];
2300 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2301 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2302 * containing the pointer to the next state in the chain. */
2303 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2305 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2308 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2309 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2312 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2314 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2316 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2318 /* The effect of using yysval or yyloc (in an immediate rule) is
2320 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2321 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2325 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2326 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2327 * For convenience, always return YYLOW1. */
2328 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2329 YY_ATTRIBUTE_UNUSED
;
2331 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2333 if (!yynormal
&& yylow1
< *yylow
)
2335 yyfillin (yyvsp
, *yylow
, yylow1
);
2341 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2342 * and top stack item YYVSP. YYLVALP points to place to put semantic
2343 * value ($$), and yylocp points to place for location information
2344 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2345 * yyerr for YYERROR, yyabort for YYABORT. */
2347 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2348 yyGLRStack
* yystackp
,
2349 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2351 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2359 # define yyerrok (yystackp->yyerrState = 0)
2361 # define YYACCEPT return yyaccept
2363 # define YYABORT return yyabort
2365 # define YYERROR return yyerrok, yyerr
2366 # undef YYRECOVERING
2367 # define YYRECOVERING() (yystackp->yyerrState != 0)
2369 # define yyclearin (yychar = YYEMPTY)
2371 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2373 # define YYBACKUP(Token, Value) \
2374 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2379 *yyvalp
= yyval_default
;
2381 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2385 #line 410 "src/parser_proc_grammar.y" /* glr.c:816 */
2387 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2388 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2389 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2392 #line 2393 "src/parser_proc.c" /* glr.c:816 */
2396 #line 416 "src/parser_proc_grammar.y" /* glr.c:816 */
2399 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2400 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2402 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
);
2405 #line 2406 "src/parser_proc.c" /* glr.c:816 */
2409 #line 424 "src/parser_proc_grammar.y" /* glr.c:816 */
2411 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2413 #line 2414 "src/parser_proc.c" /* glr.c:816 */
2417 #line 427 "src/parser_proc_grammar.y" /* glr.c:816 */
2419 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2421 #line 2422 "src/parser_proc.c" /* glr.c:816 */
2425 #line 431 "src/parser_proc_grammar.y" /* glr.c:816 */
2427 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2429 #line 2430 "src/parser_proc.c" /* glr.c:816 */
2433 #line 434 "src/parser_proc_grammar.y" /* glr.c:816 */
2435 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2437 #line 2438 "src/parser_proc.c" /* glr.c:816 */
2441 #line 437 "src/parser_proc_grammar.y" /* glr.c:816 */
2443 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2445 #line 2446 "src/parser_proc.c" /* glr.c:816 */
2449 #line 440 "src/parser_proc_grammar.y" /* glr.c:816 */
2451 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2453 #line 2454 "src/parser_proc.c" /* glr.c:816 */
2457 #line 443 "src/parser_proc_grammar.y" /* glr.c:816 */
2459 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2461 #line 2462 "src/parser_proc.c" /* glr.c:816 */
2465 #line 449 "src/parser_proc_grammar.y" /* glr.c:816 */
2467 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2469 #line 2470 "src/parser_proc.c" /* glr.c:816 */
2473 #line 455 "src/parser_proc_grammar.y" /* glr.c:816 */
2475 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2477 #line 2478 "src/parser_proc.c" /* glr.c:816 */
2481 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
2483 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2485 #line 2486 "src/parser_proc.c" /* glr.c:816 */
2489 #line 464 "src/parser_proc_grammar.y" /* glr.c:816 */
2491 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2492 struct psi_token
*msg
= NULL
;
2494 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2496 struct psi_token
*next
;
2498 msg
= psi_token_copy(msg
);
2499 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2500 struct psi_token
*old
= msg
;
2501 msg
= psi_token_cat(" ", 2, msg
, next
);
2505 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2507 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2509 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2511 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2513 #line 2514 "src/parser_proc.c" /* glr.c:816 */
2517 #line 487 "src/parser_proc_grammar.y" /* glr.c:816 */
2519 (*(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
))));
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 491 "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 (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2529 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2531 #line 2532 "src/parser_proc.c" /* glr.c:816 */
2535 #line 495 "src/parser_proc_grammar.y" /* glr.c:816 */
2537 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2538 (*(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
))));
2539 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2541 #line 2542 "src/parser_proc.c" /* glr.c:816 */
2545 #line 500 "src/parser_proc_grammar.y" /* glr.c:816 */
2547 (*(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
)));
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 504 "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_num_exp
**)(&((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 508 "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 (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2566 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2568 #line 2569 "src/parser_proc.c" /* glr.c:816 */
2572 #line 512 "src/parser_proc_grammar.y" /* glr.c:816 */
2574 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2575 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2577 #line 2578 "src/parser_proc.c" /* glr.c:816 */
2581 #line 565 "src/parser_proc_grammar.y" /* glr.c:816 */
2583 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2584 (*(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
);
2585 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2587 #line 2588 "src/parser_proc.c" /* glr.c:816 */
2591 #line 570 "src/parser_proc_grammar.y" /* glr.c:816 */
2593 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2594 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2595 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2597 #line 2598 "src/parser_proc.c" /* glr.c:816 */
2601 #line 578 "src/parser_proc_grammar.y" /* glr.c:816 */
2603 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2605 #line 2606 "src/parser_proc.c" /* glr.c:816 */
2609 #line 585 "src/parser_proc_grammar.y" /* glr.c:816 */
2611 (*(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
)));
2612 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2613 (*(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
)));
2615 #line 2616 "src/parser_proc.c" /* glr.c:816 */
2619 #line 590 "src/parser_proc_grammar.y" /* glr.c:816 */
2621 (*(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
)));
2622 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2623 (*(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
)));
2625 #line 2626 "src/parser_proc.c" /* glr.c:816 */
2629 #line 598 "src/parser_proc_grammar.y" /* glr.c:816 */
2631 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2633 #line 2634 "src/parser_proc.c" /* glr.c:816 */
2637 #line 605 "src/parser_proc_grammar.y" /* glr.c:816 */
2639 (*(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
)));
2640 (*(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
)));
2642 #line 2643 "src/parser_proc.c" /* glr.c:816 */
2646 #line 609 "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((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2651 #line 2652 "src/parser_proc.c" /* glr.c:816 */
2655 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
2657 (*(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
)));
2658 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
2660 #line 2661 "src/parser_proc.c" /* glr.c:816 */
2664 #line 620 "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 (-1)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2667 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2669 #line 2670 "src/parser_proc.c" /* glr.c:816 */
2673 #line 624 "src/parser_proc_grammar.y" /* glr.c:816 */
2675 (*(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
)));
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 628 "src/parser_proc_grammar.y" /* glr.c:816 */
2684 (*(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
)));
2685 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2687 #line 2688 "src/parser_proc.c" /* glr.c:816 */
2691 #line 633 "src/parser_proc_grammar.y" /* glr.c:816 */
2696 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2697 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2698 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2699 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2702 #line 2703 "src/parser_proc.c" /* glr.c:816 */
2706 #line 643 "src/parser_proc_grammar.y" /* glr.c:816 */
2711 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2712 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2713 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
2714 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2717 #line 2718 "src/parser_proc.c" /* glr.c:816 */
2721 #line 653 "src/parser_proc_grammar.y" /* glr.c:816 */
2723 (*(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
));
2724 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2725 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2727 #line 2728 "src/parser_proc.c" /* glr.c:816 */
2731 #line 658 "src/parser_proc_grammar.y" /* glr.c:816 */
2733 (*(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));
2734 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2735 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2737 #line 2738 "src/parser_proc.c" /* glr.c:816 */
2741 #line 663 "src/parser_proc_grammar.y" /* glr.c:816 */
2743 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2744 (*(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));
2745 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2746 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2748 #line 2749 "src/parser_proc.c" /* glr.c:816 */
2752 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
2754 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2755 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
2756 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));
2757 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2759 #line 2760 "src/parser_proc.c" /* glr.c:816 */
2763 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
2765 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
2767 #line 2768 "src/parser_proc.c" /* glr.c:816 */
2771 #line 685 "src/parser_proc_grammar.y" /* glr.c:816 */
2773 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
2774 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2776 #line 2777 "src/parser_proc.c" /* glr.c:816 */
2780 #line 689 "src/parser_proc_grammar.y" /* glr.c:816 */
2782 (*(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
)));
2784 #line 2785 "src/parser_proc.c" /* glr.c:816 */
2788 #line 695 "src/parser_proc_grammar.y" /* glr.c:816 */
2790 (*(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
)));
2791 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2793 #line 2794 "src/parser_proc.c" /* glr.c:816 */
2797 #line 702 "src/parser_proc_grammar.y" /* glr.c:816 */
2799 (*(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
);
2801 #line 2802 "src/parser_proc.c" /* glr.c:816 */
2805 #line 715 "src/parser_proc_grammar.y" /* glr.c:816 */
2807 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
2809 #line 2810 "src/parser_proc.c" /* glr.c:816 */
2813 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
2815 (*(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
);
2816 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2818 #line 2819 "src/parser_proc.c" /* glr.c:816 */
2822 #line 733 "src/parser_proc_grammar.y" /* glr.c:816 */
2824 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2826 #line 2827 "src/parser_proc.c" /* glr.c:816 */
2830 #line 740 "src/parser_proc_grammar.y" /* glr.c:816 */
2832 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
2833 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
2834 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
2836 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
2837 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
2839 #line 2840 "src/parser_proc.c" /* glr.c:816 */
2843 #line 748 "src/parser_proc_grammar.y" /* glr.c:816 */
2845 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2846 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
2847 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
2848 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
2850 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2851 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
2852 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2854 #line 2855 "src/parser_proc.c" /* glr.c:816 */
2858 #line 758 "src/parser_proc_grammar.y" /* glr.c:816 */
2860 (*(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
)));
2861 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
2862 (*(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
)));
2863 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2864 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
2865 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
2867 #line 2868 "src/parser_proc.c" /* glr.c:816 */
2871 #line 766 "src/parser_proc_grammar.y" /* glr.c:816 */
2873 (*(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
)));
2874 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
2875 (*(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
)));
2876 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
2877 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
2878 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
2880 #line 2881 "src/parser_proc.c" /* glr.c:816 */
2884 #line 774 "src/parser_proc_grammar.y" /* glr.c:816 */
2886 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2887 (*(struct psi_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));
2888 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2890 #line 2891 "src/parser_proc.c" /* glr.c:816 */
2894 #line 782 "src/parser_proc_grammar.y" /* glr.c:816 */
2896 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
2898 #line 2899 "src/parser_proc.c" /* glr.c:816 */
2902 #line 789 "src/parser_proc_grammar.y" /* glr.c:816 */
2904 (*(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
);
2905 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
2907 #line 2908 "src/parser_proc.c" /* glr.c:816 */
2911 #line 797 "src/parser_proc_grammar.y" /* glr.c:816 */
2913 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2914 (*(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
);
2915 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2917 #line 2918 "src/parser_proc.c" /* glr.c:816 */
2921 #line 802 "src/parser_proc_grammar.y" /* glr.c:816 */
2923 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2924 (*(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
);
2925 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2927 #line 2928 "src/parser_proc.c" /* glr.c:816 */
2931 #line 807 "src/parser_proc_grammar.y" /* glr.c:816 */
2933 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2934 (*(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
);
2935 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2937 #line 2938 "src/parser_proc.c" /* glr.c:816 */
2941 #line 817 "src/parser_proc_grammar.y" /* glr.c:816 */
2943 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2945 #line 2946 "src/parser_proc.c" /* glr.c:816 */
2949 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
2951 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2953 #line 2954 "src/parser_proc.c" /* glr.c:816 */
2957 #line 826 "src/parser_proc_grammar.y" /* glr.c:816 */
2959 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2961 #line 2962 "src/parser_proc.c" /* glr.c:816 */
2965 #line 829 "src/parser_proc_grammar.y" /* glr.c:816 */
2967 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2969 #line 2970 "src/parser_proc.c" /* glr.c:816 */
2973 #line 832 "src/parser_proc_grammar.y" /* glr.c:816 */
2975 (*(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
)));
2977 #line 2978 "src/parser_proc.c" /* glr.c:816 */
2981 #line 854 "src/parser_proc_grammar.y" /* glr.c:816 */
2983 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2985 #line 2986 "src/parser_proc.c" /* glr.c:816 */
2989 #line 857 "src/parser_proc_grammar.y" /* glr.c:816 */
2991 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2993 #line 2994 "src/parser_proc.c" /* glr.c:816 */
2997 #line 860 "src/parser_proc_grammar.y" /* glr.c:816 */
2999 (*(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
)));
3001 #line 3002 "src/parser_proc.c" /* glr.c:816 */
3005 #line 866 "src/parser_proc_grammar.y" /* glr.c:816 */
3007 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3009 #line 3010 "src/parser_proc.c" /* glr.c:816 */
3013 #line 869 "src/parser_proc_grammar.y" /* glr.c:816 */
3015 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3017 #line 3018 "src/parser_proc.c" /* glr.c:816 */
3021 #line 872 "src/parser_proc_grammar.y" /* glr.c:816 */
3023 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3024 (*(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
)));
3025 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3027 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3030 #line 3031 "src/parser_proc.c" /* glr.c:816 */
3034 #line 880 "src/parser_proc_grammar.y" /* glr.c:816 */
3036 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3037 (*(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
)));
3038 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3039 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3041 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3044 #line 3045 "src/parser_proc.c" /* glr.c:816 */
3048 #line 892 "src/parser_proc_grammar.y" /* glr.c:816 */
3050 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3052 #line 3053 "src/parser_proc.c" /* glr.c:816 */
3056 #line 895 "src/parser_proc_grammar.y" /* glr.c:816 */
3058 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3060 #line 3061 "src/parser_proc.c" /* glr.c:816 */
3064 #line 898 "src/parser_proc_grammar.y" /* glr.c:816 */
3066 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3067 (*(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
)));
3069 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3072 #line 3073 "src/parser_proc.c" /* glr.c:816 */
3076 #line 905 "src/parser_proc_grammar.y" /* glr.c:816 */
3078 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3080 #line 3081 "src/parser_proc.c" /* glr.c:816 */
3084 #line 908 "src/parser_proc_grammar.y" /* glr.c:816 */
3086 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3087 (*(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
)));
3089 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3092 #line 3093 "src/parser_proc.c" /* glr.c:816 */
3096 #line 918 "src/parser_proc_grammar.y" /* glr.c:816 */
3098 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3100 #line 3101 "src/parser_proc.c" /* glr.c:816 */
3104 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3106 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3108 #line 3109 "src/parser_proc.c" /* glr.c:816 */
3112 #line 932 "src/parser_proc_grammar.y" /* glr.c:816 */
3114 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3116 #line 3117 "src/parser_proc.c" /* glr.c:816 */
3120 #line 935 "src/parser_proc_grammar.y" /* glr.c:816 */
3122 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3124 #line 3125 "src/parser_proc.c" /* glr.c:816 */
3128 #line 938 "src/parser_proc_grammar.y" /* glr.c:816 */
3130 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3131 (*(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
)));
3132 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3134 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3137 #line 3138 "src/parser_proc.c" /* glr.c:816 */
3141 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3143 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3145 #line 3146 "src/parser_proc.c" /* glr.c:816 */
3149 #line 952 "src/parser_proc_grammar.y" /* glr.c:816 */
3151 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3153 #line 3154 "src/parser_proc.c" /* glr.c:816 */
3157 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
3159 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3161 #line 3162 "src/parser_proc.c" /* glr.c:816 */
3165 #line 979 "src/parser_proc_grammar.y" /* glr.c:816 */
3167 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3169 #line 3170 "src/parser_proc.c" /* glr.c:816 */
3173 #line 986 "src/parser_proc_grammar.y" /* glr.c:816 */
3175 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3176 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3178 #line 3179 "src/parser_proc.c" /* glr.c:816 */
3182 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
3184 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
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 1005 "src/parser_proc_grammar.y" /* glr.c:816 */
3196 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
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 1016 "src/parser_proc_grammar.y" /* glr.c:816 */
3209 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
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 1023 "src/parser_proc_grammar.y" /* glr.c:816 */
3221 (*(struct psi_decl
**)(&(*yyvalp
))) = psi_decl_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
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 1034 "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 1041 "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 1052 "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 1063 "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 1078 "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 1090 "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 1093 "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 1096 "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 1099 "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 1105 "src/parser_proc_grammar.y" /* glr.c:816 */
3340 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3341 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3342 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3344 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3345 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3347 #line 3348 "src/parser_proc.c" /* glr.c:816 */
3351 #line 1113 "src/parser_proc_grammar.y" /* glr.c:816 */
3353 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3355 #line 3356 "src/parser_proc.c" /* glr.c:816 */
3359 #line 1116 "src/parser_proc_grammar.y" /* glr.c:816 */
3361 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3362 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3363 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
),
3364 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)
3366 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3367 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3368 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3370 #line 3371 "src/parser_proc.c" /* glr.c:816 */
3374 #line 1126 "src/parser_proc_grammar.y" /* glr.c:816 */
3376 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3377 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3378 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
),
3379 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)
3381 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3382 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3383 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3385 #line 3386 "src/parser_proc.c" /* glr.c:816 */
3389 #line 1139 "src/parser_proc_grammar.y" /* glr.c:816 */
3391 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3392 (*(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
)));
3393 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3395 #line 3396 "src/parser_proc.c" /* glr.c:816 */
3399 #line 1144 "src/parser_proc_grammar.y" /* glr.c:816 */
3401 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3402 (*(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
)));
3403 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3405 #line 3406 "src/parser_proc.c" /* glr.c:816 */
3409 #line 1152 "src/parser_proc_grammar.y" /* glr.c:816 */
3411 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3412 (*(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
)));
3413 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3414 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3415 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3417 #line 3418 "src/parser_proc.c" /* glr.c:816 */
3421 #line 1162 "src/parser_proc_grammar.y" /* glr.c:816 */
3423 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3424 (*(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
)));
3425 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3426 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3427 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3429 #line 3430 "src/parser_proc.c" /* glr.c:816 */
3433 #line 1172 "src/parser_proc_grammar.y" /* glr.c:816 */
3435 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3437 #line 3438 "src/parser_proc.c" /* glr.c:816 */
3441 #line 1179 "src/parser_proc_grammar.y" /* glr.c:816 */
3443 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3445 #line 3446 "src/parser_proc.c" /* glr.c:816 */
3449 #line 1185 "src/parser_proc_grammar.y" /* glr.c:816 */
3451 (*(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
)));
3453 #line 3454 "src/parser_proc.c" /* glr.c:816 */
3457 #line 1188 "src/parser_proc_grammar.y" /* glr.c:816 */
3459 (*(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
)));
3461 #line 3462 "src/parser_proc.c" /* glr.c:816 */
3465 #line 1194 "src/parser_proc_grammar.y" /* glr.c:816 */
3467 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3468 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3469 psi_parser_proc_add_from_typedef(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
))));
3471 #line 3472 "src/parser_proc.c" /* glr.c:816 */
3475 #line 1202 "src/parser_proc_grammar.y" /* glr.c:816 */
3477 (*(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
)));
3478 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3480 #line 3481 "src/parser_proc.c" /* glr.c:816 */
3484 #line 1209 "src/parser_proc_grammar.y" /* glr.c:816 */
3486 (*(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
)));
3488 #line 3489 "src/parser_proc.c" /* glr.c:816 */
3492 #line 1212 "src/parser_proc_grammar.y" /* glr.c:816 */
3494 (*(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
)));
3496 #line 3497 "src/parser_proc.c" /* glr.c:816 */
3500 #line 1218 "src/parser_proc_grammar.y" /* glr.c:816 */
3502 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3503 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
3504 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3506 #line 3507 "src/parser_proc.c" /* glr.c:816 */
3510 #line 1223 "src/parser_proc_grammar.y" /* glr.c:816 */
3512 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3513 (*(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
)));
3514 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3516 #line 3517 "src/parser_proc.c" /* glr.c:816 */
3520 #line 1231 "src/parser_proc_grammar.y" /* glr.c:816 */
3522 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3523 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3525 #line 3526 "src/parser_proc.c" /* glr.c:816 */
3529 #line 1235 "src/parser_proc_grammar.y" /* glr.c:816 */
3531 (*(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
)));
3532 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
3534 #line 3535 "src/parser_proc.c" /* glr.c:816 */
3538 #line 1239 "src/parser_proc_grammar.y" /* glr.c:816 */
3540 (*(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
)));
3541 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3543 #line 3544 "src/parser_proc.c" /* glr.c:816 */
3547 #line 1243 "src/parser_proc_grammar.y" /* glr.c:816 */
3549 (*(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
)));
3550 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3552 #line 3553 "src/parser_proc.c" /* glr.c:816 */
3556 #line 1247 "src/parser_proc_grammar.y" /* glr.c:816 */
3558 (*(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
)));
3559 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3561 #line 3562 "src/parser_proc.c" /* glr.c:816 */
3565 #line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */
3567 (*(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
)));
3568 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3570 #line 3571 "src/parser_proc.c" /* glr.c:816 */
3574 #line 1258 "src/parser_proc_grammar.y" /* glr.c:816 */
3576 (*(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
);
3577 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3579 #line 3580 "src/parser_proc.c" /* glr.c:816 */
3583 #line 1262 "src/parser_proc_grammar.y" /* glr.c:816 */
3585 (*(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);
3586 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3588 #line 3589 "src/parser_proc.c" /* glr.c:816 */
3592 #line 1266 "src/parser_proc_grammar.y" /* glr.c:816 */
3594 (*(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);
3595 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3597 #line 3598 "src/parser_proc.c" /* glr.c:816 */
3601 #line 1270 "src/parser_proc_grammar.y" /* glr.c:816 */
3603 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
3604 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3606 #line 3607 "src/parser_proc.c" /* glr.c:816 */
3610 #line 1277 "src/parser_proc_grammar.y" /* glr.c:816 */
3612 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3613 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3617 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3618 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3621 #line 3622 "src/parser_proc.c" /* glr.c:816 */
3625 #line 1290 "src/parser_proc_grammar.y" /* glr.c:816 */
3627 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3628 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3632 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3633 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3636 #line 3637 "src/parser_proc.c" /* glr.c:816 */
3640 #line 1303 "src/parser_proc_grammar.y" /* glr.c:816 */
3642 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3643 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3647 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
3648 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
3651 #line 3652 "src/parser_proc.c" /* glr.c:816 */
3655 #line 1316 "src/parser_proc_grammar.y" /* glr.c:816 */
3657 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3659 #line 3660 "src/parser_proc.c" /* glr.c:816 */
3663 #line 1319 "src/parser_proc_grammar.y" /* glr.c:816 */
3665 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3666 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
3668 #line 3669 "src/parser_proc.c" /* glr.c:816 */
3672 #line 1326 "src/parser_proc_grammar.y" /* glr.c:816 */
3674 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
3676 #line 3677 "src/parser_proc.c" /* glr.c:816 */
3680 #line 1329 "src/parser_proc_grammar.y" /* glr.c:816 */
3682 (*(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
));
3684 #line 3685 "src/parser_proc.c" /* glr.c:816 */
3688 #line 1335 "src/parser_proc_grammar.y" /* glr.c:816 */
3690 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
3691 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
3693 #line 3694 "src/parser_proc.c" /* glr.c:816 */
3697 #line 1339 "src/parser_proc_grammar.y" /* glr.c:816 */
3699 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
3700 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3702 #line 3703 "src/parser_proc.c" /* glr.c:816 */
3706 #line 1346 "src/parser_proc_grammar.y" /* glr.c:816 */
3708 (*(size_t*)(&(*yyvalp
))) = 0;
3710 #line 3711 "src/parser_proc.c" /* glr.c:816 */
3714 #line 1349 "src/parser_proc_grammar.y" /* glr.c:816 */
3716 (*(size_t*)(&(*yyvalp
))) = atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3718 #line 3719 "src/parser_proc.c" /* glr.c:816 */
3722 #line 1355 "src/parser_proc_grammar.y" /* glr.c:816 */
3724 (*(size_t*)(&(*yyvalp
))) = 0;
3726 #line 3727 "src/parser_proc.c" /* glr.c:816 */
3730 #line 1358 "src/parser_proc_grammar.y" /* glr.c:816 */
3732 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3734 #line 3735 "src/parser_proc.c" /* glr.c:816 */
3738 #line 1365 "src/parser_proc_grammar.y" /* glr.c:816 */
3740 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3742 #line 3743 "src/parser_proc.c" /* glr.c:816 */
3746 #line 1371 "src/parser_proc_grammar.y" /* glr.c:816 */
3748 (*(size_t*)(&(*yyvalp
))) = 1;
3750 #line 3751 "src/parser_proc.c" /* glr.c:816 */
3754 #line 1374 "src/parser_proc_grammar.y" /* glr.c:816 */
3756 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
3758 #line 3759 "src/parser_proc.c" /* glr.c:816 */
3762 #line 1386 "src/parser_proc_grammar.y" /* glr.c:816 */
3764 (*(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
)));
3766 #line 3767 "src/parser_proc.c" /* glr.c:816 */
3770 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
3772 (*(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
)));
3773 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
3775 #line 3776 "src/parser_proc.c" /* glr.c:816 */
3779 #line 1396 "src/parser_proc_grammar.y" /* glr.c:816 */
3781 (*(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
)));
3782 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3783 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
3785 #line 3786 "src/parser_proc.c" /* glr.c:816 */
3789 #line 1401 "src/parser_proc_grammar.y" /* glr.c:816 */
3791 (*(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
)));
3792 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3793 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
3795 #line 3796 "src/parser_proc.c" /* glr.c:816 */
3799 #line 1406 "src/parser_proc_grammar.y" /* glr.c:816 */
3801 (*(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
)));
3802 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
3803 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
3804 (*(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
);
3805 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3807 #line 3808 "src/parser_proc.c" /* glr.c:816 */
3811 #line 1416 "src/parser_proc_grammar.y" /* glr.c:816 */
3813 (*(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
)));
3815 #line 3816 "src/parser_proc.c" /* glr.c:816 */
3819 #line 1419 "src/parser_proc_grammar.y" /* glr.c:816 */
3821 (*(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
)));
3823 #line 3824 "src/parser_proc.c" /* glr.c:816 */
3827 #line 1425 "src/parser_proc_grammar.y" /* glr.c:816 */
3829 (*(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
);
3831 #line 3832 "src/parser_proc.c" /* glr.c:816 */
3835 #line 1428 "src/parser_proc_grammar.y" /* glr.c:816 */
3837 (*(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
)));
3839 #line 3840 "src/parser_proc.c" /* glr.c:816 */
3843 #line 1434 "src/parser_proc_grammar.y" /* glr.c:816 */
3845 (*(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
)));
3846 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3848 #line 3849 "src/parser_proc.c" /* glr.c:816 */
3852 #line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */
3854 (*(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
);
3855 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3857 #line 3858 "src/parser_proc.c" /* glr.c:816 */
3861 #line 1460 "src/parser_proc_grammar.y" /* glr.c:816 */
3863 (*(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
)));
3865 #line 3866 "src/parser_proc.c" /* glr.c:816 */
3869 #line 1463 "src/parser_proc_grammar.y" /* glr.c:816 */
3871 (*(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
)));
3873 #line 3874 "src/parser_proc.c" /* glr.c:816 */
3877 #line 1469 "src/parser_proc_grammar.y" /* glr.c:816 */
3879 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3881 #line 3882 "src/parser_proc.c" /* glr.c:816 */
3885 #line 1472 "src/parser_proc_grammar.y" /* glr.c:816 */
3887 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3889 #line 3890 "src/parser_proc.c" /* glr.c:816 */
3893 #line 1475 "src/parser_proc_grammar.y" /* glr.c:816 */
3895 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3897 #line 3898 "src/parser_proc.c" /* glr.c:816 */
3901 #line 1478 "src/parser_proc_grammar.y" /* glr.c:816 */
3903 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3905 #line 3906 "src/parser_proc.c" /* glr.c:816 */
3909 #line 1481 "src/parser_proc_grammar.y" /* glr.c:816 */
3911 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3913 #line 3914 "src/parser_proc.c" /* glr.c:816 */
3917 #line 1487 "src/parser_proc_grammar.y" /* glr.c:816 */
3919 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3920 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3922 #line 3923 "src/parser_proc.c" /* glr.c:816 */
3926 #line 1491 "src/parser_proc_grammar.y" /* glr.c:816 */
3928 (*(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
))));
3929 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3930 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3932 #line 3933 "src/parser_proc.c" /* glr.c:816 */
3936 #line 1500 "src/parser_proc_grammar.y" /* glr.c:816 */
3938 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3939 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
3941 #line 3942 "src/parser_proc.c" /* glr.c:816 */
3945 #line 1504 "src/parser_proc_grammar.y" /* glr.c:816 */
3947 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3948 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
3950 #line 3951 "src/parser_proc.c" /* glr.c:816 */
3954 #line 1511 "src/parser_proc_grammar.y" /* glr.c:816 */
3956 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
3958 #line 3959 "src/parser_proc.c" /* glr.c:816 */
3962 #line 1514 "src/parser_proc_grammar.y" /* glr.c:816 */
3964 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3966 #line 3967 "src/parser_proc.c" /* glr.c:816 */
3970 #line 1517 "src/parser_proc_grammar.y" /* glr.c:816 */
3972 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3974 #line 3975 "src/parser_proc.c" /* glr.c:816 */
3978 #line 1520 "src/parser_proc_grammar.y" /* glr.c:816 */
3980 (*(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
)));
3982 #line 3983 "src/parser_proc.c" /* glr.c:816 */
3986 #line 1523 "src/parser_proc_grammar.y" /* glr.c:816 */
3988 (*(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
)));
3990 #line 3991 "src/parser_proc.c" /* glr.c:816 */
3994 #line 1529 "src/parser_proc_grammar.y" /* glr.c:816 */
3996 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3997 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3999 #line 4000 "src/parser_proc.c" /* glr.c:816 */
4003 #line 1533 "src/parser_proc_grammar.y" /* glr.c:816 */
4005 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4006 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4007 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4009 #line 4010 "src/parser_proc.c" /* glr.c:816 */
4013 #line 1541 "src/parser_proc_grammar.y" /* glr.c:816 */
4015 (*(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
)));
4016 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4018 #line 4019 "src/parser_proc.c" /* glr.c:816 */
4022 #line 1548 "src/parser_proc_grammar.y" /* glr.c:816 */
4024 (*(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
)));
4025 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4026 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4028 #line 4029 "src/parser_proc.c" /* glr.c:816 */
4032 #line 1556 "src/parser_proc_grammar.y" /* glr.c:816 */
4034 (*(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
)));
4035 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4036 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4038 #line 4039 "src/parser_proc.c" /* glr.c:816 */
4042 #line 1577 "src/parser_proc_grammar.y" /* glr.c:816 */
4044 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4046 #line 4047 "src/parser_proc.c" /* glr.c:816 */
4050 #line 1580 "src/parser_proc_grammar.y" /* glr.c:816 */
4052 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4054 #line 4055 "src/parser_proc.c" /* glr.c:816 */
4058 #line 1586 "src/parser_proc_grammar.y" /* glr.c:816 */
4060 (*(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
)));
4062 #line 4063 "src/parser_proc.c" /* glr.c:816 */
4066 #line 1589 "src/parser_proc_grammar.y" /* glr.c:816 */
4068 (*(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
)));
4070 #line 4071 "src/parser_proc.c" /* glr.c:816 */
4074 #line 1600 "src/parser_proc_grammar.y" /* glr.c:816 */
4076 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4078 #line 4079 "src/parser_proc.c" /* glr.c:816 */
4082 #line 1603 "src/parser_proc_grammar.y" /* glr.c:816 */
4084 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4086 #line 4087 "src/parser_proc.c" /* glr.c:816 */
4090 #line 1609 "src/parser_proc_grammar.y" /* glr.c:816 */
4092 (*(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
)));
4094 #line 4095 "src/parser_proc.c" /* glr.c:816 */
4098 #line 1612 "src/parser_proc_grammar.y" /* glr.c:816 */
4100 (*(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
)));
4102 #line 4103 "src/parser_proc.c" /* glr.c:816 */
4106 #line 1618 "src/parser_proc_grammar.y" /* glr.c:816 */
4108 (*(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
))));
4109 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4111 #line 4112 "src/parser_proc.c" /* glr.c:816 */
4115 #line 1625 "src/parser_proc_grammar.y" /* glr.c:816 */
4117 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4118 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4120 #line 4121 "src/parser_proc.c" /* glr.c:816 */
4124 #line 1632 "src/parser_proc_grammar.y" /* glr.c:816 */
4126 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4128 #line 4129 "src/parser_proc.c" /* glr.c:816 */
4132 #line 1635 "src/parser_proc_grammar.y" /* glr.c:816 */
4134 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4136 #line 4137 "src/parser_proc.c" /* glr.c:816 */
4140 #line 1638 "src/parser_proc_grammar.y" /* glr.c:816 */
4142 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4143 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4145 #line 4146 "src/parser_proc.c" /* glr.c:816 */
4149 #line 1645 "src/parser_proc_grammar.y" /* glr.c:816 */
4151 (*(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
)));
4152 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4153 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4155 #line 4156 "src/parser_proc.c" /* glr.c:816 */
4159 #line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */
4161 (*(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
)));
4162 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4163 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
4165 #line 4166 "src/parser_proc.c" /* glr.c:816 */
4169 #line 1669 "src/parser_proc_grammar.y" /* glr.c:816 */
4171 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4173 #line 4174 "src/parser_proc.c" /* glr.c:816 */
4177 #line 1672 "src/parser_proc_grammar.y" /* glr.c:816 */
4179 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4181 #line 4182 "src/parser_proc.c" /* glr.c:816 */
4185 #line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */
4187 (*(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
)));
4189 #line 4190 "src/parser_proc.c" /* glr.c:816 */
4193 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
4195 (*(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
)));
4197 #line 4198 "src/parser_proc.c" /* glr.c:816 */
4201 #line 1687 "src/parser_proc_grammar.y" /* glr.c:816 */
4203 (*(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
)));
4204 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4206 #line 4207 "src/parser_proc.c" /* glr.c:816 */
4210 #line 1699 "src/parser_proc_grammar.y" /* glr.c:816 */
4212 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4213 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4215 #line 4216 "src/parser_proc.c" /* glr.c:816 */
4219 #line 1706 "src/parser_proc_grammar.y" /* glr.c:816 */
4221 (*(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
)));
4223 #line 4224 "src/parser_proc.c" /* glr.c:816 */
4227 #line 1709 "src/parser_proc_grammar.y" /* glr.c:816 */
4229 (*(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
)));
4231 #line 4232 "src/parser_proc.c" /* glr.c:816 */
4235 #line 1715 "src/parser_proc_grammar.y" /* glr.c:816 */
4237 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4238 (*(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
)));
4239 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4241 #line 4242 "src/parser_proc.c" /* glr.c:816 */
4245 #line 1723 "src/parser_proc_grammar.y" /* glr.c:816 */
4247 (*(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
)));
4249 #line 4250 "src/parser_proc.c" /* glr.c:816 */
4253 #line 1726 "src/parser_proc_grammar.y" /* glr.c:816 */
4255 (*(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
)));
4257 #line 4258 "src/parser_proc.c" /* glr.c:816 */
4261 #line 1732 "src/parser_proc_grammar.y" /* glr.c:816 */
4263 (*(bool*)(&(*yyvalp
))) = false;
4265 #line 4266 "src/parser_proc.c" /* glr.c:816 */
4269 #line 1735 "src/parser_proc_grammar.y" /* glr.c:816 */
4271 (*(bool*)(&(*yyvalp
))) = true;
4273 #line 4274 "src/parser_proc.c" /* glr.c:816 */
4277 #line 4278 "src/parser_proc.c" /* glr.c:816 */
4288 # undef YYRECOVERING
4293 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
4305 /* Bison grammar-table manipulation. */
4307 /*-----------------------------------------------.
4308 | Release the memory associated to this symbol. |
4309 `-----------------------------------------------*/
4312 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4320 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
4322 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4325 case 133: /* binary_op_token */
4326 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4328 #line 4329 "src/parser_proc.c" /* glr.c:846 */
4331 case 134: /* unary_op_token */
4332 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4334 #line 4335 "src/parser_proc.c" /* glr.c:846 */
4337 case 135: /* name_token */
4338 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4340 #line 4341 "src/parser_proc.c" /* glr.c:846 */
4343 case 136: /* any_noeol_token */
4344 #line 277 "src/parser_proc_grammar.y" /* glr.c:846 */
4346 #line 4347 "src/parser_proc.c" /* glr.c:846 */
4350 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4351 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4352 #line 4353 "src/parser_proc.c" /* glr.c:846 */
4356 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4357 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4358 #line 4359 "src/parser_proc.c" /* glr.c:846 */
4361 case 142: /* cpp_exp */
4362 #line 286 "src/parser_proc_grammar.y" /* glr.c:846 */
4363 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
4364 #line 4365 "src/parser_proc.c" /* glr.c:846 */
4367 case 144: /* cpp_message_token */
4368 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4370 #line 4371 "src/parser_proc.c" /* glr.c:846 */
4373 case 145: /* cpp_include_token */
4374 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4376 #line 4377 "src/parser_proc.c" /* glr.c:846 */
4379 case 146: /* cpp_header_token */
4380 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4382 #line 4383 "src/parser_proc.c" /* glr.c:846 */
4385 case 147: /* cpp_no_arg_token */
4386 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4388 #line 4389 "src/parser_proc.c" /* glr.c:846 */
4391 case 148: /* cpp_name_arg_token */
4392 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4394 #line 4395 "src/parser_proc.c" /* glr.c:846 */
4397 case 149: /* cpp_exp_arg_token */
4398 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4400 #line 4401 "src/parser_proc.c" /* glr.c:846 */
4403 case 150: /* cpp_special_name_token */
4404 #line 274 "src/parser_proc_grammar.y" /* glr.c:846 */
4406 #line 4407 "src/parser_proc.c" /* glr.c:846 */
4409 case 151: /* cpp_macro_decl */
4410 #line 288 "src/parser_proc_grammar.y" /* glr.c:846 */
4411 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
4412 #line 4413 "src/parser_proc.c" /* glr.c:846 */
4415 case 152: /* cpp_macro_sig */
4416 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4417 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4418 #line 4419 "src/parser_proc.c" /* glr.c:846 */
4421 case 153: /* cpp_macro_sig_args */
4422 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4423 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4424 #line 4425 "src/parser_proc.c" /* glr.c:846 */
4427 case 154: /* cpp_macro_decl_tokens */
4428 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4429 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4430 #line 4431 "src/parser_proc.c" /* glr.c:846 */
4433 case 155: /* cpp_macro_decl_token_list */
4434 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4435 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4436 #line 4437 "src/parser_proc.c" /* glr.c:846 */
4439 case 156: /* cpp_macro_exp */
4440 #line 292 "src/parser_proc_grammar.y" /* glr.c:846 */
4441 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
4442 #line 4443 "src/parser_proc.c" /* glr.c:846 */
4445 case 157: /* cpp_macro_call_args */
4446 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4447 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4448 #line 4449 "src/parser_proc.c" /* glr.c:846 */
4451 case 158: /* cpp_macro_call_arg_list */
4452 #line 290 "src/parser_proc_grammar.y" /* glr.c:846 */
4453 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4454 #line 4455 "src/parser_proc.c" /* glr.c:846 */
4457 case 159: /* constant */
4458 #line 298 "src/parser_proc_grammar.y" /* glr.c:846 */
4459 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
4460 #line 4461 "src/parser_proc.c" /* glr.c:846 */
4463 case 160: /* constant_type */
4464 #line 300 "src/parser_proc_grammar.y" /* glr.c:846 */
4465 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
4466 #line 4467 "src/parser_proc.c" /* glr.c:846 */
4469 case 161: /* constant_type_token */
4470 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
4472 #line 4473 "src/parser_proc.c" /* glr.c:846 */
4475 case 162: /* impl_def_val */
4476 #line 302 "src/parser_proc_grammar.y" /* glr.c:846 */
4477 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
4478 #line 4479 "src/parser_proc.c" /* glr.c:846 */
4481 case 163: /* impl_def_val_token */
4482 #line 295 "src/parser_proc_grammar.y" /* glr.c:846 */
4484 #line 4485 "src/parser_proc.c" /* glr.c:846 */
4487 case 164: /* decl_typedef */
4488 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4489 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4490 #line 4491 "src/parser_proc.c" /* glr.c:846 */
4493 case 165: /* typedef */
4494 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4495 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4496 #line 4497 "src/parser_proc.c" /* glr.c:846 */
4499 case 166: /* const_decl_type */
4500 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
4501 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4502 #line 4503 "src/parser_proc.c" /* glr.c:846 */
4505 case 167: /* decl_type */
4506 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
4507 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4508 #line 4509 "src/parser_proc.c" /* glr.c:846 */
4511 case 168: /* decl_type_complex */
4512 #line 311 "src/parser_proc_grammar.y" /* glr.c:846 */
4513 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
4514 #line 4515 "src/parser_proc.c" /* glr.c:846 */
4517 case 169: /* decl_type_simple */
4518 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
4519 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4520 #line 4521 "src/parser_proc.c" /* glr.c:846 */
4523 case 170: /* decl_real_type */
4524 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
4525 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4526 #line 4527 "src/parser_proc.c" /* glr.c:846 */
4529 case 171: /* decl_stdint_type */
4530 #line 308 "src/parser_proc_grammar.y" /* glr.c:846 */
4532 #line 4533 "src/parser_proc.c" /* glr.c:846 */
4535 case 172: /* int_signed */
4536 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4538 #line 4539 "src/parser_proc.c" /* glr.c:846 */
4541 case 173: /* int_width */
4542 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
4543 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4544 #line 4545 "src/parser_proc.c" /* glr.c:846 */
4547 case 174: /* decl_int_type */
4548 #line 305 "src/parser_proc_grammar.y" /* glr.c:846 */
4549 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4550 #line 4551 "src/parser_proc.c" /* glr.c:846 */
4553 case 175: /* int_signed_types */
4554 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
4555 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4556 #line 4557 "src/parser_proc.c" /* glr.c:846 */
4559 case 176: /* signed_short_types */
4560 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4562 #line 4563 "src/parser_proc.c" /* glr.c:846 */
4565 case 177: /* signed_long_types */
4566 #line 283 "src/parser_proc_grammar.y" /* glr.c:846 */
4568 #line 4569 "src/parser_proc.c" /* glr.c:846 */
4571 case 178: /* int_width_types */
4572 #line 280 "src/parser_proc_grammar.y" /* glr.c:846 */
4573 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4574 #line 4575 "src/parser_proc.c" /* glr.c:846 */
4577 case 179: /* decl_stmt */
4578 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
4579 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4580 #line 4581 "src/parser_proc.c" /* glr.c:846 */
4583 case 185: /* decl */
4584 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
4585 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4586 #line 4587 "src/parser_proc.c" /* glr.c:846 */
4589 case 186: /* decl_body */
4590 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
4591 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4592 #line 4593 "src/parser_proc.c" /* glr.c:846 */
4595 case 187: /* decl_func_body */
4596 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
4597 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4598 #line 4599 "src/parser_proc.c" /* glr.c:846 */
4601 case 188: /* decl_functor_body */
4602 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
4603 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
4604 #line 4605 "src/parser_proc.c" /* glr.c:846 */
4607 case 189: /* decl_functor */
4608 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4609 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4610 #line 4611 "src/parser_proc.c" /* glr.c:846 */
4613 case 190: /* decl_func */
4614 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4615 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4616 #line 4617 "src/parser_proc.c" /* glr.c:846 */
4619 case 191: /* decl_args */
4620 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4621 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4622 #line 4623 "src/parser_proc.c" /* glr.c:846 */
4625 case 192: /* decl_arg */
4626 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4627 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4628 #line 4629 "src/parser_proc.c" /* glr.c:846 */
4631 case 193: /* decl_var */
4632 #line 317 "src/parser_proc_grammar.y" /* glr.c:846 */
4633 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
4634 #line 4635 "src/parser_proc.c" /* glr.c:846 */
4637 case 194: /* decl_union */
4638 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
4639 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
4640 #line 4641 "src/parser_proc.c" /* glr.c:846 */
4643 case 195: /* decl_struct */
4644 #line 319 "src/parser_proc_grammar.y" /* glr.c:846 */
4645 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
4646 #line 4647 "src/parser_proc.c" /* glr.c:846 */
4649 case 196: /* decl_struct_args */
4650 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4651 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4652 #line 4653 "src/parser_proc.c" /* glr.c:846 */
4655 case 197: /* struct_args_block */
4656 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4657 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4658 #line 4659 "src/parser_proc.c" /* glr.c:846 */
4661 case 198: /* struct_args */
4662 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4663 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4664 #line 4665 "src/parser_proc.c" /* glr.c:846 */
4667 case 199: /* struct_arg */
4668 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
4669 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
4670 #line 4671 "src/parser_proc.c" /* glr.c:846 */
4673 case 200: /* decl_enum */
4674 #line 323 "src/parser_proc_grammar.y" /* glr.c:846 */
4675 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
4676 #line 4677 "src/parser_proc.c" /* glr.c:846 */
4679 case 201: /* decl_enum_items */
4680 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4681 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4682 #line 4683 "src/parser_proc.c" /* glr.c:846 */
4685 case 202: /* decl_enum_item */
4686 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
4687 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
4688 #line 4689 "src/parser_proc.c" /* glr.c:846 */
4691 case 203: /* num_exp */
4692 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
4693 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
4694 #line 4695 "src/parser_proc.c" /* glr.c:846 */
4697 case 204: /* number */
4698 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
4699 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
4700 #line 4701 "src/parser_proc.c" /* glr.c:846 */
4703 case 205: /* enum_name */
4704 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4705 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4706 #line 4707 "src/parser_proc.c" /* glr.c:846 */
4709 case 206: /* union_name */
4710 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4711 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4712 #line 4713 "src/parser_proc.c" /* glr.c:846 */
4715 case 207: /* struct_name */
4716 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4717 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4718 #line 4719 "src/parser_proc.c" /* glr.c:846 */
4721 case 208: /* optional_name */
4722 #line 271 "src/parser_proc_grammar.y" /* glr.c:846 */
4723 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4724 #line 4725 "src/parser_proc.c" /* glr.c:846 */
4727 case 209: /* decl_layout */
4728 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
4729 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
4730 #line 4731 "src/parser_proc.c" /* glr.c:846 */
4733 case 210: /* align_and_size */
4734 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
4736 #line 4737 "src/parser_proc.c" /* glr.c:846 */
4739 case 211: /* array_size */
4740 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4742 #line 4743 "src/parser_proc.c" /* glr.c:846 */
4745 case 212: /* indirection */
4746 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4748 #line 4749 "src/parser_proc.c" /* glr.c:846 */
4751 case 213: /* pointers */
4752 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4754 #line 4755 "src/parser_proc.c" /* glr.c:846 */
4757 case 214: /* asterisks */
4758 #line 383 "src/parser_proc_grammar.y" /* glr.c:846 */
4760 #line 4761 "src/parser_proc.c" /* glr.c:846 */
4763 case 215: /* impl */
4764 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
4765 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
4766 #line 4767 "src/parser_proc.c" /* glr.c:846 */
4769 case 216: /* impl_func */
4770 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
4771 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
4772 #line 4773 "src/parser_proc.c" /* glr.c:846 */
4775 case 217: /* impl_args */
4776 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4777 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4778 #line 4779 "src/parser_proc.c" /* glr.c:846 */
4781 case 218: /* impl_arg */
4782 #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */
4783 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
4784 #line 4785 "src/parser_proc.c" /* glr.c:846 */
4787 case 219: /* impl_var */
4788 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
4789 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
4790 #line 4791 "src/parser_proc.c" /* glr.c:846 */
4793 case 220: /* impl_type */
4794 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
4795 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
4796 #line 4797 "src/parser_proc.c" /* glr.c:846 */
4799 case 221: /* impl_type_token */
4800 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4801 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4802 #line 4803 "src/parser_proc.c" /* glr.c:846 */
4805 case 222: /* impl_stmts */
4806 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4807 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4808 #line 4809 "src/parser_proc.c" /* glr.c:846 */
4811 case 223: /* impl_stmt */
4812 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
4813 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
4814 #line 4815 "src/parser_proc.c" /* glr.c:846 */
4817 case 224: /* let_stmt */
4818 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
4819 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
4820 #line 4821 "src/parser_proc.c" /* glr.c:846 */
4823 case 225: /* let_exp */
4824 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
4825 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
4826 #line 4827 "src/parser_proc.c" /* glr.c:846 */
4829 case 226: /* let_exp_byref */
4830 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
4831 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
4832 #line 4833 "src/parser_proc.c" /* glr.c:846 */
4835 case 227: /* let_exp_assign */
4836 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
4837 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
4838 #line 4839 "src/parser_proc.c" /* glr.c:846 */
4841 case 228: /* let_calloc */
4842 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
4843 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
4844 #line 4845 "src/parser_proc.c" /* glr.c:846 */
4847 case 229: /* let_callback */
4848 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
4849 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
4850 #line 4851 "src/parser_proc.c" /* glr.c:846 */
4853 case 230: /* let_func */
4854 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
4855 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
4856 #line 4857 "src/parser_proc.c" /* glr.c:846 */
4859 case 231: /* let_func_token */
4860 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4861 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4862 #line 4863 "src/parser_proc.c" /* glr.c:846 */
4865 case 232: /* let_func_exps */
4866 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4867 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4868 #line 4869 "src/parser_proc.c" /* glr.c:846 */
4871 case 233: /* let_exps */
4872 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4873 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4874 #line 4875 "src/parser_proc.c" /* glr.c:846 */
4877 case 234: /* callback_rval */
4878 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4879 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4880 #line 4881 "src/parser_proc.c" /* glr.c:846 */
4883 case 235: /* callback_arg_list */
4884 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4885 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4886 #line 4887 "src/parser_proc.c" /* glr.c:846 */
4889 case 236: /* callback_args */
4890 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4891 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4892 #line 4893 "src/parser_proc.c" /* glr.c:846 */
4895 case 237: /* return_stmt */
4896 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
4897 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
4898 #line 4899 "src/parser_proc.c" /* glr.c:846 */
4901 case 238: /* set_stmt */
4902 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
4903 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
4904 #line 4905 "src/parser_proc.c" /* glr.c:846 */
4907 case 239: /* set_exp */
4908 #line 358 "src/parser_proc_grammar.y" /* glr.c:846 */
4909 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
4910 #line 4911 "src/parser_proc.c" /* glr.c:846 */
4913 case 240: /* set_func */
4914 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
4915 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
4916 #line 4917 "src/parser_proc.c" /* glr.c:846 */
4919 case 241: /* set_func_token */
4920 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4921 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4922 #line 4923 "src/parser_proc.c" /* glr.c:846 */
4925 case 242: /* set_func_exps */
4926 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4927 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4928 #line 4929 "src/parser_proc.c" /* glr.c:846 */
4931 case 243: /* set_exps */
4932 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4933 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4934 #line 4935 "src/parser_proc.c" /* glr.c:846 */
4937 case 244: /* assert_stmt */
4938 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
4939 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
4940 #line 4941 "src/parser_proc.c" /* glr.c:846 */
4943 case 245: /* assert_stmt_token */
4944 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
4945 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
4946 #line 4947 "src/parser_proc.c" /* glr.c:846 */
4949 case 246: /* free_stmt */
4950 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
4951 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
4952 #line 4953 "src/parser_proc.c" /* glr.c:846 */
4955 case 247: /* free_exps */
4956 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
4957 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4958 #line 4959 "src/parser_proc.c" /* glr.c:846 */
4961 case 248: /* free_exp */
4962 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
4963 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
4964 #line 4965 "src/parser_proc.c" /* glr.c:846 */
4967 case 249: /* decl_vars */
4968 #line 327 "src/parser_proc_grammar.y" /* glr.c:846 */
4969 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
4970 #line 4971 "src/parser_proc.c" /* glr.c:846 */
4973 case 250: /* reference */
4974 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
4976 #line 4977 "src/parser_proc.c" /* glr.c:846 */
4983 YY_IGNORE_MAYBE_UNINITIALIZED_END
4986 /** Number of symbols composing the right hand side of rule #RULE. */
4988 yyrhsLength (yyRuleNum yyrule
)
4990 return yyr2
[yyrule
];
4994 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
4996 if (yys
->yyresolved
)
4997 yydestruct (yymsg
, yystos
[yys
->yylrState
],
4998 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5004 if (yys
->yysemantics
.yyfirstVal
)
5005 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5007 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5008 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5012 if (yys
->yysemantics
.yyfirstVal
)
5014 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5017 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5019 yyrh
= yyrh
->yypred
, yyn
-= 1)
5020 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5025 /** Left-hand-side symbol for rule #YYRULE. */
5026 static inline yySymbol
5027 yylhsNonterm (yyRuleNum yyrule
)
5029 return yyr1
[yyrule
];
5032 #define yypact_value_is_default(Yystate) \
5033 (!!((Yystate) == (-534)))
5035 /** True iff LR state YYSTATE has only a default reduction (regardless
5037 static inline yybool
5038 yyisDefaultedState (yyStateNum yystate
)
5040 return yypact_value_is_default (yypact
[yystate
]);
5043 /** The default reduction for YYSTATE, assuming it has one. */
5044 static inline yyRuleNum
5045 yydefaultAction (yyStateNum yystate
)
5047 return yydefact
[yystate
];
5050 #define yytable_value_is_error(Yytable_value) \
5053 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5055 * R < 0: Reduce on rule -R.
5057 * R > 0: Shift to state R.
5058 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5059 * of conflicting reductions.
5062 yygetLRActions (yyStateNum yystate
, int yytoken
,
5063 int* yyaction
, const short int** yyconflicts
)
5065 int yyindex
= yypact
[yystate
] + yytoken
;
5066 if (yypact_value_is_default (yypact
[yystate
])
5067 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5069 *yyaction
= -yydefact
[yystate
];
5070 *yyconflicts
= yyconfl
;
5072 else if (! yytable_value_is_error (yytable
[yyindex
]))
5074 *yyaction
= yytable
[yyindex
];
5075 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5080 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5084 /** Compute post-reduction state.
5085 * \param yystate the current state
5086 * \param yysym the nonterminal to push on the stack
5088 static inline yyStateNum
5089 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5091 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5092 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5093 return yytable
[yyr
];
5095 return yydefgoto
[yysym
- YYNTOKENS
];
5098 static inline yybool
5099 yyisShiftAction (int yyaction
)
5101 return 0 < yyaction
;
5104 static inline yybool
5105 yyisErrorAction (int yyaction
)
5107 return yyaction
== 0;
5112 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
5113 * if YYISSTATE, and otherwise a semantic option. Callers should call
5114 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
5117 static inline yyGLRStackItem
*
5118 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
5120 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
5121 yystackp
->yyspaceLeft
-= 1;
5122 yystackp
->yynextFree
+= 1;
5123 yynewItem
->yystate
.yyisState
= yyisState
;
5127 /** Add a new semantic action that will execute the action for rule
5128 * YYRULE on the semantic values in YYRHS to the list of
5129 * alternative actions for YYSTATE. Assumes that YYRHS comes from
5130 * stack #YYK of *YYSTACKP. */
5132 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
5133 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5135 yySemanticOption
* yynewOption
=
5136 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
5137 YYASSERT (!yynewOption
->yyisState
);
5138 yynewOption
->yystate
= yyrhs
;
5139 yynewOption
->yyrule
= yyrule
;
5140 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
5142 yynewOption
->yyrawchar
= yychar
;
5143 yynewOption
->yyval
= yylval
;
5146 yynewOption
->yyrawchar
= YYEMPTY
;
5147 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
5148 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
5150 YY_RESERVE_GLRSTACK (yystackp
);
5155 /** Initialize YYSET to a singleton set containing an empty stack. */
5157 yyinitStateSet (yyGLRStateSet
* yyset
)
5160 yyset
->yycapacity
= 16;
5161 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
5162 if (! yyset
->yystates
)
5164 yyset
->yystates
[0] = YY_NULLPTR
;
5165 yyset
->yylookaheadNeeds
=
5166 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
5167 if (! yyset
->yylookaheadNeeds
)
5169 YYFREE (yyset
->yystates
);
5175 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
5177 YYFREE (yyset
->yystates
);
5178 YYFREE (yyset
->yylookaheadNeeds
);
5181 /** Initialize *YYSTACKP to a single empty stack, with total maximum
5182 * capacity for all stacks of YYSIZE. */
5184 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
5186 yystackp
->yyerrState
= 0;
5188 yystackp
->yyspaceLeft
= yysize
;
5190 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
5191 if (!yystackp
->yyitems
)
5193 yystackp
->yynextFree
= yystackp
->yyitems
;
5194 yystackp
->yysplitPoint
= YY_NULLPTR
;
5195 yystackp
->yylastDeleted
= YY_NULLPTR
;
5196 return yyinitStateSet (&yystackp
->yytops
);
5200 #if YYSTACKEXPANDABLE
5201 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
5202 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
5204 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
5205 stack from outside should be considered invalid after this call.
5206 We always expand when there are 1 or fewer items left AFTER an
5207 allocation, so that we can avoid having external pointers exist
5208 across an allocation. */
5210 yyexpandGLRStack (yyGLRStack
* yystackp
)
5212 yyGLRStackItem
* yynewItems
;
5213 yyGLRStackItem
* yyp0
, *yyp1
;
5216 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
5217 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
5218 yyMemoryExhausted (yystackp
);
5219 yynewSize
= 2*yysize
;
5220 if (YYMAXDEPTH
< yynewSize
)
5221 yynewSize
= YYMAXDEPTH
;
5222 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
5224 yyMemoryExhausted (yystackp
);
5225 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
5227 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
5230 if (*(yybool
*) yyp0
)
5232 yyGLRState
* yys0
= &yyp0
->yystate
;
5233 yyGLRState
* yys1
= &yyp1
->yystate
;
5234 if (yys0
->yypred
!= YY_NULLPTR
)
5236 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
5237 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
5238 yys1
->yysemantics
.yyfirstVal
=
5239 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
5243 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
5244 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
5245 if (yyv0
->yystate
!= YY_NULLPTR
)
5246 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
5247 if (yyv0
->yynext
!= YY_NULLPTR
)
5248 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
5251 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
5252 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
5253 yystackp
->yysplitPoint
, yystate
);
5255 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
5256 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
5257 yystackp
->yytops
.yystates
[yyn
] =
5258 YYRELOC (yystackp
->yyitems
, yynewItems
,
5259 yystackp
->yytops
.yystates
[yyn
], yystate
);
5260 YYFREE (yystackp
->yyitems
);
5261 yystackp
->yyitems
= yynewItems
;
5262 yystackp
->yynextFree
= yynewItems
+ yysize
;
5263 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
5268 yyfreeGLRStack (yyGLRStack
* yystackp
)
5270 YYFREE (yystackp
->yyitems
);
5271 yyfreeStateSet (&yystackp
->yytops
);
5274 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
5275 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
5278 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
5280 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
5281 yystackp
->yysplitPoint
= yys
;
5284 /** Invalidate stack #YYK in *YYSTACKP. */
5286 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
5288 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
5289 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
5290 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
5293 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
5294 only be done once after a deletion, and only when all other stacks have
5297 yyundeleteLastStack (yyGLRStack
* yystackp
)
5299 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
5301 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
5302 yystackp
->yytops
.yysize
= 1;
5303 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
5304 yystackp
->yylastDeleted
= YY_NULLPTR
;
5308 yyremoveDeletes (yyGLRStack
* yystackp
)
5312 while (yyj
< yystackp
->yytops
.yysize
)
5314 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
5318 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
5320 yystackp
->yytops
.yysize
-= 1;
5324 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
5325 /* In the current implementation, it's unnecessary to copy
5326 yystackp->yytops.yylookaheadNeeds[yyi] since, after
5327 yyremoveDeletes returns, the parser immediately either enters
5328 deterministic operation or shifts a token. However, it doesn't
5329 hurt, and the code might evolve to need it. */
5330 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
5331 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
5334 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
5335 (unsigned long int) yyi
, (unsigned long int) yyj
));
5343 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
5344 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
5345 * value *YYVALP and source location *YYLOCP. */
5347 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5351 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5353 yynewState
->yylrState
= yylrState
;
5354 yynewState
->yyposn
= yyposn
;
5355 yynewState
->yyresolved
= yytrue
;
5356 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5357 yynewState
->yysemantics
.yysval
= *yyvalp
;
5358 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5360 YY_RESERVE_GLRSTACK (yystackp
);
5363 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
5364 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
5365 * semantic value of YYRHS under the action for YYRULE. */
5367 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
5368 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
5370 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
5371 YYASSERT (yynewState
->yyisState
);
5373 yynewState
->yylrState
= yylrState
;
5374 yynewState
->yyposn
= yyposn
;
5375 yynewState
->yyresolved
= yyfalse
;
5376 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
5377 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
5378 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
5380 /* Invokes YY_RESERVE_GLRSTACK. */
5381 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
5385 # define YY_REDUCE_PRINT(Args)
5387 # define YY_REDUCE_PRINT(Args) \
5390 yy_reduce_print Args; \
5393 /*----------------------------------------------------------------------.
5394 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
5395 `----------------------------------------------------------------------*/
5398 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
5399 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5401 int yynrhs
= yyrhsLength (yyrule
);
5403 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
5404 (unsigned long int) yyk
, yyrule
- 1,
5405 (unsigned long int) yyrline
[yyrule
]);
5407 yyfillin (yyvsp
, 1, -yynrhs
);
5408 /* The symbols being reduced. */
5409 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
5411 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
5412 yy_symbol_print (stderr
,
5413 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
5414 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
5415 , P
, tokens
, index
);
5416 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
5417 YYFPRINTF (stderr
, " (unresolved)");
5418 YYFPRINTF (stderr
, "\n");
5423 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
5424 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
5425 * semantic values. Assumes that all ambiguities in semantic values
5426 * have been previously resolved. Set *YYVALP to the resulting value,
5427 * and *YYLOCP to the computed location (if any). Return value is as
5428 * for userAction. */
5429 static inline YYRESULTTAG
5430 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5431 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5433 int yynrhs
= yyrhsLength (yyrule
);
5435 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5437 /* Standard special case: single stack. */
5438 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
5439 YYASSERT (yyk
== 0);
5440 yystackp
->yynextFree
-= yynrhs
;
5441 yystackp
->yyspaceLeft
+= yynrhs
;
5442 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
5443 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
5444 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
5445 yyvalp
, P
, tokens
, index
);
5451 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
5452 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
5453 = yystackp
->yytops
.yystates
[yyk
];
5454 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
5459 yyupdateSplit (yystackp
, yys
);
5460 yystackp
->yytops
.yystates
[yyk
] = yys
;
5461 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
5462 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
5463 yystackp
, yyvalp
, P
, tokens
, index
);
5467 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
5468 * and push back on the resulting nonterminal symbol. Perform the
5469 * semantic action associated with YYRULE and store its value with the
5470 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
5471 * unambiguous. Otherwise, store the deferred semantic action with
5472 * the new state. If the new state would have an identical input
5473 * position, LR state, and predecessor to an existing state on the stack,
5474 * it is identified with that existing state, eliminating stack #YYK from
5475 * *YYSTACKP. In this case, the semantic value is
5476 * added to the options for the existing state's semantic value.
5478 static inline YYRESULTTAG
5479 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
5480 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5482 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
5484 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
5488 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
5489 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
5491 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
5492 (unsigned long int) yyk
, yyrule
- 1));
5496 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
5497 yyglrShift (yystackp
, yyk
,
5498 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
5499 yylhsNonterm (yyrule
)),
5506 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
5507 yyStateNum yynewLRState
;
5509 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
5515 yyupdateSplit (yystackp
, yys
);
5516 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
5518 "Reduced stack %lu by rule #%d; action deferred. "
5519 "Now in state %d.\n",
5520 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
5521 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
5522 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
5524 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
5525 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
5526 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
5528 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
5530 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
5531 yymarkStackDeleted (yystackp
, yyk
);
5532 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
5533 (unsigned long int) yyk
,
5534 (unsigned long int) yyi
));
5540 yystackp
->yytops
.yystates
[yyk
] = yys
;
5541 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
5547 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
5549 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
5551 YYASSERT (yyk
== 0);
5552 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
5554 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
5556 yyGLRState
** yynewStates
;
5557 yybool
* yynewLookaheadNeeds
;
5559 yynewStates
= YY_NULLPTR
;
5561 if (yystackp
->yytops
.yycapacity
5562 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
5563 yyMemoryExhausted (yystackp
);
5564 yystackp
->yytops
.yycapacity
*= 2;
5567 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
5568 (yystackp
->yytops
.yycapacity
5569 * sizeof yynewStates
[0]));
5570 if (yynewStates
== YY_NULLPTR
)
5571 yyMemoryExhausted (yystackp
);
5572 yystackp
->yytops
.yystates
= yynewStates
;
5574 yynewLookaheadNeeds
=
5575 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
5576 (yystackp
->yytops
.yycapacity
5577 * sizeof yynewLookaheadNeeds
[0]));
5578 if (yynewLookaheadNeeds
== YY_NULLPTR
)
5579 yyMemoryExhausted (yystackp
);
5580 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
5582 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
5583 = yystackp
->yytops
.yystates
[yyk
];
5584 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
5585 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
5586 yystackp
->yytops
.yysize
+= 1;
5587 return yystackp
->yytops
.yysize
-1;
5590 /** True iff YYY0 and YYY1 represent identical options at the top level.
5591 * That is, they represent the same rule applied to RHS symbols
5592 * that produce the same terminal symbols. */
5594 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5596 if (yyy0
->yyrule
== yyy1
->yyrule
)
5598 yyGLRState
*yys0
, *yys1
;
5600 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5601 yyn
= yyrhsLength (yyy0
->yyrule
);
5603 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5604 if (yys0
->yyposn
!= yys1
->yyposn
)
5612 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
5613 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
5615 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
5617 yyGLRState
*yys0
, *yys1
;
5619 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
5620 yyn
= yyrhsLength (yyy0
->yyrule
);
5622 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
5626 else if (yys0
->yyresolved
)
5628 yys1
->yyresolved
= yytrue
;
5629 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
5631 else if (yys1
->yyresolved
)
5633 yys0
->yyresolved
= yytrue
;
5634 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
5638 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
5639 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
5642 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
5644 else if (*yyz0p
== YY_NULLPTR
)
5649 else if (*yyz0p
< yyz1
)
5651 yySemanticOption
* yyz
= *yyz0p
;
5653 yyz1
= yyz1
->yynext
;
5654 (*yyz0p
)->yynext
= yyz
;
5656 yyz0p
= &(*yyz0p
)->yynext
;
5658 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
5663 /** Y0 and Y1 represent two possible actions to take in a given
5664 * parsing state; return 0 if no combination is possible,
5665 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
5667 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
5669 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
5670 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
5674 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
5679 if (p0
== 0 || p1
== 0)
5688 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
5689 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
5692 /** Resolve the previous YYN states starting at and including state YYS
5693 * on *YYSTACKP. If result != yyok, some states may have been left
5694 * unresolved possibly with empty semantic option chains. Regardless
5695 * of whether result = yyok, each state has been left with consistent
5696 * data so that yydestroyGLRState can be invoked if necessary. */
5698 yyresolveStates (yyGLRState
* yys
, int yyn
,
5699 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5703 YYASSERT (yys
->yypred
);
5704 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
5705 if (! yys
->yyresolved
)
5706 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
5711 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
5712 * user action, and return the semantic value and location in *YYVALP
5713 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
5714 * have been destroyed (assuming the user action destroys all RHS
5715 * semantic values if invoked). */
5717 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
5718 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5720 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
5721 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
5722 YYRESULTTAG yyflag
=
5723 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
5727 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
5728 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
5732 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
5734 int yychar_current
= yychar
;
5735 YYSTYPE yylval_current
= yylval
;
5736 yychar
= yyopt
->yyrawchar
;
5737 yylval
= yyopt
->yyval
;
5738 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
5739 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
5740 yystackp
, yyvalp
, P
, tokens
, index
);
5741 yychar
= yychar_current
;
5742 yylval
= yylval_current
;
5749 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
5751 int yynrhs
= yyrhsLength (yyx
->yyrule
);
5754 yyGLRState
* yystates
[1 + YYMAXRHS
];
5755 yyGLRState yyleftmost_state
;
5757 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
5758 yystates
[yyi
] = yys
;
5759 if (yys
== YY_NULLPTR
)
5761 yyleftmost_state
.yyposn
= 0;
5762 yystates
[0] = &yyleftmost_state
;
5767 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
5768 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
5769 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
5772 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
5773 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
5774 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
5775 (unsigned long int) yyx
->yystate
->yyposn
);
5776 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
5778 if (yystates
[yyi
]->yyresolved
)
5780 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
5781 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
5782 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
5784 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
5785 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
5786 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
5787 (unsigned long int) yystates
[yyi
]->yyposn
);
5790 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
5796 yyreportAmbiguity (yySemanticOption
* yyx0
,
5797 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5803 YYFPRINTF (stderr
, "Ambiguity detected.\n");
5804 YYFPRINTF (stderr
, "Option 1,\n");
5805 yyreportTree (yyx0
, 2);
5806 YYFPRINTF (stderr
, "\nOption 2,\n");
5807 yyreportTree (yyx1
, 2);
5808 YYFPRINTF (stderr
, "\n");
5811 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
5815 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
5816 * perform the indicated actions, and set the semantic value of YYS.
5817 * If result != yyok, the chain of semantic options in YYS has been
5818 * cleared instead or it has been left unmodified except that
5819 * redundant options may have been removed. Regardless of whether
5820 * result = yyok, YYS has been left with consistent data so that
5821 * yydestroyGLRState can be invoked if necessary. */
5823 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5825 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
5826 yySemanticOption
* yybest
= yyoptionList
;
5827 yySemanticOption
** yypp
;
5828 yybool yymerge
= yyfalse
;
5832 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
5834 yySemanticOption
* yyp
= *yypp
;
5836 if (yyidenticalOptions (yybest
, yyp
))
5838 yymergeOptionSets (yybest
, yyp
);
5839 *yypp
= yyp
->yynext
;
5843 switch (yypreference (yybest
, yyp
))
5846 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
5858 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
5859 but some compilers complain if the default case is
5863 yypp
= &yyp
->yynext
;
5869 yySemanticOption
* yyp
;
5870 int yyprec
= yydprec
[yybest
->yyrule
];
5871 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
5873 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
5875 if (yyprec
== yydprec
[yyp
->yyrule
])
5877 YYSTYPE yysval_other
;
5878 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
5881 yydestruct ("Cleanup: discarding incompletely merged value for",
5882 yystos
[yys
->yylrState
],
5883 &yysval
, P
, tokens
, index
);
5886 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
5891 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
5895 yys
->yyresolved
= yytrue
;
5896 yys
->yysemantics
.yysval
= yysval
;
5899 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
5904 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5906 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
5911 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
5912 yys
!= yystackp
->yysplitPoint
;
5913 yys
= yys
->yypred
, yyn
+= 1)
5915 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
5916 , P
, tokens
, index
));
5922 yycompressStack (yyGLRStack
* yystackp
)
5924 yyGLRState
* yyp
, *yyq
, *yyr
;
5926 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
5929 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
5930 yyp
!= yystackp
->yysplitPoint
;
5931 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
5934 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
5935 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
5936 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
5937 yystackp
->yysplitPoint
= YY_NULLPTR
;
5938 yystackp
->yylastDeleted
= YY_NULLPTR
;
5940 while (yyr
!= YY_NULLPTR
)
5942 yystackp
->yynextFree
->yystate
= *yyr
;
5944 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
5945 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
5946 yystackp
->yynextFree
+= 1;
5947 yystackp
->yyspaceLeft
-= 1;
5952 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
5953 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5955 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
5957 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
5958 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
5959 (unsigned long int) yyk
, yystate
));
5961 YYASSERT (yystate
!= YYFINAL
);
5963 if (yyisDefaultedState (yystate
))
5966 yyRuleNum yyrule
= yydefaultAction (yystate
);
5969 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
5970 (unsigned long int) yyk
));
5971 yymarkStackDeleted (yystackp
, yyk
);
5974 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
5975 if (yyflag
== yyerr
)
5979 "(predicate failure or explicit user error).\n",
5980 (unsigned long int) yyk
));
5981 yymarkStackDeleted (yystackp
, yyk
);
5991 const short int* yyconflicts
;
5993 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
5994 if (yychar
== YYEMPTY
)
5996 YYDPRINTF ((stderr
, "Reading a token: "));
5997 yychar
= yylex (&yylval
, P
, tokens
, index
);
6000 if (yychar
<= YYEOF
)
6002 yychar
= yytoken
= YYEOF
;
6003 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6007 yytoken
= YYTRANSLATE (yychar
);
6008 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6011 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6013 while (*yyconflicts
!= 0)
6016 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6017 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6018 (unsigned long int) yynewStack
,
6019 (unsigned long int) yyk
));
6020 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6022 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6024 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6025 yyposn
, P
, tokens
, index
));
6026 else if (yyflag
== yyerr
)
6028 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6029 (unsigned long int) yynewStack
));
6030 yymarkStackDeleted (yystackp
, yynewStack
);
6037 if (yyisShiftAction (yyaction
))
6039 else if (yyisErrorAction (yyaction
))
6041 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6042 (unsigned long int) yyk
));
6043 yymarkStackDeleted (yystackp
, yyk
);
6048 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6049 yyimmediate
[-yyaction
], P
, tokens
, index
);
6050 if (yyflag
== yyerr
)
6054 "(predicate failure or explicit user error).\n",
6055 (unsigned long int) yyk
));
6056 yymarkStackDeleted (yystackp
, yyk
);
6059 else if (yyflag
!= yyok
)
6068 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6070 if (yystackp
->yyerrState
!= 0)
6072 #if ! YYERROR_VERBOSE
6073 yyerror (P
, tokens
, index
, YY_("syntax error"));
6076 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6077 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6078 size_t yysize
= yysize0
;
6079 yybool yysize_overflow
= yyfalse
;
6080 char* yymsg
= YY_NULLPTR
;
6081 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6082 /* Internationalized format string. */
6083 const char *yyformat
= YY_NULLPTR
;
6084 /* Arguments of yyformat. */
6085 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6086 /* Number of reported tokens (one for the "unexpected", one per
6090 /* There are many possibilities here to consider:
6091 - If this state is a consistent state with a default action, then
6092 the only way this function was invoked is if the default action
6093 is an error action. In that case, don't check for expected
6094 tokens because there are none.
6095 - The only way there can be no lookahead present (in yychar) is if
6096 this state is a consistent state with a default action. Thus,
6097 detecting the absence of a lookahead is sufficient to determine
6098 that there is no unexpected or expected token to report. In that
6099 case, just report a simple "syntax error".
6100 - Don't assume there isn't a lookahead just because this state is a
6101 consistent state with a default action. There might have been a
6102 previous inconsistent state, consistent state with a non-default
6103 action, or user semantic action that manipulated yychar.
6104 - Of course, the expected token list depends on states to have
6105 correct lookahead information, and it depends on the parser not
6106 to perform extra reductions after fetching a lookahead from the
6107 scanner and before detecting a syntax error. Thus, state merging
6108 (from LALR or IELR) and default reductions corrupt the expected
6109 token list. However, the list is correct for canonical LR with
6110 one exception: it will still contain any token that will not be
6111 accepted due to an error action in a later state.
6113 if (yytoken
!= YYEMPTY
)
6115 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6116 yyarg
[yycount
++] = yytokenName (yytoken
);
6117 if (!yypact_value_is_default (yyn
))
6119 /* Start YYX at -YYN if negative to avoid negative indexes in
6120 YYCHECK. In other words, skip the first -YYN actions for this
6121 state because they are default actions. */
6122 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
6123 /* Stay within bounds of both yycheck and yytname. */
6124 int yychecklim
= YYLAST
- yyn
+ 1;
6125 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
6127 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
6128 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
6129 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
6131 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
6137 yyarg
[yycount
++] = yytokenName (yyx
);
6139 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
6140 yysize_overflow
|= yysz
< yysize
;
6149 #define YYCASE_(N, S) \
6153 YYCASE_(0, YY_("syntax error"));
6154 YYCASE_(1, YY_("syntax error, unexpected %s"));
6155 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
6156 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
6157 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
6158 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
6163 size_t yysz
= yysize
+ strlen (yyformat
);
6164 yysize_overflow
|= yysz
< yysize
;
6168 if (!yysize_overflow
)
6169 yymsg
= (char *) YYMALLOC (yysize
);
6175 while ((*yyp
= *yyformat
))
6177 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
6179 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
6188 yyerror (P
, tokens
, index
, yymsg
);
6193 yyerror (P
, tokens
, index
, YY_("syntax error"));
6194 yyMemoryExhausted (yystackp
);
6197 #endif /* YYERROR_VERBOSE */
6201 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
6202 yylval, and yylloc are the syntactic category, semantic value, and location
6203 of the lookahead. */
6205 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6210 if (yystackp
->yyerrState
== 3)
6211 /* We just shifted the error token and (perhaps) took some
6212 reductions. Skip tokens until we can proceed. */
6216 if (yychar
== YYEOF
)
6217 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6218 if (yychar
!= YYEMPTY
)
6220 yytoken
= YYTRANSLATE (yychar
);
6221 yydestruct ("Error: discarding",
6222 yytoken
, &yylval
, P
, tokens
, index
);
6224 YYDPRINTF ((stderr
, "Reading a token: "));
6225 yychar
= yylex (&yylval
, P
, tokens
, index
);
6226 if (yychar
<= YYEOF
)
6228 yychar
= yytoken
= YYEOF
;
6229 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6233 yytoken
= YYTRANSLATE (yychar
);
6234 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6236 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
6237 if (yypact_value_is_default (yyj
))
6240 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
6242 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
6245 else if (! yytable_value_is_error (yytable
[yyj
]))
6249 /* Reduce to one stack. */
6250 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6251 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6253 if (yyk
>= yystackp
->yytops
.yysize
)
6254 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6255 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
6256 yymarkStackDeleted (yystackp
, yyk
);
6257 yyremoveDeletes (yystackp
);
6258 yycompressStack (yystackp
);
6260 /* Now pop stack until we find a state that shifts the error token. */
6261 yystackp
->yyerrState
= 3;
6262 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
6264 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
6265 yyj
= yypact
[yys
->yylrState
];
6266 if (! yypact_value_is_default (yyj
))
6269 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
6270 && yyisShiftAction (yytable
[yyj
]))
6272 /* Shift the error token. */
6273 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
6274 &yylval
, &yyerrloc
);
6275 yyglrShift (yystackp
, 0, yytable
[yyj
],
6276 yys
->yyposn
, &yylval
);
6277 yys
= yystackp
->yytops
.yystates
[0];
6281 if (yys
->yypred
!= YY_NULLPTR
)
6282 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
6283 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
6284 yystackp
->yynextFree
-= 1;
6285 yystackp
->yyspaceLeft
+= 1;
6287 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
6288 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
6291 #define YYCHK1(YYE) \
6301 goto yyuser_error; \
6312 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6316 yyGLRStack
* const yystackp
= &yystack
;
6319 YYDPRINTF ((stderr
, "Starting parse\n"));
6322 yylval
= yyval_default
;
6324 /* User initialization code. */
6325 #line 117 "src/parser_proc_grammar.y" /* glr.c:2270 */
6329 #line 6330 "src/parser_proc.c" /* glr.c:2270 */
6331 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
6332 goto yyexhaustedlab
;
6333 switch (YYSETJMP (yystack
.yyexception_buffer
))
6336 case 1: goto yyabortlab
;
6337 case 2: goto yyexhaustedlab
;
6338 default: goto yybuglab
;
6340 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
6345 /* For efficiency, we have two loops, the first of which is
6346 specialized to deterministic operation (single stack, no
6347 potential ambiguity). */
6353 const short int* yyconflicts
;
6355 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
6356 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
6357 if (yystate
== YYFINAL
)
6359 if (yyisDefaultedState (yystate
))
6361 yyrule
= yydefaultAction (yystate
);
6365 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6368 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
6373 if (yychar
== YYEMPTY
)
6375 YYDPRINTF ((stderr
, "Reading a token: "));
6376 yychar
= yylex (&yylval
, P
, tokens
, index
);
6379 if (yychar
<= YYEOF
)
6381 yychar
= yytoken
= YYEOF
;
6382 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6386 yytoken
= YYTRANSLATE (yychar
);
6387 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6390 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6391 if (*yyconflicts
!= 0)
6393 if (yyisShiftAction (yyaction
))
6395 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
6398 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
6399 if (0 < yystack
.yyerrState
)
6400 yystack
.yyerrState
-= 1;
6402 else if (yyisErrorAction (yyaction
))
6405 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6409 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
6415 yySymbol yytoken_to_shift
;
6418 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6419 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
6421 /* yyprocessOneStack returns one of three things:
6423 - An error flag. If the caller is yyprocessOneStack, it
6424 immediately returns as well. When the caller is finally
6425 yyparse, it jumps to an error label via YYCHK1.
6427 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
6428 (&yystack, yys), which sets the top state of yys to NULL. Thus,
6429 yyparse's following invocation of yyremoveDeletes will remove
6432 - yyok, when ready to shift a token.
6434 Except in the first case, yyparse will invoke yyremoveDeletes and
6435 then shift the next token onto all remaining stacks. This
6436 synchronization of the shift (that is, after all preceding
6437 reductions on all stacks) helps prevent double destructor calls
6438 on yylval in the event of memory exhaustion. */
6440 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6441 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
6442 yyremoveDeletes (&yystack
);
6443 if (yystack
.yytops
.yysize
== 0)
6445 yyundeleteLastStack (&yystack
);
6446 if (yystack
.yytops
.yysize
== 0)
6447 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
6448 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6449 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6451 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
6455 /* If any yyglrShift call fails, it will fail after shifting. Thus,
6456 a copy of yylval will already be on stack 0 in the event of a
6457 failure in the following loop. Thus, yychar is set to YYEMPTY
6458 before the loop to make sure the user destructor for yylval isn't
6460 yytoken_to_shift
= YYTRANSLATE (yychar
);
6463 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
6466 const short int* yyconflicts
;
6467 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
6468 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
6470 /* Note that yyconflicts were handled by yyprocessOneStack. */
6471 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
6472 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
6473 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
6475 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
6476 (unsigned long int) yys
,
6477 yystack
.yytops
.yystates
[yys
]->yylrState
));
6480 if (yystack
.yytops
.yysize
== 1)
6482 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
6483 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
6484 yycompressStack (&yystack
);
6490 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
6491 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
6507 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
6512 if (yychar
!= YYEMPTY
)
6513 yydestruct ("Cleanup: discarding lookahead",
6514 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
6516 /* If the stack is well-formed, pop the stack until it is empty,
6517 destroying its entries as we go. But free the stack regardless
6518 of whether it is well-formed. */
6519 if (yystack
.yyitems
)
6521 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
6524 size_t yysize
= yystack
.yytops
.yysize
;
6526 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
6529 while (yystates
[yyk
])
6531 yyGLRState
*yys
= yystates
[yyk
];
6532 if (yys
->yypred
!= YY_NULLPTR
)
6533 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6534 yystates
[yyk
] = yys
->yypred
;
6535 yystack
.yynextFree
-= 1;
6536 yystack
.yyspaceLeft
+= 1;
6541 yyfreeGLRStack (&yystack
);
6547 /* DEBUGGING ONLY */
6550 yy_yypstack (yyGLRState
* yys
)
6554 yy_yypstack (yys
->yypred
);
6555 YYFPRINTF (stderr
, " -> ");
6557 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
6558 (unsigned long int) yys
->yyposn
);
6562 yypstates (yyGLRState
* yyst
)
6564 if (yyst
== YY_NULLPTR
)
6565 YYFPRINTF (stderr
, "<null>");
6568 YYFPRINTF (stderr
, "\n");
6572 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
6574 yypstates (yystackp
->yytops
.yystates
[yyk
]);
6577 #define YYINDEX(YYX) \
6578 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
6582 yypdumpstack (yyGLRStack
* yystackp
)
6584 yyGLRStackItem
* yyp
;
6586 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
6588 YYFPRINTF (stderr
, "%3lu. ",
6589 (unsigned long int) (yyp
- yystackp
->yyitems
));
6590 if (*(yybool
*) yyp
)
6592 YYASSERT (yyp
->yystate
.yyisState
);
6593 YYASSERT (yyp
->yyoption
.yyisState
);
6594 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
6595 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
6596 (unsigned long int) yyp
->yystate
.yyposn
,
6597 (long int) YYINDEX (yyp
->yystate
.yypred
));
6598 if (! yyp
->yystate
.yyresolved
)
6599 YYFPRINTF (stderr
, ", firstVal: %ld",
6600 (long int) YYINDEX (yyp
->yystate
6601 .yysemantics
.yyfirstVal
));
6605 YYASSERT (!yyp
->yystate
.yyisState
);
6606 YYASSERT (!yyp
->yyoption
.yyisState
);
6607 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
6608 yyp
->yyoption
.yyrule
- 1,
6609 (long int) YYINDEX (yyp
->yyoption
.yystate
),
6610 (long int) YYINDEX (yyp
->yyoption
.yynext
));
6612 YYFPRINTF (stderr
, "\n");
6614 YYFPRINTF (stderr
, "Tops:");
6615 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6616 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
6617 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
6618 YYFPRINTF (stderr
, "\n");
6626 /* Substitute the variable and function names. */
6627 #define yyparse psi_parser_proc_parse
6628 #define yylex psi_parser_proc_lex
6629 #define yyerror psi_parser_proc_error
6630 #define yylval psi_parser_proc_lval
6631 #define yychar psi_parser_proc_char
6632 #define yydebug psi_parser_proc_debug
6633 #define yynerrs psi_parser_proc_nerrs
6635 #line 1744 "src/parser_proc_grammar.y" /* glr.c:2584 */
6640 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6642 struct psi_token
*token
;
6644 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
6645 if (P
->flags
& PSI_DEBUG
) {
6646 psi_token_dump(2, token
);
6649 *((struct psi_token
**)lvalp
) = token
;
6653 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
6659 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
6661 struct psi_token
*T
= NULL
;
6670 psi_plist_get(tokens
, last
, &T
);
6672 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
6674 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);