1 /* A Bison parser, made by GNU Bison 3.0.4. */
3 /* Skeleton implementation for Bison GLR parsers in C
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C GLR parser skeleton written by Paul Hilfinger. */
35 /* Identify Bison output. */
39 #define YYBISON_VERSION "3.0.4"
42 #define YYSKELETON_NAME "glr.c"
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
51 #include "php_psi_stdinc.h"
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
63 /* First part of user declarations. */
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
75 #include "parser_proc.h"
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
82 # define YYERROR_VERBOSE 1
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default
;
91 /* Copy the second part of user declarations. */
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
104 #define PSI_PARSER_PROC_DEBUG 1
106 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
107 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
109 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
113 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
115 P
->structs
= psi_plist_add(P
->structs
, &strct
);
117 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
121 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
123 P
->unions
= psi_plist_add(P
->unions
, &u
);
125 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
129 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
131 P
->enums
= psi_plist_add(P
->enums
, &e
);
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg
*def
)
135 switch (def
->type
->type
) {
137 if (!psi_decl_type_is_anon(def
->type
->name
, "struct")) {
142 if (!psi_decl_type_is_anon(def
->type
->name
, "union")) {
147 if (!psi_decl_type_is_anon(def
->type
->name
, "enum")) {
154 free(def
->type
->name
);
155 def
->type
->name
= strdup(def
->var
->name
);
157 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
161 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
163 psi_parser_proc_deanon_typedef(def
);
164 P
->types
= psi_plist_add(P
->types
, &def
);
166 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
169 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
171 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
174 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
177 if (psi_decl_is_blacklisted(decl
->func
->var
->name
)) {
178 psi_decl_free(&decl
);
183 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
185 P
->decls
= psi_plist_add(P
->decls
, &decl
);
187 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
190 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
192 P
->impls
= psi_plist_add(P
->impls
, &impl
);
197 #line 198 "src/parser_proc.c" /* glr.c:264 */
204 # if defined YYENABLE_NLS && YYENABLE_NLS
206 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
207 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
211 # define YY_(Msgid) Msgid
219 # define YYMALLOC malloc
222 # define YYREALLOC realloc
225 #define YYSIZEMAX ((size_t) -1)
230 typedef unsigned char yybool
;
237 # define YYJMP_BUF jmp_buf
238 # define YYSETJMP(Env) setjmp (Env)
240 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
244 # if (defined __GNUC__ \
245 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
246 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
247 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
249 # define YY_ATTRIBUTE(Spec) /* empty */
253 #ifndef YY_ATTRIBUTE_PURE
254 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
257 #ifndef YY_ATTRIBUTE_UNUSED
258 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
261 #if !defined _Noreturn \
262 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
263 # if defined _MSC_VER && 1200 <= _MSC_VER
264 # define _Noreturn __declspec (noreturn)
266 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
270 /* Suppress unused-variable warnings by "using" E. */
271 #if ! defined lint || defined __GNUC__
272 # define YYUSE(E) ((void) (E))
274 # define YYUSE(E) /* empty */
277 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
278 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
279 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
280 _Pragma ("GCC diagnostic push") \
281 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
282 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
283 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
284 _Pragma ("GCC diagnostic pop")
286 # define YY_INITIAL_VALUE(Value) Value
288 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
289 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
290 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
292 #ifndef YY_INITIAL_VALUE
293 # define YY_INITIAL_VALUE(Value) /* Nothing. */
298 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
301 /* YYFINAL -- State number of the termination state. */
303 /* YYLAST -- Last index in YYTABLE. */
306 /* YYNTOKENS -- Number of terminals. */
307 #define YYNTOKENS 140
308 /* YYNNTS -- Number of nonterminals. */
310 /* YYNRULES -- Number of rules. */
312 /* YYNRULES -- Number of states. */
313 #define YYNSTATES 896
314 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
316 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
317 accessed by $0, $-1, etc., in any rule. */
320 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
322 #define YYMAXUTOK 394
324 #define YYTRANSLATE(YYX) \
325 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
327 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
328 static const unsigned char yytranslate
[] =
330 0, 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, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
356 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
357 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
358 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
359 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
360 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
361 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
362 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
363 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
364 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
365 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
366 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
367 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
368 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
369 135, 136, 137, 138, 139
373 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
374 static const unsigned short int yyrline
[] =
376 0, 424, 424, 424, 424, 424, 424, 424, 424, 424,
377 424, 424, 424, 424, 424, 424, 424, 424, 424, 424,
378 425, 425, 425, 425, 426, 426, 426, 426, 426, 426,
379 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
380 426, 426, 426, 427, 427, 427, 427, 427, 427, 427,
381 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
382 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
383 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
384 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
385 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
386 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
387 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
388 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
389 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
390 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
391 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
392 427, 428, 428, 428, 428, 428, 428, 428, 428, 428,
393 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
394 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
395 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
396 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
397 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
398 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
399 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
400 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
401 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
402 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
403 428, 428, 428, 428, 428, 428, 428, 432, 433, 436,
404 437, 440, 441, 442, 443, 449, 457, 460, 463, 464,
405 465, 468, 471, 474, 477, 483, 489, 492, 498, 521,
406 525, 529, 534, 538, 542, 546, 553, 554, 558, 559,
407 563, 564, 565, 569, 570, 574, 575, 579, 580, 581,
408 585, 586, 590, 591, 592, 593, 594, 595, 596, 600,
409 605, 613, 616, 619, 620, 626, 631, 639, 642, 646,
410 650, 657, 661, 665, 669, 674, 684, 694, 699, 704,
411 708, 714, 723, 726, 730, 734, 740, 747, 753, 754,
412 755, 756, 760, 763, 794, 801, 802, 803, 804, 808,
413 811, 820, 826, 829, 835, 838, 844, 845, 853, 864,
414 873, 885, 886, 890, 900, 909, 921, 924, 927, 931,
415 935, 939, 944, 949, 957, 958, 959, 965, 968, 971,
416 977, 978, 982, 985, 988, 994, 997, 1000, 1008, 1020,
417 1023, 1026, 1029, 1036, 1039, 1049, 1052, 1055, 1058, 1059,
418 1060, 1064, 1067, 1070, 1081, 1084, 1090, 1091, 1095, 1096,
419 1100, 1104, 1110, 1111, 1117, 1120, 1126, 1129, 1132, 1138,
420 1142, 1143, 1147, 1148, 1152, 1153, 1160, 1161, 1165, 1172,
421 1183, 1190, 1201, 1208, 1219, 1230, 1244, 1245, 1257, 1260,
422 1263, 1269, 1272, 1279, 1282, 1288, 1297, 1309, 1317, 1320,
423 1330, 1343, 1348, 1356, 1366, 1376, 1379, 1383, 1389, 1403,
424 1420, 1423, 1429, 1436, 1446, 1453, 1456, 1462, 1467, 1475,
425 1479, 1483, 1487, 1491, 1495, 1502, 1506, 1510, 1514, 1518,
426 1522, 1528, 1532, 1539, 1542, 1554, 1558, 1562, 1568, 1581,
427 1594, 1607, 1610, 1617, 1618, 1622, 1625, 1628, 1631, 1637,
428 1641, 1648, 1651, 1654, 1657, 1668, 1671, 1677, 1678, 1684,
429 1687, 1693, 1694, 1704, 1707, 1714, 1719, 1724, 1734, 1737,
430 1743, 1746, 1752, 1759, 1766, 1767, 1768, 1769, 1770, 1771,
431 1772, 1773, 1774, 1778, 1781, 1787, 1790, 1793, 1796, 1799,
432 1805, 1809, 1817, 1818, 1822, 1829, 1832, 1835, 1838, 1842,
433 1845, 1851, 1855, 1863, 1870, 1875, 1883, 1891, 1892, 1893,
434 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1904, 1907, 1913,
435 1916, 1922, 1923, 1927, 1930, 1936, 1939, 1945, 1952, 1956,
436 1963, 1966, 1969, 1975, 1982, 1985, 1988, 1995, 2000, 2008,
437 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2019, 2022, 2028,
438 2031, 2037, 2044, 2045, 2049, 2056, 2059, 2065, 2073, 2076,
443 #if YYDEBUG || YYERROR_VERBOSE || 1
444 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
445 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
446 static const char *const yytname
[] =
448 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
449 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
450 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
451 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
452 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
453 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
454 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
455 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
456 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
457 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
458 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
459 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
460 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
461 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
462 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
463 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
464 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
465 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
466 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
467 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
468 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
469 "$accept", "binary_op_token", "unary_op_token", "name_token",
470 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
471 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
472 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
473 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_special_name_token",
474 "cpp_macro_decl", "cpp_macro_sig", "cpp_macro_sig_args",
475 "cpp_macro_decl_tokens", "cpp_macro_decl_token_list", "cpp_macro_exp",
476 "cpp_macro_call_args", "cpp_macro_call_arg_list", "constant",
477 "constant_type", "constant_type_token", "impl_def_val",
478 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
479 "typedef_decl", "typedef_anon_decl", "qualified_decl_type", "decl_type",
480 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
481 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
482 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
483 "ignored_quoted_strings", "decl_ext_var_stmt", "decl_ext_var",
484 "decl_ext_var_list", "decl_vars", "ignored_decl", "ignored_decl_body",
485 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
486 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
487 "decl_args", "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var",
488 "decl_union", "decl_struct", "decl_struct_args", "struct_args_block",
489 "struct_args", "struct_arg_var_list", "decl_vars_with_layout",
490 "decl_enum", "decl_enum_items", "decl_enum_item", "num_exp", "number",
491 "sizeof", "sizeof_body", "sizeof_body_notypes", "enum_name",
492 "union_name", "struct_name", "optional_name", "optional_comma",
493 "decl_layout", "align_and_size", "array_size", "indirection", "pointers",
494 "asterisks", "asterisk", "impl", "impl_func", "impl_args", "impl_arg",
495 "impl_var", "impl_type", "impl_type_token", "impl_stmts", "impl_stmt",
496 "let_stmt", "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
497 "let_callback", "let_func", "let_func_token", "let_func_exps",
498 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
499 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
500 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
501 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
506 #define YYPACT_NINF -699
507 #define YYTABLE_NINF -629
509 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
511 static const short int yypact
[] =
513 497, -699, -699, -699, -699, -699, 60, -699, -699, 2504,
514 1667, 2537, -699, -699, 754, 466, 3359, 3359, 3359, 71,
515 25, 265, 51, -699, 1634, 1893, 42, 497, -699, -699,
516 -699, -699, -699, 2730, -699, -699, -699, -699, 284, 79,
517 -699, -699, -699, 68, -699, -20, -699, -699, 87, 99,
518 107, -699, -699, -699, -699, 113, -699, 115, -699, -699,
519 -699, -699, -699, 842, -699, 110, 75, -699, -699, -699,
520 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
521 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
522 -699, -699, -699, -699, -699, -699, -699, 2843, 10, -699,
523 -699, -699, -699, 3359, 3359, 3359, 661, -699, 88, -699,
524 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
525 -699, -699, 688, -699, -699, -699, -699, 149, 968, 968,
526 24, -699, 688, 2391, 2504, 3359, 3359, 2006, 143, -699,
527 -699, -699, 157, 3359, 146, 146, 111, 111, 169, -699,
528 -699, 191, 200, -699, 110, 202, -699, -699, 196, 1893,
529 193, 198, -699, 212, -699, 2119, 1401, -20, 193, -699,
530 -699, 205, -699, 204, 3359, -699, 234, -699, 100, -699,
531 -699, -699, 359, -699, -699, 213, 215, 2311, 2311, 3359,
532 478, 3359, -699, -699, 110, -699, -699, -699, -699, -699,
533 -699, 2730, -699, -699, -699, -699, -699, -699, -699, 129,
534 968, -699, -699, -699, -699, -699, -699, -699, -699, -699,
535 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
536 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
537 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
538 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
539 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
540 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
541 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
542 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
543 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
544 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
545 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
546 -699, -699, -699, 968, -699, -699, -699, -699, -699, -699,
547 -699, -699, 126, 2391, -699, -699, -699, -699, 2956, 2391,
548 225, 3513, -699, 227, 102, -699, 136, -699, -699, -699,
549 -699, 209, 224, 224, 58, 58, 3069, 221, -699, 193,
550 1220, -699, 478, 231, 233, 235, -699, 1334, -699, 110,
551 205, -699, -699, -699, 261, -699, -699, 242, -699, 16,
552 755, 2730, 144, 251, -699, -699, 154, 246, 257, -699,
553 2730, 2052, 2730, 3359, 2730, -699, -699, 18, -699, -699,
554 -699, -699, -699, 2278, -699, 259, 3359, 270, -699, 3359,
555 273, -699, -699, -699, -699, 635, 285, -699, 2834, 3359,
556 -699, -699, 2391, -699, -699, -699, -699, -699, -699, -699,
557 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
558 -699, 2391, 2391, -699, 276, 1446, 2730, 2730, -699, -699,
559 -699, -699, 110, -699, 1600, -699, -699, -699, -699, -699,
560 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
561 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
562 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
563 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
564 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
565 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
566 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
567 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
568 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
569 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
570 -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
571 -699, -699, -699, -699, 1094, -699, 185, 527, -699, -699,
572 -699, -699, -699, -699, 1487, -699, 271, 2278, -699, 3489,
573 -699, -699, 3359, -699, -699, -699, 40, 2843, 110, 204,
574 205, 247, 2345, 205, 248, 2278, 3359, 279, 277, 289,
575 3537, 287, 293, -699, 296, 301, 291, 305, 114, -699,
576 306, 312, -699, -699, -699, 2712, -699, 311, 2730, 3128,
577 110, 313, -699, -699, -699, 314, 3513, 315, 319, 3440,
578 -699, 330, 2006, 322, -699, -699, 2617, 292, 3359, 146,
579 146, -699, -699, 3359, 162, -699, -699, -699, 329, -699,
580 3537, -699, -699, -699, -699, -699, -699, -699, -699, -699,
581 -699, -699, -699, 326, 164, -699, 51, -699, 333, 2537,
582 337, 2947, -699, -699, -699, 2278, 2278, 339, -699, -699,
583 3069, -699, 340, 16, -699, -699, 341, 3537, -699, -699,
584 1713, -699, 2052, -699, 2730, -699, 51, 2730, -699, 3359,
585 3241, -699, -699, -699, -699, -699, -699, 347, 328, -699,
586 -699, -699, -699, 2391, 2391, 348, -699, 37, 349, -699,
587 322, 224, 224, 351, -699, 725, 354, 725, 346, 2278,
588 -699, 3465, -699, -699, 205, 205, 176, 281, 461, 360,
589 3537, -699, -699, -699, -699, 362, 2165, -699, 361, 2730,
590 170, -699, 364, 270, 365, 968, 3300, 3513, 3561, 374,
591 367, 368, 2730, 372, 349, 2730, 2730, -699, -699, 725,
592 -699, 51, 1600, -699, 2278, -699, -699, 360, -699, -699,
593 -699, 3241, -699, 376, 2278, 51, -699, 1826, 378, 383,
594 -699, 318, -699, -699, -699, 384, 381, 393, 322, 385,
595 -699, 389, -699, 39, -699, 3585, 394, 51, 3222, 395,
596 397, -699, 398, -699, -699, 106, -699, 396, 399, -699,
597 2730, -699, 407, 338, 405, 2278, 1713, 406, -699, 2052,
598 -699, -699, 409, 421, 422, 322, 416, 148, 1939, 3060,
599 277, -699, -699, -699, 423, 2165, -699, -699, 425, 427,
600 -699, 420, 424, 431, 432, -699, -699, 1713, -699, 440,
601 -699, 725, 51, 434, 2052, -699, 436, -699, 448, -699,
602 -699, -699, 1939, 451, 452, -699
605 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
606 Performed when YYTABLE does not specify something else to do. Zero
607 means the default is an error. */
608 static const unsigned short int yydefact
[] =
610 277, 405, 402, 406, 400, 401, 403, 397, 398, 0,
611 396, 0, 282, 281, 0, 0, 0, 0, 511, 0,
612 0, 0, 628, 283, 0, 0, 0, 278, 279, 285,
613 284, 286, 290, 525, 388, 390, 389, 395, 409, 421,
614 394, 287, 289, 0, 288, 426, 444, 446, 447, 0,
615 0, 456, 292, 291, 293, 0, 294, 0, 404, 399,
616 33, 34, 616, 577, 24, 525, 531, 39, 38, 37,
617 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
618 585, 584, 582, 580, 581, 583, 579, 578, 586, 30,
619 614, 612, 611, 613, 610, 609, 457, 0, 527, 529,
620 41, 42, 396, 0, 0, 0, 0, 445, 432, 387,
621 296, 307, 304, 306, 308, 309, 320, 317, 318, 315,
622 321, 316, 0, 319, 310, 311, 312, 0, 337, 337,
623 0, 300, 0, 0, 0, 511, 511, 0, 0, 372,
624 377, 467, 376, 0, 519, 519, 391, 392, 393, 508,
625 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
626 0, 0, 630, 0, 629, 396, 0, 426, 0, 1,
627 280, 521, 468, 0, 526, 411, 415, 413, 417, 410,
628 407, 422, 409, 408, 430, 0, 0, 458, 458, 0,
629 0, 0, 526, 532, 525, 470, 528, 530, 391, 392,
630 393, 0, 431, 323, 324, 325, 327, 328, 326, 322,
631 337, 302, 297, 68, 43, 44, 45, 46, 47, 48,
632 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
633 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
634 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
635 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
636 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
637 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
638 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
639 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
640 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
641 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
642 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
643 157, 339, 305, 338, 298, 313, 314, 299, 322, 301,
644 347, 348, 0, 0, 22, 23, 20, 21, 0, 0,
645 350, 303, 349, 457, 391, 510, 392, 509, 373, 369,
646 378, 0, 0, 0, 0, 0, 0, 0, 295, 0,
647 0, 436, 0, 0, 0, 0, 437, 0, 472, 525,
648 521, 416, 412, 418, 419, 414, 423, 0, 424, 459,
649 0, 525, 0, 460, 461, 463, 0, 487, 513, 485,
650 0, 628, 0, 0, 0, 622, 623, 0, 553, 556,
651 555, 557, 558, 0, 559, 0, 0, 433, 434, 0,
652 0, 330, 340, 507, 506, 0, 0, 502, 0, 0,
653 345, 342, 352, 2, 3, 4, 5, 6, 7, 8,
654 9, 10, 11, 13, 12, 14, 15, 16, 17, 18,
655 19, 0, 0, 370, 0, 0, 0, 0, 475, 474,
656 476, 473, 525, 469, 362, 438, 186, 161, 162, 163,
657 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
658 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
659 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
660 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
661 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
662 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
663 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
664 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
665 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
666 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
667 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
668 271, 273, 442, 443, 0, 440, 0, 0, 371, 425,
669 498, 496, 495, 497, 0, 522, 0, 0, 499, 0,
670 489, 500, 0, 471, 420, 428, 0, 466, 0, 464,
671 521, 0, 0, 521, 0, 0, 514, 0, 0, 0,
672 605, 0, 0, 604, 42, 0, 0, 0, 0, 625,
673 0, 0, 599, 533, 554, 0, 455, 0, 0, 331,
674 525, 0, 503, 505, 341, 0, 354, 0, 353, 0,
675 343, 0, 0, 515, 381, 374, 382, 0, 383, 519,
676 519, 380, 379, 0, 498, 366, 367, 368, 0, 364,
677 363, 439, 441, 534, 546, 547, 548, 549, 545, 550,
678 551, 552, 544, 0, 0, 538, 628, 543, 24, 0,
679 0, 0, 523, 493, 524, 0, 0, 0, 429, 427,
680 465, 450, 0, 0, 462, 448, 0, 488, 486, 484,
681 0, 560, 628, 603, 0, 542, 628, 0, 624, 0,
682 600, 597, 621, 454, 435, 332, 335, 0, 333, 504,
683 501, 346, 351, 0, 0, 0, 375, 0, 480, 477,
684 515, 0, 0, 0, 356, 0, 0, 0, 540, 0,
685 491, 0, 492, 452, 521, 521, 498, 0, 31, 30,
686 566, 571, 567, 569, 570, 41, 0, 606, 617, 0,
687 0, 626, 616, 602, 0, 337, 0, 355, 344, 0,
688 516, 0, 0, 0, 480, 385, 384, 453, 535, 0,
689 539, 628, 362, 490, 0, 451, 449, 0, 568, 591,
690 577, 600, 592, 0, 0, 628, 572, 628, 0, 0,
691 627, 0, 329, 334, 336, 0, 0, 0, 515, 481,
692 478, 0, 536, 0, 541, 494, 0, 628, 0, 587,
693 0, 619, 618, 607, 561, 0, 520, 0, 0, 482,
694 0, 479, 0, 0, 0, 0, 0, 0, 608, 628,
695 615, 598, 0, 0, 0, 515, 0, 0, 593, 0,
696 499, 589, 564, 562, 588, 0, 576, 620, 0, 0,
697 483, 0, 0, 0, 594, 595, 573, 0, 563, 0,
698 517, 0, 628, 0, 628, 590, 0, 537, 0, 574,
699 596, 518, 593, 0, 0, 575
702 /* YYPGOTO[NTERM-NUM]. */
703 static const short int yypgoto
[] =
705 -699, -327, -119, -7, 153, -699, -699, -699, 454, -699,
706 -699, -699, -699, -699, -699, -699, -699, -699, -699, 355,
707 -699, -699, -699, -126, -699, -291, -699, -699, -699, -699,
708 -699, -298, -699, -699, 334, -161, 26, -153, -160, 1,
709 -699, -699, -699, 471, -699, -699, 331, -699, -699, -699,
710 -699, 344, -699, -699, -699, -699, -194, -699, -130, -699,
711 -72, 491, 35, 7, 43, -699, -699, 332, -699, -96,
712 -2, -33, -699, -699, 159, -337, -699, -266, -699, 6,
713 -699, -94, -356, -699, -117, -699, 104, -699, -424, -415,
714 77, -699, -686, -128, -348, -61, -4, -699, 437, -699,
715 513, -699, -211, -651, -698, -699, 173, -371, -699, -331,
716 -664, 147, -209, -699, -699, -666, -699, -699, -308, -338,
717 -699, -699, -699, -246, -699, -386, -381, -367, -699, -699,
718 -699, -699, -699, -699, -163, -21, -671
721 /* YYDEFGOTO[NTERM-NUM]. */
722 static const short int yydefgoto
[] =
724 -1, 696, 597, 171, 331, 582, 26, 27, 28, 29,
725 30, 127, 128, 129, 130, 337, 131, 132, 133, 210,
726 211, 727, 728, 332, 333, 351, 647, 648, 31, 155,
727 156, 668, 669, 32, 138, 653, 654, 655, 33, 34,
728 35, 36, 37, 38, 39, 40, 180, 382, 385, 183,
729 41, 186, 606, 42, 43, 202, 773, 44, 583, 584,
730 585, 45, 46, 47, 141, 49, 50, 392, 393, 394,
731 51, 598, 52, 53, 459, 460, 657, 783, 819, 143,
732 398, 399, 620, 600, 601, 641, 427, 55, 144, 145,
733 149, 617, 738, 362, 378, 173, 419, 98, 99, 56,
734 57, 684, 685, 621, 686, 687, 407, 408, 409, 861,
735 862, 863, 762, 763, 764, 100, 847, 864, 803, 873,
736 874, 410, 631, 774, 411, 875, 623, 101, 808, 832,
737 412, 413, 414, 628, 629, 625, 164
740 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
741 positive, shift that token. If negative, reduce the rule whose
742 number is the opposite. If YYTABLE_NINF, syntax error. */
743 static const short int yytable
[] =
745 172, 163, 96, 334, 191, 97, 54, 417, 108, 146,
746 147, 148, 109, 142, 349, 622, 352, 363, 364, 365,
747 157, 599, 140, 632, 452, 456, 457, 391, 391, 174,
748 371, 659, 603, 54, 624, 748, 634, 624, 376, 766,
749 660, 139, 169, 48, 765, 107, 761, 788, 65, 791,
750 335, 158, 428, 48, 784, 633, 160, 635, 431, 66,
751 168, 192, 780, 715, 48, 66, 698, 48, 48, 58,
752 48, 59, 781, 699, 150, 1, 2, 151, 4, 5,
753 6, 152, 8, 153, 421, 181, 4, 5, 154, 458,
754 195, 822, 802, 102, 455, 162, 198, 199, 200, 184,
755 765, 452, 806, 842, 452, 185, 383, 157, 670, 384,
756 400, 401, 402, 403, 404, 209, 405, 406, -447, -467,
757 -456, -467, 201, 62, 850, 338, 350, 353, 354, 356,
758 97, 187, 839, 416, 196, 142, 360, -391, -512, 188,
759 748, 646, -519, 336, 140, 718, 361, -519, 719, 189,
760 366, 190, 423, 424, 829, 103, 104, 105, 425, 66,
761 649, 650, 193, 358, 142, 799, 800, 380, 418, 870,
762 426, -392, -512, 140, 359, 865, 844, 610, 611, 212,
763 765, 361, 397, 887, 415, 395, 395, 613, 614, -456,
764 192, 802, 139, -365, 369, -365, -365, 746, 747, 765,
765 107, 878, 48, 810, 638, -512, 865, -498, 48, -498,
766 -498, 765, 355, 357, -359, 634, 90, 91, 92, 93,
767 94, 95, 673, -360, 349, 367, 352, 368, 659, 370,
768 349, 888, 352, 659, 372, 373, 379, 660, 691, 465,
769 381, 693, 660, 377, 454, 387, 388, 420, 80, 81,
770 82, 83, 84, 85, 86, 87, 88, 432, 453, 707,
771 455, 464, 701, 587, 588, 705, 589, 604, 605, 1,
772 2, 3, 4, 5, 6, 7, 8, 400, 401, 402,
773 403, 404, 9, 405, 406, 612, 615, 102, 175, 176,
774 177, 616, 636, 178, 11, 656, 1, 2, 3, 4,
775 5, 6, 7, 8, 638, 639, 179, 643, 651, 9,
776 692, 702, 706, 349, 102, 352, 709, 710, 602, 452,
777 711, 11, 452, 452, 713, 715, 767, 712, 714, 739,
778 609, 716, 349, 349, 352, 352, 350, 717, 720, 751,
779 752, 430, 350, 721, 723, 624, 730, 731, 732, 103,
780 104, 105, 106, 733, 760, 735, 22, 737, 172, 463,
781 744, 745, 776, 175, 176, 177, -24, 618, 178, 626,
782 749, 630, 753, 754, 755, 192, 135, 136, 18, 106,
783 775, 179, 779, 782, 787, 607, 792, 174, 159, 789,
784 797, 157, 804, 793, 805, 807, 627, -601, 811, 815,
785 817, 663, 816, 820, 785, 786, 795, 796, 827, 637,
786 760, 833, 380, 652, 834, 835, 837, 836, 838, 840,
787 841, 831, 645, 661, 662, 350, 640, 843, 853, 846,
788 848, 856, 849, 854, 690, 857, 670, 858, 825, 866,
789 624, 714, 777, 778, 350, 350, 868, 869, 828, 871,
790 452, 452, 391, 142, 851, 881, 882, 877, 192, 879,
791 880, 658, 140, 867, 883, 886, 884, 889, 852, 891,
792 1, 2, 3, 4, 5, 6, 7, 8, 799, 800,
793 892, 170, 624, 134, 894, 895, 422, 339, 102, 859,
794 760, 624, 656, 801, 824, 11, 740, 656, 890, 736,
795 374, 1, 2, 3, 4, 5, 6, 7, 8, 760,
796 182, 375, 672, 386, 9, 167, 704, 624, 821, 10,
797 396, 760, 708, 770, 461, 624, 11, 12, 13, 642,
798 674, 741, 742, 675, 161, 197, 790, 676, 14, 677,
799 678, 679, 680, 681, 682, 586, 885, 619, 798, 872,
800 135, 136, 18, 106, 893, 826, 771, 0, 0, 0,
801 683, 80, 81, 82, 83, 84, 85, 86, 87, 88,
802 400, 401, 402, 403, 404, 0, 405, 406, 0, 729,
803 15, 16, 17, 18, 19, 20, 21, 137, 22, 0,
804 0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
805 195, 0, 0, 0, 700, 724, 0, 0, 0, 397,
806 395, 0, 0, 23, 349, 349, 352, 352, 24, 0,
807 25, 0, 0, 172, 0, 0, 0, 0, 0, 0,
808 0, 0, 726, 0, 0, 0, 192, 0, 0, 1,
809 2, 3, 4, 5, 6, 7, 8, 0, 0, 812,
810 142, 360, 174, 0, 0, 142, 743, 102, 658, 140,
811 0, 423, 424, 658, 140, 1, 2, 3, 4, 5,
812 6, 7, 8, 0, 0, 0, 0, 0, 154, 426,
813 0, 768, 0, 102, 418, 0, 0, 418, 0, 0,
814 157, 60, 0, 463, 0, 769, 0, 0, 0, 607,
815 61, 0, 0, 0, 0, 62, 63, 203, 204, 205,
816 64, 0, 627, 0, 0, 0, 0, 0, 0, 103,
817 104, 105, 0, 0, 0, 0, 350, 350, 674, 0,
818 0, 675, 0, 0, 0, 676, 809, 677, 678, 679,
819 680, 681, 682, 0, 0, 103, 104, 105, 0, 818,
820 0, 0, 661, 662, 67, 68, 69, 70, 71, 1,
821 2, 3, 4, 5, 6, 7, 8, 0, 418, 814,
822 823, 0, 608, 0, 0, 0, 72, 102, 73, 74,
823 75, 76, 77, 78, 110, 79, 0, 0, 80, 81,
824 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
825 92, 93, 94, 95, 0, 0, 0, 855, 0, 206,
826 0, 207, 208, 860, 0, 0, 0, 0, 0, 0,
827 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
828 121, 122, 0, 123, 124, 125, 126, 0, 0, 103,
829 104, 105, -577, 0, 860, -577, -577, -577, -577, -577,
830 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
831 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
832 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
833 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
834 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
835 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
836 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
837 -577, -577, 0, -577, 0, -577, -577, -577, -577, -577,
838 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
839 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
840 -577, -577, -577, -577, -577, -577, -577, -577, -577, 0,
841 -577, -577, 0, -577, -577, -577, -577, -577, 213, 0,
842 0, 214, 215, 216, 217, 218, 219, 220, 221, 222,
843 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
844 233, 234, 235, 236, 237, 238, 239, 240, 0, 241,
845 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
846 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
847 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
848 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
849 282, 283, 284, 285, 286, 287, 288, 289, 0, 290,
850 0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
851 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
852 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
853 320, 321, 322, 323, 324, 0, 0, 325, 0, 326,
854 327, 328, 329, 330, 466, 0, 0, 467, 468, 469,
855 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
856 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
857 490, 491, 492, 493, 0, 494, 495, 496, 497, 498,
858 370, 671, 499, 500, 501, 502, 503, 504, 505, 506,
859 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
860 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
861 527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
862 537, 538, 539, 540, 0, 541, 0, 542, 543, 544,
863 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
864 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
865 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
866 575, 0, 0, 576, 0, 577, 578, 579, 580, 581,
867 466, 0, 0, 467, 468, 469, 470, 471, 472, 473,
868 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
869 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
870 0, 494, 495, 496, 497, 498, 370, 0, 499, 500,
871 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
872 511, 512, 513, 514, 515, 516, 517, 518, 519, 520,
873 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
874 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
875 0, 541, 0, 542, 543, 544, 545, 546, 547, 548,
876 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
877 559, 560, 561, 562, 563, 564, 565, 566, 567, 568,
878 569, 570, 571, 572, 573, 574, 575, 60, 0, 576,
879 0, 577, 578, 579, 580, 581, 61, 0, 0, 0,
880 0, 62, 63, 590, 0, 0, 64, 591, 0, 592,
881 0, 593, 342, 0, 0, 0, 594, 0, 0, 0,
882 0, 0, 0, 595, 0, 0, 0, 0, 0, 0,
883 0, 344, 345, 66, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 346, 347, 0, 0, 0, 0,
885 67, 68, 69, 70, 71, 1, 2, 3, 4, 5,
886 6, 7, 8, 0, 0, 0, 0, 0, 9, 0,
887 0, 0, 72, 102, 73, 74, 75, 76, 77, 78,
888 11, 79, 0, 0, 80, 81, 82, 83, 84, 85,
889 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
890 1, 2, 3, 4, 5, 6, 7, 8, 596, 0,
891 0, 0, 0, 9, 0, 0, 0, 0, 102, 0,
892 0, 0, 0, 0, 0, 11, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 135, 136, 18, 106, 0,
894 60, 1, 2, 3, 4, 5, 6, 7, 8, 61,
895 0, 0, 0, 0, 62, 63, 590, 0, 0, 688,
896 591, 0, 592, 0, 593, 342, 11, 0, 0, 594,
897 0, 0, 137, 0, 0, 0, 0, 0, 0, 0,
898 135, 136, 18, 106, 344, 345, 66, 0, 0, 0,
899 0, 0, 0, 0, 0, 0, 0, 346, 347, 0,
900 0, 0, 0, 67, 68, 69, 70, 71, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 652, 0, 0,
902 0, 103, 104, 105, 689, 72, 0, 73, 74, 75,
903 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
904 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
905 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
906 0, 0, 61, 0, 0, 0, 0, 62, 63, 664,
907 665, 666, 64, 591, 0, 592, 667, 593, 342, 0,
908 0, 0, 594, 0, 0, 0, 0, 0, 1, 2,
909 3, 4, 5, 6, 7, 8, 0, 344, 345, 66,
910 0, 9, 0, 0, 0, 0, 165, 0, 0, 0,
911 346, 347, 0, 11, 0, 0, 67, 68, 69, 70,
912 71, 1, 2, 3, 4, 5, 6, 7, 8, 0,
913 0, 0, 0, 0, 9, 0, 0, 0, 72, 102,
914 73, 74, 75, 76, 77, 78, 11, 79, 0, 0,
915 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
916 90, 91, 92, 93, 94, 95, 60, 166, 103, 104,
917 105, 106, 0, 0, 0, 61, 0, 0, 0, 0,
918 62, 63, 756, 0, 0, 64, 591, 0, 592, 0,
919 593, 342, 0, 0, 0, 594, 0, 0, 0, 0,
920 0, 103, 104, 105, 106, 0, 0, 162, 0, 0,
921 344, 345, 66, 0, 0, 0, 0, 0, 0, 0,
922 0, 0, 0, 346, 347, 0, 0, 0, 0, 67,
923 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 72, 757, 758, 74, 75, 76, 77, 78, 0,
926 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
927 87, 88, 759, 90, 91, 92, 93, 94, 95, 60,
928 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
929 0, 0, 0, 62, 63, 590, 0, 0, 64, 591,
930 0, 592, 0, 593, 342, 0, 0, 0, 594, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 162, 0, 0, 344, 345, 66, 0, 0, 0, 0,
933 0, 0, 0, 0, 0, 0, 346, 347, 0, 0,
934 830, 0, 67, 68, 69, 70, 71, 1, 2, 3,
935 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
936 9, 0, 0, 0, 72, 102, 73, 74, 75, 76,
937 77, 78, 11, 79, 0, 0, 80, 81, 82, 83,
938 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
939 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
940 0, 61, 0, 0, 0, 0, 62, 63, 590, 0,
941 0, 64, 591, -628, 592, 0, 593, 342, 0, 0,
942 0, 594, 0, 0, 0, 0, 0, 103, 104, 105,
943 106, 0, 0, 162, 0, 0, 344, 345, 66, 0,
944 0, 0, 0, 0, 0, 0, 0, 0, 0, 346,
945 347, 0, 0, 0, 0, 67, 68, 69, 70, 71,
946 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
947 0, 0, 0, 9, 0, 0, 0, 72, 102, 73,
948 74, 75, 76, 77, 78, 11, 79, 0, 0, 80,
949 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
950 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
951 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
952 63, 590, 0, 0, 64, 591, 0, 592, 0, 593,
953 342, 0, 0, 0, 594, 0, 0, 0, 0, 0,
954 135, 136, 18, 106, 0, 0, 162, 0, 0, 344,
955 345, 66, 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 346, 347, 0, 0, 0, 0, 67, 68,
957 69, 70, 71, 1, 2, 3, 4, 5, 6, 7,
958 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
959 72, 102, 73, 74, 75, 76, 77, 78, 11, 79,
960 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
961 88, 89, 90, 91, 92, 93, 94, 95, 60, 0,
962 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
963 0, 0, 62, 63, 756, 0, 0, 64, 591, 0,
964 592, 0, 593, 342, 0, 0, 0, 594, 0, 0,
965 0, 0, 0, 103, 104, 105, 106, 0, 0, 0,
966 0, 0, 344, 345, 66, 0, 0, 0, 0, 0,
967 0, 0, 0, 0, 0, 346, 347, 0, 0, 0,
968 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
970 0, 0, 0, 72, 757, 758, 74, 75, 76, 77,
971 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
972 85, 86, 87, 88, 759, 90, 91, 92, 93, 94,
973 95, 60, 0, 0, 0, 0, 0, 0, 0, 0,
974 61, 0, 0, 0, 0, 62, 63, 590, 0, 0,
975 64, 591, 0, 592, 0, 593, 342, 0, 0, 0,
976 594, 0, 0, 0, 0, 1, 2, 3, 4, 5,
977 6, 7, 8, 0, 0, 344, 345, 66, 389, 0,
978 0, 0, 0, 102, 0, 0, 0, 0, 346, 347,
979 11, 0, 0, 0, 67, 68, 69, 70, 71, 1,
980 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
981 0, 0, 703, 0, 0, 0, 72, 102, 73, 74,
982 75, 76, 77, 78, 11, 79, 0, 0, 80, 81,
983 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
984 92, 93, 94, 95, 60, 103, 104, 105, 390, 0,
985 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
986 0, 0, 0, 64, 0, 0, 340, 0, 341, 342,
987 0, 0, 0, 343, 0, 0, 0, 0, 0, 103,
988 104, 105, 390, 0, 0, 0, 0, 0, 344, 345,
989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
990 0, 346, 347, 0, 0, 0, 0, 67, 68, 69,
991 70, 71, 0, 0, 0, 0, 0, 0, 0, 348,
992 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
993 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
994 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
995 89, 90, 91, 92, 93, 94, 95, 60, 0, 0,
996 0, 0, 0, 0, 0, 0, 61, 0, 0, 0,
997 0, 62, 63, 0, 0, 0, 64, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 65, 0, 0, 0,
999 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
1000 0, 0, 0, 66, 0, 0, 0, 0, 0, 102,
1001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1005 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1006 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1007 60, 103, 104, 105, 0, 0, 0, 0, 0, 61,
1008 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, -525,
1010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 66, 0, 0, 0,
1012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, 67, 68, 69, 70, 71, 0, 0,
1014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
1016 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
1017 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1018 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
1019 0, 0, 61, 722, 0, 0, 0, 62, 63, 0,
1020 0, 0, 64, 0, 433, 434, 435, 436, 437, 438,
1021 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1022 449, 450, 0, 0, 0, 0, 0, 695, 0, 66,
1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
1025 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
1027 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1028 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1029 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
1030 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
1031 62, 63, 0, 0, 0, 64, 0, 644, 0, 0,
1032 0, 0, 0, 0, 0, 194, 433, 434, 435, 436,
1033 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1034 447, 448, 449, 450, 0, 0, 0, 0, 0, 451,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1036 68, 69, 70, 71, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 72, 0, 73, 74, 75, 76, 77, 78, 0,
1039 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
1040 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
1041 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
1042 0, 0, 0, 62, 63, 0, 0, 0, 64, 0,
1043 750, 0, 0, 0, 0, 0, 0, 0, 429, 433,
1044 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1045 444, 445, 446, 447, 448, 449, 450, 0, 0, 0,
1046 0, 0, 695, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
1048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
1050 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
1051 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1052 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
1053 0, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1054 0, 64, 0, 876, 0, 0, 0, 0, 0, 0,
1055 0, 462, 433, 434, 435, 436, 437, 438, 439, 440,
1056 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
1057 0, 0, 0, 0, 0, 695, 0, 0, 0, 0,
1058 0, 60, 0, 0, 0, 67, 68, 69, 70, 71,
1059 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
1060 64, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1061 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
1062 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1063 91, 92, 93, 94, 95, 0, 0, 0, 0, 0,
1064 0, 0, 725, 0, 67, 68, 69, 70, 71, 0,
1065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1066 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
1067 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
1068 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1069 92, 93, 94, 95, 60, 0, 0, 0, 0, 0,
1070 0, 0, 0, 61, 0, 0, 845, 0, 772, 63,
1071 0, 0, 0, 64, 433, 434, 435, 436, 437, 438,
1072 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1073 449, 450, 0, 0, 0, 0, 0, 695, 0, 0,
1074 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1075 0, 0, 0, 60, 0, 0, 0, 67, 68, 69,
1076 70, 71, 61, 0, 0, 0, 0, 62, 63, 0,
1077 0, 0, 64, 0, 0, 0, 0, 0, 0, 72,
1078 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1079 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1080 89, 90, 91, 92, 93, 94, 95, 0, 0, 0,
1081 0, 0, 60, 0, 813, 0, 67, 68, 69, 70,
1082 71, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1083 0, 64, 0, 0, 0, 0, 0, 0, 72, 0,
1084 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1085 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1086 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
1087 0, 0, 0, 0, 0, 67, 68, 69, 70, 71,
1088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1090 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
1091 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1092 91, 92, 93, 94, 95, 734, 0, 0, 0, 0,
1093 0, 0, 433, 434, 435, 436, 437, 438, 439, 440,
1094 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
1095 794, 0, 0, 0, 0, 451, 0, 433, 434, 435,
1096 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1097 446, 447, 448, 449, 450, 0, 0, 0, 694, 0,
1098 695, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1099 442, 443, 444, 445, 446, 447, 448, 449, 450, 0,
1100 0, 0, 0, 0, 695, 433, 434, 435, 436, 437,
1101 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1102 448, 449, 450, 0, 0, 0, 0, 0, 451, 433,
1103 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1104 444, 445, 446, 447, 448, 449, 450, 0, 0, 0,
1105 0, 0, 695, 433, 434, 435, 436, 437, 438, 439,
1106 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1107 450, 0, 0, 0, 0, 0, 451, 433, 434, 435,
1108 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1109 446, 447, 448, 449, 450, 0, 0, 0, 0, 0,
1113 static const short int yycheck
[] =
1115 33, 22, 9, 129, 65, 9, 0, 201, 10, 16,
1116 17, 18, 11, 15, 133, 401, 133, 145, 146, 147,
1117 19, 377, 15, 404, 351, 362, 363, 187, 188, 33,
1118 160, 455, 380, 27, 401, 686, 407, 404, 168, 710,
1119 455, 15, 0, 0, 710, 10, 710, 745, 32, 747,
1120 26, 26, 343, 10, 740, 37, 21, 413, 349, 49,
1121 25, 65, 25, 24, 21, 49, 26, 24, 25, 9,
1122 27, 11, 35, 33, 3, 4, 5, 6, 7, 8,
1123 9, 10, 11, 12, 210, 6, 7, 8, 17, 31,
1124 97, 789, 758, 22, 36, 44, 103, 104, 105, 31,
1125 766, 428, 766, 64, 431, 125, 6, 106, 464, 9,
1126 92, 93, 94, 95, 96, 122, 98, 99, 31, 32,
1127 32, 34, 34, 17, 18, 132, 133, 134, 135, 136,
1128 134, 32, 818, 194, 124, 137, 143, 35, 36, 32,
1129 791, 432, 31, 119, 137, 31, 35, 36, 34, 36,
1130 154, 36, 26, 27, 805, 84, 85, 86, 32, 49,
1131 451, 452, 87, 137, 166, 17, 18, 174, 201, 855,
1132 44, 35, 36, 166, 31, 846, 827, 33, 34, 30,
1133 846, 35, 189, 881, 191, 187, 188, 33, 34, 32,
1134 194, 857, 166, 31, 159, 33, 34, 33, 34, 865,
1135 165, 865, 159, 33, 34, 36, 877, 31, 165, 33,
1136 34, 877, 135, 136, 23, 586, 110, 111, 112, 113,
1137 114, 115, 37, 23, 343, 23, 343, 31, 652, 36,
1138 349, 882, 349, 657, 36, 23, 32, 652, 594, 369,
1139 6, 597, 657, 38, 35, 32, 31, 118, 100, 101,
1140 102, 103, 104, 105, 106, 107, 108, 32, 31, 615,
1141 36, 40, 610, 32, 31, 613, 31, 6, 26, 4,
1142 5, 6, 7, 8, 9, 10, 11, 92, 93, 94,
1143 95, 96, 17, 98, 99, 34, 40, 22, 4, 5,
1144 6, 34, 33, 9, 29, 455, 4, 5, 6, 7,
1145 8, 9, 10, 11, 34, 32, 22, 22, 32, 17,
1146 39, 64, 64, 432, 22, 432, 37, 40, 379, 646,
1147 31, 29, 649, 650, 31, 24, 712, 40, 32, 37,
1148 391, 40, 451, 452, 451, 452, 343, 32, 32, 695,
1149 696, 348, 349, 31, 33, 712, 33, 33, 33, 84,
1150 85, 86, 87, 34, 710, 25, 91, 35, 391, 366,
1151 31, 35, 34, 4, 5, 6, 33, 400, 9, 402,
1152 33, 404, 33, 33, 33, 379, 84, 85, 86, 87,
1153 33, 22, 34, 34, 33, 389, 40, 391, 123, 35,
1154 109, 390, 32, 749, 32, 34, 403, 33, 33, 25,
1155 32, 462, 35, 31, 741, 742, 754, 755, 32, 416,
1156 766, 33, 419, 121, 31, 97, 35, 33, 25, 34,
1157 31, 807, 429, 456, 457, 432, 425, 33, 32, 34,
1158 33, 24, 34, 34, 594, 97, 792, 32, 794, 33,
1159 807, 32, 733, 734, 451, 452, 25, 25, 804, 33,
1160 777, 778, 612, 455, 835, 35, 32, 34, 462, 34,
1161 33, 455, 455, 849, 33, 25, 34, 33, 835, 33,
1162 4, 5, 6, 7, 8, 9, 10, 11, 17, 18,
1163 32, 27, 849, 17, 33, 33, 333, 132, 22, 845,
1164 846, 858, 652, 32, 792, 29, 657, 657, 884, 652,
1165 166, 4, 5, 6, 7, 8, 9, 10, 11, 865,
1166 39, 167, 584, 182, 17, 24, 612, 884, 784, 22,
1167 188, 877, 616, 717, 365, 892, 29, 30, 31, 425,
1168 3, 659, 660, 6, 21, 98, 747, 10, 41, 12,
1169 13, 14, 15, 16, 17, 372, 877, 400, 757, 857,
1170 84, 85, 86, 87, 892, 801, 719, -1, -1, -1,
1171 33, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1172 92, 93, 94, 95, 96, -1, 98, 99, -1, 640,
1173 83, 84, 85, 86, 87, 88, 89, 121, 91, -1,
1174 -1, -1, -1, -1, -1, 602, -1, -1, -1, -1,
1175 607, -1, -1, -1, 608, 638, -1, -1, -1, 616,
1176 612, -1, -1, 116, 733, 734, 733, 734, 121, -1,
1177 123, -1, -1, 656, -1, -1, -1, -1, -1, -1,
1178 -1, -1, 639, -1, -1, -1, 640, -1, -1, 4,
1179 5, 6, 7, 8, 9, 10, 11, -1, -1, 775,
1180 652, 658, 656, -1, -1, 657, 663, 22, 652, 652,
1181 -1, 26, 27, 657, 657, 4, 5, 6, 7, 8,
1182 9, 10, 11, -1, -1, -1, -1, -1, 17, 44,
1183 -1, 714, -1, 22, 717, -1, -1, 720, -1, -1,
1184 689, 3, -1, 700, -1, 716, -1, -1, -1, 703,
1185 12, -1, -1, -1, -1, 17, 18, 19, 20, 21,
1186 22, -1, 719, -1, -1, -1, -1, -1, -1, 84,
1187 85, 86, -1, -1, -1, -1, 733, 734, 3, -1,
1188 -1, 6, -1, -1, -1, 10, 769, 12, 13, 14,
1189 15, 16, 17, -1, -1, 84, 85, 86, -1, 782,
1190 -1, -1, 785, 786, 66, 67, 68, 69, 70, 4,
1191 5, 6, 7, 8, 9, 10, 11, -1, 801, 776,
1192 791, -1, 17, -1, -1, -1, 88, 22, 90, 91,
1193 92, 93, 94, 95, 30, 97, -1, -1, 100, 101,
1194 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1195 112, 113, 114, 115, -1, -1, -1, 840, -1, 121,
1196 -1, 123, 124, 846, -1, -1, -1, -1, -1, -1,
1197 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1198 76, 77, -1, 79, 80, 81, 82, -1, -1, 84,
1199 85, 86, 0, -1, 877, 3, 4, 5, 6, 7,
1200 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1201 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1202 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1203 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1204 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1205 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1206 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1207 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1208 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1209 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1210 108, 109, 110, 111, 112, 113, 114, 115, 116, -1,
1211 118, 119, -1, 121, 122, 123, 124, 125, 0, -1,
1212 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1213 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1214 22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
1215 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1216 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1217 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1218 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1219 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1220 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1221 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1222 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1223 112, 113, 114, 115, 116, -1, -1, 119, -1, 121,
1224 122, 123, 124, 125, 0, -1, -1, 3, 4, 5,
1225 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1226 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1227 26, 27, 28, 29, -1, 31, 32, 33, 34, 35,
1228 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1229 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1230 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1231 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1232 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1233 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1234 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1235 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1236 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
1237 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1238 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1239 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1240 -1, 31, 32, 33, 34, 35, 36, -1, 38, 39,
1241 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1242 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1243 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1244 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1245 -1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
1246 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1247 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1248 110, 111, 112, 113, 114, 115, 116, 3, -1, 119,
1249 -1, 121, 122, 123, 124, 125, 12, -1, -1, -1,
1250 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
1251 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1252 -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
1253 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1254 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1255 66, 67, 68, 69, 70, 4, 5, 6, 7, 8,
1256 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1257 -1, -1, 88, 22, 90, 91, 92, 93, 94, 95,
1258 29, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1259 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1260 4, 5, 6, 7, 8, 9, 10, 11, 124, -1,
1261 -1, -1, -1, 17, -1, -1, -1, -1, 22, -1,
1262 -1, -1, -1, -1, -1, 29, -1, -1, -1, -1,
1263 -1, -1, -1, -1, -1, 84, 85, 86, 87, -1,
1264 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1265 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1266 23, -1, 25, -1, 27, 28, 29, -1, -1, 32,
1267 -1, -1, 121, -1, -1, -1, -1, -1, -1, -1,
1268 84, 85, 86, 87, 47, 48, 49, -1, -1, -1,
1269 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1270 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1271 -1, -1, -1, -1, -1, -1, -1, 121, -1, -1,
1272 -1, 84, 85, 86, 87, 88, -1, 90, 91, 92,
1273 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1274 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1275 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1276 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1277 20, 21, 22, 23, -1, 25, 26, 27, 28, -1,
1278 -1, -1, 32, -1, -1, -1, -1, -1, 4, 5,
1279 6, 7, 8, 9, 10, 11, -1, 47, 48, 49,
1280 -1, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1281 60, 61, -1, 29, -1, -1, 66, 67, 68, 69,
1282 70, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1283 -1, -1, -1, -1, 17, -1, -1, -1, 88, 22,
1284 90, 91, 92, 93, 94, 95, 29, 97, -1, -1,
1285 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1286 110, 111, 112, 113, 114, 115, 3, 83, 84, 85,
1287 86, 87, -1, -1, -1, 12, -1, -1, -1, -1,
1288 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1289 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1290 -1, 84, 85, 86, 87, -1, -1, 44, -1, -1,
1291 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1292 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1293 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1295 -1, 88, 89, 90, 91, 92, 93, 94, 95, -1,
1296 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1297 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1298 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1299 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1300 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1302 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1303 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1304 64, -1, 66, 67, 68, 69, 70, 4, 5, 6,
1305 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1306 17, -1, -1, -1, 88, 22, 90, 91, 92, 93,
1307 94, 95, 29, 97, -1, -1, 100, 101, 102, 103,
1308 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1309 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1310 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1311 -1, 22, 23, 24, 25, -1, 27, 28, -1, -1,
1312 -1, 32, -1, -1, -1, -1, -1, 84, 85, 86,
1313 87, -1, -1, 44, -1, -1, 47, 48, 49, -1,
1314 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1315 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1316 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1317 -1, -1, -1, 17, -1, -1, -1, 88, 22, 90,
1318 91, 92, 93, 94, 95, 29, 97, -1, -1, 100,
1319 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1320 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1321 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1322 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
1323 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1324 84, 85, 86, 87, -1, -1, 44, -1, -1, 47,
1325 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1326 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1327 68, 69, 70, 4, 5, 6, 7, 8, 9, 10,
1328 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1329 88, 22, 90, 91, 92, 93, 94, 95, 29, 97,
1330 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1331 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1332 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1333 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
1334 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
1335 -1, -1, -1, 84, 85, 86, 87, -1, -1, -1,
1336 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
1337 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1338 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1339 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1340 -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
1341 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1342 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1343 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1344 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1345 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
1346 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1347 9, 10, 11, -1, -1, 47, 48, 49, 17, -1,
1348 -1, -1, -1, 22, -1, -1, -1, -1, 60, 61,
1349 29, -1, -1, -1, 66, 67, 68, 69, 70, 4,
1350 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1351 -1, -1, 17, -1, -1, -1, 88, 22, 90, 91,
1352 92, 93, 94, 95, 29, 97, -1, -1, 100, 101,
1353 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1354 112, 113, 114, 115, 3, 84, 85, 86, 87, -1,
1355 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1356 -1, -1, -1, 22, -1, -1, 25, -1, 27, 28,
1357 -1, -1, -1, 32, -1, -1, -1, -1, -1, 84,
1358 85, 86, 87, -1, -1, -1, -1, -1, 47, 48,
1359 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1360 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1361 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1362 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1363 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1364 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1365 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
1366 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1367 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
1368 -1, -1, -1, -1, -1, -1, 32, -1, -1, -1,
1369 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1370 -1, -1, -1, 49, -1, -1, -1, -1, -1, 22,
1371 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1372 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1373 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1374 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1375 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1376 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1377 3, 84, 85, 86, -1, -1, -1, -1, -1, 12,
1378 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1379 -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
1380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1381 -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
1382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1385 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1386 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1387 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1388 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1389 -1, -1, 12, 31, -1, -1, -1, 17, 18, -1,
1390 -1, -1, 22, -1, 42, 43, 44, 45, 46, 47,
1391 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1392 58, 59, -1, -1, -1, -1, -1, 65, -1, 49,
1393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1395 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1396 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1397 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1398 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1399 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1400 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1401 17, 18, -1, -1, -1, 22, -1, 33, -1, -1,
1402 -1, -1, -1, -1, -1, 32, 42, 43, 44, 45,
1403 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1404 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1405 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
1406 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1407 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1408 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1409 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1410 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1411 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1412 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1413 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
1414 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1415 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1416 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
1417 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1418 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1419 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1420 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1421 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1422 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1423 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1424 -1, 22, -1, 33, -1, -1, -1, -1, -1, -1,
1425 -1, 32, 42, 43, 44, 45, 46, 47, 48, 49,
1426 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1427 -1, -1, -1, -1, -1, 65, -1, -1, -1, -1,
1428 -1, 3, -1, -1, -1, 66, 67, 68, 69, 70,
1429 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1430 22, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1431 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1432 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1433 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
1434 -1, -1, 64, -1, 66, 67, 68, 69, 70, -1,
1435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1436 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1437 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1438 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1439 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
1440 -1, -1, -1, 12, -1, -1, 34, -1, 17, 18,
1441 -1, -1, -1, 22, 42, 43, 44, 45, 46, 47,
1442 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1443 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
1444 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1445 -1, -1, -1, 3, -1, -1, -1, 66, 67, 68,
1446 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
1447 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
1448 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1449 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1450 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
1451 -1, -1, 3, -1, 64, -1, 66, 67, 68, 69,
1452 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1453 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
1454 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1455 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1456 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1457 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1458 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1459 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1460 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1461 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1462 111, 112, 113, 114, 115, 35, -1, -1, -1, -1,
1463 -1, -1, 42, 43, 44, 45, 46, 47, 48, 49,
1464 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1465 35, -1, -1, -1, -1, 65, -1, 42, 43, 44,
1466 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1467 55, 56, 57, 58, 59, -1, -1, -1, 39, -1,
1468 65, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1469 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1470 -1, -1, -1, -1, 65, 42, 43, 44, 45, 46,
1471 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1472 57, 58, 59, -1, -1, -1, -1, -1, 65, 42,
1473 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1474 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1475 -1, -1, 65, 42, 43, 44, 45, 46, 47, 48,
1476 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1477 59, -1, -1, -1, -1, -1, 65, 42, 43, 44,
1478 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1479 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1483 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1484 symbol of state STATE-NUM. */
1485 static const unsigned short int yystos
[] =
1487 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1488 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1489 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
1490 150, 168, 173, 178, 179, 180, 181, 182, 183, 184,
1491 185, 190, 193, 194, 197, 201, 202, 203, 204, 205,
1492 206, 210, 212, 213, 219, 227, 239, 240, 9, 11,
1493 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1494 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1495 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1496 110, 111, 112, 113, 114, 115, 143, 236, 237, 238,
1497 255, 267, 22, 84, 85, 86, 87, 202, 210, 179,
1498 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1499 75, 76, 77, 79, 80, 81, 82, 151, 152, 153,
1500 154, 156, 157, 158, 17, 84, 85, 121, 174, 176,
1501 203, 204, 210, 219, 228, 229, 143, 143, 143, 230,
1502 3, 6, 10, 12, 17, 169, 170, 179, 26, 123,
1503 202, 240, 44, 275, 276, 22, 83, 201, 202, 0,
1504 148, 143, 211, 235, 236, 4, 5, 6, 9, 22,
1505 186, 6, 183, 189, 31, 125, 191, 32, 32, 36,
1506 36, 235, 236, 87, 32, 143, 124, 238, 143, 143,
1507 143, 34, 195, 19, 20, 21, 121, 123, 124, 143,
1508 159, 160, 30, 0, 3, 4, 5, 6, 7, 8,
1509 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1510 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1511 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1512 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1513 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1514 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1515 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1516 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1517 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1518 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1519 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1520 125, 144, 163, 164, 163, 26, 119, 155, 143, 159,
1521 25, 27, 28, 32, 47, 48, 60, 61, 78, 142,
1522 143, 165, 224, 143, 143, 230, 143, 230, 176, 31,
1523 143, 35, 233, 233, 233, 233, 236, 23, 31, 202,
1524 36, 198, 36, 23, 174, 191, 198, 38, 234, 32,
1525 143, 6, 187, 6, 9, 188, 186, 32, 31, 17,
1526 87, 178, 207, 208, 209, 210, 207, 143, 220, 221,
1527 92, 93, 94, 95, 96, 98, 99, 246, 247, 248,
1528 261, 264, 270, 271, 272, 143, 235, 196, 211, 236,
1529 118, 163, 144, 26, 27, 32, 44, 226, 165, 32,
1530 143, 165, 32, 42, 43, 44, 45, 46, 47, 48,
1531 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1532 59, 65, 141, 31, 35, 36, 215, 215, 31, 214,
1533 215, 214, 32, 143, 40, 198, 0, 3, 4, 5,
1534 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1535 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1536 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
1537 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1538 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1539 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1540 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1541 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
1542 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1543 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1544 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
1545 124, 125, 145, 198, 199, 200, 246, 32, 31, 31,
1546 19, 23, 25, 27, 32, 39, 124, 142, 211, 222,
1547 223, 224, 235, 234, 6, 26, 192, 236, 17, 235,
1548 33, 34, 34, 33, 34, 40, 34, 231, 211, 251,
1549 222, 243, 265, 266, 267, 275, 211, 143, 273, 274,
1550 211, 262, 266, 37, 247, 222, 33, 143, 34, 32,
1551 179, 225, 226, 22, 33, 143, 165, 166, 167, 165,
1552 165, 32, 121, 175, 176, 177, 178, 216, 219, 228,
1553 229, 211, 211, 235, 19, 20, 21, 26, 171, 172,
1554 222, 37, 200, 37, 3, 6, 10, 12, 13, 14,
1555 15, 16, 17, 33, 241, 242, 244, 245, 22, 87,
1556 178, 222, 39, 222, 39, 65, 141, 143, 26, 33,
1557 236, 234, 64, 17, 209, 234, 64, 222, 221, 37,
1558 40, 31, 40, 31, 32, 24, 40, 32, 31, 34,
1559 32, 31, 31, 33, 211, 64, 143, 161, 162, 235,
1560 33, 33, 33, 34, 35, 25, 177, 35, 232, 37,
1561 175, 233, 233, 143, 31, 35, 33, 34, 243, 33,
1562 33, 222, 222, 33, 33, 33, 19, 89, 90, 109,
1563 222, 250, 252, 253, 254, 255, 276, 265, 211, 275,
1564 196, 274, 17, 196, 263, 33, 34, 165, 165, 34,
1565 25, 35, 34, 217, 232, 215, 215, 33, 244, 35,
1566 242, 244, 40, 222, 35, 234, 234, 109, 252, 17,
1567 18, 32, 255, 258, 32, 32, 250, 34, 268, 211,
1568 33, 33, 163, 64, 143, 25, 35, 32, 211, 218,
1569 31, 217, 244, 275, 171, 222, 263, 32, 222, 243,
1570 64, 265, 269, 33, 31, 97, 33, 35, 25, 232,
1571 34, 31, 64, 33, 243, 34, 34, 256, 33, 34,
1572 18, 266, 267, 32, 34, 211, 24, 97, 32, 222,
1573 211, 249, 250, 251, 257, 276, 33, 265, 25, 25,
1574 232, 33, 258, 259, 260, 265, 33, 34, 250, 34,
1575 33, 35, 32, 33, 34, 249, 25, 244, 243, 33,
1576 265, 33, 32, 259, 33, 33
1579 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1580 static const unsigned short int yyr1
[] =
1582 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
1583 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1584 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
1585 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1586 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
1587 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1588 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1589 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1590 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1591 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1592 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1593 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1594 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1595 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1596 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1597 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1598 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1599 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1600 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1601 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1602 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1603 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1604 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1605 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1606 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1607 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1608 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1609 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
1610 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
1611 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
1612 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
1613 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
1614 158, 158, 159, 159, 159, 159, 159, 159, 159, 160,
1615 160, 161, 161, 161, 161, 162, 162, 163, 163, 164,
1616 164, 165, 165, 165, 165, 165, 165, 165, 165, 165,
1617 165, 165, 166, 166, 167, 167, 168, 169, 170, 170,
1618 170, 170, 171, 171, 171, 172, 172, 172, 172, 173,
1619 173, 173, 174, 174, 175, 175, 176, 176, 176, 176,
1620 176, 177, 177, 177, 177, 177, 178, 178, 178, 179,
1621 179, 180, 180, 180, 181, 181, 181, 182, 182, 182,
1622 183, 183, 184, 184, 184, 185, 185, 185, 185, 186,
1623 186, 186, 186, 186, 186, 187, 187, 188, 188, 188,
1624 188, 189, 189, 189, 190, 190, 191, 191, 192, 192,
1625 193, 194, 195, 195, 196, 196, 197, 197, 197, 198,
1626 199, 199, 200, 200, 201, 201, 202, 202, 203, 203,
1627 204, 204, 205, 205, 205, 205, 206, 206, 207, 207,
1628 207, 208, 208, 209, 209, 209, 209, 210, 210, 210,
1629 210, 211, 211, 212, 213, 214, 214, 215, 216, 216,
1630 217, 217, 218, 218, 219, 220, 220, 221, 221, 222,
1631 222, 222, 222, 222, 222, 223, 223, 223, 223, 223,
1632 223, 224, 224, 225, 225, 226, 226, 226, 227, 228,
1633 229, 230, 230, 231, 231, 232, 232, 232, 232, 233,
1634 233, 234, 234, 234, 234, 235, 235, 236, 236, 237,
1635 237, 238, 238, 239, 239, 240, 240, 240, 241, 241,
1636 242, 242, 243, 244, 245, 245, 245, 245, 245, 245,
1637 245, 245, 245, 246, 246, 247, 247, 247, 247, 247,
1638 248, 248, 249, 249, 249, 250, 250, 250, 250, 250,
1639 250, 251, 251, 252, 253, 253, 254, 255, 255, 255,
1640 255, 255, 255, 255, 255, 255, 255, 256, 256, 257,
1641 257, 258, 258, 259, 259, 260, 260, 261, 262, 262,
1642 263, 263, 263, 264, 265, 265, 265, 266, 266, 267,
1643 267, 267, 267, 267, 267, 267, 267, 268, 268, 269,
1644 269, 270, 271, 271, 272, 273, 273, 274, 275, 275,
1648 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1649 static const unsigned char yyr2
[] =
1651 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1672 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1673 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1674 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1675 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1676 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1677 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1678 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1679 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1680 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1681 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
1682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1683 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
1684 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1685 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1686 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1687 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1688 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1689 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1690 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1691 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1692 1, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1693 2, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1694 2, 3, 0, 2, 1, 3, 3, 3, 4, 3,
1695 1, 2, 1, 1, 1, 2, 1, 1, 5, 7,
1696 5, 7, 6, 7, 6, 5, 1, 2, 0, 1,
1697 1, 1, 3, 1, 2, 3, 2, 1, 2, 4,
1698 3, 3, 2, 4, 4, 1, 1, 3, 4, 5,
1699 0, 2, 2, 4, 5, 1, 3, 1, 3, 1,
1700 4, 3, 3, 2, 5, 1, 1, 1, 1, 1,
1701 1, 4, 2, 1, 2, 2, 1, 1, 2, 2,
1702 2, 0, 1, 0, 1, 0, 2, 7, 9, 0,
1703 7, 0, 2, 3, 3, 0, 1, 1, 2, 1,
1704 2, 1, 2, 4, 5, 7, 8, 13, 1, 3,
1705 2, 4, 2, 1, 1, 1, 1, 1, 1, 1,
1706 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1707 3, 6, 1, 2, 1, 1, 1, 1, 2, 1,
1708 1, 3, 4, 6, 8, 12, 5, 1, 1, 1,
1709 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
1710 3, 1, 1, 0, 1, 1, 3, 3, 6, 1,
1711 0, 1, 1, 3, 1, 1, 3, 5, 6, 1,
1712 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
1713 3, 3, 1, 1, 3, 1, 3, 4, 0, 1,
1718 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1719 static const unsigned char yydprec
[] =
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, 1, 2, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 2, 1, 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, 2, 1, 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, 2, 1, 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,
1787 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1788 static const unsigned char yymerger
[] =
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,
1856 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1857 in the case of predicates. */
1858 static const yybool yyimmediate
[] =
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1927 list of conflicting reductions corresponding to action entry for
1928 state STATE-NUM in yytable. 0 means no conflicts. The list in
1929 yyconfl is terminated by a rule number of 0. */
1930 static const unsigned short int yyconflp
[] =
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 255, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 257, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 263, 0, 265, 267, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 271, 0, 273,
1953 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 259, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 261, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 253, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 277, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 9, 0, 0, 11, 13, 15, 17, 19,
2017 21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
2018 41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
2019 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
2020 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
2021 101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
2022 121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
2023 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
2024 161, 163, 0, 165, 0, 167, 169, 171, 173, 175,
2025 177, 179, 181, 183, 185, 187, 189, 191, 193, 195,
2026 197, 199, 201, 203, 205, 207, 209, 211, 213, 215,
2027 217, 219, 221, 223, 225, 227, 229, 231, 233, 0,
2028 235, 237, 0, 239, 241, 243, 245, 247, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 1, 0, 0, 0, 0, 3,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
2146 0, 251, 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 279, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2300 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2301 0, pointed into by YYCONFLP. */
2302 static const short int yyconfl
[] =
2304 0, 396, 0, 396, 0, 409, 0, 467, 0, 615,
2305 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2306 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2307 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2308 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2309 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2310 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2311 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2312 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2313 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2314 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2315 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2316 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2317 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2318 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2319 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2320 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2321 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2322 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2323 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2324 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2325 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2326 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2327 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
2328 0, 615, 0, 615, 0, 615, 0, 615, 0, 396,
2329 0, 396, 0, 409, 0, 512, 0, 512, 0, 460,
2330 0, 42, 0, 498, 0, 498, 0, 498, 0, 396,
2331 0, 565, 0, 565, 0, 565, 0, 616, 0, 344,
2335 /* Error token number */
2342 #define yynerrs (yystackp->yyerrcnt)
2344 #define yychar (yystackp->yyrawchar)
2346 #define yylval (yystackp->yyval)
2348 #define yylloc (yystackp->yyloc)
2349 #define psi_parser_proc_nerrs yynerrs
2350 #define psi_parser_proc_char yychar
2351 #define psi_parser_proc_lval yylval
2352 #define psi_parser_proc_lloc yylloc
2354 static const int YYEOF
= 0;
2355 static const int YYEMPTY
= -2;
2357 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2359 #define YYCHK(YYE) \
2361 YYRESULTTAG yychk_flag = YYE; \
2362 if (yychk_flag != yyok) \
2363 return yychk_flag; \
2369 # define YYFPRINTF fprintf
2372 /* This macro is provided for backward compatibility. */
2373 #ifndef YY_LOCATION_PRINT
2374 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2378 # define YYDPRINTF(Args) \
2385 /*----------------------------------------.
2386 | Print this symbol's value on YYOUTPUT. |
2387 `----------------------------------------*/
2390 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2392 FILE *yyo
= yyoutput
;
2403 /*--------------------------------.
2404 | Print this symbol on YYOUTPUT. |
2405 `--------------------------------*/
2408 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2410 YYFPRINTF (yyoutput
, "%s %s (",
2411 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2413 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2414 YYFPRINTF (yyoutput
, ")");
2417 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2421 YYFPRINTF (stderr, "%s ", Title); \
2422 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2423 YYFPRINTF (stderr, "\n"); \
2427 /* Nonzero means print parse trace. It is left uninitialized so that
2428 multiple parsers can coexist. */
2432 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2433 YY_ATTRIBUTE_UNUSED
;
2434 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2435 YY_ATTRIBUTE_UNUSED
;
2437 #else /* !YYDEBUG */
2439 # define YYDPRINTF(Args)
2440 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2442 #endif /* !YYDEBUG */
2444 /* YYINITDEPTH -- initial size of the parser's stacks. */
2446 # define YYINITDEPTH 200
2449 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2450 if the built-in stack extension method is used).
2452 Do not make this value too large; the results are undefined if
2453 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2454 evaluated with infinite-precision integer arithmetic. */
2457 # define YYMAXDEPTH 10000
2460 /* Minimum number of free items on the stack allowed after an
2461 allocation. This is to allow allocation and initialization
2462 to be completed by functions that call yyexpandGLRStack before the
2463 stack is expanded, thus insuring that all necessary pointers get
2464 properly redirected to new data. */
2465 #define YYHEADROOM 2
2467 #ifndef YYSTACKEXPANDABLE
2468 # define YYSTACKEXPANDABLE 1
2471 #if YYSTACKEXPANDABLE
2472 # define YY_RESERVE_GLRSTACK(Yystack) \
2474 if (Yystack->yyspaceLeft < YYHEADROOM) \
2475 yyexpandGLRStack (Yystack); \
2478 # define YY_RESERVE_GLRSTACK(Yystack) \
2480 if (Yystack->yyspaceLeft < YYHEADROOM) \
2481 yyMemoryExhausted (Yystack); \
2489 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2490 # define yystpcpy stpcpy
2492 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2495 yystpcpy (char *yydest
, const char *yysrc
)
2498 const char *yys
= yysrc
;
2500 while ((*yyd
++ = *yys
++) != '\0')
2509 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2510 quotes and backslashes, so that it's suitable for yyerror. The
2511 heuristic is that double-quoting is unnecessary unless the string
2512 contains an apostrophe, a comma, or backslash (other than
2513 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2514 null, do not copy; instead, return the length of what the result
2517 yytnamerr (char *yyres
, const char *yystr
)
2522 char const *yyp
= yystr
;
2529 goto do_not_strip_quotes
;
2533 goto do_not_strip_quotes
;
2546 do_not_strip_quotes
: ;
2550 return strlen (yystr
);
2552 return yystpcpy (yyres
, yystr
) - yyres
;
2556 #endif /* !YYERROR_VERBOSE */
2558 /** State numbers, as in LALR(1) machine */
2559 typedef int yyStateNum
;
2561 /** Rule numbers, as in LALR(1) machine */
2562 typedef int yyRuleNum
;
2564 /** Grammar symbol */
2565 typedef int yySymbol
;
2567 /** Item references, as in LALR(1) machine */
2568 typedef short int yyItemNum
;
2570 typedef struct yyGLRState yyGLRState
;
2571 typedef struct yyGLRStateSet yyGLRStateSet
;
2572 typedef struct yySemanticOption yySemanticOption
;
2573 typedef union yyGLRStackItem yyGLRStackItem
;
2574 typedef struct yyGLRStack yyGLRStack
;
2577 /** Type tag: always true. */
2579 /** Type tag for yysemantics. If true, yysval applies, otherwise
2580 * yyfirstVal applies. */
2582 /** Number of corresponding LALR(1) machine state. */
2583 yyStateNum yylrState
;
2584 /** Preceding state in this stack */
2586 /** Source position of the last token produced by my symbol */
2589 /** First in a chain of alternative reductions producing the
2590 * non-terminal corresponding to this state, threaded through
2592 yySemanticOption
* yyfirstVal
;
2593 /** Semantic value for this state. */
2598 struct yyGLRStateSet
{
2599 yyGLRState
** yystates
;
2600 /** During nondeterministic operation, yylookaheadNeeds tracks which
2601 * stacks have actually needed the current lookahead. During deterministic
2602 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2603 * duplicate yychar != YYEMPTY. */
2604 yybool
* yylookaheadNeeds
;
2605 size_t yysize
, yycapacity
;
2608 struct yySemanticOption
{
2609 /** Type tag: always false. */
2611 /** Rule number for this reduction */
2613 /** The last RHS state in the list of states to be reduced. */
2614 yyGLRState
* yystate
;
2615 /** The lookahead for this reduction. */
2618 /** Next sibling in chain of options. To facilitate merging,
2619 * options are chained in decreasing order by address. */
2620 yySemanticOption
* yynext
;
2623 /** Type of the items in the GLR stack. The yyisState field
2624 * indicates which item of the union is valid. */
2625 union yyGLRStackItem
{
2627 yySemanticOption yyoption
;
2638 YYJMP_BUF yyexception_buffer
;
2639 yyGLRStackItem
* yyitems
;
2640 yyGLRStackItem
* yynextFree
;
2642 yyGLRState
* yysplitPoint
;
2643 yyGLRState
* yylastDeleted
;
2644 yyGLRStateSet yytops
;
2647 #if YYSTACKEXPANDABLE
2648 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2651 static _Noreturn
void
2652 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2654 if (yymsg
!= YY_NULLPTR
)
2655 yyerror (P
, tokens
, index
, yymsg
);
2656 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2659 static _Noreturn
void
2660 yyMemoryExhausted (yyGLRStack
* yystackp
)
2662 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2665 #if YYDEBUG || YYERROR_VERBOSE
2666 /** A printable representation of TOKEN. */
2667 static inline const char*
2668 yytokenName (yySymbol yytoken
)
2670 if (yytoken
== YYEMPTY
)
2673 return yytname
[yytoken
];
2677 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2678 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2679 * containing the pointer to the next state in the chain. */
2680 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2682 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2685 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2686 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2689 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2691 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2693 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2695 /* The effect of using yysval or yyloc (in an immediate rule) is
2697 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2698 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2702 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2703 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2704 * For convenience, always return YYLOW1. */
2705 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2706 YY_ATTRIBUTE_UNUSED
;
2708 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2710 if (!yynormal
&& yylow1
< *yylow
)
2712 yyfillin (yyvsp
, *yylow
, yylow1
);
2718 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2719 * and top stack item YYVSP. YYLVALP points to place to put semantic
2720 * value ($$), and yylocp points to place for location information
2721 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2722 * yyerr for YYERROR, yyabort for YYABORT. */
2724 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2725 yyGLRStack
* yystackp
,
2726 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2728 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2736 # define yyerrok (yystackp->yyerrState = 0)
2738 # define YYACCEPT return yyaccept
2740 # define YYABORT return yyabort
2742 # define YYERROR return yyerrok, yyerr
2743 # undef YYRECOVERING
2744 # define YYRECOVERING() (yystackp->yyerrState != 0)
2746 # define yyclearin (yychar = YYEMPTY)
2748 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2750 # define YYBACKUP(Token, Value) \
2751 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2756 *yyvalp
= yyval_default
;
2758 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2762 #line 443 "src/parser_proc_grammar.y" /* glr.c:816 */
2764 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2765 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2766 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2769 #line 2770 "src/parser_proc.c" /* glr.c:816 */
2773 #line 449 "src/parser_proc_grammar.y" /* glr.c:816 */
2776 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2777 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2779 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
);
2782 #line 2783 "src/parser_proc.c" /* glr.c:816 */
2786 #line 457 "src/parser_proc_grammar.y" /* glr.c:816 */
2788 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2790 #line 2791 "src/parser_proc.c" /* glr.c:816 */
2794 #line 460 "src/parser_proc_grammar.y" /* glr.c:816 */
2796 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2798 #line 2799 "src/parser_proc.c" /* glr.c:816 */
2802 #line 465 "src/parser_proc_grammar.y" /* glr.c:816 */
2804 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2806 #line 2807 "src/parser_proc.c" /* glr.c:816 */
2810 #line 468 "src/parser_proc_grammar.y" /* glr.c:816 */
2812 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2814 #line 2815 "src/parser_proc.c" /* glr.c:816 */
2818 #line 471 "src/parser_proc_grammar.y" /* glr.c:816 */
2820 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2822 #line 2823 "src/parser_proc.c" /* glr.c:816 */
2826 #line 474 "src/parser_proc_grammar.y" /* glr.c:816 */
2828 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2830 #line 2831 "src/parser_proc.c" /* glr.c:816 */
2834 #line 477 "src/parser_proc_grammar.y" /* glr.c:816 */
2836 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2838 #line 2839 "src/parser_proc.c" /* glr.c:816 */
2842 #line 483 "src/parser_proc_grammar.y" /* glr.c:816 */
2844 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2846 #line 2847 "src/parser_proc.c" /* glr.c:816 */
2850 #line 489 "src/parser_proc_grammar.y" /* glr.c:816 */
2852 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2854 #line 2855 "src/parser_proc.c" /* glr.c:816 */
2858 #line 492 "src/parser_proc_grammar.y" /* glr.c:816 */
2860 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2862 #line 2863 "src/parser_proc.c" /* glr.c:816 */
2866 #line 498 "src/parser_proc_grammar.y" /* glr.c:816 */
2868 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2869 struct psi_token
*msg
= NULL
;
2871 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2873 struct psi_token
*next
;
2875 msg
= psi_token_copy(msg
);
2876 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2877 struct psi_token
*old
= msg
;
2878 msg
= psi_token_cat(" ", 2, msg
, next
);
2882 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2884 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2886 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2888 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2890 #line 2891 "src/parser_proc.c" /* glr.c:816 */
2894 #line 521 "src/parser_proc_grammar.y" /* glr.c:816 */
2896 (*(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
))));
2897 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2899 #line 2900 "src/parser_proc.c" /* glr.c:816 */
2903 #line 525 "src/parser_proc_grammar.y" /* glr.c:816 */
2905 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2906 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2908 #line 2909 "src/parser_proc.c" /* glr.c:816 */
2912 #line 529 "src/parser_proc_grammar.y" /* glr.c:816 */
2914 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2915 (*(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
))));
2916 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2918 #line 2919 "src/parser_proc.c" /* glr.c:816 */
2922 #line 534 "src/parser_proc_grammar.y" /* glr.c:816 */
2924 (*(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
)));
2925 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2927 #line 2928 "src/parser_proc.c" /* glr.c:816 */
2931 #line 538 "src/parser_proc_grammar.y" /* glr.c:816 */
2933 (*(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
)));
2934 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2936 #line 2937 "src/parser_proc.c" /* glr.c:816 */
2940 #line 542 "src/parser_proc_grammar.y" /* glr.c:816 */
2942 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2943 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= 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 546 "src/parser_proc_grammar.y" /* glr.c:816 */
2951 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2952 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2954 #line 2955 "src/parser_proc.c" /* glr.c:816 */
2958 #line 600 "src/parser_proc_grammar.y" /* glr.c:816 */
2960 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2961 (*(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
);
2962 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2964 #line 2965 "src/parser_proc.c" /* glr.c:816 */
2968 #line 605 "src/parser_proc_grammar.y" /* glr.c:816 */
2970 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2971 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2972 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2974 #line 2975 "src/parser_proc.c" /* glr.c:816 */
2978 #line 613 "src/parser_proc_grammar.y" /* glr.c:816 */
2980 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2982 #line 2983 "src/parser_proc.c" /* glr.c:816 */
2986 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
2988 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2990 #line 2991 "src/parser_proc.c" /* glr.c:816 */
2994 #line 620 "src/parser_proc_grammar.y" /* glr.c:816 */
2996 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
2998 #line 2999 "src/parser_proc.c" /* glr.c:816 */
3002 #line 626 "src/parser_proc_grammar.y" /* glr.c:816 */
3004 (*(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
)));
3005 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3006 (*(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
)));
3008 #line 3009 "src/parser_proc.c" /* glr.c:816 */
3012 #line 631 "src/parser_proc_grammar.y" /* glr.c:816 */
3014 (*(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
)));
3015 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3016 (*(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
)));
3018 #line 3019 "src/parser_proc.c" /* glr.c:816 */
3022 #line 639 "src/parser_proc_grammar.y" /* glr.c:816 */
3024 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3026 #line 3027 "src/parser_proc.c" /* glr.c:816 */
3030 #line 646 "src/parser_proc_grammar.y" /* glr.c:816 */
3032 (*(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
)));
3033 (*(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
)));
3035 #line 3036 "src/parser_proc.c" /* glr.c:816 */
3039 #line 650 "src/parser_proc_grammar.y" /* glr.c:816 */
3041 (*(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
)));
3042 (*(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
)));
3044 #line 3045 "src/parser_proc.c" /* glr.c:816 */
3048 #line 657 "src/parser_proc_grammar.y" /* glr.c:816 */
3050 (*(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
)));
3051 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3053 #line 3054 "src/parser_proc.c" /* glr.c:816 */
3057 #line 661 "src/parser_proc_grammar.y" /* glr.c:816 */
3059 (*(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
)));
3060 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3062 #line 3063 "src/parser_proc.c" /* glr.c:816 */
3066 #line 665 "src/parser_proc_grammar.y" /* glr.c:816 */
3068 (*(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
)));
3069 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3071 #line 3072 "src/parser_proc.c" /* glr.c:816 */
3075 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3077 (*(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
)));
3078 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3080 #line 3081 "src/parser_proc.c" /* glr.c:816 */
3084 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
3089 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3090 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3091 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3092 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3095 #line 3096 "src/parser_proc.c" /* glr.c:816 */
3099 #line 684 "src/parser_proc_grammar.y" /* glr.c:816 */
3104 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3105 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3106 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3107 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3110 #line 3111 "src/parser_proc.c" /* glr.c:816 */
3114 #line 694 "src/parser_proc_grammar.y" /* glr.c:816 */
3116 (*(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
));
3117 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3118 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3120 #line 3121 "src/parser_proc.c" /* glr.c:816 */
3124 #line 699 "src/parser_proc_grammar.y" /* glr.c:816 */
3126 (*(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));
3127 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3128 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3130 #line 3131 "src/parser_proc.c" /* glr.c:816 */
3134 #line 704 "src/parser_proc_grammar.y" /* glr.c:816 */
3136 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3137 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3139 #line 3140 "src/parser_proc.c" /* glr.c:816 */
3143 #line 708 "src/parser_proc_grammar.y" /* glr.c:816 */
3145 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3146 (*(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));
3147 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3148 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3150 #line 3151 "src/parser_proc.c" /* glr.c:816 */
3154 #line 714 "src/parser_proc_grammar.y" /* glr.c:816 */
3156 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3157 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3158 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));
3159 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3161 #line 3162 "src/parser_proc.c" /* glr.c:816 */
3165 #line 723 "src/parser_proc_grammar.y" /* glr.c:816 */
3167 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3169 #line 3170 "src/parser_proc.c" /* glr.c:816 */
3173 #line 730 "src/parser_proc_grammar.y" /* glr.c:816 */
3175 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3176 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3178 #line 3179 "src/parser_proc.c" /* glr.c:816 */
3182 #line 734 "src/parser_proc_grammar.y" /* glr.c:816 */
3184 (*(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
)));
3186 #line 3187 "src/parser_proc.c" /* glr.c:816 */
3190 #line 740 "src/parser_proc_grammar.y" /* glr.c:816 */
3192 (*(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
)));
3193 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3195 #line 3196 "src/parser_proc.c" /* glr.c:816 */
3199 #line 747 "src/parser_proc_grammar.y" /* glr.c:816 */
3201 (*(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
);
3203 #line 3204 "src/parser_proc.c" /* glr.c:816 */
3207 #line 760 "src/parser_proc_grammar.y" /* glr.c:816 */
3209 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3211 #line 3212 "src/parser_proc.c" /* glr.c:816 */
3215 #line 763 "src/parser_proc_grammar.y" /* glr.c:816 */
3217 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
, NULL
, NULL
, NULL
, NULL
)) {
3219 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3221 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3222 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3224 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3228 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3229 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3230 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3231 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3232 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3233 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3234 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3235 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3236 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3237 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3243 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3245 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3247 #line 3248 "src/parser_proc.c" /* glr.c:816 */
3251 #line 794 "src/parser_proc_grammar.y" /* glr.c:816 */
3253 (*(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
);
3254 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3256 #line 3257 "src/parser_proc.c" /* glr.c:816 */
3260 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
3262 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3264 #line 3265 "src/parser_proc.c" /* glr.c:816 */
3268 #line 811 "src/parser_proc_grammar.y" /* glr.c:816 */
3270 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3271 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3272 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3274 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3275 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3276 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3278 #line 3279 "src/parser_proc.c" /* glr.c:816 */
3282 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
3284 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3286 #line 3287 "src/parser_proc.c" /* glr.c:816 */
3290 #line 826 "src/parser_proc_grammar.y" /* glr.c:816 */
3292 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3294 #line 3295 "src/parser_proc.c" /* glr.c:816 */
3298 #line 829 "src/parser_proc_grammar.y" /* glr.c:816 */
3300 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3302 #line 3303 "src/parser_proc.c" /* glr.c:816 */
3306 #line 835 "src/parser_proc_grammar.y" /* glr.c:816 */
3308 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3310 #line 3311 "src/parser_proc.c" /* glr.c:816 */
3314 #line 838 "src/parser_proc_grammar.y" /* glr.c:816 */
3316 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3318 #line 3319 "src/parser_proc.c" /* glr.c:816 */
3322 #line 845 "src/parser_proc_grammar.y" /* glr.c:816 */
3324 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3325 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3326 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3328 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3329 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3331 #line 3332 "src/parser_proc.c" /* glr.c:816 */
3335 #line 853 "src/parser_proc_grammar.y" /* glr.c:816 */
3337 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3338 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3339 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3340 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3342 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3343 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3344 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3345 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3347 #line 3348 "src/parser_proc.c" /* glr.c:816 */
3351 #line 864 "src/parser_proc_grammar.y" /* glr.c:816 */
3353 (*(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
)));
3354 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3355 (*(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
)));
3356 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3357 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3358 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3359 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3361 #line 3362 "src/parser_proc.c" /* glr.c:816 */
3365 #line 873 "src/parser_proc_grammar.y" /* glr.c:816 */
3367 (*(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
)));
3368 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3369 (*(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
)));
3370 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3371 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3372 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3373 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3375 #line 3376 "src/parser_proc.c" /* glr.c:816 */
3379 #line 886 "src/parser_proc_grammar.y" /* glr.c:816 */
3381 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), psi_decl_var_init(NULL
, 0, 0));
3382 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3384 #line 3385 "src/parser_proc.c" /* glr.c:816 */
3388 #line 890 "src/parser_proc_grammar.y" /* glr.c:816 */
3390 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3391 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3392 psi_decl_var_init(NULL
, 0, 0)
3394 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3395 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3396 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3397 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3399 #line 3400 "src/parser_proc.c" /* glr.c:816 */
3403 #line 900 "src/parser_proc_grammar.y" /* glr.c:816 */
3405 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
), psi_decl_var_init(NULL
, 0, 0));
3406 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3407 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
= psi_decl_struct_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3408 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3409 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3410 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3411 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3413 #line 3414 "src/parser_proc.c" /* glr.c:816 */
3417 #line 909 "src/parser_proc_grammar.y" /* glr.c:816 */
3419 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
), psi_decl_var_init(NULL
, 0, 0));
3420 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3421 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
= psi_decl_union_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3422 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3423 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3424 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3425 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3427 #line 3428 "src/parser_proc.c" /* glr.c:816 */
3431 #line 921 "src/parser_proc_grammar.y" /* glr.c:816 */
3433 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3435 #line 3436 "src/parser_proc.c" /* glr.c:816 */
3439 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3441 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3443 #line 3444 "src/parser_proc.c" /* glr.c:816 */
3447 #line 931 "src/parser_proc_grammar.y" /* glr.c:816 */
3449 (*(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
);
3450 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3452 #line 3453 "src/parser_proc.c" /* glr.c:816 */
3456 #line 939 "src/parser_proc_grammar.y" /* glr.c:816 */
3458 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3459 (*(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
);
3460 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3462 #line 3463 "src/parser_proc.c" /* glr.c:816 */
3466 #line 944 "src/parser_proc_grammar.y" /* glr.c:816 */
3468 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3469 (*(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
);
3470 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3472 #line 3473 "src/parser_proc.c" /* glr.c:816 */
3476 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3478 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3479 (*(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
);
3480 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3482 #line 3483 "src/parser_proc.c" /* glr.c:816 */
3486 #line 959 "src/parser_proc_grammar.y" /* glr.c:816 */
3488 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3490 #line 3491 "src/parser_proc.c" /* glr.c:816 */
3494 #line 965 "src/parser_proc_grammar.y" /* glr.c:816 */
3496 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3498 #line 3499 "src/parser_proc.c" /* glr.c:816 */
3502 #line 968 "src/parser_proc_grammar.y" /* glr.c:816 */
3504 (*(struct psi_token
**)(&(*yyvalp
))) = 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 971 "src/parser_proc_grammar.y" /* glr.c:816 */
3512 (*(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
)));
3514 #line 3515 "src/parser_proc.c" /* glr.c:816 */
3518 #line 982 "src/parser_proc_grammar.y" /* glr.c:816 */
3520 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3522 #line 3523 "src/parser_proc.c" /* glr.c:816 */
3526 #line 985 "src/parser_proc_grammar.y" /* glr.c:816 */
3528 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3530 #line 3531 "src/parser_proc.c" /* glr.c:816 */
3534 #line 988 "src/parser_proc_grammar.y" /* glr.c:816 */
3536 (*(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
)));
3538 #line 3539 "src/parser_proc.c" /* glr.c:816 */
3542 #line 994 "src/parser_proc_grammar.y" /* glr.c:816 */
3544 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3546 #line 3547 "src/parser_proc.c" /* glr.c:816 */
3550 #line 997 "src/parser_proc_grammar.y" /* glr.c:816 */
3552 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3554 #line 3555 "src/parser_proc.c" /* glr.c:816 */
3558 #line 1000 "src/parser_proc_grammar.y" /* glr.c:816 */
3560 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3561 (*(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
)));
3562 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3564 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3567 #line 3568 "src/parser_proc.c" /* glr.c:816 */
3571 #line 1008 "src/parser_proc_grammar.y" /* glr.c:816 */
3573 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3574 (*(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
)));
3575 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3576 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3578 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3581 #line 3582 "src/parser_proc.c" /* glr.c:816 */
3585 #line 1020 "src/parser_proc_grammar.y" /* glr.c:816 */
3587 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3589 #line 3590 "src/parser_proc.c" /* glr.c:816 */
3593 #line 1023 "src/parser_proc_grammar.y" /* glr.c:816 */
3595 (*(struct psi_token
**)(&(*yyvalp
))) = 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 1026 "src/parser_proc_grammar.y" /* glr.c:816 */
3603 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3605 #line 3606 "src/parser_proc.c" /* glr.c:816 */
3609 #line 1029 "src/parser_proc_grammar.y" /* glr.c:816 */
3611 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3612 (*(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
)));
3614 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3617 #line 3618 "src/parser_proc.c" /* glr.c:816 */
3621 #line 1036 "src/parser_proc_grammar.y" /* glr.c:816 */
3623 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3625 #line 3626 "src/parser_proc.c" /* glr.c:816 */
3629 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3631 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3632 (*(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
)));
3634 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3637 #line 3638 "src/parser_proc.c" /* glr.c:816 */
3641 #line 1049 "src/parser_proc_grammar.y" /* glr.c:816 */
3643 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3645 #line 3646 "src/parser_proc.c" /* glr.c:816 */
3649 #line 1055 "src/parser_proc_grammar.y" /* glr.c:816 */
3651 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3653 #line 3654 "src/parser_proc.c" /* glr.c:816 */
3657 #line 1064 "src/parser_proc_grammar.y" /* glr.c:816 */
3659 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3661 #line 3662 "src/parser_proc.c" /* glr.c:816 */
3665 #line 1067 "src/parser_proc_grammar.y" /* glr.c:816 */
3667 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3669 #line 3670 "src/parser_proc.c" /* glr.c:816 */
3673 #line 1070 "src/parser_proc_grammar.y" /* glr.c:816 */
3675 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3676 (*(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
)));
3677 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3679 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3682 #line 3683 "src/parser_proc.c" /* glr.c:816 */
3686 #line 1081 "src/parser_proc_grammar.y" /* glr.c:816 */
3688 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3690 #line 3691 "src/parser_proc.c" /* glr.c:816 */
3694 #line 1084 "src/parser_proc_grammar.y" /* glr.c:816 */
3696 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3698 #line 3699 "src/parser_proc.c" /* glr.c:816 */
3702 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3704 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3706 #line 3707 "src/parser_proc.c" /* glr.c:816 */
3710 #line 1111 "src/parser_proc_grammar.y" /* glr.c:816 */
3712 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3714 #line 3715 "src/parser_proc.c" /* glr.c:816 */
3718 #line 1117 "src/parser_proc_grammar.y" /* glr.c:816 */
3720 (*(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
)));
3722 #line 3723 "src/parser_proc.c" /* glr.c:816 */
3726 #line 1120 "src/parser_proc_grammar.y" /* glr.c:816 */
3728 (*(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
)));
3730 #line 3731 "src/parser_proc.c" /* glr.c:816 */
3734 #line 1126 "src/parser_proc_grammar.y" /* glr.c:816 */
3736 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3738 #line 3739 "src/parser_proc.c" /* glr.c:816 */
3742 #line 1129 "src/parser_proc_grammar.y" /* glr.c:816 */
3744 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3746 #line 3747 "src/parser_proc.c" /* glr.c:816 */
3750 #line 1132 "src/parser_proc_grammar.y" /* glr.c:816 */
3752 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3754 #line 3755 "src/parser_proc.c" /* glr.c:816 */
3758 #line 1153 "src/parser_proc_grammar.y" /* glr.c:816 */
3760 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3761 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3763 #line 3764 "src/parser_proc.c" /* glr.c:816 */
3767 #line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */
3769 (*(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
)));
3770 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3771 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3772 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3775 #line 3776 "src/parser_proc.c" /* glr.c:816 */
3779 #line 1172 "src/parser_proc_grammar.y" /* glr.c:816 */
3781 (*(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
)));
3782 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3783 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3784 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3785 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3788 #line 3789 "src/parser_proc.c" /* glr.c:816 */
3792 #line 1183 "src/parser_proc_grammar.y" /* glr.c:816 */
3794 (*(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
)));
3795 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3796 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3797 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3800 #line 3801 "src/parser_proc.c" /* glr.c:816 */
3804 #line 1190 "src/parser_proc_grammar.y" /* glr.c:816 */
3806 (*(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
)));
3807 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3808 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3809 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3810 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3813 #line 3814 "src/parser_proc.c" /* glr.c:816 */
3817 #line 1201 "src/parser_proc_grammar.y" /* glr.c:816 */
3819 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3820 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3821 (*(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));
3822 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3823 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3825 #line 3826 "src/parser_proc.c" /* glr.c:816 */
3829 #line 1208 "src/parser_proc_grammar.y" /* glr.c:816 */
3831 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3832 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3833 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3834 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
),
3835 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)
3837 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3838 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3839 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3841 #line 3842 "src/parser_proc.c" /* glr.c:816 */
3845 #line 1219 "src/parser_proc_grammar.y" /* glr.c:816 */
3847 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3848 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3849 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3850 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
),
3851 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)
3853 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3854 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3855 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3857 #line 3858 "src/parser_proc.c" /* glr.c:816 */
3861 #line 1230 "src/parser_proc_grammar.y" /* glr.c:816 */
3863 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3864 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3865 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3866 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
),
3867 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3869 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3870 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3871 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3873 #line 3874 "src/parser_proc.c" /* glr.c:816 */
3877 #line 1245 "src/parser_proc_grammar.y" /* glr.c:816 */
3879 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3880 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
),
3881 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3883 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3884 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3885 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3887 #line 3888 "src/parser_proc.c" /* glr.c:816 */
3891 #line 1257 "src/parser_proc_grammar.y" /* glr.c:816 */
3893 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3895 #line 3896 "src/parser_proc.c" /* glr.c:816 */
3899 #line 1260 "src/parser_proc_grammar.y" /* glr.c:816 */
3901 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3903 #line 3904 "src/parser_proc.c" /* glr.c:816 */
3907 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
3909 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3911 #line 3912 "src/parser_proc.c" /* glr.c:816 */
3915 #line 1269 "src/parser_proc_grammar.y" /* glr.c:816 */
3917 (*(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
)));
3919 #line 3920 "src/parser_proc.c" /* glr.c:816 */
3923 #line 1272 "src/parser_proc_grammar.y" /* glr.c:816 */
3925 (*(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
)));
3927 #line 3928 "src/parser_proc.c" /* glr.c:816 */
3931 #line 1279 "src/parser_proc_grammar.y" /* glr.c:816 */
3933 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3935 #line 3936 "src/parser_proc.c" /* glr.c:816 */
3939 #line 1282 "src/parser_proc_grammar.y" /* glr.c:816 */
3941 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3942 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3943 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3946 #line 3947 "src/parser_proc.c" /* glr.c:816 */
3950 #line 1288 "src/parser_proc_grammar.y" /* glr.c:816 */
3952 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3953 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
),
3954 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3956 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3957 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3958 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3960 #line 3961 "src/parser_proc.c" /* glr.c:816 */
3964 #line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */
3966 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3967 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
),
3968 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3970 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3971 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3972 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3974 #line 3975 "src/parser_proc.c" /* glr.c:816 */
3978 #line 1309 "src/parser_proc_grammar.y" /* glr.c:816 */
3980 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3981 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3982 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3984 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3985 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3987 #line 3988 "src/parser_proc.c" /* glr.c:816 */
3991 #line 1317 "src/parser_proc_grammar.y" /* glr.c:816 */
3993 (*(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
)));
3995 #line 3996 "src/parser_proc.c" /* glr.c:816 */
3999 #line 1320 "src/parser_proc_grammar.y" /* glr.c:816 */
4001 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4002 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4003 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
),
4004 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)
4006 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4007 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4008 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4010 #line 4011 "src/parser_proc.c" /* glr.c:816 */
4014 #line 1330 "src/parser_proc_grammar.y" /* glr.c:816 */
4016 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4017 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4018 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
),
4019 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)
4021 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4022 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4023 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4025 #line 4026 "src/parser_proc.c" /* glr.c:816 */
4029 #line 1343 "src/parser_proc_grammar.y" /* glr.c:816 */
4031 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4032 (*(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
)));
4033 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4035 #line 4036 "src/parser_proc.c" /* glr.c:816 */
4039 #line 1348 "src/parser_proc_grammar.y" /* glr.c:816 */
4041 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4042 (*(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
)));
4043 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4045 #line 4046 "src/parser_proc.c" /* glr.c:816 */
4049 #line 1356 "src/parser_proc_grammar.y" /* glr.c:816 */
4051 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4052 (*(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
)));
4053 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4054 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4055 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4057 #line 4058 "src/parser_proc.c" /* glr.c:816 */
4061 #line 1366 "src/parser_proc_grammar.y" /* glr.c:816 */
4063 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4064 (*(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
)));
4065 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4066 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4067 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4069 #line 4070 "src/parser_proc.c" /* glr.c:816 */
4073 #line 1376 "src/parser_proc_grammar.y" /* glr.c:816 */
4075 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4077 #line 4078 "src/parser_proc.c" /* glr.c:816 */
4081 #line 1383 "src/parser_proc_grammar.y" /* glr.c:816 */
4083 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4085 #line 4086 "src/parser_proc.c" /* glr.c:816 */
4089 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
4091 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4092 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4093 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4095 struct psi_decl_arg
*arg
;
4097 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4098 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4099 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4101 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4104 #line 4105 "src/parser_proc.c" /* glr.c:816 */
4108 #line 1403 "src/parser_proc_grammar.y" /* glr.c:816 */
4110 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4111 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)), &(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4112 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4114 struct psi_decl_arg
*arg
;
4116 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4117 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4118 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4120 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4123 #line 4124 "src/parser_proc.c" /* glr.c:816 */
4127 #line 1420 "src/parser_proc_grammar.y" /* glr.c:816 */
4129 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4131 #line 4132 "src/parser_proc.c" /* glr.c:816 */
4135 #line 1423 "src/parser_proc_grammar.y" /* glr.c:816 */
4137 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4139 #line 4140 "src/parser_proc.c" /* glr.c:816 */
4143 #line 1429 "src/parser_proc_grammar.y" /* glr.c:816 */
4146 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4147 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4148 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4151 #line 4152 "src/parser_proc.c" /* glr.c:816 */
4155 #line 1436 "src/parser_proc_grammar.y" /* glr.c:816 */
4158 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4159 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4160 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4163 #line 4164 "src/parser_proc.c" /* glr.c:816 */
4167 #line 1446 "src/parser_proc_grammar.y" /* glr.c:816 */
4169 (*(struct psi_decl_enum
**)(&(*yyvalp
))) = psi_decl_enum_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4170 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
4172 #line 4173 "src/parser_proc.c" /* glr.c:816 */
4176 #line 1453 "src/parser_proc_grammar.y" /* glr.c:816 */
4178 (*(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
)));
4180 #line 4181 "src/parser_proc.c" /* glr.c:816 */
4184 #line 1456 "src/parser_proc_grammar.y" /* glr.c:816 */
4186 (*(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
)));
4188 #line 4189 "src/parser_proc.c" /* glr.c:816 */
4192 #line 1462 "src/parser_proc_grammar.y" /* glr.c:816 */
4194 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4195 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4196 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4198 #line 4199 "src/parser_proc.c" /* glr.c:816 */
4202 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
4204 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4205 (*(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
)));
4206 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4208 #line 4209 "src/parser_proc.c" /* glr.c:816 */
4212 #line 1475 "src/parser_proc_grammar.y" /* glr.c:816 */
4214 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4215 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4217 #line 4218 "src/parser_proc.c" /* glr.c:816 */
4221 #line 1479 "src/parser_proc_grammar.y" /* glr.c:816 */
4223 (*(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
)));
4224 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4226 #line 4227 "src/parser_proc.c" /* glr.c:816 */
4230 #line 1483 "src/parser_proc_grammar.y" /* glr.c:816 */
4232 (*(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
)));
4233 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4235 #line 4236 "src/parser_proc.c" /* glr.c:816 */
4239 #line 1487 "src/parser_proc_grammar.y" /* glr.c:816 */
4241 (*(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
)));
4242 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4244 #line 4245 "src/parser_proc.c" /* glr.c:816 */
4248 #line 1491 "src/parser_proc_grammar.y" /* glr.c:816 */
4250 (*(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
)));
4251 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4253 #line 4254 "src/parser_proc.c" /* glr.c:816 */
4257 #line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */
4259 (*(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
)));
4260 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4262 #line 4263 "src/parser_proc.c" /* glr.c:816 */
4266 #line 1502 "src/parser_proc_grammar.y" /* glr.c:816 */
4268 (*(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
);
4269 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4271 #line 4272 "src/parser_proc.c" /* glr.c:816 */
4275 #line 1506 "src/parser_proc_grammar.y" /* glr.c:816 */
4277 (*(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);
4278 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4280 #line 4281 "src/parser_proc.c" /* glr.c:816 */
4284 #line 1510 "src/parser_proc_grammar.y" /* glr.c:816 */
4286 (*(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);
4287 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4289 #line 4290 "src/parser_proc.c" /* glr.c:816 */
4293 #line 1514 "src/parser_proc_grammar.y" /* glr.c:816 */
4295 (*(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);
4296 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4298 #line 4299 "src/parser_proc.c" /* glr.c:816 */
4302 #line 1518 "src/parser_proc_grammar.y" /* glr.c:816 */
4304 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4305 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4307 #line 4308 "src/parser_proc.c" /* glr.c:816 */
4311 #line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */
4313 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4315 #line 4316 "src/parser_proc.c" /* glr.c:816 */
4319 #line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */
4321 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4322 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4324 #line 4325 "src/parser_proc.c" /* glr.c:816 */
4328 #line 1532 "src/parser_proc_grammar.y" /* glr.c:816 */
4330 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4331 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4333 #line 4334 "src/parser_proc.c" /* glr.c:816 */
4337 #line 1539 "src/parser_proc_grammar.y" /* glr.c:816 */
4339 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4341 #line 4342 "src/parser_proc.c" /* glr.c:816 */
4345 #line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */
4347 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4348 int8_t sizeof_void_p
= sizeof(void *);
4349 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4350 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4352 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4355 #line 4356 "src/parser_proc.c" /* glr.c:816 */
4359 #line 1554 "src/parser_proc_grammar.y" /* glr.c:816 */
4361 int8_t sizeof_void_p
= sizeof(void *);
4362 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4364 #line 4365 "src/parser_proc.c" /* glr.c:816 */
4368 #line 1558 "src/parser_proc_grammar.y" /* glr.c:816 */
4370 int8_t sizeof_a
= sizeof('a');
4371 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4373 #line 4374 "src/parser_proc.c" /* glr.c:816 */
4377 #line 1562 "src/parser_proc_grammar.y" /* glr.c:816 */
4379 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4381 #line 4382 "src/parser_proc.c" /* glr.c:816 */
4385 #line 1568 "src/parser_proc_grammar.y" /* glr.c:816 */
4387 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4388 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4392 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4393 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4396 #line 4397 "src/parser_proc.c" /* glr.c:816 */
4400 #line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */
4402 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4403 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4407 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4408 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4411 #line 4412 "src/parser_proc.c" /* glr.c:816 */
4415 #line 1594 "src/parser_proc_grammar.y" /* glr.c:816 */
4417 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4418 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4422 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4423 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4426 #line 4427 "src/parser_proc.c" /* glr.c:816 */
4430 #line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */
4432 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4434 #line 4435 "src/parser_proc.c" /* glr.c:816 */
4438 #line 1610 "src/parser_proc_grammar.y" /* glr.c:816 */
4440 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4441 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4443 #line 4444 "src/parser_proc.c" /* glr.c:816 */
4447 #line 1622 "src/parser_proc_grammar.y" /* glr.c:816 */
4449 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4451 #line 4452 "src/parser_proc.c" /* glr.c:816 */
4455 #line 1625 "src/parser_proc_grammar.y" /* glr.c:816 */
4457 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(0, 0, psi_layout_init(0, atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
), NULL
));
4459 #line 4460 "src/parser_proc.c" /* glr.c:816 */
4463 #line 1628 "src/parser_proc_grammar.y" /* glr.c:816 */
4465 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
), NULL
);
4467 #line 4468 "src/parser_proc.c" /* glr.c:816 */
4471 #line 1631 "src/parser_proc_grammar.y" /* glr.c:816 */
4473 (*(struct psi_layout
**)(&(*yyvalp
))) = psi_layout_init(atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
), atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
), psi_layout_init(0, atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
))->text
), NULL
));
4475 #line 4476 "src/parser_proc.c" /* glr.c:816 */
4479 #line 1637 "src/parser_proc_grammar.y" /* glr.c:816 */
4481 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4482 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4484 #line 4485 "src/parser_proc.c" /* glr.c:816 */
4488 #line 1641 "src/parser_proc_grammar.y" /* glr.c:816 */
4490 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4491 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4493 #line 4494 "src/parser_proc.c" /* glr.c:816 */
4497 #line 1648 "src/parser_proc_grammar.y" /* glr.c:816 */
4499 (*(size_t*)(&(*yyvalp
))) = 0;
4501 #line 4502 "src/parser_proc.c" /* glr.c:816 */
4505 #line 1651 "src/parser_proc_grammar.y" /* glr.c:816 */
4507 (*(size_t*)(&(*yyvalp
))) = 0;
4509 #line 4510 "src/parser_proc.c" /* glr.c:816 */
4513 #line 1654 "src/parser_proc_grammar.y" /* glr.c:816 */
4515 (*(size_t*)(&(*yyvalp
))) = 0;
4517 #line 4518 "src/parser_proc.c" /* glr.c:816 */
4521 #line 1657 "src/parser_proc_grammar.y" /* glr.c:816 */
4523 if (psi_num_exp_validate(PSI_DATA(P
), (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, NULL
, NULL
, NULL
, NULL
)) {
4524 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4526 (*(size_t*)(&(*yyvalp
))) = 0;
4528 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4530 #line 4531 "src/parser_proc.c" /* glr.c:816 */
4534 #line 1668 "src/parser_proc_grammar.y" /* glr.c:816 */
4536 (*(size_t*)(&(*yyvalp
))) = 0;
4538 #line 4539 "src/parser_proc.c" /* glr.c:816 */
4542 #line 1671 "src/parser_proc_grammar.y" /* glr.c:816 */
4544 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4546 #line 4547 "src/parser_proc.c" /* glr.c:816 */
4550 #line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */
4552 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4554 #line 4555 "src/parser_proc.c" /* glr.c:816 */
4558 #line 1684 "src/parser_proc_grammar.y" /* glr.c:816 */
4560 (*(size_t*)(&(*yyvalp
))) = 1;
4562 #line 4563 "src/parser_proc.c" /* glr.c:816 */
4566 #line 1687 "src/parser_proc_grammar.y" /* glr.c:816 */
4568 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4570 #line 4571 "src/parser_proc.c" /* glr.c:816 */
4574 #line 1704 "src/parser_proc_grammar.y" /* glr.c:816 */
4576 (*(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
)));
4578 #line 4579 "src/parser_proc.c" /* glr.c:816 */
4582 #line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */
4584 (*(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
)));
4585 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4587 #line 4588 "src/parser_proc.c" /* glr.c:816 */
4591 #line 1714 "src/parser_proc_grammar.y" /* glr.c:816 */
4593 (*(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
)));
4594 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4595 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4597 #line 4598 "src/parser_proc.c" /* glr.c:816 */
4601 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4603 (*(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
)));
4604 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4605 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4607 #line 4608 "src/parser_proc.c" /* glr.c:816 */
4611 #line 1724 "src/parser_proc_grammar.y" /* glr.c:816 */
4613 (*(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
)));
4614 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4615 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4616 (*(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
);
4617 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4619 #line 4620 "src/parser_proc.c" /* glr.c:816 */
4623 #line 1734 "src/parser_proc_grammar.y" /* glr.c:816 */
4625 (*(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
)));
4627 #line 4628 "src/parser_proc.c" /* glr.c:816 */
4631 #line 1737 "src/parser_proc_grammar.y" /* glr.c:816 */
4633 (*(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
)));
4635 #line 4636 "src/parser_proc.c" /* glr.c:816 */
4639 #line 1743 "src/parser_proc_grammar.y" /* glr.c:816 */
4641 (*(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
);
4643 #line 4644 "src/parser_proc.c" /* glr.c:816 */
4647 #line 1746 "src/parser_proc_grammar.y" /* glr.c:816 */
4649 (*(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
)));
4651 #line 4652 "src/parser_proc.c" /* glr.c:816 */
4655 #line 1752 "src/parser_proc_grammar.y" /* glr.c:816 */
4657 (*(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
)));
4658 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4660 #line 4661 "src/parser_proc.c" /* glr.c:816 */
4664 #line 1759 "src/parser_proc_grammar.y" /* glr.c:816 */
4666 (*(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
);
4667 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4669 #line 4670 "src/parser_proc.c" /* glr.c:816 */
4673 #line 1778 "src/parser_proc_grammar.y" /* glr.c:816 */
4675 (*(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
)));
4677 #line 4678 "src/parser_proc.c" /* glr.c:816 */
4681 #line 1781 "src/parser_proc_grammar.y" /* glr.c:816 */
4683 (*(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
)));
4685 #line 4686 "src/parser_proc.c" /* glr.c:816 */
4689 #line 1787 "src/parser_proc_grammar.y" /* glr.c:816 */
4691 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4693 #line 4694 "src/parser_proc.c" /* glr.c:816 */
4697 #line 1790 "src/parser_proc_grammar.y" /* glr.c:816 */
4699 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4701 #line 4702 "src/parser_proc.c" /* glr.c:816 */
4705 #line 1793 "src/parser_proc_grammar.y" /* glr.c:816 */
4707 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4709 #line 4710 "src/parser_proc.c" /* glr.c:816 */
4713 #line 1796 "src/parser_proc_grammar.y" /* glr.c:816 */
4715 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4717 #line 4718 "src/parser_proc.c" /* glr.c:816 */
4721 #line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */
4723 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4725 #line 4726 "src/parser_proc.c" /* glr.c:816 */
4729 #line 1805 "src/parser_proc_grammar.y" /* glr.c:816 */
4731 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4732 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4734 #line 4735 "src/parser_proc.c" /* glr.c:816 */
4738 #line 1809 "src/parser_proc_grammar.y" /* glr.c:816 */
4740 (*(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
))));
4741 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4742 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4744 #line 4745 "src/parser_proc.c" /* glr.c:816 */
4748 #line 1818 "src/parser_proc_grammar.y" /* glr.c:816 */
4750 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4751 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4753 #line 4754 "src/parser_proc.c" /* glr.c:816 */
4757 #line 1822 "src/parser_proc_grammar.y" /* glr.c:816 */
4759 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4760 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4762 #line 4763 "src/parser_proc.c" /* glr.c:816 */
4766 #line 1829 "src/parser_proc_grammar.y" /* glr.c:816 */
4768 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4770 #line 4771 "src/parser_proc.c" /* glr.c:816 */
4774 #line 1832 "src/parser_proc_grammar.y" /* glr.c:816 */
4776 (*(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
)));
4778 #line 4779 "src/parser_proc.c" /* glr.c:816 */
4782 #line 1835 "src/parser_proc_grammar.y" /* glr.c:816 */
4784 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4786 #line 4787 "src/parser_proc.c" /* glr.c:816 */
4790 #line 1838 "src/parser_proc_grammar.y" /* glr.c:816 */
4792 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4793 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4795 #line 4796 "src/parser_proc.c" /* glr.c:816 */
4799 #line 1842 "src/parser_proc_grammar.y" /* glr.c:816 */
4801 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4803 #line 4804 "src/parser_proc.c" /* glr.c:816 */
4807 #line 1845 "src/parser_proc_grammar.y" /* glr.c:816 */
4809 (*(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
)));
4811 #line 4812 "src/parser_proc.c" /* glr.c:816 */
4815 #line 1851 "src/parser_proc_grammar.y" /* glr.c:816 */
4817 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4818 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4820 #line 4821 "src/parser_proc.c" /* glr.c:816 */
4824 #line 1855 "src/parser_proc_grammar.y" /* glr.c:816 */
4826 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4827 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4828 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4830 #line 4831 "src/parser_proc.c" /* glr.c:816 */
4834 #line 1863 "src/parser_proc_grammar.y" /* glr.c:816 */
4836 (*(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
)));
4837 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4839 #line 4840 "src/parser_proc.c" /* glr.c:816 */
4843 #line 1870 "src/parser_proc_grammar.y" /* glr.c:816 */
4845 (*(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
)), NULL
);
4846 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4847 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4849 #line 4850 "src/parser_proc.c" /* glr.c:816 */
4853 #line 1875 "src/parser_proc_grammar.y" /* glr.c:816 */
4855 (*(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
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
4856 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4857 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
4859 #line 4860 "src/parser_proc.c" /* glr.c:816 */
4863 #line 1883 "src/parser_proc_grammar.y" /* glr.c:816 */
4865 (*(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
)));
4866 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4867 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4869 #line 4870 "src/parser_proc.c" /* glr.c:816 */
4873 #line 1904 "src/parser_proc_grammar.y" /* glr.c:816 */
4875 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4877 #line 4878 "src/parser_proc.c" /* glr.c:816 */
4881 #line 1907 "src/parser_proc_grammar.y" /* glr.c:816 */
4883 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4885 #line 4886 "src/parser_proc.c" /* glr.c:816 */
4889 #line 1913 "src/parser_proc_grammar.y" /* glr.c:816 */
4891 (*(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
)));
4893 #line 4894 "src/parser_proc.c" /* glr.c:816 */
4897 #line 1916 "src/parser_proc_grammar.y" /* glr.c:816 */
4899 (*(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
)));
4901 #line 4902 "src/parser_proc.c" /* glr.c:816 */
4905 #line 1927 "src/parser_proc_grammar.y" /* glr.c:816 */
4907 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4909 #line 4910 "src/parser_proc.c" /* glr.c:816 */
4913 #line 1930 "src/parser_proc_grammar.y" /* glr.c:816 */
4915 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4917 #line 4918 "src/parser_proc.c" /* glr.c:816 */
4921 #line 1936 "src/parser_proc_grammar.y" /* glr.c:816 */
4923 (*(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
)));
4925 #line 4926 "src/parser_proc.c" /* glr.c:816 */
4929 #line 1939 "src/parser_proc_grammar.y" /* glr.c:816 */
4931 (*(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
)));
4933 #line 4934 "src/parser_proc.c" /* glr.c:816 */
4937 #line 1945 "src/parser_proc_grammar.y" /* glr.c:816 */
4939 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4940 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4942 #line 4943 "src/parser_proc.c" /* glr.c:816 */
4946 #line 1952 "src/parser_proc_grammar.y" /* glr.c:816 */
4948 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4949 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
4951 #line 4952 "src/parser_proc.c" /* glr.c:816 */
4955 #line 1956 "src/parser_proc_grammar.y" /* glr.c:816 */
4957 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init(NULL
, NULL
, psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
4958 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4960 #line 4961 "src/parser_proc.c" /* glr.c:816 */
4964 #line 1963 "src/parser_proc_grammar.y" /* glr.c:816 */
4966 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4968 #line 4969 "src/parser_proc.c" /* glr.c:816 */
4972 #line 1966 "src/parser_proc_grammar.y" /* glr.c:816 */
4974 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4976 #line 4977 "src/parser_proc.c" /* glr.c:816 */
4980 #line 1969 "src/parser_proc_grammar.y" /* glr.c:816 */
4982 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4984 #line 4985 "src/parser_proc.c" /* glr.c:816 */
4988 #line 1975 "src/parser_proc_grammar.y" /* glr.c:816 */
4990 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4991 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4993 #line 4994 "src/parser_proc.c" /* glr.c:816 */
4997 #line 1982 "src/parser_proc_grammar.y" /* glr.c:816 */
4999 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5001 #line 5002 "src/parser_proc.c" /* glr.c:816 */
5005 #line 1985 "src/parser_proc_grammar.y" /* glr.c:816 */
5007 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5009 #line 5010 "src/parser_proc.c" /* glr.c:816 */
5013 #line 1988 "src/parser_proc_grammar.y" /* glr.c:816 */
5015 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5016 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5018 #line 5019 "src/parser_proc.c" /* glr.c:816 */
5022 #line 1995 "src/parser_proc_grammar.y" /* glr.c:816 */
5024 (*(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
)));
5025 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5026 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5028 #line 5029 "src/parser_proc.c" /* glr.c:816 */
5032 #line 2000 "src/parser_proc_grammar.y" /* glr.c:816 */
5034 (*(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
)));
5035 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5036 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5038 #line 5039 "src/parser_proc.c" /* glr.c:816 */
5042 #line 2019 "src/parser_proc_grammar.y" /* glr.c:816 */
5044 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5046 #line 5047 "src/parser_proc.c" /* glr.c:816 */
5050 #line 2022 "src/parser_proc_grammar.y" /* glr.c:816 */
5052 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5054 #line 5055 "src/parser_proc.c" /* glr.c:816 */
5058 #line 2028 "src/parser_proc_grammar.y" /* glr.c:816 */
5060 (*(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
)));
5062 #line 5063 "src/parser_proc.c" /* glr.c:816 */
5066 #line 2031 "src/parser_proc_grammar.y" /* glr.c:816 */
5068 (*(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
)));
5070 #line 5071 "src/parser_proc.c" /* glr.c:816 */
5074 #line 2037 "src/parser_proc_grammar.y" /* glr.c:816 */
5076 (*(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
)));
5077 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5079 #line 5080 "src/parser_proc.c" /* glr.c:816 */
5083 #line 2049 "src/parser_proc_grammar.y" /* glr.c:816 */
5085 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5086 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5088 #line 5089 "src/parser_proc.c" /* glr.c:816 */
5092 #line 2056 "src/parser_proc_grammar.y" /* glr.c:816 */
5094 (*(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
)));
5096 #line 5097 "src/parser_proc.c" /* glr.c:816 */
5100 #line 2059 "src/parser_proc_grammar.y" /* glr.c:816 */
5102 (*(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
)));
5104 #line 5105 "src/parser_proc.c" /* glr.c:816 */
5108 #line 2065 "src/parser_proc_grammar.y" /* glr.c:816 */
5110 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5111 (*(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
)));
5112 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5114 #line 5115 "src/parser_proc.c" /* glr.c:816 */
5118 #line 2073 "src/parser_proc_grammar.y" /* glr.c:816 */
5120 (*(bool*)(&(*yyvalp
))) = false;
5122 #line 5123 "src/parser_proc.c" /* glr.c:816 */
5126 #line 2076 "src/parser_proc_grammar.y" /* glr.c:816 */
5128 (*(bool*)(&(*yyvalp
))) = true;
5130 #line 5131 "src/parser_proc.c" /* glr.c:816 */
5134 #line 5135 "src/parser_proc.c" /* glr.c:816 */
5145 # undef YYRECOVERING
5150 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5162 /* Bison grammar-table manipulation. */
5164 /*-----------------------------------------------.
5165 | Release the memory associated to this symbol. |
5166 `-----------------------------------------------*/
5169 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5177 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5179 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5182 case 141: /* binary_op_token */
5183 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5185 #line 5186 "src/parser_proc.c" /* glr.c:846 */
5188 case 142: /* unary_op_token */
5189 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5191 #line 5192 "src/parser_proc.c" /* glr.c:846 */
5194 case 143: /* name_token */
5195 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5197 #line 5198 "src/parser_proc.c" /* glr.c:846 */
5200 case 144: /* any_noeol_token */
5201 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5203 #line 5204 "src/parser_proc.c" /* glr.c:846 */
5207 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5208 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5209 #line 5210 "src/parser_proc.c" /* glr.c:846 */
5213 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5214 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5215 #line 5216 "src/parser_proc.c" /* glr.c:846 */
5218 case 151: /* cpp_exp */
5219 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5220 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5221 #line 5222 "src/parser_proc.c" /* glr.c:846 */
5224 case 153: /* cpp_message_token */
5225 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5227 #line 5228 "src/parser_proc.c" /* glr.c:846 */
5230 case 154: /* cpp_include_token */
5231 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5233 #line 5234 "src/parser_proc.c" /* glr.c:846 */
5236 case 155: /* cpp_header_token */
5237 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5239 #line 5240 "src/parser_proc.c" /* glr.c:846 */
5242 case 156: /* cpp_no_arg_token */
5243 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5245 #line 5246 "src/parser_proc.c" /* glr.c:846 */
5248 case 157: /* cpp_name_arg_token */
5249 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5251 #line 5252 "src/parser_proc.c" /* glr.c:846 */
5254 case 158: /* cpp_exp_arg_token */
5255 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5257 #line 5258 "src/parser_proc.c" /* glr.c:846 */
5260 case 159: /* cpp_special_name_token */
5261 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5263 #line 5264 "src/parser_proc.c" /* glr.c:846 */
5266 case 160: /* cpp_macro_decl */
5267 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5268 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5269 #line 5270 "src/parser_proc.c" /* glr.c:846 */
5272 case 161: /* cpp_macro_sig */
5273 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5274 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5275 #line 5276 "src/parser_proc.c" /* glr.c:846 */
5278 case 162: /* cpp_macro_sig_args */
5279 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5280 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5281 #line 5282 "src/parser_proc.c" /* glr.c:846 */
5284 case 163: /* cpp_macro_decl_tokens */
5285 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5286 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5287 #line 5288 "src/parser_proc.c" /* glr.c:846 */
5290 case 164: /* cpp_macro_decl_token_list */
5291 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5292 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5293 #line 5294 "src/parser_proc.c" /* glr.c:846 */
5296 case 165: /* cpp_macro_exp */
5297 #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */
5298 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5299 #line 5300 "src/parser_proc.c" /* glr.c:846 */
5302 case 166: /* cpp_macro_call_args */
5303 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5304 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5305 #line 5306 "src/parser_proc.c" /* glr.c:846 */
5308 case 167: /* cpp_macro_call_arg_list */
5309 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5310 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5311 #line 5312 "src/parser_proc.c" /* glr.c:846 */
5314 case 168: /* constant */
5315 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5316 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5317 #line 5318 "src/parser_proc.c" /* glr.c:846 */
5320 case 169: /* constant_type */
5321 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
5322 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5323 #line 5324 "src/parser_proc.c" /* glr.c:846 */
5326 case 170: /* constant_type_token */
5327 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5329 #line 5330 "src/parser_proc.c" /* glr.c:846 */
5332 case 171: /* impl_def_val */
5333 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5334 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5335 #line 5336 "src/parser_proc.c" /* glr.c:846 */
5338 case 172: /* impl_def_val_token */
5339 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5341 #line 5342 "src/parser_proc.c" /* glr.c:846 */
5344 case 173: /* decl_typedef */
5345 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5346 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5347 #line 5348 "src/parser_proc.c" /* glr.c:846 */
5350 case 174: /* typedef */
5351 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5352 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5353 #line 5354 "src/parser_proc.c" /* glr.c:846 */
5356 case 175: /* typedef_anon */
5357 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5358 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5359 #line 5360 "src/parser_proc.c" /* glr.c:846 */
5362 case 176: /* typedef_decl */
5363 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5364 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5365 #line 5366 "src/parser_proc.c" /* glr.c:846 */
5368 case 177: /* typedef_anon_decl */
5369 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5370 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5371 #line 5372 "src/parser_proc.c" /* glr.c:846 */
5374 case 178: /* qualified_decl_type */
5375 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5376 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5377 #line 5378 "src/parser_proc.c" /* glr.c:846 */
5380 case 179: /* decl_type */
5381 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5382 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5383 #line 5384 "src/parser_proc.c" /* glr.c:846 */
5386 case 180: /* decl_type_complex */
5387 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5388 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5389 #line 5390 "src/parser_proc.c" /* glr.c:846 */
5392 case 181: /* decl_type_simple */
5393 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5394 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5395 #line 5396 "src/parser_proc.c" /* glr.c:846 */
5398 case 182: /* decl_real_type */
5399 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5400 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5401 #line 5402 "src/parser_proc.c" /* glr.c:846 */
5404 case 183: /* int_signed */
5405 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5407 #line 5408 "src/parser_proc.c" /* glr.c:846 */
5410 case 184: /* int_width */
5411 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5412 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5413 #line 5414 "src/parser_proc.c" /* glr.c:846 */
5416 case 185: /* decl_int_type */
5417 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5418 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5419 #line 5420 "src/parser_proc.c" /* glr.c:846 */
5422 case 186: /* int_signed_types */
5423 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5424 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5425 #line 5426 "src/parser_proc.c" /* glr.c:846 */
5428 case 187: /* signed_short_types */
5429 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5431 #line 5432 "src/parser_proc.c" /* glr.c:846 */
5434 case 188: /* signed_long_types */
5435 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5437 #line 5438 "src/parser_proc.c" /* glr.c:846 */
5440 case 189: /* int_width_types */
5441 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5442 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5443 #line 5444 "src/parser_proc.c" /* glr.c:846 */
5446 case 190: /* decl_stmt */
5447 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5448 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5449 #line 5450 "src/parser_proc.c" /* glr.c:846 */
5452 case 196: /* decl_vars */
5453 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5454 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5455 #line 5456 "src/parser_proc.c" /* glr.c:846 */
5458 case 201: /* decl */
5459 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5460 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5461 #line 5462 "src/parser_proc.c" /* glr.c:846 */
5464 case 202: /* decl_body */
5465 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5466 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5467 #line 5468 "src/parser_proc.c" /* glr.c:846 */
5470 case 203: /* decl_func_body */
5471 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5472 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5473 #line 5474 "src/parser_proc.c" /* glr.c:846 */
5476 case 204: /* decl_functor_body */
5477 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5478 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5479 #line 5480 "src/parser_proc.c" /* glr.c:846 */
5482 case 205: /* decl_functor */
5483 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5484 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5485 #line 5486 "src/parser_proc.c" /* glr.c:846 */
5488 case 206: /* decl_func */
5489 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5490 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5491 #line 5492 "src/parser_proc.c" /* glr.c:846 */
5494 case 207: /* decl_args */
5495 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5496 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5497 #line 5498 "src/parser_proc.c" /* glr.c:846 */
5500 case 208: /* decl_arg_list */
5501 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5502 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5503 #line 5504 "src/parser_proc.c" /* glr.c:846 */
5506 case 209: /* decl_anon_arg */
5507 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5508 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5509 #line 5510 "src/parser_proc.c" /* glr.c:846 */
5512 case 210: /* decl_arg */
5513 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5514 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5515 #line 5516 "src/parser_proc.c" /* glr.c:846 */
5518 case 211: /* decl_var */
5519 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5520 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5521 #line 5522 "src/parser_proc.c" /* glr.c:846 */
5524 case 212: /* decl_union */
5525 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5526 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5527 #line 5528 "src/parser_proc.c" /* glr.c:846 */
5530 case 213: /* decl_struct */
5531 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5532 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5533 #line 5534 "src/parser_proc.c" /* glr.c:846 */
5536 case 214: /* decl_struct_args */
5537 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5538 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5539 #line 5540 "src/parser_proc.c" /* glr.c:846 */
5542 case 215: /* struct_args_block */
5543 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5544 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5545 #line 5546 "src/parser_proc.c" /* glr.c:846 */
5548 case 216: /* struct_args */
5549 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5550 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5551 #line 5552 "src/parser_proc.c" /* glr.c:846 */
5554 case 217: /* struct_arg_var_list */
5555 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5556 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5557 #line 5558 "src/parser_proc.c" /* glr.c:846 */
5560 case 218: /* decl_vars_with_layout */
5561 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5562 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5563 #line 5564 "src/parser_proc.c" /* glr.c:846 */
5566 case 219: /* decl_enum */
5567 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5568 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5569 #line 5570 "src/parser_proc.c" /* glr.c:846 */
5572 case 220: /* decl_enum_items */
5573 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5574 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5575 #line 5576 "src/parser_proc.c" /* glr.c:846 */
5578 case 221: /* decl_enum_item */
5579 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5580 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5581 #line 5582 "src/parser_proc.c" /* glr.c:846 */
5584 case 222: /* num_exp */
5585 #line 410 "src/parser_proc_grammar.y" /* glr.c:846 */
5586 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5587 #line 5588 "src/parser_proc.c" /* glr.c:846 */
5590 case 223: /* number */
5591 #line 412 "src/parser_proc_grammar.y" /* glr.c:846 */
5592 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5593 #line 5594 "src/parser_proc.c" /* glr.c:846 */
5596 case 224: /* sizeof */
5597 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5598 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5599 #line 5600 "src/parser_proc.c" /* glr.c:846 */
5602 case 225: /* sizeof_body */
5603 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5604 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5605 #line 5606 "src/parser_proc.c" /* glr.c:846 */
5608 case 226: /* sizeof_body_notypes */
5609 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5610 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5611 #line 5612 "src/parser_proc.c" /* glr.c:846 */
5614 case 227: /* enum_name */
5615 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5616 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5617 #line 5618 "src/parser_proc.c" /* glr.c:846 */
5620 case 228: /* union_name */
5621 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5622 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5623 #line 5624 "src/parser_proc.c" /* glr.c:846 */
5626 case 229: /* struct_name */
5627 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5628 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5629 #line 5630 "src/parser_proc.c" /* glr.c:846 */
5632 case 230: /* optional_name */
5633 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5634 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5635 #line 5636 "src/parser_proc.c" /* glr.c:846 */
5638 case 232: /* decl_layout */
5639 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5640 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5641 #line 5642 "src/parser_proc.c" /* glr.c:846 */
5644 case 233: /* align_and_size */
5645 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5647 #line 5648 "src/parser_proc.c" /* glr.c:846 */
5650 case 234: /* array_size */
5651 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5653 #line 5654 "src/parser_proc.c" /* glr.c:846 */
5656 case 235: /* indirection */
5657 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5659 #line 5660 "src/parser_proc.c" /* glr.c:846 */
5662 case 236: /* pointers */
5663 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5665 #line 5666 "src/parser_proc.c" /* glr.c:846 */
5668 case 237: /* asterisks */
5669 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5671 #line 5672 "src/parser_proc.c" /* glr.c:846 */
5674 case 239: /* impl */
5675 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5676 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5677 #line 5678 "src/parser_proc.c" /* glr.c:846 */
5680 case 240: /* impl_func */
5681 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5682 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5683 #line 5684 "src/parser_proc.c" /* glr.c:846 */
5686 case 241: /* impl_args */
5687 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5688 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5689 #line 5690 "src/parser_proc.c" /* glr.c:846 */
5692 case 242: /* impl_arg */
5693 #line 369 "src/parser_proc_grammar.y" /* glr.c:846 */
5694 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5695 #line 5696 "src/parser_proc.c" /* glr.c:846 */
5698 case 243: /* impl_var */
5699 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5700 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5701 #line 5702 "src/parser_proc.c" /* glr.c:846 */
5704 case 244: /* impl_type */
5705 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5706 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5707 #line 5708 "src/parser_proc.c" /* glr.c:846 */
5710 case 245: /* impl_type_token */
5711 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5712 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5713 #line 5714 "src/parser_proc.c" /* glr.c:846 */
5716 case 246: /* impl_stmts */
5717 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5718 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5719 #line 5720 "src/parser_proc.c" /* glr.c:846 */
5722 case 247: /* impl_stmt */
5723 #line 403 "src/parser_proc_grammar.y" /* glr.c:846 */
5724 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5725 #line 5726 "src/parser_proc.c" /* glr.c:846 */
5728 case 248: /* let_stmt */
5729 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
5730 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5731 #line 5732 "src/parser_proc.c" /* glr.c:846 */
5734 case 249: /* let_exp */
5735 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5736 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5737 #line 5738 "src/parser_proc.c" /* glr.c:846 */
5740 case 250: /* let_exp_byref */
5741 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5742 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5743 #line 5744 "src/parser_proc.c" /* glr.c:846 */
5746 case 251: /* let_exp_assign */
5747 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5748 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5749 #line 5750 "src/parser_proc.c" /* glr.c:846 */
5752 case 252: /* let_calloc */
5753 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5754 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5755 #line 5756 "src/parser_proc.c" /* glr.c:846 */
5758 case 253: /* let_callback */
5759 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5760 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5761 #line 5762 "src/parser_proc.c" /* glr.c:846 */
5764 case 254: /* let_func */
5765 #line 384 "src/parser_proc_grammar.y" /* glr.c:846 */
5766 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5767 #line 5768 "src/parser_proc.c" /* glr.c:846 */
5770 case 255: /* let_func_token */
5771 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5772 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5773 #line 5774 "src/parser_proc.c" /* glr.c:846 */
5776 case 256: /* let_func_exps */
5777 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5778 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5779 #line 5780 "src/parser_proc.c" /* glr.c:846 */
5782 case 257: /* let_exps */
5783 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5784 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5785 #line 5786 "src/parser_proc.c" /* glr.c:846 */
5788 case 258: /* callback_rval */
5789 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5790 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5791 #line 5792 "src/parser_proc.c" /* glr.c:846 */
5794 case 259: /* callback_arg_list */
5795 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5796 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5797 #line 5798 "src/parser_proc.c" /* glr.c:846 */
5800 case 260: /* callback_args */
5801 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5802 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5803 #line 5804 "src/parser_proc.c" /* glr.c:846 */
5806 case 261: /* return_stmt */
5807 #line 394 "src/parser_proc_grammar.y" /* glr.c:846 */
5808 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5809 #line 5810 "src/parser_proc.c" /* glr.c:846 */
5812 case 262: /* return_exp */
5813 #line 396 "src/parser_proc_grammar.y" /* glr.c:846 */
5814 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5815 #line 5816 "src/parser_proc.c" /* glr.c:846 */
5818 case 263: /* call_decl_vars */
5819 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5820 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5821 #line 5822 "src/parser_proc.c" /* glr.c:846 */
5824 case 264: /* set_stmt */
5825 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5826 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5827 #line 5828 "src/parser_proc.c" /* glr.c:846 */
5830 case 265: /* set_exp */
5831 #line 388 "src/parser_proc_grammar.y" /* glr.c:846 */
5832 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5833 #line 5834 "src/parser_proc.c" /* glr.c:846 */
5836 case 266: /* set_func */
5837 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5838 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5839 #line 5840 "src/parser_proc.c" /* glr.c:846 */
5842 case 267: /* set_func_token */
5843 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5844 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5845 #line 5846 "src/parser_proc.c" /* glr.c:846 */
5848 case 268: /* set_func_exps */
5849 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5850 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5851 #line 5852 "src/parser_proc.c" /* glr.c:846 */
5854 case 269: /* set_exps */
5855 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5856 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5857 #line 5858 "src/parser_proc.c" /* glr.c:846 */
5860 case 270: /* assert_stmt */
5861 #line 392 "src/parser_proc_grammar.y" /* glr.c:846 */
5862 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5863 #line 5864 "src/parser_proc.c" /* glr.c:846 */
5866 case 271: /* assert_stmt_token */
5867 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5868 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5869 #line 5870 "src/parser_proc.c" /* glr.c:846 */
5872 case 272: /* free_stmt */
5873 #line 398 "src/parser_proc_grammar.y" /* glr.c:846 */
5874 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5875 #line 5876 "src/parser_proc.c" /* glr.c:846 */
5878 case 273: /* free_exps */
5879 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5880 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5881 #line 5882 "src/parser_proc.c" /* glr.c:846 */
5884 case 274: /* free_exp */
5885 #line 400 "src/parser_proc_grammar.y" /* glr.c:846 */
5886 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5887 #line 5888 "src/parser_proc.c" /* glr.c:846 */
5890 case 275: /* reference */
5891 #line 417 "src/parser_proc_grammar.y" /* glr.c:846 */
5893 #line 5894 "src/parser_proc.c" /* glr.c:846 */
5900 YY_IGNORE_MAYBE_UNINITIALIZED_END
5903 /** Number of symbols composing the right hand side of rule #RULE. */
5905 yyrhsLength (yyRuleNum yyrule
)
5907 return yyr2
[yyrule
];
5911 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5913 if (yys
->yyresolved
)
5914 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5915 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5921 if (yys
->yysemantics
.yyfirstVal
)
5922 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5924 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5925 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5929 if (yys
->yysemantics
.yyfirstVal
)
5931 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5934 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5936 yyrh
= yyrh
->yypred
, yyn
-= 1)
5937 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5942 /** Left-hand-side symbol for rule #YYRULE. */
5943 static inline yySymbol
5944 yylhsNonterm (yyRuleNum yyrule
)
5946 return yyr1
[yyrule
];
5949 #define yypact_value_is_default(Yystate) \
5950 (!!((Yystate) == (-699)))
5952 /** True iff LR state YYSTATE has only a default reduction (regardless
5954 static inline yybool
5955 yyisDefaultedState (yyStateNum yystate
)
5957 return yypact_value_is_default (yypact
[yystate
]);
5960 /** The default reduction for YYSTATE, assuming it has one. */
5961 static inline yyRuleNum
5962 yydefaultAction (yyStateNum yystate
)
5964 return yydefact
[yystate
];
5967 #define yytable_value_is_error(Yytable_value) \
5970 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5972 * R < 0: Reduce on rule -R.
5974 * R > 0: Shift to state R.
5975 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5976 * of conflicting reductions.
5979 yygetLRActions (yyStateNum yystate
, int yytoken
,
5980 int* yyaction
, const short int** yyconflicts
)
5982 int yyindex
= yypact
[yystate
] + yytoken
;
5983 if (yypact_value_is_default (yypact
[yystate
])
5984 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5986 *yyaction
= -yydefact
[yystate
];
5987 *yyconflicts
= yyconfl
;
5989 else if (! yytable_value_is_error (yytable
[yyindex
]))
5991 *yyaction
= yytable
[yyindex
];
5992 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5997 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6001 /** Compute post-reduction state.
6002 * \param yystate the current state
6003 * \param yysym the nonterminal to push on the stack
6005 static inline yyStateNum
6006 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
6008 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
6009 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
6010 return yytable
[yyr
];
6012 return yydefgoto
[yysym
- YYNTOKENS
];
6015 static inline yybool
6016 yyisShiftAction (int yyaction
)
6018 return 0 < yyaction
;
6021 static inline yybool
6022 yyisErrorAction (int yyaction
)
6024 return yyaction
== 0;
6029 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
6030 * if YYISSTATE, and otherwise a semantic option. Callers should call
6031 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6034 static inline yyGLRStackItem
*
6035 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6037 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6038 yystackp
->yyspaceLeft
-= 1;
6039 yystackp
->yynextFree
+= 1;
6040 yynewItem
->yystate
.yyisState
= yyisState
;
6044 /** Add a new semantic action that will execute the action for rule
6045 * YYRULE on the semantic values in YYRHS to the list of
6046 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6047 * stack #YYK of *YYSTACKP. */
6049 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6050 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6052 yySemanticOption
* yynewOption
=
6053 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6054 YYASSERT (!yynewOption
->yyisState
);
6055 yynewOption
->yystate
= yyrhs
;
6056 yynewOption
->yyrule
= yyrule
;
6057 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6059 yynewOption
->yyrawchar
= yychar
;
6060 yynewOption
->yyval
= yylval
;
6063 yynewOption
->yyrawchar
= YYEMPTY
;
6064 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6065 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6067 YY_RESERVE_GLRSTACK (yystackp
);
6072 /** Initialize YYSET to a singleton set containing an empty stack. */
6074 yyinitStateSet (yyGLRStateSet
* yyset
)
6077 yyset
->yycapacity
= 16;
6078 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6079 if (! yyset
->yystates
)
6081 yyset
->yystates
[0] = YY_NULLPTR
;
6082 yyset
->yylookaheadNeeds
=
6083 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6084 if (! yyset
->yylookaheadNeeds
)
6086 YYFREE (yyset
->yystates
);
6092 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6094 YYFREE (yyset
->yystates
);
6095 YYFREE (yyset
->yylookaheadNeeds
);
6098 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6099 * capacity for all stacks of YYSIZE. */
6101 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6103 yystackp
->yyerrState
= 0;
6105 yystackp
->yyspaceLeft
= yysize
;
6107 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6108 if (!yystackp
->yyitems
)
6110 yystackp
->yynextFree
= yystackp
->yyitems
;
6111 yystackp
->yysplitPoint
= YY_NULLPTR
;
6112 yystackp
->yylastDeleted
= YY_NULLPTR
;
6113 return yyinitStateSet (&yystackp
->yytops
);
6117 #if YYSTACKEXPANDABLE
6118 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6119 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6121 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6122 stack from outside should be considered invalid after this call.
6123 We always expand when there are 1 or fewer items left AFTER an
6124 allocation, so that we can avoid having external pointers exist
6125 across an allocation. */
6127 yyexpandGLRStack (yyGLRStack
* yystackp
)
6129 yyGLRStackItem
* yynewItems
;
6130 yyGLRStackItem
* yyp0
, *yyp1
;
6133 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6134 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6135 yyMemoryExhausted (yystackp
);
6136 yynewSize
= 2*yysize
;
6137 if (YYMAXDEPTH
< yynewSize
)
6138 yynewSize
= YYMAXDEPTH
;
6139 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6141 yyMemoryExhausted (yystackp
);
6142 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6144 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6147 if (*(yybool
*) yyp0
)
6149 yyGLRState
* yys0
= &yyp0
->yystate
;
6150 yyGLRState
* yys1
= &yyp1
->yystate
;
6151 if (yys0
->yypred
!= YY_NULLPTR
)
6153 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6154 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6155 yys1
->yysemantics
.yyfirstVal
=
6156 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6160 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6161 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6162 if (yyv0
->yystate
!= YY_NULLPTR
)
6163 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6164 if (yyv0
->yynext
!= YY_NULLPTR
)
6165 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6168 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6169 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6170 yystackp
->yysplitPoint
, yystate
);
6172 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6173 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6174 yystackp
->yytops
.yystates
[yyn
] =
6175 YYRELOC (yystackp
->yyitems
, yynewItems
,
6176 yystackp
->yytops
.yystates
[yyn
], yystate
);
6177 YYFREE (yystackp
->yyitems
);
6178 yystackp
->yyitems
= yynewItems
;
6179 yystackp
->yynextFree
= yynewItems
+ yysize
;
6180 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6185 yyfreeGLRStack (yyGLRStack
* yystackp
)
6187 YYFREE (yystackp
->yyitems
);
6188 yyfreeStateSet (&yystackp
->yytops
);
6191 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6192 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6195 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6197 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6198 yystackp
->yysplitPoint
= yys
;
6201 /** Invalidate stack #YYK in *YYSTACKP. */
6203 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6205 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6206 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6207 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6210 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6211 only be done once after a deletion, and only when all other stacks have
6214 yyundeleteLastStack (yyGLRStack
* yystackp
)
6216 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6218 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6219 yystackp
->yytops
.yysize
= 1;
6220 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6221 yystackp
->yylastDeleted
= YY_NULLPTR
;
6225 yyremoveDeletes (yyGLRStack
* yystackp
)
6229 while (yyj
< yystackp
->yytops
.yysize
)
6231 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6235 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6237 yystackp
->yytops
.yysize
-= 1;
6241 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6242 /* In the current implementation, it's unnecessary to copy
6243 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6244 yyremoveDeletes returns, the parser immediately either enters
6245 deterministic operation or shifts a token. However, it doesn't
6246 hurt, and the code might evolve to need it. */
6247 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6248 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6251 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6252 (unsigned long int) yyi
, (unsigned long int) yyj
));
6260 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6261 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6262 * value *YYVALP and source location *YYLOCP. */
6264 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6268 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6270 yynewState
->yylrState
= yylrState
;
6271 yynewState
->yyposn
= yyposn
;
6272 yynewState
->yyresolved
= yytrue
;
6273 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6274 yynewState
->yysemantics
.yysval
= *yyvalp
;
6275 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6277 YY_RESERVE_GLRSTACK (yystackp
);
6280 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6281 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6282 * semantic value of YYRHS under the action for YYRULE. */
6284 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6285 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6287 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6288 YYASSERT (yynewState
->yyisState
);
6290 yynewState
->yylrState
= yylrState
;
6291 yynewState
->yyposn
= yyposn
;
6292 yynewState
->yyresolved
= yyfalse
;
6293 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6294 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6295 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6297 /* Invokes YY_RESERVE_GLRSTACK. */
6298 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6302 # define YY_REDUCE_PRINT(Args)
6304 # define YY_REDUCE_PRINT(Args) \
6307 yy_reduce_print Args; \
6310 /*----------------------------------------------------------------------.
6311 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6312 `----------------------------------------------------------------------*/
6315 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6316 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6318 int yynrhs
= yyrhsLength (yyrule
);
6320 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6321 (unsigned long int) yyk
, yyrule
- 1,
6322 (unsigned long int) yyrline
[yyrule
]);
6324 yyfillin (yyvsp
, 1, -yynrhs
);
6325 /* The symbols being reduced. */
6326 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6328 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6329 yy_symbol_print (stderr
,
6330 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6331 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6332 , P
, tokens
, index
);
6333 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6334 YYFPRINTF (stderr
, " (unresolved)");
6335 YYFPRINTF (stderr
, "\n");
6340 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6341 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6342 * semantic values. Assumes that all ambiguities in semantic values
6343 * have been previously resolved. Set *YYVALP to the resulting value,
6344 * and *YYLOCP to the computed location (if any). Return value is as
6345 * for userAction. */
6346 static inline YYRESULTTAG
6347 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6348 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6350 int yynrhs
= yyrhsLength (yyrule
);
6352 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6354 /* Standard special case: single stack. */
6355 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6356 YYASSERT (yyk
== 0);
6357 yystackp
->yynextFree
-= yynrhs
;
6358 yystackp
->yyspaceLeft
+= yynrhs
;
6359 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6360 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6361 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6362 yyvalp
, P
, tokens
, index
);
6368 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6369 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6370 = yystackp
->yytops
.yystates
[yyk
];
6371 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6376 yyupdateSplit (yystackp
, yys
);
6377 yystackp
->yytops
.yystates
[yyk
] = yys
;
6378 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6379 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6380 yystackp
, yyvalp
, P
, tokens
, index
);
6384 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6385 * and push back on the resulting nonterminal symbol. Perform the
6386 * semantic action associated with YYRULE and store its value with the
6387 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6388 * unambiguous. Otherwise, store the deferred semantic action with
6389 * the new state. If the new state would have an identical input
6390 * position, LR state, and predecessor to an existing state on the stack,
6391 * it is identified with that existing state, eliminating stack #YYK from
6392 * *YYSTACKP. In this case, the semantic value is
6393 * added to the options for the existing state's semantic value.
6395 static inline YYRESULTTAG
6396 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6397 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6399 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6401 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6405 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6406 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6408 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6409 (unsigned long int) yyk
, yyrule
- 1));
6413 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6414 yyglrShift (yystackp
, yyk
,
6415 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6416 yylhsNonterm (yyrule
)),
6423 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6424 yyStateNum yynewLRState
;
6426 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6432 yyupdateSplit (yystackp
, yys
);
6433 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6435 "Reduced stack %lu by rule #%d; action deferred. "
6436 "Now in state %d.\n",
6437 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6438 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6439 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6441 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6442 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6443 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6445 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6447 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6448 yymarkStackDeleted (yystackp
, yyk
);
6449 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6450 (unsigned long int) yyk
,
6451 (unsigned long int) yyi
));
6457 yystackp
->yytops
.yystates
[yyk
] = yys
;
6458 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6464 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6466 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6468 YYASSERT (yyk
== 0);
6469 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6471 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6473 yyGLRState
** yynewStates
;
6474 yybool
* yynewLookaheadNeeds
;
6476 yynewStates
= YY_NULLPTR
;
6478 if (yystackp
->yytops
.yycapacity
6479 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6480 yyMemoryExhausted (yystackp
);
6481 yystackp
->yytops
.yycapacity
*= 2;
6484 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6485 (yystackp
->yytops
.yycapacity
6486 * sizeof yynewStates
[0]));
6487 if (yynewStates
== YY_NULLPTR
)
6488 yyMemoryExhausted (yystackp
);
6489 yystackp
->yytops
.yystates
= yynewStates
;
6491 yynewLookaheadNeeds
=
6492 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6493 (yystackp
->yytops
.yycapacity
6494 * sizeof yynewLookaheadNeeds
[0]));
6495 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6496 yyMemoryExhausted (yystackp
);
6497 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6499 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6500 = yystackp
->yytops
.yystates
[yyk
];
6501 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6502 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6503 yystackp
->yytops
.yysize
+= 1;
6504 return yystackp
->yytops
.yysize
-1;
6507 /** True iff YYY0 and YYY1 represent identical options at the top level.
6508 * That is, they represent the same rule applied to RHS symbols
6509 * that produce the same terminal symbols. */
6511 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6513 if (yyy0
->yyrule
== yyy1
->yyrule
)
6515 yyGLRState
*yys0
, *yys1
;
6517 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6518 yyn
= yyrhsLength (yyy0
->yyrule
);
6520 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6521 if (yys0
->yyposn
!= yys1
->yyposn
)
6529 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6530 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6532 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6534 yyGLRState
*yys0
, *yys1
;
6536 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6537 yyn
= yyrhsLength (yyy0
->yyrule
);
6539 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6543 else if (yys0
->yyresolved
)
6545 yys1
->yyresolved
= yytrue
;
6546 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6548 else if (yys1
->yyresolved
)
6550 yys0
->yyresolved
= yytrue
;
6551 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6555 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6556 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6559 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6561 else if (*yyz0p
== YY_NULLPTR
)
6566 else if (*yyz0p
< yyz1
)
6568 yySemanticOption
* yyz
= *yyz0p
;
6570 yyz1
= yyz1
->yynext
;
6571 (*yyz0p
)->yynext
= yyz
;
6573 yyz0p
= &(*yyz0p
)->yynext
;
6575 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6580 /** Y0 and Y1 represent two possible actions to take in a given
6581 * parsing state; return 0 if no combination is possible,
6582 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6584 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6586 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6587 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6591 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6596 if (p0
== 0 || p1
== 0)
6605 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6606 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6609 /** Resolve the previous YYN states starting at and including state YYS
6610 * on *YYSTACKP. If result != yyok, some states may have been left
6611 * unresolved possibly with empty semantic option chains. Regardless
6612 * of whether result = yyok, each state has been left with consistent
6613 * data so that yydestroyGLRState can be invoked if necessary. */
6615 yyresolveStates (yyGLRState
* yys
, int yyn
,
6616 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6620 YYASSERT (yys
->yypred
);
6621 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6622 if (! yys
->yyresolved
)
6623 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6628 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6629 * user action, and return the semantic value and location in *YYVALP
6630 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6631 * have been destroyed (assuming the user action destroys all RHS
6632 * semantic values if invoked). */
6634 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6635 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6637 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6638 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6639 YYRESULTTAG yyflag
=
6640 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6644 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6645 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6649 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6651 int yychar_current
= yychar
;
6652 YYSTYPE yylval_current
= yylval
;
6653 yychar
= yyopt
->yyrawchar
;
6654 yylval
= yyopt
->yyval
;
6655 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6656 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6657 yystackp
, yyvalp
, P
, tokens
, index
);
6658 yychar
= yychar_current
;
6659 yylval
= yylval_current
;
6666 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6668 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6671 yyGLRState
* yystates
[1 + YYMAXRHS
];
6672 yyGLRState yyleftmost_state
;
6674 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6675 yystates
[yyi
] = yys
;
6676 if (yys
== YY_NULLPTR
)
6678 yyleftmost_state
.yyposn
= 0;
6679 yystates
[0] = &yyleftmost_state
;
6684 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6685 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6686 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6689 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6690 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6691 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6692 (unsigned long int) yyx
->yystate
->yyposn
);
6693 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6695 if (yystates
[yyi
]->yyresolved
)
6697 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6698 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6699 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6701 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6702 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6703 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6704 (unsigned long int) yystates
[yyi
]->yyposn
);
6707 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6713 yyreportAmbiguity (yySemanticOption
* yyx0
,
6714 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6720 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6721 YYFPRINTF (stderr
, "Option 1,\n");
6722 yyreportTree (yyx0
, 2);
6723 YYFPRINTF (stderr
, "\nOption 2,\n");
6724 yyreportTree (yyx1
, 2);
6725 YYFPRINTF (stderr
, "\n");
6728 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6732 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6733 * perform the indicated actions, and set the semantic value of YYS.
6734 * If result != yyok, the chain of semantic options in YYS has been
6735 * cleared instead or it has been left unmodified except that
6736 * redundant options may have been removed. Regardless of whether
6737 * result = yyok, YYS has been left with consistent data so that
6738 * yydestroyGLRState can be invoked if necessary. */
6740 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6742 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6743 yySemanticOption
* yybest
= yyoptionList
;
6744 yySemanticOption
** yypp
;
6745 yybool yymerge
= yyfalse
;
6749 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6751 yySemanticOption
* yyp
= *yypp
;
6753 if (yyidenticalOptions (yybest
, yyp
))
6755 yymergeOptionSets (yybest
, yyp
);
6756 *yypp
= yyp
->yynext
;
6760 switch (yypreference (yybest
, yyp
))
6763 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6775 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6776 but some compilers complain if the default case is
6780 yypp
= &yyp
->yynext
;
6786 yySemanticOption
* yyp
;
6787 int yyprec
= yydprec
[yybest
->yyrule
];
6788 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6790 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6792 if (yyprec
== yydprec
[yyp
->yyrule
])
6794 YYSTYPE yysval_other
;
6795 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6798 yydestruct ("Cleanup: discarding incompletely merged value for",
6799 yystos
[yys
->yylrState
],
6800 &yysval
, P
, tokens
, index
);
6803 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6808 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6812 yys
->yyresolved
= yytrue
;
6813 yys
->yysemantics
.yysval
= yysval
;
6816 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6821 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6823 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6828 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6829 yys
!= yystackp
->yysplitPoint
;
6830 yys
= yys
->yypred
, yyn
+= 1)
6832 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6833 , P
, tokens
, index
));
6839 yycompressStack (yyGLRStack
* yystackp
)
6841 yyGLRState
* yyp
, *yyq
, *yyr
;
6843 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6846 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6847 yyp
!= yystackp
->yysplitPoint
;
6848 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6851 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6852 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6853 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6854 yystackp
->yysplitPoint
= YY_NULLPTR
;
6855 yystackp
->yylastDeleted
= YY_NULLPTR
;
6857 while (yyr
!= YY_NULLPTR
)
6859 yystackp
->yynextFree
->yystate
= *yyr
;
6861 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6862 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6863 yystackp
->yynextFree
+= 1;
6864 yystackp
->yyspaceLeft
-= 1;
6869 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6870 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6872 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6874 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6875 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6876 (unsigned long int) yyk
, yystate
));
6878 YYASSERT (yystate
!= YYFINAL
);
6880 if (yyisDefaultedState (yystate
))
6883 yyRuleNum yyrule
= yydefaultAction (yystate
);
6886 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6887 (unsigned long int) yyk
));
6888 yymarkStackDeleted (yystackp
, yyk
);
6891 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6892 if (yyflag
== yyerr
)
6896 "(predicate failure or explicit user error).\n",
6897 (unsigned long int) yyk
));
6898 yymarkStackDeleted (yystackp
, yyk
);
6908 const short int* yyconflicts
;
6910 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6911 if (yychar
== YYEMPTY
)
6913 YYDPRINTF ((stderr
, "Reading a token: "));
6914 yychar
= yylex (&yylval
, P
, tokens
, index
);
6917 if (yychar
<= YYEOF
)
6919 yychar
= yytoken
= YYEOF
;
6920 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6924 yytoken
= YYTRANSLATE (yychar
);
6925 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6928 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6930 while (*yyconflicts
!= 0)
6933 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6934 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6935 (unsigned long int) yynewStack
,
6936 (unsigned long int) yyk
));
6937 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6939 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6941 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6942 yyposn
, P
, tokens
, index
));
6943 else if (yyflag
== yyerr
)
6945 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6946 (unsigned long int) yynewStack
));
6947 yymarkStackDeleted (yystackp
, yynewStack
);
6954 if (yyisShiftAction (yyaction
))
6956 else if (yyisErrorAction (yyaction
))
6958 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6959 (unsigned long int) yyk
));
6960 yymarkStackDeleted (yystackp
, yyk
);
6965 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6966 yyimmediate
[-yyaction
], P
, tokens
, index
);
6967 if (yyflag
== yyerr
)
6971 "(predicate failure or explicit user error).\n",
6972 (unsigned long int) yyk
));
6973 yymarkStackDeleted (yystackp
, yyk
);
6976 else if (yyflag
!= yyok
)
6985 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6987 if (yystackp
->yyerrState
!= 0)
6989 #if ! YYERROR_VERBOSE
6990 yyerror (P
, tokens
, index
, YY_("syntax error"));
6993 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6994 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6995 size_t yysize
= yysize0
;
6996 yybool yysize_overflow
= yyfalse
;
6997 char* yymsg
= YY_NULLPTR
;
6998 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6999 /* Internationalized format string. */
7000 const char *yyformat
= YY_NULLPTR
;
7001 /* Arguments of yyformat. */
7002 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
7003 /* Number of reported tokens (one for the "unexpected", one per
7007 /* There are many possibilities here to consider:
7008 - If this state is a consistent state with a default action, then
7009 the only way this function was invoked is if the default action
7010 is an error action. In that case, don't check for expected
7011 tokens because there are none.
7012 - The only way there can be no lookahead present (in yychar) is if
7013 this state is a consistent state with a default action. Thus,
7014 detecting the absence of a lookahead is sufficient to determine
7015 that there is no unexpected or expected token to report. In that
7016 case, just report a simple "syntax error".
7017 - Don't assume there isn't a lookahead just because this state is a
7018 consistent state with a default action. There might have been a
7019 previous inconsistent state, consistent state with a non-default
7020 action, or user semantic action that manipulated yychar.
7021 - Of course, the expected token list depends on states to have
7022 correct lookahead information, and it depends on the parser not
7023 to perform extra reductions after fetching a lookahead from the
7024 scanner and before detecting a syntax error. Thus, state merging
7025 (from LALR or IELR) and default reductions corrupt the expected
7026 token list. However, the list is correct for canonical LR with
7027 one exception: it will still contain any token that will not be
7028 accepted due to an error action in a later state.
7030 if (yytoken
!= YYEMPTY
)
7032 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7033 yyarg
[yycount
++] = yytokenName (yytoken
);
7034 if (!yypact_value_is_default (yyn
))
7036 /* Start YYX at -YYN if negative to avoid negative indexes in
7037 YYCHECK. In other words, skip the first -YYN actions for this
7038 state because they are default actions. */
7039 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7040 /* Stay within bounds of both yycheck and yytname. */
7041 int yychecklim
= YYLAST
- yyn
+ 1;
7042 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7044 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7045 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7046 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7048 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7054 yyarg
[yycount
++] = yytokenName (yyx
);
7056 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7057 yysize_overflow
|= yysz
< yysize
;
7066 #define YYCASE_(N, S) \
7070 YYCASE_(0, YY_("syntax error"));
7071 YYCASE_(1, YY_("syntax error, unexpected %s"));
7072 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7073 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7074 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7075 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7080 size_t yysz
= yysize
+ strlen (yyformat
);
7081 yysize_overflow
|= yysz
< yysize
;
7085 if (!yysize_overflow
)
7086 yymsg
= (char *) YYMALLOC (yysize
);
7092 while ((*yyp
= *yyformat
))
7094 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7096 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7105 yyerror (P
, tokens
, index
, yymsg
);
7110 yyerror (P
, tokens
, index
, YY_("syntax error"));
7111 yyMemoryExhausted (yystackp
);
7114 #endif /* YYERROR_VERBOSE */
7118 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7119 yylval, and yylloc are the syntactic category, semantic value, and location
7120 of the lookahead. */
7122 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7127 if (yystackp
->yyerrState
== 3)
7128 /* We just shifted the error token and (perhaps) took some
7129 reductions. Skip tokens until we can proceed. */
7133 if (yychar
== YYEOF
)
7134 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7135 if (yychar
!= YYEMPTY
)
7137 yytoken
= YYTRANSLATE (yychar
);
7138 yydestruct ("Error: discarding",
7139 yytoken
, &yylval
, P
, tokens
, index
);
7141 YYDPRINTF ((stderr
, "Reading a token: "));
7142 yychar
= yylex (&yylval
, P
, tokens
, index
);
7143 if (yychar
<= YYEOF
)
7145 yychar
= yytoken
= YYEOF
;
7146 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7150 yytoken
= YYTRANSLATE (yychar
);
7151 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7153 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7154 if (yypact_value_is_default (yyj
))
7157 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7159 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7162 else if (! yytable_value_is_error (yytable
[yyj
]))
7166 /* Reduce to one stack. */
7167 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7168 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7170 if (yyk
>= yystackp
->yytops
.yysize
)
7171 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7172 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7173 yymarkStackDeleted (yystackp
, yyk
);
7174 yyremoveDeletes (yystackp
);
7175 yycompressStack (yystackp
);
7177 /* Now pop stack until we find a state that shifts the error token. */
7178 yystackp
->yyerrState
= 3;
7179 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7181 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7182 yyj
= yypact
[yys
->yylrState
];
7183 if (! yypact_value_is_default (yyj
))
7186 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7187 && yyisShiftAction (yytable
[yyj
]))
7189 /* Shift the error token. */
7190 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7191 &yylval
, &yyerrloc
);
7192 yyglrShift (yystackp
, 0, yytable
[yyj
],
7193 yys
->yyposn
, &yylval
);
7194 yys
= yystackp
->yytops
.yystates
[0];
7198 if (yys
->yypred
!= YY_NULLPTR
)
7199 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7200 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7201 yystackp
->yynextFree
-= 1;
7202 yystackp
->yyspaceLeft
+= 1;
7204 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7205 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7208 #define YYCHK1(YYE) \
7218 goto yyuser_error; \
7229 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7233 yyGLRStack
* const yystackp
= &yystack
;
7236 YYDPRINTF ((stderr
, "Starting parse\n"));
7239 yylval
= yyval_default
;
7241 /* User initialization code. */
7242 #line 136 "src/parser_proc_grammar.y" /* glr.c:2270 */
7246 #line 7247 "src/parser_proc.c" /* glr.c:2270 */
7248 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7249 goto yyexhaustedlab
;
7250 switch (YYSETJMP (yystack
.yyexception_buffer
))
7253 case 1: goto yyabortlab
;
7254 case 2: goto yyexhaustedlab
;
7255 default: goto yybuglab
;
7257 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7262 /* For efficiency, we have two loops, the first of which is
7263 specialized to deterministic operation (single stack, no
7264 potential ambiguity). */
7270 const short int* yyconflicts
;
7272 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7273 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7274 if (yystate
== YYFINAL
)
7276 if (yyisDefaultedState (yystate
))
7278 yyrule
= yydefaultAction (yystate
);
7282 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7285 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7290 if (yychar
== YYEMPTY
)
7292 YYDPRINTF ((stderr
, "Reading a token: "));
7293 yychar
= yylex (&yylval
, P
, tokens
, index
);
7296 if (yychar
<= YYEOF
)
7298 yychar
= yytoken
= YYEOF
;
7299 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7303 yytoken
= YYTRANSLATE (yychar
);
7304 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7307 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7308 if (*yyconflicts
!= 0)
7310 if (yyisShiftAction (yyaction
))
7312 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7315 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7316 if (0 < yystack
.yyerrState
)
7317 yystack
.yyerrState
-= 1;
7319 else if (yyisErrorAction (yyaction
))
7322 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7326 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7332 yySymbol yytoken_to_shift
;
7335 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7336 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7338 /* yyprocessOneStack returns one of three things:
7340 - An error flag. If the caller is yyprocessOneStack, it
7341 immediately returns as well. When the caller is finally
7342 yyparse, it jumps to an error label via YYCHK1.
7344 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7345 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7346 yyparse's following invocation of yyremoveDeletes will remove
7349 - yyok, when ready to shift a token.
7351 Except in the first case, yyparse will invoke yyremoveDeletes and
7352 then shift the next token onto all remaining stacks. This
7353 synchronization of the shift (that is, after all preceding
7354 reductions on all stacks) helps prevent double destructor calls
7355 on yylval in the event of memory exhaustion. */
7357 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7358 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7359 yyremoveDeletes (&yystack
);
7360 if (yystack
.yytops
.yysize
== 0)
7362 yyundeleteLastStack (&yystack
);
7363 if (yystack
.yytops
.yysize
== 0)
7364 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7365 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7366 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7368 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7372 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7373 a copy of yylval will already be on stack 0 in the event of a
7374 failure in the following loop. Thus, yychar is set to YYEMPTY
7375 before the loop to make sure the user destructor for yylval isn't
7377 yytoken_to_shift
= YYTRANSLATE (yychar
);
7380 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7383 const short int* yyconflicts
;
7384 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7385 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7387 /* Note that yyconflicts were handled by yyprocessOneStack. */
7388 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7389 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7390 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7392 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7393 (unsigned long int) yys
,
7394 yystack
.yytops
.yystates
[yys
]->yylrState
));
7397 if (yystack
.yytops
.yysize
== 1)
7399 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7400 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7401 yycompressStack (&yystack
);
7407 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7408 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7424 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7429 if (yychar
!= YYEMPTY
)
7430 yydestruct ("Cleanup: discarding lookahead",
7431 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7433 /* If the stack is well-formed, pop the stack until it is empty,
7434 destroying its entries as we go. But free the stack regardless
7435 of whether it is well-formed. */
7436 if (yystack
.yyitems
)
7438 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7441 size_t yysize
= yystack
.yytops
.yysize
;
7443 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7446 while (yystates
[yyk
])
7448 yyGLRState
*yys
= yystates
[yyk
];
7449 if (yys
->yypred
!= YY_NULLPTR
)
7450 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7451 yystates
[yyk
] = yys
->yypred
;
7452 yystack
.yynextFree
-= 1;
7453 yystack
.yyspaceLeft
+= 1;
7458 yyfreeGLRStack (&yystack
);
7464 /* DEBUGGING ONLY */
7467 yy_yypstack (yyGLRState
* yys
)
7471 yy_yypstack (yys
->yypred
);
7472 YYFPRINTF (stderr
, " -> ");
7474 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7475 (unsigned long int) yys
->yyposn
);
7479 yypstates (yyGLRState
* yyst
)
7481 if (yyst
== YY_NULLPTR
)
7482 YYFPRINTF (stderr
, "<null>");
7485 YYFPRINTF (stderr
, "\n");
7489 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7491 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7494 #define YYINDEX(YYX) \
7495 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7499 yypdumpstack (yyGLRStack
* yystackp
)
7501 yyGLRStackItem
* yyp
;
7503 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7505 YYFPRINTF (stderr
, "%3lu. ",
7506 (unsigned long int) (yyp
- yystackp
->yyitems
));
7507 if (*(yybool
*) yyp
)
7509 YYASSERT (yyp
->yystate
.yyisState
);
7510 YYASSERT (yyp
->yyoption
.yyisState
);
7511 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7512 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7513 (unsigned long int) yyp
->yystate
.yyposn
,
7514 (long int) YYINDEX (yyp
->yystate
.yypred
));
7515 if (! yyp
->yystate
.yyresolved
)
7516 YYFPRINTF (stderr
, ", firstVal: %ld",
7517 (long int) YYINDEX (yyp
->yystate
7518 .yysemantics
.yyfirstVal
));
7522 YYASSERT (!yyp
->yystate
.yyisState
);
7523 YYASSERT (!yyp
->yyoption
.yyisState
);
7524 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7525 yyp
->yyoption
.yyrule
- 1,
7526 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7527 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7529 YYFPRINTF (stderr
, "\n");
7531 YYFPRINTF (stderr
, "Tops:");
7532 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7533 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7534 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7535 YYFPRINTF (stderr
, "\n");
7543 /* Substitute the variable and function names. */
7544 #define yyparse psi_parser_proc_parse
7545 #define yylex psi_parser_proc_lex
7546 #define yyerror psi_parser_proc_error
7547 #define yylval psi_parser_proc_lval
7548 #define yychar psi_parser_proc_char
7549 #define yydebug psi_parser_proc_debug
7550 #define yynerrs psi_parser_proc_nerrs
7552 #line 2085 "src/parser_proc_grammar.y" /* glr.c:2584 */
7557 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7559 struct psi_token
*token
;
7561 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7562 if (P
->flags
& PSI_DEBUG
) {
7563 psi_token_dump(2, token
);
7566 *((struct psi_token
**)lvalp
) = token
;
7570 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7576 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7578 struct psi_token
*T
= NULL
;
7587 psi_plist_get(tokens
, last
, &T
);
7589 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7591 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);