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 889
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, 1878, 1886, 1887, 1888, 1889,
434 1890, 1891, 1892, 1893, 1894, 1895, 1899, 1902, 1908, 1911,
435 1917, 1918, 1922, 1925, 1931, 1934, 1940, 1947, 1951, 1958,
436 1961, 1964, 1970, 1977, 1980, 1983, 1990, 1995, 2003, 2004,
437 2005, 2006, 2007, 2008, 2009, 2010, 2014, 2017, 2023, 2026,
438 2032, 2039, 2040, 2044, 2051, 2054, 2060, 2068, 2071, 2077
442 #if YYDEBUG || YYERROR_VERBOSE || 1
443 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
444 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
445 static const char *const yytname
[] =
447 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
448 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
449 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
450 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
451 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
452 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
453 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
454 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
455 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
456 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
457 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
458 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
459 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
460 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
461 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
462 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
463 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
464 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
465 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
466 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
467 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
468 "$accept", "binary_op_token", "unary_op_token", "name_token",
469 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
470 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
471 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
472 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_special_name_token",
473 "cpp_macro_decl", "cpp_macro_sig", "cpp_macro_sig_args",
474 "cpp_macro_decl_tokens", "cpp_macro_decl_token_list", "cpp_macro_exp",
475 "cpp_macro_call_args", "cpp_macro_call_arg_list", "constant",
476 "constant_type", "constant_type_token", "impl_def_val",
477 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
478 "typedef_decl", "typedef_anon_decl", "qualified_decl_type", "decl_type",
479 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
480 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
481 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
482 "ignored_quoted_strings", "decl_ext_var_stmt", "decl_ext_var",
483 "decl_ext_var_list", "decl_vars", "ignored_decl", "ignored_decl_body",
484 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
485 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
486 "decl_args", "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var",
487 "decl_union", "decl_struct", "decl_struct_args", "struct_args_block",
488 "struct_args", "struct_arg_var_list", "decl_vars_with_layout",
489 "decl_enum", "decl_enum_items", "decl_enum_item", "num_exp", "number",
490 "sizeof", "sizeof_body", "sizeof_body_notypes", "enum_name",
491 "union_name", "struct_name", "optional_name", "optional_comma",
492 "decl_layout", "align_and_size", "array_size", "indirection", "pointers",
493 "asterisks", "asterisk", "impl", "impl_func", "impl_args", "impl_arg",
494 "impl_var", "impl_type", "impl_type_token", "impl_stmts", "impl_stmt",
495 "let_stmt", "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
496 "let_callback", "let_func", "let_func_token", "let_func_exps",
497 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
498 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
499 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
500 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
505 #define YYPACT_NINF -704
506 #define YYTABLE_NINF -628
508 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
510 static const short int yypact
[] =
512 555, -704, -704, -704, -704, -704, 172, -704, -704, 2525,
513 734, 545, -704, -704, 718, 294, 3380, 3380, 3380, 1654,
514 32, 253, 49, -704, 1542, 1688, 100, 555, -704, -704,
515 -704, -704, -704, 2751, -704, -704, -704, -704, 65, 154,
516 -704, -704, -704, 91, -704, -59, -704, -704, 145, 99,
517 133, -704, -704, -704, -704, 134, -704, 159, -704, -704,
518 -704, -704, -704, 835, -704, 142, 110, -704, -704, -704,
519 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
520 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
521 -704, -704, -704, -704, -704, -704, -704, 2864, -3, -704,
522 -704, -704, -704, 3380, 3380, 3380, 2366, -704, 20, -704,
523 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
524 -704, -704, 1386, -704, -704, -704, -704, 175, 961, 961,
525 22, -704, 1386, 2412, 2525, 3380, 3380, 1914, 194, -704,
526 -704, -704, 195, 3380, 182, 182, 88, 88, 198, -704,
527 -704, 208, 215, -704, 142, 216, -704, -704, 218, 1688,
528 211, 214, -704, 229, -704, 2027, 460, -59, 211, -704,
529 -704, 217, -704, 222, 3380, -704, 259, -704, 66, -704,
530 -704, -704, 206, -704, -704, 234, 236, 2140, 2140, 3380,
531 193, 3380, -704, -704, 142, -704, -704, -704, -704, -704,
532 -704, 2751, -704, -704, -704, -704, -704, -704, -704, 150,
533 961, -704, -704, -704, -704, -704, -704, -704, -704, -704,
534 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
535 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
536 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
537 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
538 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
539 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
540 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
541 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
542 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
543 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
544 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
545 -704, -704, -704, 961, -704, -704, -704, -704, -704, -704,
546 -704, -704, 76, 2412, -704, -704, -704, -704, 2977, 2412,
547 239, 3534, -704, 241, 111, -704, 118, -704, -704, -704,
548 -704, 238, 240, 240, 68, 68, 3090, 250, -704, 211,
549 1213, -704, 193, 242, 263, 264, -704, 1327, -704, 142,
550 217, -704, -704, -704, 290, -704, -704, 271, -704, 56,
551 2671, 2751, 155, 272, -704, -704, 173, 267, 274, -704,
552 2751, 2073, 2751, 3380, 2751, -704, -704, 18, -704, -704,
553 -704, -704, -704, 2299, -704, 276, 3380, 278, -704, 3380,
554 282, -704, -704, -704, -704, 2558, 288, -704, 2855, 3380,
555 -704, -704, 2412, -704, -704, -704, -704, -704, -704, -704,
556 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
557 -704, 2412, 2412, -704, 285, 696, 2751, 2751, -704, -704,
558 -704, -704, 142, -704, 1621, -704, -704, -704, -704, -704,
559 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
560 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
561 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
562 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
563 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
564 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
565 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
566 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
567 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
568 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
569 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
570 -704, -704, -704, -704, 1087, -704, 185, 524, -704, -704,
571 -704, -704, -704, -704, 1508, -704, 280, 2299, -704, 3510,
572 -704, -704, 3380, -704, -704, -704, 59, 2864, 142, 222,
573 217, 256, 2332, 217, 257, 2299, 3380, 287, 286, 291,
574 3558, 289, 296, -704, 293, 304, 303, 299, 141, -704,
575 314, 316, -704, -704, -704, 2733, -704, 315, 2751, 3149,
576 142, 318, -704, -704, -704, 320, 3534, 321, 323, 3461,
577 -704, 335, 1914, 326, -704, -704, 2638, 72, 3380, 182,
578 182, -704, -704, 3380, 109, -704, -704, -704, 331, -704,
579 3558, -704, -704, -704, -704, -704, -704, -704, -704, -704,
580 -704, -704, -704, 328, 180, -704, 49, -704, 332, 545,
581 333, 2968, -704, -704, -704, 2299, 2299, 337, -704, -704,
582 3090, -704, 339, 56, -704, -704, 340, 3558, -704, -704,
583 1734, -704, 2073, -704, 2751, -704, 49, 2751, -704, 3380,
584 3262, -704, -704, -704, -704, -704, -704, 341, 334, -704,
585 -704, -704, -704, 2412, 2412, 343, -704, 38, 348, -704,
586 326, 240, 240, 350, -704, 577, 349, 577, 346, 2299,
587 -704, 3486, -704, -704, 217, 217, 170, 279, 357, 358,
588 3558, -704, -704, -704, -704, 360, 2186, -704, 359, 2751,
589 186, -704, 361, 278, 362, 961, 3321, 3534, 3582, 374,
590 365, 370, 2751, 373, 348, 2751, 2751, -704, -704, 577,
591 -704, 49, 1621, -704, 2299, -704, -704, 358, -704, 3262,
592 2299, 49, -704, 1847, 372, 377, -704, 313, -704, -704,
593 -704, 378, 381, 392, 326, 384, -704, 388, -704, 27,
594 -704, 3606, 394, 3243, 387, 395, -704, 397, -704, -704,
595 131, -704, 398, 401, -704, 2751, -704, 405, 342, 2299,
596 1734, 404, -704, 2073, -704, -704, 406, 415, 417, 326,
597 410, 396, 3081, 286, -704, -704, -704, 413, 2186, -704,
598 -704, 418, 416, -704, 420, -704, -704, -704, 419, -704,
599 1734, -704, 431, -704, 577, 49, -704, 424, -704, 427,
600 -704, 1960, 439, 426, -704, 440, 2073, -704, -704
603 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
604 Performed when YYTABLE does not specify something else to do. Zero
605 means the default is an error. */
606 static const unsigned short int yydefact
[] =
608 277, 405, 402, 406, 400, 401, 403, 397, 398, 0,
609 396, 0, 282, 281, 0, 0, 0, 0, 511, 0,
610 0, 0, 627, 283, 0, 0, 0, 278, 279, 285,
611 284, 286, 290, 525, 388, 390, 389, 395, 409, 421,
612 394, 287, 289, 0, 288, 426, 444, 446, 447, 0,
613 0, 456, 292, 291, 293, 0, 294, 0, 404, 399,
614 33, 34, 615, 576, 24, 525, 531, 39, 38, 37,
615 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
616 584, 583, 581, 579, 580, 582, 578, 577, 585, 30,
617 613, 611, 610, 612, 609, 608, 457, 0, 527, 529,
618 41, 42, 396, 0, 0, 0, 0, 445, 432, 387,
619 296, 307, 304, 306, 308, 309, 320, 317, 318, 315,
620 321, 316, 0, 319, 310, 311, 312, 0, 337, 337,
621 0, 300, 0, 0, 0, 511, 511, 0, 0, 372,
622 377, 467, 376, 0, 519, 519, 391, 392, 393, 508,
623 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
624 0, 0, 629, 0, 628, 396, 0, 426, 0, 1,
625 280, 521, 468, 0, 526, 411, 415, 413, 417, 410,
626 407, 422, 409, 408, 430, 0, 0, 458, 458, 0,
627 0, 0, 526, 532, 525, 470, 528, 530, 391, 392,
628 393, 0, 431, 323, 324, 325, 327, 328, 326, 322,
629 337, 302, 297, 68, 43, 44, 45, 46, 47, 48,
630 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
631 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
632 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
633 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
634 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
635 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
636 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
637 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
638 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
639 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
640 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
641 157, 339, 305, 338, 298, 313, 314, 299, 322, 301,
642 347, 348, 0, 0, 22, 23, 20, 21, 0, 0,
643 350, 303, 349, 457, 391, 510, 392, 509, 373, 369,
644 378, 0, 0, 0, 0, 0, 0, 0, 295, 0,
645 0, 436, 0, 0, 0, 0, 437, 0, 472, 525,
646 521, 416, 412, 418, 419, 414, 423, 0, 424, 459,
647 0, 525, 0, 460, 461, 463, 0, 487, 513, 485,
648 0, 627, 0, 0, 0, 621, 622, 0, 553, 556,
649 555, 557, 558, 0, 559, 0, 0, 433, 434, 0,
650 0, 330, 340, 507, 506, 0, 0, 502, 0, 0,
651 345, 342, 352, 2, 3, 4, 5, 6, 7, 8,
652 9, 10, 11, 13, 12, 14, 15, 16, 17, 18,
653 19, 0, 0, 370, 0, 0, 0, 0, 475, 474,
654 476, 473, 525, 469, 362, 438, 186, 161, 162, 163,
655 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
656 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
657 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
658 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
659 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
660 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
661 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
662 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
663 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
664 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
665 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
666 271, 273, 442, 443, 0, 440, 0, 0, 371, 425,
667 498, 496, 495, 497, 0, 522, 0, 0, 499, 0,
668 489, 500, 0, 471, 420, 428, 0, 466, 0, 464,
669 521, 0, 0, 521, 0, 0, 514, 0, 0, 0,
670 604, 0, 0, 603, 42, 0, 0, 0, 0, 624,
671 0, 0, 598, 533, 554, 0, 455, 0, 0, 331,
672 525, 0, 503, 505, 341, 0, 354, 0, 353, 0,
673 343, 0, 0, 515, 381, 374, 382, 0, 383, 519,
674 519, 380, 379, 0, 498, 366, 367, 368, 0, 364,
675 363, 439, 441, 534, 546, 547, 548, 549, 545, 550,
676 551, 552, 544, 0, 0, 538, 627, 543, 24, 0,
677 0, 0, 523, 493, 524, 0, 0, 0, 429, 427,
678 465, 450, 0, 0, 462, 448, 0, 488, 486, 484,
679 0, 560, 627, 602, 0, 542, 627, 0, 623, 0,
680 599, 596, 620, 454, 435, 332, 335, 0, 333, 504,
681 501, 346, 351, 0, 0, 0, 375, 0, 480, 477,
682 515, 0, 0, 0, 356, 0, 0, 0, 540, 0,
683 491, 0, 492, 452, 521, 521, 498, 0, 31, 30,
684 566, 571, 567, 569, 570, 41, 0, 605, 616, 0,
685 0, 625, 615, 601, 0, 337, 0, 355, 344, 0,
686 516, 0, 0, 0, 480, 385, 384, 453, 535, 0,
687 539, 627, 362, 490, 0, 451, 449, 0, 568, 599,
688 0, 627, 572, 627, 0, 0, 626, 0, 329, 334,
689 336, 0, 0, 0, 515, 481, 478, 0, 536, 0,
690 541, 494, 0, 0, 586, 0, 618, 617, 606, 561,
691 0, 520, 0, 0, 482, 0, 479, 0, 0, 0,
692 0, 0, 607, 627, 614, 597, 0, 0, 0, 515,
693 0, 0, 0, 499, 588, 564, 562, 587, 0, 575,
694 619, 0, 0, 483, 0, 590, 576, 591, 0, 573,
695 0, 563, 0, 517, 0, 627, 589, 0, 537, 0,
696 518, 592, 0, 593, 594, 0, 627, 574, 595
699 /* YYPGOTO[NTERM-NUM]. */
700 static const short int yypgoto
[] =
702 -704, -294, -119, -7, 146, -704, -704, -704, 447, -704,
703 -704, -704, -704, -704, -704, -704, -704, -704, -704, 353,
704 -704, -704, -704, -126, -704, -300, -704, -704, -704, -704,
705 -704, -317, -704, -704, 312, -177, 26, -171, -162, 1,
706 -704, -704, -704, 448, -704, -704, 306, -704, -704, -704,
707 -704, 319, -704, -704, -704, -704, -194, -704, -136, -704,
708 -93, 468, 43, 7, 35, -704, -704, 317, -704, -106,
709 -2, -33, -704, -704, 143, -335, -704, -277, -704, 6,
710 -704, -107, -346, -704, -117, -704, 85, -704, -434, -417,
711 101, -704, -675, -128, -357, -61, -4, -704, 422, -704,
712 490, -704, -234, -646, -703, -704, 144, -377, -704, -355,
713 -660, 117, -239, -704, -704, -671, -704, -704, -704, -704,
714 -704, -704, -704, -278, -704, -665, -389, -367, -704, -704,
715 -704, -704, -704, -704, -197, -21, -674
718 /* YYDEFGOTO[NTERM-NUM]. */
719 static const short int yydefgoto
[] =
721 -1, 696, 597, 171, 331, 582, 26, 27, 28, 29,
722 30, 127, 128, 129, 130, 337, 131, 132, 133, 210,
723 211, 727, 728, 332, 333, 351, 647, 648, 31, 155,
724 156, 668, 669, 32, 138, 653, 654, 655, 33, 34,
725 35, 36, 37, 38, 39, 40, 180, 382, 385, 183,
726 41, 186, 606, 42, 43, 202, 773, 44, 583, 584,
727 585, 45, 46, 47, 141, 49, 50, 392, 393, 394,
728 51, 598, 52, 53, 459, 460, 657, 783, 815, 143,
729 398, 399, 620, 600, 601, 641, 427, 55, 144, 145,
730 149, 617, 738, 362, 378, 173, 419, 98, 99, 56,
731 57, 684, 685, 621, 686, 687, 407, 408, 409, 854,
732 855, 856, 762, 763, 764, 100, 841, 857, 868, 882,
733 883, 410, 631, 774, 411, 622, 623, 101, 804, 827,
734 412, 413, 414, 628, 629, 625, 164
737 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
738 positive, shift that token. If negative, reduce the rule whose
739 number is the opposite. If YYTABLE_NINF, syntax error. */
740 static const short int yytable
[] =
742 172, 163, 96, 334, 191, 97, 54, 417, 108, 146,
743 147, 148, 109, 142, 349, 632, 352, 363, 364, 365,
744 157, 659, 140, 603, 371, 391, 391, 456, 457, 174,
745 634, 599, 376, 54, 624, 48, 766, 624, 660, 765,
746 748, 139, 788, 428, 791, 48, 66, 767, 335, 431,
747 761, 715, -456, 107, 201, 633, 48, 452, 158, 48,
748 48, 192, 48, 780, 160, 784, 185, 635, 168, 175,
749 176, 177, 383, 781, 178, 384, 1, 2, 3, 4,
750 5, 6, 7, 8, 421, 698, 818, 179, 65, 9,
751 195, 837, 699, 162, 102, 765, 198, 199, 200, 458,
752 169, 11, 423, 424, 455, 66, 802, 157, 425, 739,
753 400, 401, 402, 403, 404, 209, 405, 406, 670, -519,
754 426, 196, 184, 361, -519, 338, 350, 353, 354, 356,
755 97, 187, 646, 416, 452, 142, 360, 452, 826, 834,
756 -365, 336, -365, -365, 140, 748, -391, -512, 62, 844,
757 366, 649, 650, -392, -512, 824, 135, 136, 18, 106,
758 181, 4, 5, 358, 142, 188, 858, 380, 418, 765,
759 189, 878, 718, 140, 863, 719, -447, -467, 860, -467,
760 867, 58, 397, 59, 415, 395, 395, 765, 610, 611,
761 192, 66, 139, 652, 48, 190, 858, 193, 871, 765,
762 48, -498, 369, -498, -498, 212, 613, 614, 107, 634,
763 175, 176, 177, 746, 747, 178, 884, 361, 659, 806,
764 638, 888, 673, 659, 349, 359, 352, -456, 179, 879,
765 349, -359, 352, 465, -512, 660, 355, 357, -360, 367,
766 660, 90, 91, 92, 93, 94, 95, 370, 691, 368,
767 372, 693, 373, 701, 379, 377, 705, 1, 2, 3,
768 4, 5, 6, 7, 8, 381, 387, 388, 420, 707,
769 9, 432, 453, 454, 587, 102, 455, 400, 401, 402,
770 403, 404, 11, 405, 406, 400, 401, 402, 403, 404,
771 464, 405, 406, 656, 588, 589, 604, 605, 1, 2,
772 3, 4, 5, 6, 7, 8, 612, 615, 616, 636,
773 643, 134, 638, 349, 639, 352, 102, 651, 602, 692,
774 702, 706, 711, 11, 709, 714, 710, 713, 715, 712,
775 609, 717, 349, 349, 352, 352, 350, 103, 104, 105,
776 106, 430, 350, 716, 22, 624, 720, 721, 723, 751,
777 752, 730, 452, 731, 732, 452, 452, 733, 172, 463,
778 735, 737, 744, 745, 760, -24, 749, 618, 776, 626,
779 753, 630, 754, 755, 775, 192, 159, 779, 135, 136,
780 18, 106, 782, 787, 789, 607, 792, 174, 797, 799,
781 800, 157, 801, 803, -600, 807, 627, 795, 796, 811,
782 812, 663, 813, 793, 816, 828, 785, 786, 829, 637,
783 830, 831, 380, 865, 866, 137, 832, 833, 835, 836,
784 760, 840, 645, 661, 662, 350, 640, 838, 842, 850,
785 847, 843, 690, 777, 778, 848, 624, 859, 714, 851,
786 861, 845, 862, 864, 350, 350, 670, 870, 821, 873,
787 391, 875, 872, 142, 823, 874, 877, 880, 192, 881,
788 886, 658, 140, 846, 1, 2, 3, 4, 5, 6,
789 7, 8, 885, 887, 170, 820, 624, 9, 374, 422,
790 740, 736, 102, 452, 452, 339, 375, 182, 386, 11,
791 656, 672, 167, 852, 760, 656, 80, 81, 82, 83,
792 84, 85, 86, 87, 88, 396, 704, 817, 461, 708,
793 642, 161, 760, 790, 624, 876, 586, 619, 798, 624,
794 197, 822, 771, 770, 760, 0, 0, 674, 0, 0,
795 675, 741, 742, 0, 676, 0, 677, 678, 679, 680,
796 681, 682, 0, 0, 135, 136, 18, 106, 0, 1,
797 2, 3, 4, 5, 6, 7, 8, 683, 0, 1,
798 2, 3, 4, 5, 6, 7, 8, 102, 0, 0,
799 0, 0, 9, 0, 0, 0, 0, 10, 0, 729,
800 674, 137, 0, 675, 11, 12, 13, 676, 0, 677,
801 678, 679, 680, 681, 682, 697, 14, 0, 0, 0,
802 195, 0, 0, 0, 700, 724, 0, 0, 0, 397,
803 395, 0, 0, 0, 349, 349, 352, 352, 0, 0,
804 0, 0, 0, 172, 0, 0, 0, 0, 0, 103,
805 104, 105, 726, 0, 0, 0, 192, 0, 15, 16,
806 17, 18, 19, 20, 21, 0, 22, 0, 0, 808,
807 142, 360, 174, 0, 0, 142, 743, 0, 658, 140,
808 0, 0, 0, 658, 140, 0, 0, 0, 0, 0,
809 0, 23, 0, 0, 0, 0, 24, 0, 25, 0,
810 0, 768, 0, 0, 418, 0, 0, 418, 0, 0,
811 157, 0, 0, 463, 0, 769, 0, 0, 0, 607,
812 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
813 0, 0, 627, 9, 0, 0, 0, 0, 102, 0,
814 0, 0, 0, 0, 0, 11, 350, 350, 0, 0,
815 0, 0, 0, 0, 0, 0, 805, 0, 1, 2,
816 3, 4, 5, 6, 7, 8, 0, 0, 110, 814,
817 0, 9, 661, 662, 0, 0, 102, 0, 0, 0,
818 0, 0, 0, 11, 0, 0, 418, 0, 0, 810,
819 819, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 135, 136, 18, 106, 111, 112, 113, 114, 115, 116,
821 117, 118, 119, 120, 121, 122, 0, 123, 124, 125,
822 126, 0, 849, 0, 0, 0, 0, 853, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 652, 103, 104,
824 105, 106, 0, 0, 0, 0, 0, 0, 0, 0,
825 0, 0, 0, 0, 0, -576, 0, 853, -576, -576,
826 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
827 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
828 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
829 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
830 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
831 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
832 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
833 -576, -576, -576, -576, -576, 0, -576, 0, -576, -576,
834 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
835 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
836 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
837 -576, -576, 0, -576, -576, 0, -576, -576, -576, -576,
838 -576, 213, 0, 0, 214, 215, 216, 217, 218, 219,
839 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
840 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
841 240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
842 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
843 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
844 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
845 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
846 289, 0, 290, 0, 291, 292, 293, 294, 295, 296,
847 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
848 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
849 317, 318, 319, 320, 321, 322, 323, 324, 0, 0,
850 325, 0, 326, 327, 328, 329, 330, 466, 0, 0,
851 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
852 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
853 487, 488, 489, 490, 491, 492, 493, 0, 494, 495,
854 496, 497, 498, 370, 671, 499, 500, 501, 502, 503,
855 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
856 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
857 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
858 534, 535, 536, 537, 538, 539, 540, 0, 541, 0,
859 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
860 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
861 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
862 572, 573, 574, 575, 0, 0, 576, 0, 577, 578,
863 579, 580, 581, 466, 0, 0, 467, 468, 469, 470,
864 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
865 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
866 491, 492, 493, 0, 494, 495, 496, 497, 498, 370,
867 0, 499, 500, 501, 502, 503, 504, 505, 506, 507,
868 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
869 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
870 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
871 538, 539, 540, 0, 541, 0, 542, 543, 544, 545,
872 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
873 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
874 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
875 60, 0, 576, 0, 577, 578, 579, 580, 581, 61,
876 0, 0, 0, 0, 62, 63, 590, 0, 0, 64,
877 591, 0, 592, 0, 593, 342, 0, 0, 0, 594,
878 0, 0, 0, 0, 0, 0, 595, 0, 0, 0,
879 0, 0, 0, 0, 344, 345, 66, 0, 0, 0,
880 0, 0, 0, 0, 0, 0, 0, 346, 347, 60,
881 0, 0, 0, 67, 68, 69, 70, 71, 61, 0,
882 0, 0, 0, 62, 63, 203, 204, 205, 64, 0,
883 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
884 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
885 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
886 93, 94, 95, 0, 0, 0, 0, 0, 0, 0,
887 0, 596, 67, 68, 69, 70, 71, 0, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
890 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
891 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
892 94, 95, 0, 0, 0, 0, 0, 206, 0, 207,
893 208, 60, 1, 2, 3, 4, 5, 6, 7, 8,
894 61, 0, 0, 0, 0, 62, 63, 590, 0, 0,
895 688, 591, 0, 592, 0, 593, 342, 11, 0, 0,
896 594, 0, 0, 0, 0, 0, 1, 2, 3, 4,
897 5, 6, 7, 8, 0, 344, 345, 66, 0, 9,
898 0, 0, 0, 0, 165, 0, 0, 0, 346, 347,
899 0, 11, 0, 0, 67, 68, 69, 70, 71, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
901 0, 0, 103, 104, 105, 689, 72, 0, 73, 74,
902 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
903 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
904 92, 93, 94, 95, 60, 166, 103, 104, 105, 106,
905 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
906 664, 665, 666, 64, 591, 0, 592, 667, 593, 342,
907 0, 0, 0, 594, 0, 0, 0, 150, 1, 2,
908 151, 4, 5, 6, 152, 8, 153, 0, 344, 345,
909 66, 154, 0, 0, 0, 0, 102, 0, 0, 0,
910 0, 346, 347, 0, 0, 0, 0, 67, 68, 69,
911 70, 71, 1, 2, 3, 4, 5, 6, 7, 8,
912 0, 0, 0, 0, 0, 9, 0, 0, 0, 72,
913 102, 73, 74, 75, 76, 77, 78, 11, 79, 0,
914 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
915 89, 90, 91, 92, 93, 94, 95, 60, 103, 104,
916 105, 0, 0, 0, 0, 0, 61, 0, 0, 0,
917 0, 62, 63, 756, 0, 0, 64, 591, 0, 592,
918 0, 593, 342, 0, 0, 0, 594, 0, 0, 0,
919 0, 0, 103, 104, 105, 106, 0, 0, 162, 0,
920 0, 344, 345, 66, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 346, 347, 0, 0, 0, 0,
922 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 72, 757, 758, 74, 75, 76, 77, 78,
925 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
926 86, 87, 88, 759, 90, 91, 92, 93, 94, 95,
927 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
928 0, 0, 0, 0, 62, 63, 590, 0, 0, 64,
929 591, 0, 592, 0, 593, 342, 0, 0, 0, 594,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 162, 0, 0, 344, 345, 66, 0, 0, 0,
932 0, 0, 0, 0, 0, 0, 0, 346, 347, 0,
933 0, 825, 0, 67, 68, 69, 70, 71, 1, 2,
934 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
935 0, 9, 0, 0, 0, 72, 102, 73, 74, 75,
936 76, 77, 78, 11, 79, 0, 0, 80, 81, 82,
937 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
938 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
939 0, 0, 61, 0, 0, 0, 0, 62, 63, 590,
940 0, 0, 64, 591, -627, 592, 0, 593, 342, 0,
941 0, 0, 594, 0, 0, 0, 0, 0, 135, 136,
942 18, 106, 0, 0, 162, 0, 0, 344, 345, 66,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 346, 347, 0, 0, 0, 0, 67, 68, 69, 70,
945 71, 1, 2, 3, 4, 5, 6, 7, 8, 0,
946 0, 0, 0, 0, 9, 0, 0, 0, 72, 102,
947 73, 74, 75, 76, 77, 78, 11, 79, 0, 0,
948 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
949 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
950 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
951 62, 63, 590, 0, 0, 64, 591, 0, 592, 0,
952 593, 342, 0, 0, 0, 594, 0, 0, 0, 0,
953 0, 103, 104, 105, 106, 0, 0, 162, 0, 0,
954 344, 345, 66, 0, 0, 0, 0, 0, 0, 0,
955 0, 0, 0, 346, 347, 0, 0, 0, 0, 67,
956 68, 69, 70, 71, 1, 2, 3, 4, 5, 6,
957 7, 8, 0, 0, 0, 0, 0, 389, 0, 0,
958 0, 72, 102, 73, 74, 75, 76, 77, 78, 11,
959 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
960 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
961 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
962 0, 0, 0, 62, 63, 756, 0, 0, 64, 591,
963 0, 592, 0, 593, 342, 0, 0, 0, 594, 0,
964 0, 0, 0, 0, 103, 104, 105, 390, 0, 0,
965 0, 0, 0, 344, 345, 66, 0, 0, 0, 0,
966 0, 0, 0, 0, 0, 0, 346, 347, 0, 0,
967 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
969 0, 0, 0, 0, 72, 757, 758, 74, 75, 76,
970 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
971 84, 85, 86, 87, 88, 759, 90, 91, 92, 93,
972 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
973 0, 61, 0, 0, 0, 0, 62, 63, 590, 0,
974 0, 64, 591, 0, 592, 0, 593, 342, 0, 0,
975 0, 594, 0, 0, 0, 0, 1, 2, 3, 4,
976 5, 6, 7, 8, 0, 0, 344, 345, 66, 703,
977 0, 0, 0, 0, 102, 0, 0, 0, 0, 346,
978 347, 11, 0, 0, 0, 67, 68, 69, 70, 71,
979 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
980 0, 0, 0, 154, 0, 0, 0, 72, 102, 73,
981 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
982 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
983 91, 92, 93, 94, 95, 60, 103, 104, 105, 390,
984 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
985 63, 0, 0, 0, 64, 0, 0, 340, 0, 341,
986 342, 0, 0, 0, 343, 0, 0, 0, 0, 0,
987 103, 104, 105, 0, 0, 0, 0, 0, 0, 344,
988 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 346, 347, 0, 0, 0, 0, 67, 68,
990 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
991 348, 0, 0, 0, 0, 0, 0, 0, 0, 0,
992 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
993 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
994 88, 89, 90, 91, 92, 93, 94, 95, 60, 0,
995 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
996 0, 0, 62, 63, 0, 0, 0, 64, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
998 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
999 0, 0, 0, 0, 66, 0, 0, 0, 0, 0,
1000 102, 0, 0, 0, 423, 424, 0, 0, 0, 0,
1001 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
1002 0, 0, 426, 0, 0, 0, 0, 0, 0, 0,
1003 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
1004 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
1005 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1006 95, 60, 103, 104, 105, 0, 0, 0, 0, 0,
1007 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
1008 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 -525, 0, 0, 0, 0, 1, 2, 3, 4, 5,
1010 6, 7, 8, 0, 0, 0, 0, 66, 608, 0,
1011 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 67, 68, 69, 70, 71, 0,
1013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1014 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
1015 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
1016 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1017 92, 93, 94, 95, 60, 103, 104, 105, 0, 0,
1018 0, 0, 0, 61, 722, 0, 0, 0, 62, 63,
1019 0, 0, 0, 64, 0, 433, 434, 435, 436, 437,
1020 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1021 448, 449, 450, 0, 0, 0, 0, 0, 695, 0,
1022 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 67, 68, 69,
1024 70, 71, 0, 0, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
1026 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1027 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1028 89, 90, 91, 92, 93, 94, 95, 60, 0, 0,
1029 0, 0, 0, 0, 0, 0, 61, 0, 0, 0,
1030 0, 62, 63, 0, 0, 0, 64, 0, 644, 0,
1031 0, 0, 0, 0, 0, 0, 194, 433, 434, 435,
1032 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1033 446, 447, 448, 449, 450, 0, 0, 0, 0, 0,
1034 451, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
1036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1038 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1039 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1040 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
1041 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
1042 0, 750, 0, 0, 0, 0, 0, 0, 0, 429,
1043 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1044 443, 444, 445, 446, 447, 448, 449, 450, 0, 0,
1045 0, 0, 0, 695, 0, 0, 0, 0, 0, 0,
1046 0, 0, 0, 67, 68, 69, 70, 71, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1048 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
1049 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
1050 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1051 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
1052 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
1053 0, 0, 64, 0, 869, 0, 0, 0, 0, 0,
1054 0, 0, 462, 433, 434, 435, 436, 437, 438, 439,
1055 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1056 450, 0, 0, 0, 0, 0, 695, 0, 0, 0,
1057 0, 0, 60, 0, 0, 0, 67, 68, 69, 70,
1058 71, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1059 0, 64, 0, 0, 0, 0, 0, 0, 72, 0,
1060 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1061 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1062 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
1063 0, 0, 0, 725, 0, 67, 68, 69, 70, 71,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1066 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
1067 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1068 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
1069 0, 0, 0, 0, 61, 0, 0, 839, 0, 772,
1070 63, 0, 0, 0, 64, 433, 434, 435, 436, 437,
1071 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1072 448, 449, 450, 0, 0, 0, 0, 0, 695, 0,
1073 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
1074 0, 0, 0, 0, 60, 0, 0, 0, 67, 68,
1075 69, 70, 71, 61, 0, 0, 0, 0, 62, 63,
1076 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
1077 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1078 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1079 88, 89, 90, 91, 92, 93, 94, 95, 0, 0,
1080 0, 0, 0, 60, 0, 809, 0, 67, 68, 69,
1081 70, 71, 61, 0, 0, 0, 0, 62, 63, 0,
1082 0, 0, 64, 0, 0, 0, 0, 0, 0, 72,
1083 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1084 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1085 89, 90, 91, 92, 93, 94, 95, 0, 0, 0,
1086 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
1087 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
1089 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1090 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1091 90, 91, 92, 93, 94, 95, 734, 0, 0, 0,
1092 0, 0, 0, 433, 434, 435, 436, 437, 438, 439,
1093 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1094 450, 794, 0, 0, 0, 0, 451, 0, 433, 434,
1095 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1096 445, 446, 447, 448, 449, 450, 0, 0, 0, 694,
1097 0, 695, 433, 434, 435, 436, 437, 438, 439, 440,
1098 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
1099 0, 0, 0, 0, 0, 695, 433, 434, 435, 436,
1100 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1101 447, 448, 449, 450, 0, 0, 0, 0, 0, 451,
1102 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1103 443, 444, 445, 446, 447, 448, 449, 450, 0, 0,
1104 0, 0, 0, 695, 433, 434, 435, 436, 437, 438,
1105 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1106 449, 450, 0, 0, 0, 0, 0, 451, 433, 434,
1107 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1108 445, 446, 447, 448, 449, 450, 0, 0, 0, 0,
1112 static const short int yycheck
[] =
1114 33, 22, 9, 129, 65, 9, 0, 201, 10, 16,
1115 17, 18, 11, 15, 133, 404, 133, 145, 146, 147,
1116 19, 455, 15, 380, 160, 187, 188, 362, 363, 33,
1117 407, 377, 168, 27, 401, 0, 710, 404, 455, 710,
1118 686, 15, 745, 343, 747, 10, 49, 712, 26, 349,
1119 710, 24, 32, 10, 34, 37, 21, 351, 26, 24,
1120 25, 65, 27, 25, 21, 740, 125, 413, 25, 4,
1121 5, 6, 6, 35, 9, 9, 4, 5, 6, 7,
1122 8, 9, 10, 11, 210, 26, 789, 22, 32, 17,
1123 97, 64, 33, 44, 22, 766, 103, 104, 105, 31,
1124 0, 29, 26, 27, 36, 49, 766, 106, 32, 37,
1125 92, 93, 94, 95, 96, 122, 98, 99, 464, 31,
1126 44, 124, 31, 35, 36, 132, 133, 134, 135, 136,
1127 134, 32, 432, 194, 428, 137, 143, 431, 803, 814,
1128 31, 119, 33, 34, 137, 791, 35, 36, 17, 18,
1129 154, 451, 452, 35, 36, 801, 84, 85, 86, 87,
1130 6, 7, 8, 137, 166, 32, 840, 174, 201, 840,
1131 36, 874, 31, 166, 849, 34, 31, 32, 843, 34,
1132 851, 9, 189, 11, 191, 187, 188, 858, 33, 34,
1133 194, 49, 166, 121, 159, 36, 870, 87, 858, 870,
1134 165, 31, 159, 33, 34, 30, 33, 34, 165, 586,
1135 4, 5, 6, 33, 34, 9, 881, 35, 652, 33,
1136 34, 886, 37, 657, 343, 31, 343, 32, 22, 875,
1137 349, 23, 349, 369, 36, 652, 135, 136, 23, 23,
1138 657, 110, 111, 112, 113, 114, 115, 36, 594, 31,
1139 36, 597, 23, 610, 32, 38, 613, 4, 5, 6,
1140 7, 8, 9, 10, 11, 6, 32, 31, 118, 615,
1141 17, 32, 31, 35, 32, 22, 36, 92, 93, 94,
1142 95, 96, 29, 98, 99, 92, 93, 94, 95, 96,
1143 40, 98, 99, 455, 31, 31, 6, 26, 4, 5,
1144 6, 7, 8, 9, 10, 11, 34, 40, 34, 33,
1145 22, 17, 34, 432, 32, 432, 22, 32, 379, 39,
1146 64, 64, 31, 29, 37, 32, 40, 31, 24, 40,
1147 391, 32, 451, 452, 451, 452, 343, 84, 85, 86,
1148 87, 348, 349, 40, 91, 712, 32, 31, 33, 695,
1149 696, 33, 646, 33, 33, 649, 650, 34, 391, 366,
1150 25, 35, 31, 35, 710, 33, 33, 400, 34, 402,
1151 33, 404, 33, 33, 33, 379, 123, 34, 84, 85,
1152 86, 87, 34, 33, 35, 389, 40, 391, 109, 32,
1153 32, 390, 32, 34, 33, 33, 403, 754, 755, 25,
1154 35, 462, 32, 749, 31, 33, 741, 742, 31, 416,
1155 97, 33, 419, 17, 18, 121, 35, 25, 34, 31,
1156 766, 34, 429, 456, 457, 432, 425, 33, 33, 24,
1157 32, 34, 594, 733, 734, 34, 803, 33, 32, 97,
1158 25, 830, 25, 33, 451, 452, 792, 34, 794, 33,
1159 612, 32, 34, 455, 800, 35, 25, 33, 462, 32,
1160 34, 455, 455, 830, 4, 5, 6, 7, 8, 9,
1161 10, 11, 33, 33, 27, 792, 843, 17, 166, 333,
1162 657, 652, 22, 777, 778, 132, 167, 39, 182, 29,
1163 652, 584, 24, 839, 840, 657, 100, 101, 102, 103,
1164 104, 105, 106, 107, 108, 188, 612, 784, 365, 616,
1165 425, 21, 858, 747, 881, 870, 372, 400, 757, 886,
1166 98, 799, 719, 717, 870, -1, -1, 3, -1, -1,
1167 6, 659, 660, -1, 10, -1, 12, 13, 14, 15,
1168 16, 17, -1, -1, 84, 85, 86, 87, -1, 4,
1169 5, 6, 7, 8, 9, 10, 11, 33, -1, 4,
1170 5, 6, 7, 8, 9, 10, 11, 22, -1, -1,
1171 -1, -1, 17, -1, -1, -1, -1, 22, -1, 640,
1172 3, 121, -1, 6, 29, 30, 31, 10, -1, 12,
1173 13, 14, 15, 16, 17, 602, 41, -1, -1, -1,
1174 607, -1, -1, -1, 608, 638, -1, -1, -1, 616,
1175 612, -1, -1, -1, 733, 734, 733, 734, -1, -1,
1176 -1, -1, -1, 656, -1, -1, -1, -1, -1, 84,
1177 85, 86, 639, -1, -1, -1, 640, -1, 83, 84,
1178 85, 86, 87, 88, 89, -1, 91, -1, -1, 775,
1179 652, 658, 656, -1, -1, 657, 663, -1, 652, 652,
1180 -1, -1, -1, 657, 657, -1, -1, -1, -1, -1,
1181 -1, 116, -1, -1, -1, -1, 121, -1, 123, -1,
1182 -1, 714, -1, -1, 717, -1, -1, 720, -1, -1,
1183 689, -1, -1, 700, -1, 716, -1, -1, -1, 703,
1184 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1185 -1, -1, 719, 17, -1, -1, -1, -1, 22, -1,
1186 -1, -1, -1, -1, -1, 29, 733, 734, -1, -1,
1187 -1, -1, -1, -1, -1, -1, 769, -1, 4, 5,
1188 6, 7, 8, 9, 10, 11, -1, -1, 30, 782,
1189 -1, 17, 785, 786, -1, -1, 22, -1, -1, -1,
1190 -1, -1, -1, 29, -1, -1, 799, -1, -1, 776,
1191 791, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1192 84, 85, 86, 87, 66, 67, 68, 69, 70, 71,
1193 72, 73, 74, 75, 76, 77, -1, 79, 80, 81,
1194 82, -1, 835, -1, -1, -1, -1, 840, -1, -1,
1195 -1, -1, -1, -1, -1, -1, -1, 121, 84, 85,
1196 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
1197 -1, -1, -1, -1, -1, 0, -1, 870, 3, 4,
1198 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1199 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1200 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1201 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1202 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1203 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1204 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1205 75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
1206 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1207 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1208 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1209 115, 116, -1, 118, 119, -1, 121, 122, 123, 124,
1210 125, 0, -1, -1, 3, 4, 5, 6, 7, 8,
1211 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1212 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1213 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
1214 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1215 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1216 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1217 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1218 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1219 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1220 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1221 109, 110, 111, 112, 113, 114, 115, 116, -1, -1,
1222 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1223 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1224 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1225 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1226 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1227 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1228 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1229 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1230 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1231 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1232 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1233 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1234 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1235 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1236 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1237 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1238 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1239 -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1240 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1241 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1242 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1243 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1244 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1245 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1246 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1247 3, -1, 119, -1, 121, 122, 123, 124, 125, 12,
1248 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1249 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
1250 -1, -1, -1, -1, -1, -1, 39, -1, -1, -1,
1251 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
1252 -1, -1, -1, -1, -1, -1, -1, 60, 61, 3,
1253 -1, -1, -1, 66, 67, 68, 69, 70, 12, -1,
1254 -1, -1, -1, 17, 18, 19, 20, 21, 22, -1,
1255 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1256 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1257 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1258 113, 114, 115, -1, -1, -1, -1, -1, -1, -1,
1259 -1, 124, 66, 67, 68, 69, 70, -1, -1, -1,
1260 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1261 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1262 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1263 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1264 114, 115, -1, -1, -1, -1, -1, 121, -1, 123,
1265 124, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1266 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1267 22, 23, -1, 25, -1, 27, 28, 29, -1, -1,
1268 32, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1269 8, 9, 10, 11, -1, 47, 48, 49, -1, 17,
1270 -1, -1, -1, -1, 22, -1, -1, -1, 60, 61,
1271 -1, 29, -1, -1, 66, 67, 68, 69, 70, -1,
1272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1273 -1, -1, 84, 85, 86, 87, 88, -1, 90, 91,
1274 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1275 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1276 112, 113, 114, 115, 3, 83, 84, 85, 86, 87,
1277 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1278 19, 20, 21, 22, 23, -1, 25, 26, 27, 28,
1279 -1, -1, -1, 32, -1, -1, -1, 3, 4, 5,
1280 6, 7, 8, 9, 10, 11, 12, -1, 47, 48,
1281 49, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1282 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1283 69, 70, 4, 5, 6, 7, 8, 9, 10, 11,
1284 -1, -1, -1, -1, -1, 17, -1, -1, -1, 88,
1285 22, 90, 91, 92, 93, 94, 95, 29, 97, -1,
1286 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1287 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
1288 86, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1289 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
1290 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1291 -1, -1, 84, 85, 86, 87, -1, -1, 44, -1,
1292 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1293 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1294 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1296 -1, -1, 88, 89, 90, 91, 92, 93, 94, 95,
1297 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1298 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1299 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1300 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1301 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
1302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1303 -1, 44, -1, -1, 47, 48, 49, -1, -1, -1,
1304 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1305 -1, 64, -1, 66, 67, 68, 69, 70, 4, 5,
1306 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1307 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1308 93, 94, 95, 29, 97, -1, -1, 100, 101, 102,
1309 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1310 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1311 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1312 -1, -1, 22, 23, 24, 25, -1, 27, 28, -1,
1313 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1314 86, 87, -1, -1, 44, -1, -1, 47, 48, 49,
1315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1316 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1317 70, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1318 -1, -1, -1, -1, 17, -1, -1, -1, 88, 22,
1319 90, 91, 92, 93, 94, 95, 29, 97, -1, -1,
1320 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1321 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1322 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1323 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1324 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1325 -1, 84, 85, 86, 87, -1, -1, 44, -1, -1,
1326 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1327 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1328 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1329 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1330 -1, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1331 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1332 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1333 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1334 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1335 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1336 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1337 -1, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1338 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1339 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1340 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1341 -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
1342 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1343 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1344 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1345 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1346 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
1347 -1, 32, -1, -1, -1, -1, 4, 5, 6, 7,
1348 8, 9, 10, 11, -1, -1, 47, 48, 49, 17,
1349 -1, -1, -1, -1, 22, -1, -1, -1, -1, 60,
1350 61, 29, -1, -1, -1, 66, 67, 68, 69, 70,
1351 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1352 -1, -1, -1, 17, -1, -1, -1, 88, 22, 90,
1353 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1354 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1355 111, 112, 113, 114, 115, 3, 84, 85, 86, 87,
1356 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1357 18, -1, -1, -1, 22, -1, -1, 25, -1, 27,
1358 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1359 84, 85, 86, -1, -1, -1, -1, -1, -1, 47,
1360 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1362 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1363 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1364 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1365 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1366 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1367 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1368 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1369 -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
1370 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1371 -1, -1, -1, -1, 49, -1, -1, -1, -1, -1,
1372 22, -1, -1, -1, 26, 27, -1, -1, -1, -1,
1373 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1374 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1375 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1376 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1377 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1378 115, 3, 84, 85, 86, -1, -1, -1, -1, -1,
1379 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1380 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1381 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1382 9, 10, 11, -1, -1, -1, -1, 49, 17, -1,
1383 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1384 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1386 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1387 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1388 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1389 112, 113, 114, 115, 3, 84, 85, 86, -1, -1,
1390 -1, -1, -1, 12, 31, -1, -1, -1, 17, 18,
1391 -1, -1, -1, 22, -1, 42, 43, 44, 45, 46,
1392 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1393 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1394 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
1396 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1397 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1398 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1399 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1400 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
1401 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1402 -1, 17, 18, -1, -1, -1, 22, -1, 33, -1,
1403 -1, -1, -1, -1, -1, -1, 32, 42, 43, 44,
1404 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1405 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1406 65, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1407 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1408 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1409 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1410 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1411 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1412 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1413 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1414 -1, 33, -1, -1, -1, -1, -1, -1, -1, 32,
1415 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1416 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1417 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
1418 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1420 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1421 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1422 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1423 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1424 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1425 -1, -1, 22, -1, 33, -1, -1, -1, -1, -1,
1426 -1, -1, 32, 42, 43, 44, 45, 46, 47, 48,
1427 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1428 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
1429 -1, -1, 3, -1, -1, -1, 66, 67, 68, 69,
1430 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1431 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
1432 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1433 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1434 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1435 -1, -1, -1, 64, -1, 66, 67, 68, 69, 70,
1436 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1437 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1438 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1439 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1440 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1441 -1, -1, -1, -1, 12, -1, -1, 34, -1, 17,
1442 18, -1, -1, -1, 22, 42, 43, 44, 45, 46,
1443 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1444 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1445 -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1446 -1, -1, -1, -1, 3, -1, -1, -1, 66, 67,
1447 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
1448 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1449 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1450 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1451 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
1452 -1, -1, -1, 3, -1, 64, -1, 66, 67, 68,
1453 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
1454 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
1455 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1456 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1457 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
1458 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1459 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1460 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1461 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1462 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1463 110, 111, 112, 113, 114, 115, 35, -1, -1, -1,
1464 -1, -1, -1, 42, 43, 44, 45, 46, 47, 48,
1465 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1466 59, 35, -1, -1, -1, -1, 65, -1, 42, 43,
1467 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1468 54, 55, 56, 57, 58, 59, -1, -1, -1, 39,
1469 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1470 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1471 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1472 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1473 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1474 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1475 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1476 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
1477 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1478 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
1479 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1480 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1484 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1485 symbol of state STATE-NUM. */
1486 static const unsigned short int yystos
[] =
1488 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1489 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1490 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
1491 150, 168, 173, 178, 179, 180, 181, 182, 183, 184,
1492 185, 190, 193, 194, 197, 201, 202, 203, 204, 205,
1493 206, 210, 212, 213, 219, 227, 239, 240, 9, 11,
1494 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1495 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1496 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1497 110, 111, 112, 113, 114, 115, 143, 236, 237, 238,
1498 255, 267, 22, 84, 85, 86, 87, 202, 210, 179,
1499 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1500 75, 76, 77, 79, 80, 81, 82, 151, 152, 153,
1501 154, 156, 157, 158, 17, 84, 85, 121, 174, 176,
1502 203, 204, 210, 219, 228, 229, 143, 143, 143, 230,
1503 3, 6, 10, 12, 17, 169, 170, 179, 26, 123,
1504 202, 240, 44, 275, 276, 22, 83, 201, 202, 0,
1505 148, 143, 211, 235, 236, 4, 5, 6, 9, 22,
1506 186, 6, 183, 189, 31, 125, 191, 32, 32, 36,
1507 36, 235, 236, 87, 32, 143, 124, 238, 143, 143,
1508 143, 34, 195, 19, 20, 21, 121, 123, 124, 143,
1509 159, 160, 30, 0, 3, 4, 5, 6, 7, 8,
1510 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1511 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1512 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1513 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1514 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1515 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1516 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1517 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1518 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1519 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1520 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1521 125, 144, 163, 164, 163, 26, 119, 155, 143, 159,
1522 25, 27, 28, 32, 47, 48, 60, 61, 78, 142,
1523 143, 165, 224, 143, 143, 230, 143, 230, 176, 31,
1524 143, 35, 233, 233, 233, 233, 236, 23, 31, 202,
1525 36, 198, 36, 23, 174, 191, 198, 38, 234, 32,
1526 143, 6, 187, 6, 9, 188, 186, 32, 31, 17,
1527 87, 178, 207, 208, 209, 210, 207, 143, 220, 221,
1528 92, 93, 94, 95, 96, 98, 99, 246, 247, 248,
1529 261, 264, 270, 271, 272, 143, 235, 196, 211, 236,
1530 118, 163, 144, 26, 27, 32, 44, 226, 165, 32,
1531 143, 165, 32, 42, 43, 44, 45, 46, 47, 48,
1532 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1533 59, 65, 141, 31, 35, 36, 215, 215, 31, 214,
1534 215, 214, 32, 143, 40, 198, 0, 3, 4, 5,
1535 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1536 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1537 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
1538 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1539 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1540 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1541 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1542 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
1543 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1544 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1545 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
1546 124, 125, 145, 198, 199, 200, 246, 32, 31, 31,
1547 19, 23, 25, 27, 32, 39, 124, 142, 211, 222,
1548 223, 224, 235, 234, 6, 26, 192, 236, 17, 235,
1549 33, 34, 34, 33, 34, 40, 34, 231, 211, 251,
1550 222, 243, 265, 266, 267, 275, 211, 143, 273, 274,
1551 211, 262, 266, 37, 247, 222, 33, 143, 34, 32,
1552 179, 225, 226, 22, 33, 143, 165, 166, 167, 165,
1553 165, 32, 121, 175, 176, 177, 178, 216, 219, 228,
1554 229, 211, 211, 235, 19, 20, 21, 26, 171, 172,
1555 222, 37, 200, 37, 3, 6, 10, 12, 13, 14,
1556 15, 16, 17, 33, 241, 242, 244, 245, 22, 87,
1557 178, 222, 39, 222, 39, 65, 141, 143, 26, 33,
1558 236, 234, 64, 17, 209, 234, 64, 222, 221, 37,
1559 40, 31, 40, 31, 32, 24, 40, 32, 31, 34,
1560 32, 31, 31, 33, 211, 64, 143, 161, 162, 235,
1561 33, 33, 33, 34, 35, 25, 177, 35, 232, 37,
1562 175, 233, 233, 143, 31, 35, 33, 34, 243, 33,
1563 33, 222, 222, 33, 33, 33, 19, 89, 90, 109,
1564 222, 250, 252, 253, 254, 255, 276, 265, 211, 275,
1565 196, 274, 17, 196, 263, 33, 34, 165, 165, 34,
1566 25, 35, 34, 217, 232, 215, 215, 33, 244, 35,
1567 242, 244, 40, 222, 35, 234, 234, 109, 252, 32,
1568 32, 32, 250, 34, 268, 211, 33, 33, 163, 64,
1569 143, 25, 35, 32, 211, 218, 31, 217, 244, 275,
1570 171, 222, 263, 222, 243, 64, 265, 269, 33, 31,
1571 97, 33, 35, 25, 232, 34, 31, 64, 33, 34,
1572 34, 256, 33, 34, 18, 266, 267, 32, 34, 211,
1573 24, 97, 222, 211, 249, 250, 251, 257, 276, 33,
1574 265, 25, 25, 232, 33, 17, 18, 255, 258, 33,
1575 34, 250, 34, 33, 35, 32, 249, 25, 244, 243,
1576 33, 32, 259, 260, 265, 33, 34, 33, 265
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, 254, 255, 255, 255, 255,
1640 255, 255, 255, 255, 255, 255, 256, 256, 257, 257,
1641 258, 258, 259, 259, 260, 260, 261, 262, 262, 263,
1642 263, 263, 264, 265, 265, 265, 266, 266, 267, 267,
1643 267, 267, 267, 267, 267, 267, 268, 268, 269, 269,
1644 270, 271, 271, 272, 273, 273, 274, 275, 275, 276
1647 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1648 static const unsigned char yyr2
[] =
1650 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1651 1, 1, 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, 0, 1, 1,
1678 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1679 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1680 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
1681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1682 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
1683 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1684 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1685 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1686 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1687 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1688 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1689 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1690 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1691 1, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1692 2, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1693 2, 3, 0, 2, 1, 3, 3, 3, 4, 3,
1694 1, 2, 1, 1, 1, 2, 1, 1, 5, 7,
1695 5, 7, 6, 7, 6, 5, 1, 2, 0, 1,
1696 1, 1, 3, 1, 2, 3, 2, 1, 2, 4,
1697 3, 3, 2, 4, 4, 1, 1, 3, 4, 5,
1698 0, 2, 2, 4, 5, 1, 3, 1, 3, 1,
1699 4, 3, 3, 2, 5, 1, 1, 1, 1, 1,
1700 1, 4, 2, 1, 2, 2, 1, 1, 2, 2,
1701 2, 0, 1, 0, 1, 0, 2, 7, 9, 0,
1702 7, 0, 2, 3, 3, 0, 1, 1, 2, 1,
1703 2, 1, 2, 4, 5, 7, 8, 13, 1, 3,
1704 2, 4, 2, 1, 1, 1, 1, 1, 1, 1,
1705 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1706 3, 6, 1, 2, 1, 1, 1, 1, 2, 1,
1707 1, 3, 4, 6, 12, 5, 1, 1, 1, 1,
1708 1, 1, 1, 1, 1, 1, 0, 2, 1, 3,
1709 1, 1, 0, 1, 1, 3, 3, 6, 1, 0,
1710 1, 1, 3, 1, 1, 3, 5, 6, 1, 1,
1711 1, 1, 1, 1, 1, 1, 0, 2, 1, 3,
1712 3, 1, 1, 3, 1, 3, 4, 0, 1, 1
1716 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1717 static const unsigned char yydprec
[] =
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757 0, 2, 1, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 2, 1, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 2, 1, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1784 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1785 static const unsigned char yymerger
[] =
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1852 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1853 in the case of predicates. */
1854 static const yybool yyimmediate
[] =
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1921 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1922 list of conflicting reductions corresponding to action entry for
1923 state STATE-NUM in yytable. 0 means no conflicts. The list in
1924 yyconfl is terminated by a rule number of 0. */
1925 static const unsigned short int yyconflp
[] =
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 5, 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 263, 0, 265, 267, 0, 0, 255, 0, 0, 0,
1942 0, 0, 0, 257, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 271, 0, 273, 275, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 0, 0, 0, 253, 0,
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 259, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959 0, 0, 0, 0, 0, 261, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 269, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 277, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 3, 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, 9, 0, 0, 11, 13,
2011 15, 17, 19, 21, 23, 25, 27, 29, 31, 33,
2012 35, 37, 39, 41, 43, 45, 47, 49, 51, 53,
2013 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
2014 75, 77, 79, 81, 83, 85, 87, 89, 91, 93,
2015 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
2016 115, 117, 119, 121, 123, 125, 127, 129, 131, 133,
2017 135, 137, 139, 141, 143, 145, 147, 149, 151, 153,
2018 155, 157, 159, 161, 163, 0, 165, 0, 167, 169,
2019 171, 173, 175, 177, 179, 181, 183, 185, 187, 189,
2020 191, 193, 195, 197, 199, 201, 203, 205, 207, 209,
2021 211, 213, 215, 217, 219, 221, 223, 225, 227, 229,
2022 231, 233, 0, 235, 237, 0, 239, 241, 243, 245,
2023 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,
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, 249, 0, 0, 0, 0, 251,
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, 0, 0, 0, 0,
2146 0, 0, 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, 279, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2298 0, pointed into by YYCONFLP. */
2299 static const short int yyconfl
[] =
2301 0, 396, 0, 396, 0, 409, 0, 467, 0, 614,
2302 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2303 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2304 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2305 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2306 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2307 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2308 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2309 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2310 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2311 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2312 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2313 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2314 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2315 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2316 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2317 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2318 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2319 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2320 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2321 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2322 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2323 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2324 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2325 0, 614, 0, 614, 0, 614, 0, 614, 0, 396,
2326 0, 396, 0, 409, 0, 512, 0, 512, 0, 460,
2327 0, 42, 0, 498, 0, 498, 0, 498, 0, 396,
2328 0, 565, 0, 565, 0, 565, 0, 615, 0, 344,
2332 /* Error token number */
2339 #define yynerrs (yystackp->yyerrcnt)
2341 #define yychar (yystackp->yyrawchar)
2343 #define yylval (yystackp->yyval)
2345 #define yylloc (yystackp->yyloc)
2346 #define psi_parser_proc_nerrs yynerrs
2347 #define psi_parser_proc_char yychar
2348 #define psi_parser_proc_lval yylval
2349 #define psi_parser_proc_lloc yylloc
2351 static const int YYEOF
= 0;
2352 static const int YYEMPTY
= -2;
2354 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2356 #define YYCHK(YYE) \
2358 YYRESULTTAG yychk_flag = YYE; \
2359 if (yychk_flag != yyok) \
2360 return yychk_flag; \
2366 # define YYFPRINTF fprintf
2369 /* This macro is provided for backward compatibility. */
2370 #ifndef YY_LOCATION_PRINT
2371 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2375 # define YYDPRINTF(Args) \
2382 /*----------------------------------------.
2383 | Print this symbol's value on YYOUTPUT. |
2384 `----------------------------------------*/
2387 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2389 FILE *yyo
= yyoutput
;
2400 /*--------------------------------.
2401 | Print this symbol on YYOUTPUT. |
2402 `--------------------------------*/
2405 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2407 YYFPRINTF (yyoutput
, "%s %s (",
2408 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2410 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2411 YYFPRINTF (yyoutput
, ")");
2414 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2418 YYFPRINTF (stderr, "%s ", Title); \
2419 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2420 YYFPRINTF (stderr, "\n"); \
2424 /* Nonzero means print parse trace. It is left uninitialized so that
2425 multiple parsers can coexist. */
2429 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2430 YY_ATTRIBUTE_UNUSED
;
2431 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2432 YY_ATTRIBUTE_UNUSED
;
2434 #else /* !YYDEBUG */
2436 # define YYDPRINTF(Args)
2437 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2439 #endif /* !YYDEBUG */
2441 /* YYINITDEPTH -- initial size of the parser's stacks. */
2443 # define YYINITDEPTH 200
2446 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2447 if the built-in stack extension method is used).
2449 Do not make this value too large; the results are undefined if
2450 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2451 evaluated with infinite-precision integer arithmetic. */
2454 # define YYMAXDEPTH 10000
2457 /* Minimum number of free items on the stack allowed after an
2458 allocation. This is to allow allocation and initialization
2459 to be completed by functions that call yyexpandGLRStack before the
2460 stack is expanded, thus insuring that all necessary pointers get
2461 properly redirected to new data. */
2462 #define YYHEADROOM 2
2464 #ifndef YYSTACKEXPANDABLE
2465 # define YYSTACKEXPANDABLE 1
2468 #if YYSTACKEXPANDABLE
2469 # define YY_RESERVE_GLRSTACK(Yystack) \
2471 if (Yystack->yyspaceLeft < YYHEADROOM) \
2472 yyexpandGLRStack (Yystack); \
2475 # define YY_RESERVE_GLRSTACK(Yystack) \
2477 if (Yystack->yyspaceLeft < YYHEADROOM) \
2478 yyMemoryExhausted (Yystack); \
2486 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2487 # define yystpcpy stpcpy
2489 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2492 yystpcpy (char *yydest
, const char *yysrc
)
2495 const char *yys
= yysrc
;
2497 while ((*yyd
++ = *yys
++) != '\0')
2506 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2507 quotes and backslashes, so that it's suitable for yyerror. The
2508 heuristic is that double-quoting is unnecessary unless the string
2509 contains an apostrophe, a comma, or backslash (other than
2510 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2511 null, do not copy; instead, return the length of what the result
2514 yytnamerr (char *yyres
, const char *yystr
)
2519 char const *yyp
= yystr
;
2526 goto do_not_strip_quotes
;
2530 goto do_not_strip_quotes
;
2543 do_not_strip_quotes
: ;
2547 return strlen (yystr
);
2549 return yystpcpy (yyres
, yystr
) - yyres
;
2553 #endif /* !YYERROR_VERBOSE */
2555 /** State numbers, as in LALR(1) machine */
2556 typedef int yyStateNum
;
2558 /** Rule numbers, as in LALR(1) machine */
2559 typedef int yyRuleNum
;
2561 /** Grammar symbol */
2562 typedef int yySymbol
;
2564 /** Item references, as in LALR(1) machine */
2565 typedef short int yyItemNum
;
2567 typedef struct yyGLRState yyGLRState
;
2568 typedef struct yyGLRStateSet yyGLRStateSet
;
2569 typedef struct yySemanticOption yySemanticOption
;
2570 typedef union yyGLRStackItem yyGLRStackItem
;
2571 typedef struct yyGLRStack yyGLRStack
;
2574 /** Type tag: always true. */
2576 /** Type tag for yysemantics. If true, yysval applies, otherwise
2577 * yyfirstVal applies. */
2579 /** Number of corresponding LALR(1) machine state. */
2580 yyStateNum yylrState
;
2581 /** Preceding state in this stack */
2583 /** Source position of the last token produced by my symbol */
2586 /** First in a chain of alternative reductions producing the
2587 * non-terminal corresponding to this state, threaded through
2589 yySemanticOption
* yyfirstVal
;
2590 /** Semantic value for this state. */
2595 struct yyGLRStateSet
{
2596 yyGLRState
** yystates
;
2597 /** During nondeterministic operation, yylookaheadNeeds tracks which
2598 * stacks have actually needed the current lookahead. During deterministic
2599 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2600 * duplicate yychar != YYEMPTY. */
2601 yybool
* yylookaheadNeeds
;
2602 size_t yysize
, yycapacity
;
2605 struct yySemanticOption
{
2606 /** Type tag: always false. */
2608 /** Rule number for this reduction */
2610 /** The last RHS state in the list of states to be reduced. */
2611 yyGLRState
* yystate
;
2612 /** The lookahead for this reduction. */
2615 /** Next sibling in chain of options. To facilitate merging,
2616 * options are chained in decreasing order by address. */
2617 yySemanticOption
* yynext
;
2620 /** Type of the items in the GLR stack. The yyisState field
2621 * indicates which item of the union is valid. */
2622 union yyGLRStackItem
{
2624 yySemanticOption yyoption
;
2635 YYJMP_BUF yyexception_buffer
;
2636 yyGLRStackItem
* yyitems
;
2637 yyGLRStackItem
* yynextFree
;
2639 yyGLRState
* yysplitPoint
;
2640 yyGLRState
* yylastDeleted
;
2641 yyGLRStateSet yytops
;
2644 #if YYSTACKEXPANDABLE
2645 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2648 static _Noreturn
void
2649 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2651 if (yymsg
!= YY_NULLPTR
)
2652 yyerror (P
, tokens
, index
, yymsg
);
2653 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2656 static _Noreturn
void
2657 yyMemoryExhausted (yyGLRStack
* yystackp
)
2659 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2662 #if YYDEBUG || YYERROR_VERBOSE
2663 /** A printable representation of TOKEN. */
2664 static inline const char*
2665 yytokenName (yySymbol yytoken
)
2667 if (yytoken
== YYEMPTY
)
2670 return yytname
[yytoken
];
2674 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2675 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2676 * containing the pointer to the next state in the chain. */
2677 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2679 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2682 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2683 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2686 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2688 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2690 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2692 /* The effect of using yysval or yyloc (in an immediate rule) is
2694 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2695 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2699 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2700 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2701 * For convenience, always return YYLOW1. */
2702 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2703 YY_ATTRIBUTE_UNUSED
;
2705 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2707 if (!yynormal
&& yylow1
< *yylow
)
2709 yyfillin (yyvsp
, *yylow
, yylow1
);
2715 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2716 * and top stack item YYVSP. YYLVALP points to place to put semantic
2717 * value ($$), and yylocp points to place for location information
2718 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2719 * yyerr for YYERROR, yyabort for YYABORT. */
2721 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2722 yyGLRStack
* yystackp
,
2723 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2725 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2733 # define yyerrok (yystackp->yyerrState = 0)
2735 # define YYACCEPT return yyaccept
2737 # define YYABORT return yyabort
2739 # define YYERROR return yyerrok, yyerr
2740 # undef YYRECOVERING
2741 # define YYRECOVERING() (yystackp->yyerrState != 0)
2743 # define yyclearin (yychar = YYEMPTY)
2745 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2747 # define YYBACKUP(Token, Value) \
2748 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2753 *yyvalp
= yyval_default
;
2755 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2759 #line 443 "src/parser_proc_grammar.y" /* glr.c:816 */
2761 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2762 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2763 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2766 #line 2767 "src/parser_proc.c" /* glr.c:816 */
2770 #line 449 "src/parser_proc_grammar.y" /* glr.c:816 */
2773 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2774 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2776 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
);
2779 #line 2780 "src/parser_proc.c" /* glr.c:816 */
2783 #line 457 "src/parser_proc_grammar.y" /* glr.c:816 */
2785 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2787 #line 2788 "src/parser_proc.c" /* glr.c:816 */
2791 #line 460 "src/parser_proc_grammar.y" /* glr.c:816 */
2793 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2795 #line 2796 "src/parser_proc.c" /* glr.c:816 */
2799 #line 465 "src/parser_proc_grammar.y" /* glr.c:816 */
2801 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2803 #line 2804 "src/parser_proc.c" /* glr.c:816 */
2807 #line 468 "src/parser_proc_grammar.y" /* glr.c:816 */
2809 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2811 #line 2812 "src/parser_proc.c" /* glr.c:816 */
2815 #line 471 "src/parser_proc_grammar.y" /* glr.c:816 */
2817 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2819 #line 2820 "src/parser_proc.c" /* glr.c:816 */
2823 #line 474 "src/parser_proc_grammar.y" /* glr.c:816 */
2825 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2827 #line 2828 "src/parser_proc.c" /* glr.c:816 */
2831 #line 477 "src/parser_proc_grammar.y" /* glr.c:816 */
2833 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2835 #line 2836 "src/parser_proc.c" /* glr.c:816 */
2839 #line 483 "src/parser_proc_grammar.y" /* glr.c:816 */
2841 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2843 #line 2844 "src/parser_proc.c" /* glr.c:816 */
2847 #line 489 "src/parser_proc_grammar.y" /* glr.c:816 */
2849 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2851 #line 2852 "src/parser_proc.c" /* glr.c:816 */
2855 #line 492 "src/parser_proc_grammar.y" /* glr.c:816 */
2857 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2859 #line 2860 "src/parser_proc.c" /* glr.c:816 */
2863 #line 498 "src/parser_proc_grammar.y" /* glr.c:816 */
2865 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2866 struct psi_token
*msg
= NULL
;
2868 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2870 struct psi_token
*next
;
2872 msg
= psi_token_copy(msg
);
2873 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2874 struct psi_token
*old
= msg
;
2875 msg
= psi_token_cat(" ", 2, msg
, next
);
2879 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2881 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2883 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2885 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2887 #line 2888 "src/parser_proc.c" /* glr.c:816 */
2891 #line 521 "src/parser_proc_grammar.y" /* glr.c:816 */
2893 (*(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
))));
2894 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2896 #line 2897 "src/parser_proc.c" /* glr.c:816 */
2900 #line 525 "src/parser_proc_grammar.y" /* glr.c:816 */
2902 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2903 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2905 #line 2906 "src/parser_proc.c" /* glr.c:816 */
2909 #line 529 "src/parser_proc_grammar.y" /* glr.c:816 */
2911 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2912 (*(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
))));
2913 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2915 #line 2916 "src/parser_proc.c" /* glr.c:816 */
2919 #line 534 "src/parser_proc_grammar.y" /* glr.c:816 */
2921 (*(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
)));
2922 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2924 #line 2925 "src/parser_proc.c" /* glr.c:816 */
2928 #line 538 "src/parser_proc_grammar.y" /* glr.c:816 */
2930 (*(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
)));
2931 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2933 #line 2934 "src/parser_proc.c" /* glr.c:816 */
2937 #line 542 "src/parser_proc_grammar.y" /* glr.c:816 */
2939 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2940 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2942 #line 2943 "src/parser_proc.c" /* glr.c:816 */
2946 #line 546 "src/parser_proc_grammar.y" /* glr.c:816 */
2948 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2949 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2951 #line 2952 "src/parser_proc.c" /* glr.c:816 */
2955 #line 600 "src/parser_proc_grammar.y" /* glr.c:816 */
2957 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2958 (*(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
);
2959 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2961 #line 2962 "src/parser_proc.c" /* glr.c:816 */
2965 #line 605 "src/parser_proc_grammar.y" /* glr.c:816 */
2967 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2968 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
2969 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2971 #line 2972 "src/parser_proc.c" /* glr.c:816 */
2975 #line 613 "src/parser_proc_grammar.y" /* glr.c:816 */
2977 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
2979 #line 2980 "src/parser_proc.c" /* glr.c:816 */
2983 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
2985 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
2987 #line 2988 "src/parser_proc.c" /* glr.c:816 */
2991 #line 620 "src/parser_proc_grammar.y" /* glr.c:816 */
2993 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
2995 #line 2996 "src/parser_proc.c" /* glr.c:816 */
2999 #line 626 "src/parser_proc_grammar.y" /* glr.c:816 */
3001 (*(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
)));
3002 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3003 (*(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
)));
3005 #line 3006 "src/parser_proc.c" /* glr.c:816 */
3009 #line 631 "src/parser_proc_grammar.y" /* glr.c:816 */
3011 (*(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
)));
3012 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3013 (*(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
)));
3015 #line 3016 "src/parser_proc.c" /* glr.c:816 */
3019 #line 639 "src/parser_proc_grammar.y" /* glr.c:816 */
3021 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3023 #line 3024 "src/parser_proc.c" /* glr.c:816 */
3027 #line 646 "src/parser_proc_grammar.y" /* glr.c:816 */
3029 (*(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
)));
3030 (*(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
)));
3032 #line 3033 "src/parser_proc.c" /* glr.c:816 */
3036 #line 650 "src/parser_proc_grammar.y" /* glr.c:816 */
3038 (*(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
)));
3039 (*(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
)));
3041 #line 3042 "src/parser_proc.c" /* glr.c:816 */
3045 #line 657 "src/parser_proc_grammar.y" /* glr.c:816 */
3047 (*(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
)));
3048 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3050 #line 3051 "src/parser_proc.c" /* glr.c:816 */
3054 #line 661 "src/parser_proc_grammar.y" /* glr.c:816 */
3056 (*(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
)));
3057 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3059 #line 3060 "src/parser_proc.c" /* glr.c:816 */
3063 #line 665 "src/parser_proc_grammar.y" /* glr.c:816 */
3065 (*(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
)));
3066 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3068 #line 3069 "src/parser_proc.c" /* glr.c:816 */
3072 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3074 (*(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
)));
3075 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3077 #line 3078 "src/parser_proc.c" /* glr.c:816 */
3081 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
3086 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3087 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3088 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3089 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3092 #line 3093 "src/parser_proc.c" /* glr.c:816 */
3096 #line 684 "src/parser_proc_grammar.y" /* glr.c:816 */
3101 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3102 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3103 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3104 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3107 #line 3108 "src/parser_proc.c" /* glr.c:816 */
3111 #line 694 "src/parser_proc_grammar.y" /* glr.c:816 */
3113 (*(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
));
3114 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3115 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3117 #line 3118 "src/parser_proc.c" /* glr.c:816 */
3121 #line 699 "src/parser_proc_grammar.y" /* glr.c:816 */
3123 (*(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));
3124 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3125 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3127 #line 3128 "src/parser_proc.c" /* glr.c:816 */
3131 #line 704 "src/parser_proc_grammar.y" /* glr.c:816 */
3133 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3134 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3136 #line 3137 "src/parser_proc.c" /* glr.c:816 */
3140 #line 708 "src/parser_proc_grammar.y" /* glr.c:816 */
3142 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3143 (*(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));
3144 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3145 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3147 #line 3148 "src/parser_proc.c" /* glr.c:816 */
3151 #line 714 "src/parser_proc_grammar.y" /* glr.c:816 */
3153 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3154 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3155 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));
3156 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3158 #line 3159 "src/parser_proc.c" /* glr.c:816 */
3162 #line 723 "src/parser_proc_grammar.y" /* glr.c:816 */
3164 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3166 #line 3167 "src/parser_proc.c" /* glr.c:816 */
3170 #line 730 "src/parser_proc_grammar.y" /* glr.c:816 */
3172 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3173 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3175 #line 3176 "src/parser_proc.c" /* glr.c:816 */
3179 #line 734 "src/parser_proc_grammar.y" /* glr.c:816 */
3181 (*(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
)));
3183 #line 3184 "src/parser_proc.c" /* glr.c:816 */
3187 #line 740 "src/parser_proc_grammar.y" /* glr.c:816 */
3189 (*(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
)));
3190 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3192 #line 3193 "src/parser_proc.c" /* glr.c:816 */
3196 #line 747 "src/parser_proc_grammar.y" /* glr.c:816 */
3198 (*(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
);
3200 #line 3201 "src/parser_proc.c" /* glr.c:816 */
3204 #line 760 "src/parser_proc_grammar.y" /* glr.c:816 */
3206 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3208 #line 3209 "src/parser_proc.c" /* glr.c:816 */
3212 #line 763 "src/parser_proc_grammar.y" /* glr.c:816 */
3214 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
)) {
3216 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3218 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3219 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3221 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3225 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3226 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3227 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3228 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3229 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3230 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3231 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3232 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3233 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3234 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3240 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3242 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3244 #line 3245 "src/parser_proc.c" /* glr.c:816 */
3248 #line 794 "src/parser_proc_grammar.y" /* glr.c:816 */
3250 (*(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
);
3251 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3253 #line 3254 "src/parser_proc.c" /* glr.c:816 */
3257 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
3259 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3261 #line 3262 "src/parser_proc.c" /* glr.c:816 */
3265 #line 811 "src/parser_proc_grammar.y" /* glr.c:816 */
3267 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3268 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3269 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3271 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3272 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3273 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3275 #line 3276 "src/parser_proc.c" /* glr.c:816 */
3279 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
3281 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3283 #line 3284 "src/parser_proc.c" /* glr.c:816 */
3287 #line 826 "src/parser_proc_grammar.y" /* glr.c:816 */
3289 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3291 #line 3292 "src/parser_proc.c" /* glr.c:816 */
3295 #line 829 "src/parser_proc_grammar.y" /* glr.c:816 */
3297 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3299 #line 3300 "src/parser_proc.c" /* glr.c:816 */
3303 #line 835 "src/parser_proc_grammar.y" /* glr.c:816 */
3305 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3307 #line 3308 "src/parser_proc.c" /* glr.c:816 */
3311 #line 838 "src/parser_proc_grammar.y" /* glr.c:816 */
3313 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3315 #line 3316 "src/parser_proc.c" /* glr.c:816 */
3319 #line 845 "src/parser_proc_grammar.y" /* glr.c:816 */
3321 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3322 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3323 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3325 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3326 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3328 #line 3329 "src/parser_proc.c" /* glr.c:816 */
3332 #line 853 "src/parser_proc_grammar.y" /* glr.c:816 */
3334 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3335 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3336 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3337 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3339 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3340 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3341 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3342 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3344 #line 3345 "src/parser_proc.c" /* glr.c:816 */
3348 #line 864 "src/parser_proc_grammar.y" /* glr.c:816 */
3350 (*(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
)));
3351 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3352 (*(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
)));
3353 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3354 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3355 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3356 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3358 #line 3359 "src/parser_proc.c" /* glr.c:816 */
3362 #line 873 "src/parser_proc_grammar.y" /* glr.c:816 */
3364 (*(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
)));
3365 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3366 (*(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
)));
3367 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3368 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3369 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3370 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3372 #line 3373 "src/parser_proc.c" /* glr.c:816 */
3376 #line 886 "src/parser_proc_grammar.y" /* glr.c:816 */
3378 (*(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));
3379 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3381 #line 3382 "src/parser_proc.c" /* glr.c:816 */
3385 #line 890 "src/parser_proc_grammar.y" /* glr.c:816 */
3387 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3388 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3389 psi_decl_var_init(NULL
, 0, 0)
3391 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3392 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3393 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3394 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3396 #line 3397 "src/parser_proc.c" /* glr.c:816 */
3400 #line 900 "src/parser_proc_grammar.y" /* glr.c:816 */
3402 (*(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));
3403 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3404 (*(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
)));
3405 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3406 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3407 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3408 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3410 #line 3411 "src/parser_proc.c" /* glr.c:816 */
3414 #line 909 "src/parser_proc_grammar.y" /* glr.c:816 */
3416 (*(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));
3417 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3418 (*(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
)));
3419 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3420 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3421 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3422 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3424 #line 3425 "src/parser_proc.c" /* glr.c:816 */
3428 #line 921 "src/parser_proc_grammar.y" /* glr.c:816 */
3430 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3432 #line 3433 "src/parser_proc.c" /* glr.c:816 */
3436 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3438 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3440 #line 3441 "src/parser_proc.c" /* glr.c:816 */
3444 #line 931 "src/parser_proc_grammar.y" /* glr.c:816 */
3446 (*(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
);
3447 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3449 #line 3450 "src/parser_proc.c" /* glr.c:816 */
3453 #line 939 "src/parser_proc_grammar.y" /* glr.c:816 */
3455 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3456 (*(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
);
3457 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3459 #line 3460 "src/parser_proc.c" /* glr.c:816 */
3463 #line 944 "src/parser_proc_grammar.y" /* glr.c:816 */
3465 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3466 (*(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
);
3467 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3469 #line 3470 "src/parser_proc.c" /* glr.c:816 */
3473 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3475 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3476 (*(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
);
3477 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3479 #line 3480 "src/parser_proc.c" /* glr.c:816 */
3483 #line 959 "src/parser_proc_grammar.y" /* glr.c:816 */
3485 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3487 #line 3488 "src/parser_proc.c" /* glr.c:816 */
3491 #line 965 "src/parser_proc_grammar.y" /* glr.c:816 */
3493 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3495 #line 3496 "src/parser_proc.c" /* glr.c:816 */
3499 #line 968 "src/parser_proc_grammar.y" /* glr.c:816 */
3501 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3503 #line 3504 "src/parser_proc.c" /* glr.c:816 */
3507 #line 971 "src/parser_proc_grammar.y" /* glr.c:816 */
3509 (*(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
)));
3511 #line 3512 "src/parser_proc.c" /* glr.c:816 */
3515 #line 982 "src/parser_proc_grammar.y" /* glr.c:816 */
3517 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3519 #line 3520 "src/parser_proc.c" /* glr.c:816 */
3523 #line 985 "src/parser_proc_grammar.y" /* glr.c:816 */
3525 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3527 #line 3528 "src/parser_proc.c" /* glr.c:816 */
3531 #line 988 "src/parser_proc_grammar.y" /* glr.c:816 */
3533 (*(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
)));
3535 #line 3536 "src/parser_proc.c" /* glr.c:816 */
3539 #line 994 "src/parser_proc_grammar.y" /* glr.c:816 */
3541 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3543 #line 3544 "src/parser_proc.c" /* glr.c:816 */
3547 #line 997 "src/parser_proc_grammar.y" /* glr.c:816 */
3549 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3551 #line 3552 "src/parser_proc.c" /* glr.c:816 */
3555 #line 1000 "src/parser_proc_grammar.y" /* glr.c:816 */
3557 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3558 (*(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
)));
3559 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3561 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3564 #line 3565 "src/parser_proc.c" /* glr.c:816 */
3568 #line 1008 "src/parser_proc_grammar.y" /* glr.c:816 */
3570 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3571 (*(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
)));
3572 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3573 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3575 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3578 #line 3579 "src/parser_proc.c" /* glr.c:816 */
3582 #line 1020 "src/parser_proc_grammar.y" /* glr.c:816 */
3584 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3586 #line 3587 "src/parser_proc.c" /* glr.c:816 */
3590 #line 1023 "src/parser_proc_grammar.y" /* glr.c:816 */
3592 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3594 #line 3595 "src/parser_proc.c" /* glr.c:816 */
3598 #line 1026 "src/parser_proc_grammar.y" /* glr.c:816 */
3600 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3602 #line 3603 "src/parser_proc.c" /* glr.c:816 */
3606 #line 1029 "src/parser_proc_grammar.y" /* glr.c:816 */
3608 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3609 (*(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
)));
3611 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3614 #line 3615 "src/parser_proc.c" /* glr.c:816 */
3618 #line 1036 "src/parser_proc_grammar.y" /* glr.c:816 */
3620 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3622 #line 3623 "src/parser_proc.c" /* glr.c:816 */
3626 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
3628 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3629 (*(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
)));
3631 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3634 #line 3635 "src/parser_proc.c" /* glr.c:816 */
3638 #line 1049 "src/parser_proc_grammar.y" /* glr.c:816 */
3640 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3642 #line 3643 "src/parser_proc.c" /* glr.c:816 */
3646 #line 1055 "src/parser_proc_grammar.y" /* glr.c:816 */
3648 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3650 #line 3651 "src/parser_proc.c" /* glr.c:816 */
3654 #line 1064 "src/parser_proc_grammar.y" /* glr.c:816 */
3656 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3658 #line 3659 "src/parser_proc.c" /* glr.c:816 */
3662 #line 1067 "src/parser_proc_grammar.y" /* glr.c:816 */
3664 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3666 #line 3667 "src/parser_proc.c" /* glr.c:816 */
3670 #line 1070 "src/parser_proc_grammar.y" /* glr.c:816 */
3672 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3673 (*(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
)));
3674 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3676 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3679 #line 3680 "src/parser_proc.c" /* glr.c:816 */
3683 #line 1081 "src/parser_proc_grammar.y" /* glr.c:816 */
3685 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3687 #line 3688 "src/parser_proc.c" /* glr.c:816 */
3691 #line 1084 "src/parser_proc_grammar.y" /* glr.c:816 */
3693 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3695 #line 3696 "src/parser_proc.c" /* glr.c:816 */
3699 #line 1104 "src/parser_proc_grammar.y" /* glr.c:816 */
3701 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3703 #line 3704 "src/parser_proc.c" /* glr.c:816 */
3707 #line 1111 "src/parser_proc_grammar.y" /* glr.c:816 */
3709 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3711 #line 3712 "src/parser_proc.c" /* glr.c:816 */
3715 #line 1117 "src/parser_proc_grammar.y" /* glr.c:816 */
3717 (*(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
)));
3719 #line 3720 "src/parser_proc.c" /* glr.c:816 */
3723 #line 1120 "src/parser_proc_grammar.y" /* glr.c:816 */
3725 (*(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
)));
3727 #line 3728 "src/parser_proc.c" /* glr.c:816 */
3731 #line 1126 "src/parser_proc_grammar.y" /* glr.c:816 */
3733 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3735 #line 3736 "src/parser_proc.c" /* glr.c:816 */
3739 #line 1129 "src/parser_proc_grammar.y" /* glr.c:816 */
3741 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3743 #line 3744 "src/parser_proc.c" /* glr.c:816 */
3747 #line 1132 "src/parser_proc_grammar.y" /* glr.c:816 */
3749 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3751 #line 3752 "src/parser_proc.c" /* glr.c:816 */
3755 #line 1153 "src/parser_proc_grammar.y" /* glr.c:816 */
3757 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3758 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3760 #line 3761 "src/parser_proc.c" /* glr.c:816 */
3764 #line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */
3766 (*(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
)));
3767 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3768 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3769 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3772 #line 3773 "src/parser_proc.c" /* glr.c:816 */
3776 #line 1172 "src/parser_proc_grammar.y" /* glr.c:816 */
3778 (*(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
)));
3779 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3780 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3781 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3782 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3785 #line 3786 "src/parser_proc.c" /* glr.c:816 */
3789 #line 1183 "src/parser_proc_grammar.y" /* glr.c:816 */
3791 (*(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
)));
3792 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3793 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3794 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3797 #line 3798 "src/parser_proc.c" /* glr.c:816 */
3801 #line 1190 "src/parser_proc_grammar.y" /* glr.c:816 */
3803 (*(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
)));
3804 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3805 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3806 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3807 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3810 #line 3811 "src/parser_proc.c" /* glr.c:816 */
3814 #line 1201 "src/parser_proc_grammar.y" /* glr.c:816 */
3816 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3817 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3818 (*(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));
3819 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3820 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3822 #line 3823 "src/parser_proc.c" /* glr.c:816 */
3826 #line 1208 "src/parser_proc_grammar.y" /* glr.c:816 */
3828 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3829 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3830 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3831 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
),
3832 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)
3834 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3835 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3836 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3838 #line 3839 "src/parser_proc.c" /* glr.c:816 */
3842 #line 1219 "src/parser_proc_grammar.y" /* glr.c:816 */
3844 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3845 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3846 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3847 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
),
3848 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)
3850 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3851 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3852 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3854 #line 3855 "src/parser_proc.c" /* glr.c:816 */
3858 #line 1230 "src/parser_proc_grammar.y" /* glr.c:816 */
3860 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3861 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3862 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3863 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
),
3864 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3866 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3867 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3868 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3870 #line 3871 "src/parser_proc.c" /* glr.c:816 */
3874 #line 1245 "src/parser_proc_grammar.y" /* glr.c:816 */
3876 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3877 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
),
3878 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3880 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3881 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3882 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3884 #line 3885 "src/parser_proc.c" /* glr.c:816 */
3888 #line 1257 "src/parser_proc_grammar.y" /* glr.c:816 */
3890 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3892 #line 3893 "src/parser_proc.c" /* glr.c:816 */
3896 #line 1260 "src/parser_proc_grammar.y" /* glr.c:816 */
3898 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3900 #line 3901 "src/parser_proc.c" /* glr.c:816 */
3904 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
3906 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3908 #line 3909 "src/parser_proc.c" /* glr.c:816 */
3912 #line 1269 "src/parser_proc_grammar.y" /* glr.c:816 */
3914 (*(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
)));
3916 #line 3917 "src/parser_proc.c" /* glr.c:816 */
3920 #line 1272 "src/parser_proc_grammar.y" /* glr.c:816 */
3922 (*(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
)));
3924 #line 3925 "src/parser_proc.c" /* glr.c:816 */
3928 #line 1279 "src/parser_proc_grammar.y" /* glr.c:816 */
3930 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3932 #line 3933 "src/parser_proc.c" /* glr.c:816 */
3936 #line 1282 "src/parser_proc_grammar.y" /* glr.c:816 */
3938 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3939 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
3940 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3943 #line 3944 "src/parser_proc.c" /* glr.c:816 */
3947 #line 1288 "src/parser_proc_grammar.y" /* glr.c:816 */
3949 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3950 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
),
3951 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3953 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3954 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3955 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3957 #line 3958 "src/parser_proc.c" /* glr.c:816 */
3961 #line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */
3963 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3964 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
),
3965 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
3967 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3968 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3969 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3971 #line 3972 "src/parser_proc.c" /* glr.c:816 */
3975 #line 1309 "src/parser_proc_grammar.y" /* glr.c:816 */
3977 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3978 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3979 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3981 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3982 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3984 #line 3985 "src/parser_proc.c" /* glr.c:816 */
3988 #line 1317 "src/parser_proc_grammar.y" /* glr.c:816 */
3990 (*(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
)));
3992 #line 3993 "src/parser_proc.c" /* glr.c:816 */
3996 #line 1320 "src/parser_proc_grammar.y" /* glr.c:816 */
3998 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3999 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4000 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
),
4001 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)
4003 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4004 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4005 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4007 #line 4008 "src/parser_proc.c" /* glr.c:816 */
4011 #line 1330 "src/parser_proc_grammar.y" /* glr.c:816 */
4013 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4014 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4015 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
),
4016 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)
4018 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4019 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4020 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4022 #line 4023 "src/parser_proc.c" /* glr.c:816 */
4026 #line 1343 "src/parser_proc_grammar.y" /* glr.c:816 */
4028 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4029 (*(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
)));
4030 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4032 #line 4033 "src/parser_proc.c" /* glr.c:816 */
4036 #line 1348 "src/parser_proc_grammar.y" /* glr.c:816 */
4038 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4039 (*(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
)));
4040 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4042 #line 4043 "src/parser_proc.c" /* glr.c:816 */
4046 #line 1356 "src/parser_proc_grammar.y" /* glr.c:816 */
4048 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4049 (*(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
)));
4050 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4051 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4052 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4054 #line 4055 "src/parser_proc.c" /* glr.c:816 */
4058 #line 1366 "src/parser_proc_grammar.y" /* glr.c:816 */
4060 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4061 (*(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
)));
4062 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4063 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4064 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4066 #line 4067 "src/parser_proc.c" /* glr.c:816 */
4070 #line 1376 "src/parser_proc_grammar.y" /* glr.c:816 */
4072 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4074 #line 4075 "src/parser_proc.c" /* glr.c:816 */
4078 #line 1383 "src/parser_proc_grammar.y" /* glr.c:816 */
4080 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4082 #line 4083 "src/parser_proc.c" /* glr.c:816 */
4086 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
4088 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4089 (*(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
)));
4090 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4092 struct psi_decl_arg
*arg
;
4094 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4095 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4096 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4098 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4101 #line 4102 "src/parser_proc.c" /* glr.c:816 */
4105 #line 1403 "src/parser_proc_grammar.y" /* glr.c:816 */
4107 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4108 (*(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
)));
4109 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4111 struct psi_decl_arg
*arg
;
4113 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4114 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4115 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4117 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4120 #line 4121 "src/parser_proc.c" /* glr.c:816 */
4124 #line 1420 "src/parser_proc_grammar.y" /* glr.c:816 */
4126 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4128 #line 4129 "src/parser_proc.c" /* glr.c:816 */
4132 #line 1423 "src/parser_proc_grammar.y" /* glr.c:816 */
4134 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4136 #line 4137 "src/parser_proc.c" /* glr.c:816 */
4140 #line 1429 "src/parser_proc_grammar.y" /* glr.c:816 */
4143 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4144 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4145 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4148 #line 4149 "src/parser_proc.c" /* glr.c:816 */
4152 #line 1436 "src/parser_proc_grammar.y" /* glr.c:816 */
4155 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4156 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4157 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4160 #line 4161 "src/parser_proc.c" /* glr.c:816 */
4164 #line 1446 "src/parser_proc_grammar.y" /* glr.c:816 */
4166 (*(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
)));
4167 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
4169 #line 4170 "src/parser_proc.c" /* glr.c:816 */
4173 #line 1453 "src/parser_proc_grammar.y" /* glr.c:816 */
4175 (*(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
)));
4177 #line 4178 "src/parser_proc.c" /* glr.c:816 */
4181 #line 1456 "src/parser_proc_grammar.y" /* glr.c:816 */
4183 (*(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
)));
4185 #line 4186 "src/parser_proc.c" /* glr.c:816 */
4189 #line 1462 "src/parser_proc_grammar.y" /* glr.c:816 */
4191 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4192 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4193 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4195 #line 4196 "src/parser_proc.c" /* glr.c:816 */
4199 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
4201 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4202 (*(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
)));
4203 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4205 #line 4206 "src/parser_proc.c" /* glr.c:816 */
4209 #line 1475 "src/parser_proc_grammar.y" /* glr.c:816 */
4211 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4212 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4214 #line 4215 "src/parser_proc.c" /* glr.c:816 */
4218 #line 1479 "src/parser_proc_grammar.y" /* glr.c:816 */
4220 (*(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
)));
4221 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4223 #line 4224 "src/parser_proc.c" /* glr.c:816 */
4227 #line 1483 "src/parser_proc_grammar.y" /* glr.c:816 */
4229 (*(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
)));
4230 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4232 #line 4233 "src/parser_proc.c" /* glr.c:816 */
4236 #line 1487 "src/parser_proc_grammar.y" /* glr.c:816 */
4238 (*(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
)));
4239 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4241 #line 4242 "src/parser_proc.c" /* glr.c:816 */
4245 #line 1491 "src/parser_proc_grammar.y" /* glr.c:816 */
4247 (*(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
)));
4248 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4250 #line 4251 "src/parser_proc.c" /* glr.c:816 */
4254 #line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */
4256 (*(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
)));
4257 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4259 #line 4260 "src/parser_proc.c" /* glr.c:816 */
4263 #line 1502 "src/parser_proc_grammar.y" /* glr.c:816 */
4265 (*(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
);
4266 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4268 #line 4269 "src/parser_proc.c" /* glr.c:816 */
4272 #line 1506 "src/parser_proc_grammar.y" /* glr.c:816 */
4274 (*(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);
4275 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4277 #line 4278 "src/parser_proc.c" /* glr.c:816 */
4281 #line 1510 "src/parser_proc_grammar.y" /* glr.c:816 */
4283 (*(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);
4284 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4286 #line 4287 "src/parser_proc.c" /* glr.c:816 */
4290 #line 1514 "src/parser_proc_grammar.y" /* glr.c:816 */
4292 (*(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);
4293 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4295 #line 4296 "src/parser_proc.c" /* glr.c:816 */
4299 #line 1518 "src/parser_proc_grammar.y" /* glr.c:816 */
4301 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4302 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4304 #line 4305 "src/parser_proc.c" /* glr.c:816 */
4308 #line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */
4310 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4312 #line 4313 "src/parser_proc.c" /* glr.c:816 */
4316 #line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */
4318 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4319 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4321 #line 4322 "src/parser_proc.c" /* glr.c:816 */
4325 #line 1532 "src/parser_proc_grammar.y" /* glr.c:816 */
4327 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4328 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4330 #line 4331 "src/parser_proc.c" /* glr.c:816 */
4334 #line 1539 "src/parser_proc_grammar.y" /* glr.c:816 */
4336 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4338 #line 4339 "src/parser_proc.c" /* glr.c:816 */
4342 #line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */
4344 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4345 int8_t sizeof_void_p
= sizeof(void *);
4346 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4347 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4349 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4352 #line 4353 "src/parser_proc.c" /* glr.c:816 */
4356 #line 1554 "src/parser_proc_grammar.y" /* glr.c:816 */
4358 int8_t sizeof_void_p
= sizeof(void *);
4359 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4361 #line 4362 "src/parser_proc.c" /* glr.c:816 */
4365 #line 1558 "src/parser_proc_grammar.y" /* glr.c:816 */
4367 int8_t sizeof_a
= sizeof('a');
4368 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4370 #line 4371 "src/parser_proc.c" /* glr.c:816 */
4374 #line 1562 "src/parser_proc_grammar.y" /* glr.c:816 */
4376 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4378 #line 4379 "src/parser_proc.c" /* glr.c:816 */
4382 #line 1568 "src/parser_proc_grammar.y" /* glr.c:816 */
4384 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4385 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4389 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4390 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4393 #line 4394 "src/parser_proc.c" /* glr.c:816 */
4397 #line 1581 "src/parser_proc_grammar.y" /* glr.c:816 */
4399 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4400 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4404 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4405 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4408 #line 4409 "src/parser_proc.c" /* glr.c:816 */
4412 #line 1594 "src/parser_proc_grammar.y" /* glr.c:816 */
4414 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4415 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4419 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4420 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4423 #line 4424 "src/parser_proc.c" /* glr.c:816 */
4427 #line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */
4429 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4431 #line 4432 "src/parser_proc.c" /* glr.c:816 */
4435 #line 1610 "src/parser_proc_grammar.y" /* glr.c:816 */
4437 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4438 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4440 #line 4441 "src/parser_proc.c" /* glr.c:816 */
4444 #line 1622 "src/parser_proc_grammar.y" /* glr.c:816 */
4446 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4448 #line 4449 "src/parser_proc.c" /* glr.c:816 */
4452 #line 1625 "src/parser_proc_grammar.y" /* glr.c:816 */
4454 (*(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
));
4456 #line 4457 "src/parser_proc.c" /* glr.c:816 */
4460 #line 1628 "src/parser_proc_grammar.y" /* glr.c:816 */
4462 (*(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
);
4464 #line 4465 "src/parser_proc.c" /* glr.c:816 */
4468 #line 1631 "src/parser_proc_grammar.y" /* glr.c:816 */
4470 (*(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
));
4472 #line 4473 "src/parser_proc.c" /* glr.c:816 */
4476 #line 1637 "src/parser_proc_grammar.y" /* glr.c:816 */
4478 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4479 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4481 #line 4482 "src/parser_proc.c" /* glr.c:816 */
4485 #line 1641 "src/parser_proc_grammar.y" /* glr.c:816 */
4487 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4488 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4490 #line 4491 "src/parser_proc.c" /* glr.c:816 */
4494 #line 1648 "src/parser_proc_grammar.y" /* glr.c:816 */
4496 (*(size_t*)(&(*yyvalp
))) = 0;
4498 #line 4499 "src/parser_proc.c" /* glr.c:816 */
4502 #line 1651 "src/parser_proc_grammar.y" /* glr.c:816 */
4504 (*(size_t*)(&(*yyvalp
))) = 0;
4506 #line 4507 "src/parser_proc.c" /* glr.c:816 */
4510 #line 1654 "src/parser_proc_grammar.y" /* glr.c:816 */
4512 (*(size_t*)(&(*yyvalp
))) = 0;
4514 #line 4515 "src/parser_proc.c" /* glr.c:816 */
4518 #line 1657 "src/parser_proc_grammar.y" /* glr.c:816 */
4520 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
)) {
4521 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4523 (*(size_t*)(&(*yyvalp
))) = 0;
4525 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4527 #line 4528 "src/parser_proc.c" /* glr.c:816 */
4531 #line 1668 "src/parser_proc_grammar.y" /* glr.c:816 */
4533 (*(size_t*)(&(*yyvalp
))) = 0;
4535 #line 4536 "src/parser_proc.c" /* glr.c:816 */
4539 #line 1671 "src/parser_proc_grammar.y" /* glr.c:816 */
4541 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4543 #line 4544 "src/parser_proc.c" /* glr.c:816 */
4547 #line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */
4549 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4551 #line 4552 "src/parser_proc.c" /* glr.c:816 */
4555 #line 1684 "src/parser_proc_grammar.y" /* glr.c:816 */
4557 (*(size_t*)(&(*yyvalp
))) = 1;
4559 #line 4560 "src/parser_proc.c" /* glr.c:816 */
4563 #line 1687 "src/parser_proc_grammar.y" /* glr.c:816 */
4565 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4567 #line 4568 "src/parser_proc.c" /* glr.c:816 */
4571 #line 1704 "src/parser_proc_grammar.y" /* glr.c:816 */
4573 (*(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
)));
4575 #line 4576 "src/parser_proc.c" /* glr.c:816 */
4579 #line 1707 "src/parser_proc_grammar.y" /* glr.c:816 */
4581 (*(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
)));
4582 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4584 #line 4585 "src/parser_proc.c" /* glr.c:816 */
4588 #line 1714 "src/parser_proc_grammar.y" /* glr.c:816 */
4590 (*(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
)));
4591 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4592 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4594 #line 4595 "src/parser_proc.c" /* glr.c:816 */
4598 #line 1719 "src/parser_proc_grammar.y" /* glr.c:816 */
4600 (*(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
)));
4601 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4602 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4604 #line 4605 "src/parser_proc.c" /* glr.c:816 */
4608 #line 1724 "src/parser_proc_grammar.y" /* glr.c:816 */
4610 (*(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
)));
4611 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4612 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4613 (*(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
);
4614 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4616 #line 4617 "src/parser_proc.c" /* glr.c:816 */
4620 #line 1734 "src/parser_proc_grammar.y" /* glr.c:816 */
4622 (*(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
)));
4624 #line 4625 "src/parser_proc.c" /* glr.c:816 */
4628 #line 1737 "src/parser_proc_grammar.y" /* glr.c:816 */
4630 (*(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
)));
4632 #line 4633 "src/parser_proc.c" /* glr.c:816 */
4636 #line 1743 "src/parser_proc_grammar.y" /* glr.c:816 */
4638 (*(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
);
4640 #line 4641 "src/parser_proc.c" /* glr.c:816 */
4644 #line 1746 "src/parser_proc_grammar.y" /* glr.c:816 */
4646 (*(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
)));
4648 #line 4649 "src/parser_proc.c" /* glr.c:816 */
4652 #line 1752 "src/parser_proc_grammar.y" /* glr.c:816 */
4654 (*(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
)));
4655 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4657 #line 4658 "src/parser_proc.c" /* glr.c:816 */
4661 #line 1759 "src/parser_proc_grammar.y" /* glr.c:816 */
4663 (*(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
);
4664 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4666 #line 4667 "src/parser_proc.c" /* glr.c:816 */
4670 #line 1778 "src/parser_proc_grammar.y" /* glr.c:816 */
4672 (*(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
)));
4674 #line 4675 "src/parser_proc.c" /* glr.c:816 */
4678 #line 1781 "src/parser_proc_grammar.y" /* glr.c:816 */
4680 (*(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
)));
4682 #line 4683 "src/parser_proc.c" /* glr.c:816 */
4686 #line 1787 "src/parser_proc_grammar.y" /* glr.c:816 */
4688 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4690 #line 4691 "src/parser_proc.c" /* glr.c:816 */
4694 #line 1790 "src/parser_proc_grammar.y" /* glr.c:816 */
4696 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4698 #line 4699 "src/parser_proc.c" /* glr.c:816 */
4702 #line 1793 "src/parser_proc_grammar.y" /* glr.c:816 */
4704 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4706 #line 4707 "src/parser_proc.c" /* glr.c:816 */
4710 #line 1796 "src/parser_proc_grammar.y" /* glr.c:816 */
4712 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4714 #line 4715 "src/parser_proc.c" /* glr.c:816 */
4718 #line 1799 "src/parser_proc_grammar.y" /* glr.c:816 */
4720 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4722 #line 4723 "src/parser_proc.c" /* glr.c:816 */
4726 #line 1805 "src/parser_proc_grammar.y" /* glr.c:816 */
4728 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4729 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4731 #line 4732 "src/parser_proc.c" /* glr.c:816 */
4735 #line 1809 "src/parser_proc_grammar.y" /* glr.c:816 */
4737 (*(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
))));
4738 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4739 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4741 #line 4742 "src/parser_proc.c" /* glr.c:816 */
4745 #line 1818 "src/parser_proc_grammar.y" /* glr.c:816 */
4747 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4748 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4750 #line 4751 "src/parser_proc.c" /* glr.c:816 */
4754 #line 1822 "src/parser_proc_grammar.y" /* glr.c:816 */
4756 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4757 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4759 #line 4760 "src/parser_proc.c" /* glr.c:816 */
4763 #line 1829 "src/parser_proc_grammar.y" /* glr.c:816 */
4765 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4767 #line 4768 "src/parser_proc.c" /* glr.c:816 */
4771 #line 1832 "src/parser_proc_grammar.y" /* glr.c:816 */
4773 (*(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
)));
4775 #line 4776 "src/parser_proc.c" /* glr.c:816 */
4779 #line 1835 "src/parser_proc_grammar.y" /* glr.c:816 */
4781 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4783 #line 4784 "src/parser_proc.c" /* glr.c:816 */
4787 #line 1838 "src/parser_proc_grammar.y" /* glr.c:816 */
4789 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4790 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4792 #line 4793 "src/parser_proc.c" /* glr.c:816 */
4796 #line 1842 "src/parser_proc_grammar.y" /* glr.c:816 */
4798 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4800 #line 4801 "src/parser_proc.c" /* glr.c:816 */
4804 #line 1845 "src/parser_proc_grammar.y" /* glr.c:816 */
4806 (*(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
)));
4808 #line 4809 "src/parser_proc.c" /* glr.c:816 */
4812 #line 1851 "src/parser_proc_grammar.y" /* glr.c:816 */
4814 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4815 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4817 #line 4818 "src/parser_proc.c" /* glr.c:816 */
4821 #line 1855 "src/parser_proc_grammar.y" /* glr.c:816 */
4823 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4824 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4825 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4827 #line 4828 "src/parser_proc.c" /* glr.c:816 */
4831 #line 1863 "src/parser_proc_grammar.y" /* glr.c:816 */
4833 (*(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
)));
4834 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4836 #line 4837 "src/parser_proc.c" /* glr.c:816 */
4840 #line 1870 "src/parser_proc_grammar.y" /* glr.c:816 */
4842 (*(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
)));
4843 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4844 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
4846 #line 4847 "src/parser_proc.c" /* glr.c:816 */
4850 #line 1878 "src/parser_proc_grammar.y" /* glr.c:816 */
4852 (*(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
)));
4853 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4854 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4856 #line 4857 "src/parser_proc.c" /* glr.c:816 */
4860 #line 1899 "src/parser_proc_grammar.y" /* glr.c:816 */
4862 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4864 #line 4865 "src/parser_proc.c" /* glr.c:816 */
4868 #line 1902 "src/parser_proc_grammar.y" /* glr.c:816 */
4870 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4872 #line 4873 "src/parser_proc.c" /* glr.c:816 */
4876 #line 1908 "src/parser_proc_grammar.y" /* glr.c:816 */
4878 (*(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
)));
4880 #line 4881 "src/parser_proc.c" /* glr.c:816 */
4884 #line 1911 "src/parser_proc_grammar.y" /* glr.c:816 */
4886 (*(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
)));
4888 #line 4889 "src/parser_proc.c" /* glr.c:816 */
4892 #line 1922 "src/parser_proc_grammar.y" /* glr.c:816 */
4894 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4896 #line 4897 "src/parser_proc.c" /* glr.c:816 */
4900 #line 1925 "src/parser_proc_grammar.y" /* glr.c:816 */
4902 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4904 #line 4905 "src/parser_proc.c" /* glr.c:816 */
4908 #line 1931 "src/parser_proc_grammar.y" /* glr.c:816 */
4910 (*(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
)));
4912 #line 4913 "src/parser_proc.c" /* glr.c:816 */
4916 #line 1934 "src/parser_proc_grammar.y" /* glr.c:816 */
4918 (*(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
)));
4920 #line 4921 "src/parser_proc.c" /* glr.c:816 */
4924 #line 1940 "src/parser_proc_grammar.y" /* glr.c:816 */
4926 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4927 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4929 #line 4930 "src/parser_proc.c" /* glr.c:816 */
4933 #line 1947 "src/parser_proc_grammar.y" /* glr.c:816 */
4935 (*(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
))));
4936 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
4938 #line 4939 "src/parser_proc.c" /* glr.c:816 */
4942 #line 1951 "src/parser_proc_grammar.y" /* glr.c:816 */
4944 (*(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
))));
4945 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4947 #line 4948 "src/parser_proc.c" /* glr.c:816 */
4951 #line 1958 "src/parser_proc_grammar.y" /* glr.c:816 */
4953 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4955 #line 4956 "src/parser_proc.c" /* glr.c:816 */
4959 #line 1961 "src/parser_proc_grammar.y" /* glr.c:816 */
4961 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4963 #line 4964 "src/parser_proc.c" /* glr.c:816 */
4967 #line 1964 "src/parser_proc_grammar.y" /* glr.c:816 */
4969 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4971 #line 4972 "src/parser_proc.c" /* glr.c:816 */
4975 #line 1970 "src/parser_proc_grammar.y" /* glr.c:816 */
4977 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4978 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4980 #line 4981 "src/parser_proc.c" /* glr.c:816 */
4984 #line 1977 "src/parser_proc_grammar.y" /* glr.c:816 */
4986 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4988 #line 4989 "src/parser_proc.c" /* glr.c:816 */
4992 #line 1980 "src/parser_proc_grammar.y" /* glr.c:816 */
4994 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4996 #line 4997 "src/parser_proc.c" /* glr.c:816 */
5000 #line 1983 "src/parser_proc_grammar.y" /* glr.c:816 */
5002 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5003 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5005 #line 5006 "src/parser_proc.c" /* glr.c:816 */
5009 #line 1990 "src/parser_proc_grammar.y" /* glr.c:816 */
5011 (*(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
)));
5012 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5013 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5015 #line 5016 "src/parser_proc.c" /* glr.c:816 */
5019 #line 1995 "src/parser_proc_grammar.y" /* glr.c:816 */
5021 (*(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
)));
5022 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5023 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5025 #line 5026 "src/parser_proc.c" /* glr.c:816 */
5029 #line 2014 "src/parser_proc_grammar.y" /* glr.c:816 */
5031 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5033 #line 5034 "src/parser_proc.c" /* glr.c:816 */
5037 #line 2017 "src/parser_proc_grammar.y" /* glr.c:816 */
5039 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5041 #line 5042 "src/parser_proc.c" /* glr.c:816 */
5045 #line 2023 "src/parser_proc_grammar.y" /* glr.c:816 */
5047 (*(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
)));
5049 #line 5050 "src/parser_proc.c" /* glr.c:816 */
5053 #line 2026 "src/parser_proc_grammar.y" /* glr.c:816 */
5055 (*(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
)));
5057 #line 5058 "src/parser_proc.c" /* glr.c:816 */
5061 #line 2032 "src/parser_proc_grammar.y" /* glr.c:816 */
5063 (*(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
)));
5064 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5066 #line 5067 "src/parser_proc.c" /* glr.c:816 */
5070 #line 2044 "src/parser_proc_grammar.y" /* glr.c:816 */
5072 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5073 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5075 #line 5076 "src/parser_proc.c" /* glr.c:816 */
5079 #line 2051 "src/parser_proc_grammar.y" /* glr.c:816 */
5081 (*(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
)));
5083 #line 5084 "src/parser_proc.c" /* glr.c:816 */
5087 #line 2054 "src/parser_proc_grammar.y" /* glr.c:816 */
5089 (*(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
)));
5091 #line 5092 "src/parser_proc.c" /* glr.c:816 */
5095 #line 2060 "src/parser_proc_grammar.y" /* glr.c:816 */
5097 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5098 (*(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
)));
5099 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5101 #line 5102 "src/parser_proc.c" /* glr.c:816 */
5105 #line 2068 "src/parser_proc_grammar.y" /* glr.c:816 */
5107 (*(bool*)(&(*yyvalp
))) = false;
5109 #line 5110 "src/parser_proc.c" /* glr.c:816 */
5113 #line 2071 "src/parser_proc_grammar.y" /* glr.c:816 */
5115 (*(bool*)(&(*yyvalp
))) = true;
5117 #line 5118 "src/parser_proc.c" /* glr.c:816 */
5121 #line 5122 "src/parser_proc.c" /* glr.c:816 */
5132 # undef YYRECOVERING
5137 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5149 /* Bison grammar-table manipulation. */
5151 /*-----------------------------------------------.
5152 | Release the memory associated to this symbol. |
5153 `-----------------------------------------------*/
5156 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5164 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5166 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5169 case 141: /* binary_op_token */
5170 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5172 #line 5173 "src/parser_proc.c" /* glr.c:846 */
5175 case 142: /* unary_op_token */
5176 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5178 #line 5179 "src/parser_proc.c" /* glr.c:846 */
5181 case 143: /* name_token */
5182 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5184 #line 5185 "src/parser_proc.c" /* glr.c:846 */
5187 case 144: /* any_noeol_token */
5188 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5190 #line 5191 "src/parser_proc.c" /* glr.c:846 */
5194 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5195 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5196 #line 5197 "src/parser_proc.c" /* glr.c:846 */
5200 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5201 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5202 #line 5203 "src/parser_proc.c" /* glr.c:846 */
5205 case 151: /* cpp_exp */
5206 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5207 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5208 #line 5209 "src/parser_proc.c" /* glr.c:846 */
5211 case 153: /* cpp_message_token */
5212 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5214 #line 5215 "src/parser_proc.c" /* glr.c:846 */
5217 case 154: /* cpp_include_token */
5218 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5220 #line 5221 "src/parser_proc.c" /* glr.c:846 */
5223 case 155: /* cpp_header_token */
5224 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5226 #line 5227 "src/parser_proc.c" /* glr.c:846 */
5229 case 156: /* cpp_no_arg_token */
5230 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5232 #line 5233 "src/parser_proc.c" /* glr.c:846 */
5235 case 157: /* cpp_name_arg_token */
5236 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5238 #line 5239 "src/parser_proc.c" /* glr.c:846 */
5241 case 158: /* cpp_exp_arg_token */
5242 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5244 #line 5245 "src/parser_proc.c" /* glr.c:846 */
5247 case 159: /* cpp_special_name_token */
5248 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5250 #line 5251 "src/parser_proc.c" /* glr.c:846 */
5253 case 160: /* cpp_macro_decl */
5254 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5255 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5256 #line 5257 "src/parser_proc.c" /* glr.c:846 */
5259 case 161: /* cpp_macro_sig */
5260 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5261 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5262 #line 5263 "src/parser_proc.c" /* glr.c:846 */
5265 case 162: /* cpp_macro_sig_args */
5266 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5267 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5268 #line 5269 "src/parser_proc.c" /* glr.c:846 */
5271 case 163: /* cpp_macro_decl_tokens */
5272 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5273 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5274 #line 5275 "src/parser_proc.c" /* glr.c:846 */
5277 case 164: /* cpp_macro_decl_token_list */
5278 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5279 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5280 #line 5281 "src/parser_proc.c" /* glr.c:846 */
5283 case 165: /* cpp_macro_exp */
5284 #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */
5285 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5286 #line 5287 "src/parser_proc.c" /* glr.c:846 */
5289 case 166: /* cpp_macro_call_args */
5290 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5291 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5292 #line 5293 "src/parser_proc.c" /* glr.c:846 */
5295 case 167: /* cpp_macro_call_arg_list */
5296 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5297 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5298 #line 5299 "src/parser_proc.c" /* glr.c:846 */
5301 case 168: /* constant */
5302 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5303 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5304 #line 5305 "src/parser_proc.c" /* glr.c:846 */
5307 case 169: /* constant_type */
5308 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
5309 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5310 #line 5311 "src/parser_proc.c" /* glr.c:846 */
5313 case 170: /* constant_type_token */
5314 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5316 #line 5317 "src/parser_proc.c" /* glr.c:846 */
5319 case 171: /* impl_def_val */
5320 #line 332 "src/parser_proc_grammar.y" /* glr.c:846 */
5321 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5322 #line 5323 "src/parser_proc.c" /* glr.c:846 */
5325 case 172: /* impl_def_val_token */
5326 #line 325 "src/parser_proc_grammar.y" /* glr.c:846 */
5328 #line 5329 "src/parser_proc.c" /* glr.c:846 */
5331 case 173: /* decl_typedef */
5332 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5333 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5334 #line 5335 "src/parser_proc.c" /* glr.c:846 */
5337 case 174: /* typedef */
5338 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5339 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5340 #line 5341 "src/parser_proc.c" /* glr.c:846 */
5343 case 175: /* typedef_anon */
5344 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5345 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5346 #line 5347 "src/parser_proc.c" /* glr.c:846 */
5349 case 176: /* typedef_decl */
5350 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5351 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5352 #line 5353 "src/parser_proc.c" /* glr.c:846 */
5355 case 177: /* typedef_anon_decl */
5356 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5357 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5358 #line 5359 "src/parser_proc.c" /* glr.c:846 */
5361 case 178: /* qualified_decl_type */
5362 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5363 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5364 #line 5365 "src/parser_proc.c" /* glr.c:846 */
5367 case 179: /* decl_type */
5368 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5369 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5370 #line 5371 "src/parser_proc.c" /* glr.c:846 */
5373 case 180: /* decl_type_complex */
5374 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5375 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5376 #line 5377 "src/parser_proc.c" /* glr.c:846 */
5379 case 181: /* decl_type_simple */
5380 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5381 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5382 #line 5383 "src/parser_proc.c" /* glr.c:846 */
5385 case 182: /* decl_real_type */
5386 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5387 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5388 #line 5389 "src/parser_proc.c" /* glr.c:846 */
5391 case 183: /* int_signed */
5392 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5394 #line 5395 "src/parser_proc.c" /* glr.c:846 */
5397 case 184: /* int_width */
5398 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5399 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5400 #line 5401 "src/parser_proc.c" /* glr.c:846 */
5403 case 185: /* decl_int_type */
5404 #line 335 "src/parser_proc_grammar.y" /* glr.c:846 */
5405 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5406 #line 5407 "src/parser_proc.c" /* glr.c:846 */
5409 case 186: /* int_signed_types */
5410 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5411 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5412 #line 5413 "src/parser_proc.c" /* glr.c:846 */
5415 case 187: /* signed_short_types */
5416 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5418 #line 5419 "src/parser_proc.c" /* glr.c:846 */
5421 case 188: /* signed_long_types */
5422 #line 313 "src/parser_proc_grammar.y" /* glr.c:846 */
5424 #line 5425 "src/parser_proc.c" /* glr.c:846 */
5427 case 189: /* int_width_types */
5428 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5429 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5430 #line 5431 "src/parser_proc.c" /* glr.c:846 */
5433 case 190: /* decl_stmt */
5434 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5435 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5436 #line 5437 "src/parser_proc.c" /* glr.c:846 */
5439 case 196: /* decl_vars */
5440 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5441 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5442 #line 5443 "src/parser_proc.c" /* glr.c:846 */
5445 case 201: /* decl */
5446 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5447 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5448 #line 5449 "src/parser_proc.c" /* glr.c:846 */
5451 case 202: /* decl_body */
5452 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5453 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5454 #line 5455 "src/parser_proc.c" /* glr.c:846 */
5457 case 203: /* decl_func_body */
5458 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5459 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5460 #line 5461 "src/parser_proc.c" /* glr.c:846 */
5463 case 204: /* decl_functor_body */
5464 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5465 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5466 #line 5467 "src/parser_proc.c" /* glr.c:846 */
5469 case 205: /* decl_functor */
5470 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5471 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5472 #line 5473 "src/parser_proc.c" /* glr.c:846 */
5475 case 206: /* decl_func */
5476 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5477 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5478 #line 5479 "src/parser_proc.c" /* glr.c:846 */
5481 case 207: /* decl_args */
5482 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5483 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5484 #line 5485 "src/parser_proc.c" /* glr.c:846 */
5487 case 208: /* decl_arg_list */
5488 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5489 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5490 #line 5491 "src/parser_proc.c" /* glr.c:846 */
5493 case 209: /* decl_anon_arg */
5494 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5495 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5496 #line 5497 "src/parser_proc.c" /* glr.c:846 */
5499 case 210: /* decl_arg */
5500 #line 342 "src/parser_proc_grammar.y" /* glr.c:846 */
5501 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5502 #line 5503 "src/parser_proc.c" /* glr.c:846 */
5505 case 211: /* decl_var */
5506 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
5507 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5508 #line 5509 "src/parser_proc.c" /* glr.c:846 */
5511 case 212: /* decl_union */
5512 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5513 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5514 #line 5515 "src/parser_proc.c" /* glr.c:846 */
5517 case 213: /* decl_struct */
5518 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5519 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5520 #line 5521 "src/parser_proc.c" /* glr.c:846 */
5523 case 214: /* decl_struct_args */
5524 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5525 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5526 #line 5527 "src/parser_proc.c" /* glr.c:846 */
5529 case 215: /* struct_args_block */
5530 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5531 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5532 #line 5533 "src/parser_proc.c" /* glr.c:846 */
5535 case 216: /* struct_args */
5536 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5537 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5538 #line 5539 "src/parser_proc.c" /* glr.c:846 */
5541 case 217: /* struct_arg_var_list */
5542 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5543 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5544 #line 5545 "src/parser_proc.c" /* glr.c:846 */
5547 case 218: /* decl_vars_with_layout */
5548 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5549 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5550 #line 5551 "src/parser_proc.c" /* glr.c:846 */
5553 case 219: /* decl_enum */
5554 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5555 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5556 #line 5557 "src/parser_proc.c" /* glr.c:846 */
5559 case 220: /* decl_enum_items */
5560 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5561 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5562 #line 5563 "src/parser_proc.c" /* glr.c:846 */
5565 case 221: /* decl_enum_item */
5566 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5567 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5568 #line 5569 "src/parser_proc.c" /* glr.c:846 */
5571 case 222: /* num_exp */
5572 #line 410 "src/parser_proc_grammar.y" /* glr.c:846 */
5573 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5574 #line 5575 "src/parser_proc.c" /* glr.c:846 */
5577 case 223: /* number */
5578 #line 412 "src/parser_proc_grammar.y" /* glr.c:846 */
5579 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5580 #line 5581 "src/parser_proc.c" /* glr.c:846 */
5583 case 224: /* sizeof */
5584 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5585 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5586 #line 5587 "src/parser_proc.c" /* glr.c:846 */
5589 case 225: /* sizeof_body */
5590 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5591 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5592 #line 5593 "src/parser_proc.c" /* glr.c:846 */
5595 case 226: /* sizeof_body_notypes */
5596 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5597 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5598 #line 5599 "src/parser_proc.c" /* glr.c:846 */
5601 case 227: /* enum_name */
5602 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5603 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5604 #line 5605 "src/parser_proc.c" /* glr.c:846 */
5607 case 228: /* union_name */
5608 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5609 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5610 #line 5611 "src/parser_proc.c" /* glr.c:846 */
5613 case 229: /* struct_name */
5614 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5615 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5616 #line 5617 "src/parser_proc.c" /* glr.c:846 */
5619 case 230: /* optional_name */
5620 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5621 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5622 #line 5623 "src/parser_proc.c" /* glr.c:846 */
5625 case 232: /* decl_layout */
5626 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
5627 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5628 #line 5629 "src/parser_proc.c" /* glr.c:846 */
5631 case 233: /* align_and_size */
5632 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
5634 #line 5635 "src/parser_proc.c" /* glr.c:846 */
5637 case 234: /* array_size */
5638 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5640 #line 5641 "src/parser_proc.c" /* glr.c:846 */
5643 case 235: /* indirection */
5644 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5646 #line 5647 "src/parser_proc.c" /* glr.c:846 */
5649 case 236: /* pointers */
5650 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5652 #line 5653 "src/parser_proc.c" /* glr.c:846 */
5655 case 237: /* asterisks */
5656 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5658 #line 5659 "src/parser_proc.c" /* glr.c:846 */
5661 case 239: /* impl */
5662 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5663 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5664 #line 5665 "src/parser_proc.c" /* glr.c:846 */
5667 case 240: /* impl_func */
5668 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5669 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5670 #line 5671 "src/parser_proc.c" /* glr.c:846 */
5673 case 241: /* impl_args */
5674 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5675 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5676 #line 5677 "src/parser_proc.c" /* glr.c:846 */
5679 case 242: /* impl_arg */
5680 #line 369 "src/parser_proc_grammar.y" /* glr.c:846 */
5681 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5682 #line 5683 "src/parser_proc.c" /* glr.c:846 */
5685 case 243: /* impl_var */
5686 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5687 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5688 #line 5689 "src/parser_proc.c" /* glr.c:846 */
5691 case 244: /* impl_type */
5692 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
5693 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5694 #line 5695 "src/parser_proc.c" /* glr.c:846 */
5697 case 245: /* impl_type_token */
5698 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5699 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5700 #line 5701 "src/parser_proc.c" /* glr.c:846 */
5703 case 246: /* impl_stmts */
5704 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5705 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5706 #line 5707 "src/parser_proc.c" /* glr.c:846 */
5709 case 247: /* impl_stmt */
5710 #line 403 "src/parser_proc_grammar.y" /* glr.c:846 */
5711 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5712 #line 5713 "src/parser_proc.c" /* glr.c:846 */
5715 case 248: /* let_stmt */
5716 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
5717 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5718 #line 5719 "src/parser_proc.c" /* glr.c:846 */
5721 case 249: /* let_exp */
5722 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5723 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5724 #line 5725 "src/parser_proc.c" /* glr.c:846 */
5727 case 250: /* let_exp_byref */
5728 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5729 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5730 #line 5731 "src/parser_proc.c" /* glr.c:846 */
5733 case 251: /* let_exp_assign */
5734 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
5735 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5736 #line 5737 "src/parser_proc.c" /* glr.c:846 */
5739 case 252: /* let_calloc */
5740 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5741 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5742 #line 5743 "src/parser_proc.c" /* glr.c:846 */
5745 case 253: /* let_callback */
5746 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5747 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5748 #line 5749 "src/parser_proc.c" /* glr.c:846 */
5751 case 254: /* let_func */
5752 #line 384 "src/parser_proc_grammar.y" /* glr.c:846 */
5753 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5754 #line 5755 "src/parser_proc.c" /* glr.c:846 */
5757 case 255: /* let_func_token */
5758 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5759 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5760 #line 5761 "src/parser_proc.c" /* glr.c:846 */
5763 case 256: /* let_func_exps */
5764 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5765 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5766 #line 5767 "src/parser_proc.c" /* glr.c:846 */
5769 case 257: /* let_exps */
5770 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5771 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5772 #line 5773 "src/parser_proc.c" /* glr.c:846 */
5775 case 258: /* callback_rval */
5776 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5777 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5778 #line 5779 "src/parser_proc.c" /* glr.c:846 */
5781 case 259: /* callback_arg_list */
5782 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5783 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5784 #line 5785 "src/parser_proc.c" /* glr.c:846 */
5787 case 260: /* callback_args */
5788 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5789 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5790 #line 5791 "src/parser_proc.c" /* glr.c:846 */
5793 case 261: /* return_stmt */
5794 #line 394 "src/parser_proc_grammar.y" /* glr.c:846 */
5795 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5796 #line 5797 "src/parser_proc.c" /* glr.c:846 */
5799 case 262: /* return_exp */
5800 #line 396 "src/parser_proc_grammar.y" /* glr.c:846 */
5801 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5802 #line 5803 "src/parser_proc.c" /* glr.c:846 */
5805 case 263: /* call_decl_vars */
5806 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5807 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5808 #line 5809 "src/parser_proc.c" /* glr.c:846 */
5811 case 264: /* set_stmt */
5812 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5813 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5814 #line 5815 "src/parser_proc.c" /* glr.c:846 */
5817 case 265: /* set_exp */
5818 #line 388 "src/parser_proc_grammar.y" /* glr.c:846 */
5819 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5820 #line 5821 "src/parser_proc.c" /* glr.c:846 */
5823 case 266: /* set_func */
5824 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5825 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5826 #line 5827 "src/parser_proc.c" /* glr.c:846 */
5829 case 267: /* set_func_token */
5830 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5831 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5832 #line 5833 "src/parser_proc.c" /* glr.c:846 */
5835 case 268: /* set_func_exps */
5836 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5837 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5838 #line 5839 "src/parser_proc.c" /* glr.c:846 */
5841 case 269: /* set_exps */
5842 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5843 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5844 #line 5845 "src/parser_proc.c" /* glr.c:846 */
5847 case 270: /* assert_stmt */
5848 #line 392 "src/parser_proc_grammar.y" /* glr.c:846 */
5849 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5850 #line 5851 "src/parser_proc.c" /* glr.c:846 */
5853 case 271: /* assert_stmt_token */
5854 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
5855 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5856 #line 5857 "src/parser_proc.c" /* glr.c:846 */
5859 case 272: /* free_stmt */
5860 #line 398 "src/parser_proc_grammar.y" /* glr.c:846 */
5861 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5862 #line 5863 "src/parser_proc.c" /* glr.c:846 */
5865 case 273: /* free_exps */
5866 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
5867 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5868 #line 5869 "src/parser_proc.c" /* glr.c:846 */
5871 case 274: /* free_exp */
5872 #line 400 "src/parser_proc_grammar.y" /* glr.c:846 */
5873 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5874 #line 5875 "src/parser_proc.c" /* glr.c:846 */
5877 case 275: /* reference */
5878 #line 417 "src/parser_proc_grammar.y" /* glr.c:846 */
5880 #line 5881 "src/parser_proc.c" /* glr.c:846 */
5887 YY_IGNORE_MAYBE_UNINITIALIZED_END
5890 /** Number of symbols composing the right hand side of rule #RULE. */
5892 yyrhsLength (yyRuleNum yyrule
)
5894 return yyr2
[yyrule
];
5898 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5900 if (yys
->yyresolved
)
5901 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5902 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5908 if (yys
->yysemantics
.yyfirstVal
)
5909 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5911 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5912 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5916 if (yys
->yysemantics
.yyfirstVal
)
5918 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5921 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
5923 yyrh
= yyrh
->yypred
, yyn
-= 1)
5924 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
5929 /** Left-hand-side symbol for rule #YYRULE. */
5930 static inline yySymbol
5931 yylhsNonterm (yyRuleNum yyrule
)
5933 return yyr1
[yyrule
];
5936 #define yypact_value_is_default(Yystate) \
5937 (!!((Yystate) == (-704)))
5939 /** True iff LR state YYSTATE has only a default reduction (regardless
5941 static inline yybool
5942 yyisDefaultedState (yyStateNum yystate
)
5944 return yypact_value_is_default (yypact
[yystate
]);
5947 /** The default reduction for YYSTATE, assuming it has one. */
5948 static inline yyRuleNum
5949 yydefaultAction (yyStateNum yystate
)
5951 return yydefact
[yystate
];
5954 #define yytable_value_is_error(Yytable_value) \
5957 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
5959 * R < 0: Reduce on rule -R.
5961 * R > 0: Shift to state R.
5962 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
5963 * of conflicting reductions.
5966 yygetLRActions (yyStateNum yystate
, int yytoken
,
5967 int* yyaction
, const short int** yyconflicts
)
5969 int yyindex
= yypact
[yystate
] + yytoken
;
5970 if (yypact_value_is_default (yypact
[yystate
])
5971 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
5973 *yyaction
= -yydefact
[yystate
];
5974 *yyconflicts
= yyconfl
;
5976 else if (! yytable_value_is_error (yytable
[yyindex
]))
5978 *yyaction
= yytable
[yyindex
];
5979 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5984 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
5988 /** Compute post-reduction state.
5989 * \param yystate the current state
5990 * \param yysym the nonterminal to push on the stack
5992 static inline yyStateNum
5993 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
5995 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
5996 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
5997 return yytable
[yyr
];
5999 return yydefgoto
[yysym
- YYNTOKENS
];
6002 static inline yybool
6003 yyisShiftAction (int yyaction
)
6005 return 0 < yyaction
;
6008 static inline yybool
6009 yyisErrorAction (int yyaction
)
6011 return yyaction
== 0;
6016 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
6017 * if YYISSTATE, and otherwise a semantic option. Callers should call
6018 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6021 static inline yyGLRStackItem
*
6022 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6024 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6025 yystackp
->yyspaceLeft
-= 1;
6026 yystackp
->yynextFree
+= 1;
6027 yynewItem
->yystate
.yyisState
= yyisState
;
6031 /** Add a new semantic action that will execute the action for rule
6032 * YYRULE on the semantic values in YYRHS to the list of
6033 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6034 * stack #YYK of *YYSTACKP. */
6036 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6037 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6039 yySemanticOption
* yynewOption
=
6040 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6041 YYASSERT (!yynewOption
->yyisState
);
6042 yynewOption
->yystate
= yyrhs
;
6043 yynewOption
->yyrule
= yyrule
;
6044 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6046 yynewOption
->yyrawchar
= yychar
;
6047 yynewOption
->yyval
= yylval
;
6050 yynewOption
->yyrawchar
= YYEMPTY
;
6051 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6052 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6054 YY_RESERVE_GLRSTACK (yystackp
);
6059 /** Initialize YYSET to a singleton set containing an empty stack. */
6061 yyinitStateSet (yyGLRStateSet
* yyset
)
6064 yyset
->yycapacity
= 16;
6065 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6066 if (! yyset
->yystates
)
6068 yyset
->yystates
[0] = YY_NULLPTR
;
6069 yyset
->yylookaheadNeeds
=
6070 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6071 if (! yyset
->yylookaheadNeeds
)
6073 YYFREE (yyset
->yystates
);
6079 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6081 YYFREE (yyset
->yystates
);
6082 YYFREE (yyset
->yylookaheadNeeds
);
6085 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6086 * capacity for all stacks of YYSIZE. */
6088 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6090 yystackp
->yyerrState
= 0;
6092 yystackp
->yyspaceLeft
= yysize
;
6094 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6095 if (!yystackp
->yyitems
)
6097 yystackp
->yynextFree
= yystackp
->yyitems
;
6098 yystackp
->yysplitPoint
= YY_NULLPTR
;
6099 yystackp
->yylastDeleted
= YY_NULLPTR
;
6100 return yyinitStateSet (&yystackp
->yytops
);
6104 #if YYSTACKEXPANDABLE
6105 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6106 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6108 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6109 stack from outside should be considered invalid after this call.
6110 We always expand when there are 1 or fewer items left AFTER an
6111 allocation, so that we can avoid having external pointers exist
6112 across an allocation. */
6114 yyexpandGLRStack (yyGLRStack
* yystackp
)
6116 yyGLRStackItem
* yynewItems
;
6117 yyGLRStackItem
* yyp0
, *yyp1
;
6120 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6121 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6122 yyMemoryExhausted (yystackp
);
6123 yynewSize
= 2*yysize
;
6124 if (YYMAXDEPTH
< yynewSize
)
6125 yynewSize
= YYMAXDEPTH
;
6126 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6128 yyMemoryExhausted (yystackp
);
6129 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6131 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6134 if (*(yybool
*) yyp0
)
6136 yyGLRState
* yys0
= &yyp0
->yystate
;
6137 yyGLRState
* yys1
= &yyp1
->yystate
;
6138 if (yys0
->yypred
!= YY_NULLPTR
)
6140 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6141 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6142 yys1
->yysemantics
.yyfirstVal
=
6143 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6147 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6148 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6149 if (yyv0
->yystate
!= YY_NULLPTR
)
6150 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6151 if (yyv0
->yynext
!= YY_NULLPTR
)
6152 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6155 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6156 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6157 yystackp
->yysplitPoint
, yystate
);
6159 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6160 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6161 yystackp
->yytops
.yystates
[yyn
] =
6162 YYRELOC (yystackp
->yyitems
, yynewItems
,
6163 yystackp
->yytops
.yystates
[yyn
], yystate
);
6164 YYFREE (yystackp
->yyitems
);
6165 yystackp
->yyitems
= yynewItems
;
6166 yystackp
->yynextFree
= yynewItems
+ yysize
;
6167 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6172 yyfreeGLRStack (yyGLRStack
* yystackp
)
6174 YYFREE (yystackp
->yyitems
);
6175 yyfreeStateSet (&yystackp
->yytops
);
6178 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6179 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6182 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6184 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6185 yystackp
->yysplitPoint
= yys
;
6188 /** Invalidate stack #YYK in *YYSTACKP. */
6190 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6192 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6193 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6194 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6197 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6198 only be done once after a deletion, and only when all other stacks have
6201 yyundeleteLastStack (yyGLRStack
* yystackp
)
6203 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6205 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6206 yystackp
->yytops
.yysize
= 1;
6207 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6208 yystackp
->yylastDeleted
= YY_NULLPTR
;
6212 yyremoveDeletes (yyGLRStack
* yystackp
)
6216 while (yyj
< yystackp
->yytops
.yysize
)
6218 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6222 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6224 yystackp
->yytops
.yysize
-= 1;
6228 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6229 /* In the current implementation, it's unnecessary to copy
6230 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6231 yyremoveDeletes returns, the parser immediately either enters
6232 deterministic operation or shifts a token. However, it doesn't
6233 hurt, and the code might evolve to need it. */
6234 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6235 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6238 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6239 (unsigned long int) yyi
, (unsigned long int) yyj
));
6247 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6248 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6249 * value *YYVALP and source location *YYLOCP. */
6251 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6255 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6257 yynewState
->yylrState
= yylrState
;
6258 yynewState
->yyposn
= yyposn
;
6259 yynewState
->yyresolved
= yytrue
;
6260 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6261 yynewState
->yysemantics
.yysval
= *yyvalp
;
6262 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6264 YY_RESERVE_GLRSTACK (yystackp
);
6267 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6268 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6269 * semantic value of YYRHS under the action for YYRULE. */
6271 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6272 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6274 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6275 YYASSERT (yynewState
->yyisState
);
6277 yynewState
->yylrState
= yylrState
;
6278 yynewState
->yyposn
= yyposn
;
6279 yynewState
->yyresolved
= yyfalse
;
6280 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6281 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6282 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6284 /* Invokes YY_RESERVE_GLRSTACK. */
6285 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6289 # define YY_REDUCE_PRINT(Args)
6291 # define YY_REDUCE_PRINT(Args) \
6294 yy_reduce_print Args; \
6297 /*----------------------------------------------------------------------.
6298 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6299 `----------------------------------------------------------------------*/
6302 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6303 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6305 int yynrhs
= yyrhsLength (yyrule
);
6307 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6308 (unsigned long int) yyk
, yyrule
- 1,
6309 (unsigned long int) yyrline
[yyrule
]);
6311 yyfillin (yyvsp
, 1, -yynrhs
);
6312 /* The symbols being reduced. */
6313 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6315 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6316 yy_symbol_print (stderr
,
6317 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6318 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6319 , P
, tokens
, index
);
6320 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6321 YYFPRINTF (stderr
, " (unresolved)");
6322 YYFPRINTF (stderr
, "\n");
6327 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6328 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6329 * semantic values. Assumes that all ambiguities in semantic values
6330 * have been previously resolved. Set *YYVALP to the resulting value,
6331 * and *YYLOCP to the computed location (if any). Return value is as
6332 * for userAction. */
6333 static inline YYRESULTTAG
6334 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6335 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6337 int yynrhs
= yyrhsLength (yyrule
);
6339 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6341 /* Standard special case: single stack. */
6342 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6343 YYASSERT (yyk
== 0);
6344 yystackp
->yynextFree
-= yynrhs
;
6345 yystackp
->yyspaceLeft
+= yynrhs
;
6346 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6347 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6348 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6349 yyvalp
, P
, tokens
, index
);
6355 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6356 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6357 = yystackp
->yytops
.yystates
[yyk
];
6358 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6363 yyupdateSplit (yystackp
, yys
);
6364 yystackp
->yytops
.yystates
[yyk
] = yys
;
6365 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6366 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6367 yystackp
, yyvalp
, P
, tokens
, index
);
6371 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6372 * and push back on the resulting nonterminal symbol. Perform the
6373 * semantic action associated with YYRULE and store its value with the
6374 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6375 * unambiguous. Otherwise, store the deferred semantic action with
6376 * the new state. If the new state would have an identical input
6377 * position, LR state, and predecessor to an existing state on the stack,
6378 * it is identified with that existing state, eliminating stack #YYK from
6379 * *YYSTACKP. In this case, the semantic value is
6380 * added to the options for the existing state's semantic value.
6382 static inline YYRESULTTAG
6383 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6384 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6386 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6388 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6392 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6393 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6395 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6396 (unsigned long int) yyk
, yyrule
- 1));
6400 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6401 yyglrShift (yystackp
, yyk
,
6402 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6403 yylhsNonterm (yyrule
)),
6410 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6411 yyStateNum yynewLRState
;
6413 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6419 yyupdateSplit (yystackp
, yys
);
6420 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6422 "Reduced stack %lu by rule #%d; action deferred. "
6423 "Now in state %d.\n",
6424 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6425 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6426 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6428 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6429 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6430 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6432 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6434 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6435 yymarkStackDeleted (yystackp
, yyk
);
6436 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6437 (unsigned long int) yyk
,
6438 (unsigned long int) yyi
));
6444 yystackp
->yytops
.yystates
[yyk
] = yys
;
6445 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6451 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6453 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6455 YYASSERT (yyk
== 0);
6456 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6458 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6460 yyGLRState
** yynewStates
;
6461 yybool
* yynewLookaheadNeeds
;
6463 yynewStates
= YY_NULLPTR
;
6465 if (yystackp
->yytops
.yycapacity
6466 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6467 yyMemoryExhausted (yystackp
);
6468 yystackp
->yytops
.yycapacity
*= 2;
6471 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6472 (yystackp
->yytops
.yycapacity
6473 * sizeof yynewStates
[0]));
6474 if (yynewStates
== YY_NULLPTR
)
6475 yyMemoryExhausted (yystackp
);
6476 yystackp
->yytops
.yystates
= yynewStates
;
6478 yynewLookaheadNeeds
=
6479 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6480 (yystackp
->yytops
.yycapacity
6481 * sizeof yynewLookaheadNeeds
[0]));
6482 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6483 yyMemoryExhausted (yystackp
);
6484 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6486 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6487 = yystackp
->yytops
.yystates
[yyk
];
6488 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6489 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6490 yystackp
->yytops
.yysize
+= 1;
6491 return yystackp
->yytops
.yysize
-1;
6494 /** True iff YYY0 and YYY1 represent identical options at the top level.
6495 * That is, they represent the same rule applied to RHS symbols
6496 * that produce the same terminal symbols. */
6498 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6500 if (yyy0
->yyrule
== yyy1
->yyrule
)
6502 yyGLRState
*yys0
, *yys1
;
6504 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6505 yyn
= yyrhsLength (yyy0
->yyrule
);
6507 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6508 if (yys0
->yyposn
!= yys1
->yyposn
)
6516 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6517 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6519 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6521 yyGLRState
*yys0
, *yys1
;
6523 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6524 yyn
= yyrhsLength (yyy0
->yyrule
);
6526 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6530 else if (yys0
->yyresolved
)
6532 yys1
->yyresolved
= yytrue
;
6533 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6535 else if (yys1
->yyresolved
)
6537 yys0
->yyresolved
= yytrue
;
6538 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6542 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6543 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6546 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6548 else if (*yyz0p
== YY_NULLPTR
)
6553 else if (*yyz0p
< yyz1
)
6555 yySemanticOption
* yyz
= *yyz0p
;
6557 yyz1
= yyz1
->yynext
;
6558 (*yyz0p
)->yynext
= yyz
;
6560 yyz0p
= &(*yyz0p
)->yynext
;
6562 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6567 /** Y0 and Y1 represent two possible actions to take in a given
6568 * parsing state; return 0 if no combination is possible,
6569 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6571 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6573 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6574 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6578 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6583 if (p0
== 0 || p1
== 0)
6592 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6593 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6596 /** Resolve the previous YYN states starting at and including state YYS
6597 * on *YYSTACKP. If result != yyok, some states may have been left
6598 * unresolved possibly with empty semantic option chains. Regardless
6599 * of whether result = yyok, each state has been left with consistent
6600 * data so that yydestroyGLRState can be invoked if necessary. */
6602 yyresolveStates (yyGLRState
* yys
, int yyn
,
6603 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6607 YYASSERT (yys
->yypred
);
6608 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6609 if (! yys
->yyresolved
)
6610 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6615 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6616 * user action, and return the semantic value and location in *YYVALP
6617 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6618 * have been destroyed (assuming the user action destroys all RHS
6619 * semantic values if invoked). */
6621 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6622 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6624 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6625 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6626 YYRESULTTAG yyflag
=
6627 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6631 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6632 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6636 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6638 int yychar_current
= yychar
;
6639 YYSTYPE yylval_current
= yylval
;
6640 yychar
= yyopt
->yyrawchar
;
6641 yylval
= yyopt
->yyval
;
6642 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6643 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6644 yystackp
, yyvalp
, P
, tokens
, index
);
6645 yychar
= yychar_current
;
6646 yylval
= yylval_current
;
6653 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6655 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6658 yyGLRState
* yystates
[1 + YYMAXRHS
];
6659 yyGLRState yyleftmost_state
;
6661 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6662 yystates
[yyi
] = yys
;
6663 if (yys
== YY_NULLPTR
)
6665 yyleftmost_state
.yyposn
= 0;
6666 yystates
[0] = &yyleftmost_state
;
6671 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6672 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6673 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6676 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6677 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6678 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6679 (unsigned long int) yyx
->yystate
->yyposn
);
6680 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6682 if (yystates
[yyi
]->yyresolved
)
6684 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6685 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6686 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6688 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6689 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6690 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6691 (unsigned long int) yystates
[yyi
]->yyposn
);
6694 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6700 yyreportAmbiguity (yySemanticOption
* yyx0
,
6701 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6707 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6708 YYFPRINTF (stderr
, "Option 1,\n");
6709 yyreportTree (yyx0
, 2);
6710 YYFPRINTF (stderr
, "\nOption 2,\n");
6711 yyreportTree (yyx1
, 2);
6712 YYFPRINTF (stderr
, "\n");
6715 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6719 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6720 * perform the indicated actions, and set the semantic value of YYS.
6721 * If result != yyok, the chain of semantic options in YYS has been
6722 * cleared instead or it has been left unmodified except that
6723 * redundant options may have been removed. Regardless of whether
6724 * result = yyok, YYS has been left with consistent data so that
6725 * yydestroyGLRState can be invoked if necessary. */
6727 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6729 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6730 yySemanticOption
* yybest
= yyoptionList
;
6731 yySemanticOption
** yypp
;
6732 yybool yymerge
= yyfalse
;
6736 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6738 yySemanticOption
* yyp
= *yypp
;
6740 if (yyidenticalOptions (yybest
, yyp
))
6742 yymergeOptionSets (yybest
, yyp
);
6743 *yypp
= yyp
->yynext
;
6747 switch (yypreference (yybest
, yyp
))
6750 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6762 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6763 but some compilers complain if the default case is
6767 yypp
= &yyp
->yynext
;
6773 yySemanticOption
* yyp
;
6774 int yyprec
= yydprec
[yybest
->yyrule
];
6775 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6777 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6779 if (yyprec
== yydprec
[yyp
->yyrule
])
6781 YYSTYPE yysval_other
;
6782 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6785 yydestruct ("Cleanup: discarding incompletely merged value for",
6786 yystos
[yys
->yylrState
],
6787 &yysval
, P
, tokens
, index
);
6790 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6795 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6799 yys
->yyresolved
= yytrue
;
6800 yys
->yysemantics
.yysval
= yysval
;
6803 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6808 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6810 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6815 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6816 yys
!= yystackp
->yysplitPoint
;
6817 yys
= yys
->yypred
, yyn
+= 1)
6819 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6820 , P
, tokens
, index
));
6826 yycompressStack (yyGLRStack
* yystackp
)
6828 yyGLRState
* yyp
, *yyq
, *yyr
;
6830 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6833 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6834 yyp
!= yystackp
->yysplitPoint
;
6835 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6838 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6839 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6840 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6841 yystackp
->yysplitPoint
= YY_NULLPTR
;
6842 yystackp
->yylastDeleted
= YY_NULLPTR
;
6844 while (yyr
!= YY_NULLPTR
)
6846 yystackp
->yynextFree
->yystate
= *yyr
;
6848 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6849 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6850 yystackp
->yynextFree
+= 1;
6851 yystackp
->yyspaceLeft
-= 1;
6856 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6857 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6859 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6861 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6862 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6863 (unsigned long int) yyk
, yystate
));
6865 YYASSERT (yystate
!= YYFINAL
);
6867 if (yyisDefaultedState (yystate
))
6870 yyRuleNum yyrule
= yydefaultAction (yystate
);
6873 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6874 (unsigned long int) yyk
));
6875 yymarkStackDeleted (yystackp
, yyk
);
6878 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6879 if (yyflag
== yyerr
)
6883 "(predicate failure or explicit user error).\n",
6884 (unsigned long int) yyk
));
6885 yymarkStackDeleted (yystackp
, yyk
);
6895 const short int* yyconflicts
;
6897 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6898 if (yychar
== YYEMPTY
)
6900 YYDPRINTF ((stderr
, "Reading a token: "));
6901 yychar
= yylex (&yylval
, P
, tokens
, index
);
6904 if (yychar
<= YYEOF
)
6906 yychar
= yytoken
= YYEOF
;
6907 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6911 yytoken
= YYTRANSLATE (yychar
);
6912 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6915 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6917 while (*yyconflicts
!= 0)
6920 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6921 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6922 (unsigned long int) yynewStack
,
6923 (unsigned long int) yyk
));
6924 yyflag
= yyglrReduce (yystackp
, yynewStack
,
6926 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
6928 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
6929 yyposn
, P
, tokens
, index
));
6930 else if (yyflag
== yyerr
)
6932 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6933 (unsigned long int) yynewStack
));
6934 yymarkStackDeleted (yystackp
, yynewStack
);
6941 if (yyisShiftAction (yyaction
))
6943 else if (yyisErrorAction (yyaction
))
6945 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6946 (unsigned long int) yyk
));
6947 yymarkStackDeleted (yystackp
, yyk
);
6952 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
6953 yyimmediate
[-yyaction
], P
, tokens
, index
);
6954 if (yyflag
== yyerr
)
6958 "(predicate failure or explicit user error).\n",
6959 (unsigned long int) yyk
));
6960 yymarkStackDeleted (yystackp
, yyk
);
6963 else if (yyflag
!= yyok
)
6972 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6974 if (yystackp
->yyerrState
!= 0)
6976 #if ! YYERROR_VERBOSE
6977 yyerror (P
, tokens
, index
, YY_("syntax error"));
6980 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
6981 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
6982 size_t yysize
= yysize0
;
6983 yybool yysize_overflow
= yyfalse
;
6984 char* yymsg
= YY_NULLPTR
;
6985 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
6986 /* Internationalized format string. */
6987 const char *yyformat
= YY_NULLPTR
;
6988 /* Arguments of yyformat. */
6989 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
6990 /* Number of reported tokens (one for the "unexpected", one per
6994 /* There are many possibilities here to consider:
6995 - If this state is a consistent state with a default action, then
6996 the only way this function was invoked is if the default action
6997 is an error action. In that case, don't check for expected
6998 tokens because there are none.
6999 - The only way there can be no lookahead present (in yychar) is if
7000 this state is a consistent state with a default action. Thus,
7001 detecting the absence of a lookahead is sufficient to determine
7002 that there is no unexpected or expected token to report. In that
7003 case, just report a simple "syntax error".
7004 - Don't assume there isn't a lookahead just because this state is a
7005 consistent state with a default action. There might have been a
7006 previous inconsistent state, consistent state with a non-default
7007 action, or user semantic action that manipulated yychar.
7008 - Of course, the expected token list depends on states to have
7009 correct lookahead information, and it depends on the parser not
7010 to perform extra reductions after fetching a lookahead from the
7011 scanner and before detecting a syntax error. Thus, state merging
7012 (from LALR or IELR) and default reductions corrupt the expected
7013 token list. However, the list is correct for canonical LR with
7014 one exception: it will still contain any token that will not be
7015 accepted due to an error action in a later state.
7017 if (yytoken
!= YYEMPTY
)
7019 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7020 yyarg
[yycount
++] = yytokenName (yytoken
);
7021 if (!yypact_value_is_default (yyn
))
7023 /* Start YYX at -YYN if negative to avoid negative indexes in
7024 YYCHECK. In other words, skip the first -YYN actions for this
7025 state because they are default actions. */
7026 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7027 /* Stay within bounds of both yycheck and yytname. */
7028 int yychecklim
= YYLAST
- yyn
+ 1;
7029 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7031 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7032 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7033 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7035 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7041 yyarg
[yycount
++] = yytokenName (yyx
);
7043 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7044 yysize_overflow
|= yysz
< yysize
;
7053 #define YYCASE_(N, S) \
7057 YYCASE_(0, YY_("syntax error"));
7058 YYCASE_(1, YY_("syntax error, unexpected %s"));
7059 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7060 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7061 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7062 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7067 size_t yysz
= yysize
+ strlen (yyformat
);
7068 yysize_overflow
|= yysz
< yysize
;
7072 if (!yysize_overflow
)
7073 yymsg
= (char *) YYMALLOC (yysize
);
7079 while ((*yyp
= *yyformat
))
7081 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7083 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7092 yyerror (P
, tokens
, index
, yymsg
);
7097 yyerror (P
, tokens
, index
, YY_("syntax error"));
7098 yyMemoryExhausted (yystackp
);
7101 #endif /* YYERROR_VERBOSE */
7105 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7106 yylval, and yylloc are the syntactic category, semantic value, and location
7107 of the lookahead. */
7109 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7114 if (yystackp
->yyerrState
== 3)
7115 /* We just shifted the error token and (perhaps) took some
7116 reductions. Skip tokens until we can proceed. */
7120 if (yychar
== YYEOF
)
7121 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7122 if (yychar
!= YYEMPTY
)
7124 yytoken
= YYTRANSLATE (yychar
);
7125 yydestruct ("Error: discarding",
7126 yytoken
, &yylval
, P
, tokens
, index
);
7128 YYDPRINTF ((stderr
, "Reading a token: "));
7129 yychar
= yylex (&yylval
, P
, tokens
, index
);
7130 if (yychar
<= YYEOF
)
7132 yychar
= yytoken
= YYEOF
;
7133 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7137 yytoken
= YYTRANSLATE (yychar
);
7138 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7140 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7141 if (yypact_value_is_default (yyj
))
7144 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7146 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7149 else if (! yytable_value_is_error (yytable
[yyj
]))
7153 /* Reduce to one stack. */
7154 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7155 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7157 if (yyk
>= yystackp
->yytops
.yysize
)
7158 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7159 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7160 yymarkStackDeleted (yystackp
, yyk
);
7161 yyremoveDeletes (yystackp
);
7162 yycompressStack (yystackp
);
7164 /* Now pop stack until we find a state that shifts the error token. */
7165 yystackp
->yyerrState
= 3;
7166 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7168 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7169 yyj
= yypact
[yys
->yylrState
];
7170 if (! yypact_value_is_default (yyj
))
7173 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7174 && yyisShiftAction (yytable
[yyj
]))
7176 /* Shift the error token. */
7177 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7178 &yylval
, &yyerrloc
);
7179 yyglrShift (yystackp
, 0, yytable
[yyj
],
7180 yys
->yyposn
, &yylval
);
7181 yys
= yystackp
->yytops
.yystates
[0];
7185 if (yys
->yypred
!= YY_NULLPTR
)
7186 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7187 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7188 yystackp
->yynextFree
-= 1;
7189 yystackp
->yyspaceLeft
+= 1;
7191 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7192 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7195 #define YYCHK1(YYE) \
7205 goto yyuser_error; \
7216 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7220 yyGLRStack
* const yystackp
= &yystack
;
7223 YYDPRINTF ((stderr
, "Starting parse\n"));
7226 yylval
= yyval_default
;
7228 /* User initialization code. */
7229 #line 136 "src/parser_proc_grammar.y" /* glr.c:2270 */
7233 #line 7234 "src/parser_proc.c" /* glr.c:2270 */
7235 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7236 goto yyexhaustedlab
;
7237 switch (YYSETJMP (yystack
.yyexception_buffer
))
7240 case 1: goto yyabortlab
;
7241 case 2: goto yyexhaustedlab
;
7242 default: goto yybuglab
;
7244 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7249 /* For efficiency, we have two loops, the first of which is
7250 specialized to deterministic operation (single stack, no
7251 potential ambiguity). */
7257 const short int* yyconflicts
;
7259 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7260 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7261 if (yystate
== YYFINAL
)
7263 if (yyisDefaultedState (yystate
))
7265 yyrule
= yydefaultAction (yystate
);
7269 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7272 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7277 if (yychar
== YYEMPTY
)
7279 YYDPRINTF ((stderr
, "Reading a token: "));
7280 yychar
= yylex (&yylval
, P
, tokens
, index
);
7283 if (yychar
<= YYEOF
)
7285 yychar
= yytoken
= YYEOF
;
7286 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7290 yytoken
= YYTRANSLATE (yychar
);
7291 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7294 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7295 if (*yyconflicts
!= 0)
7297 if (yyisShiftAction (yyaction
))
7299 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7302 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7303 if (0 < yystack
.yyerrState
)
7304 yystack
.yyerrState
-= 1;
7306 else if (yyisErrorAction (yyaction
))
7309 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7313 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7319 yySymbol yytoken_to_shift
;
7322 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7323 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7325 /* yyprocessOneStack returns one of three things:
7327 - An error flag. If the caller is yyprocessOneStack, it
7328 immediately returns as well. When the caller is finally
7329 yyparse, it jumps to an error label via YYCHK1.
7331 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7332 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7333 yyparse's following invocation of yyremoveDeletes will remove
7336 - yyok, when ready to shift a token.
7338 Except in the first case, yyparse will invoke yyremoveDeletes and
7339 then shift the next token onto all remaining stacks. This
7340 synchronization of the shift (that is, after all preceding
7341 reductions on all stacks) helps prevent double destructor calls
7342 on yylval in the event of memory exhaustion. */
7344 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7345 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7346 yyremoveDeletes (&yystack
);
7347 if (yystack
.yytops
.yysize
== 0)
7349 yyundeleteLastStack (&yystack
);
7350 if (yystack
.yytops
.yysize
== 0)
7351 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7352 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7353 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7355 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7359 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7360 a copy of yylval will already be on stack 0 in the event of a
7361 failure in the following loop. Thus, yychar is set to YYEMPTY
7362 before the loop to make sure the user destructor for yylval isn't
7364 yytoken_to_shift
= YYTRANSLATE (yychar
);
7367 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7370 const short int* yyconflicts
;
7371 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7372 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7374 /* Note that yyconflicts were handled by yyprocessOneStack. */
7375 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7376 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7377 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7379 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7380 (unsigned long int) yys
,
7381 yystack
.yytops
.yystates
[yys
]->yylrState
));
7384 if (yystack
.yytops
.yysize
== 1)
7386 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7387 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7388 yycompressStack (&yystack
);
7394 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7395 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7411 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7416 if (yychar
!= YYEMPTY
)
7417 yydestruct ("Cleanup: discarding lookahead",
7418 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7420 /* If the stack is well-formed, pop the stack until it is empty,
7421 destroying its entries as we go. But free the stack regardless
7422 of whether it is well-formed. */
7423 if (yystack
.yyitems
)
7425 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7428 size_t yysize
= yystack
.yytops
.yysize
;
7430 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7433 while (yystates
[yyk
])
7435 yyGLRState
*yys
= yystates
[yyk
];
7436 if (yys
->yypred
!= YY_NULLPTR
)
7437 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7438 yystates
[yyk
] = yys
->yypred
;
7439 yystack
.yynextFree
-= 1;
7440 yystack
.yyspaceLeft
+= 1;
7445 yyfreeGLRStack (&yystack
);
7451 /* DEBUGGING ONLY */
7454 yy_yypstack (yyGLRState
* yys
)
7458 yy_yypstack (yys
->yypred
);
7459 YYFPRINTF (stderr
, " -> ");
7461 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7462 (unsigned long int) yys
->yyposn
);
7466 yypstates (yyGLRState
* yyst
)
7468 if (yyst
== YY_NULLPTR
)
7469 YYFPRINTF (stderr
, "<null>");
7472 YYFPRINTF (stderr
, "\n");
7476 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7478 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7481 #define YYINDEX(YYX) \
7482 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7486 yypdumpstack (yyGLRStack
* yystackp
)
7488 yyGLRStackItem
* yyp
;
7490 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7492 YYFPRINTF (stderr
, "%3lu. ",
7493 (unsigned long int) (yyp
- yystackp
->yyitems
));
7494 if (*(yybool
*) yyp
)
7496 YYASSERT (yyp
->yystate
.yyisState
);
7497 YYASSERT (yyp
->yyoption
.yyisState
);
7498 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7499 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7500 (unsigned long int) yyp
->yystate
.yyposn
,
7501 (long int) YYINDEX (yyp
->yystate
.yypred
));
7502 if (! yyp
->yystate
.yyresolved
)
7503 YYFPRINTF (stderr
, ", firstVal: %ld",
7504 (long int) YYINDEX (yyp
->yystate
7505 .yysemantics
.yyfirstVal
));
7509 YYASSERT (!yyp
->yystate
.yyisState
);
7510 YYASSERT (!yyp
->yyoption
.yyisState
);
7511 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7512 yyp
->yyoption
.yyrule
- 1,
7513 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7514 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7516 YYFPRINTF (stderr
, "\n");
7518 YYFPRINTF (stderr
, "Tops:");
7519 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7520 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7521 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7522 YYFPRINTF (stderr
, "\n");
7530 /* Substitute the variable and function names. */
7531 #define yyparse psi_parser_proc_parse
7532 #define yylex psi_parser_proc_lex
7533 #define yyerror psi_parser_proc_error
7534 #define yylval psi_parser_proc_lval
7535 #define yychar psi_parser_proc_char
7536 #define yydebug psi_parser_proc_debug
7537 #define yynerrs psi_parser_proc_nerrs
7539 #line 2080 "src/parser_proc_grammar.y" /* glr.c:2584 */
7544 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7546 struct psi_token
*token
;
7548 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7549 if (P
->flags
& PSI_DEBUG
) {
7550 psi_token_dump(2, token
);
7553 *((struct psi_token
**)lvalp
) = token
;
7557 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7563 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7565 struct psi_token
*T
= NULL
;
7574 psi_plist_get(tokens
, last
, &T
);
7576 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7578 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);