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 */
106 #define PSI_PARSER_PROC_DEBUG 1
108 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
109 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
111 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
115 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
117 P
->structs
= psi_plist_add(P
->structs
, &strct
);
119 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
123 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
125 P
->unions
= psi_plist_add(P
->unions
, &u
);
127 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
131 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
133 P
->enums
= psi_plist_add(P
->enums
, &e
);
135 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
139 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
141 P
->types
= psi_plist_add(P
->types
, &def
);
143 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
146 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
148 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
151 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
157 while (psi_plist_get(PSI_G(blacklist
).decls
, i
++, &blacklisted
)) {
158 if (!fnmatch(blacklisted
, decl
->func
->var
->name
, 0)) {
159 psi_decl_free(&decl
);
165 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
167 P
->decls
= psi_plist_add(P
->decls
, &decl
);
169 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
172 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
174 P
->impls
= psi_plist_add(P
->impls
, &impl
);
179 #line 180 "src/parser_proc.c" /* glr.c:264 */
186 # if defined YYENABLE_NLS && YYENABLE_NLS
188 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
189 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
193 # define YY_(Msgid) Msgid
201 # define YYMALLOC malloc
204 # define YYREALLOC realloc
207 #define YYSIZEMAX ((size_t) -1)
212 typedef unsigned char yybool
;
219 # define YYJMP_BUF jmp_buf
220 # define YYSETJMP(Env) setjmp (Env)
222 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
226 # if (defined __GNUC__ \
227 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
228 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
229 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
231 # define YY_ATTRIBUTE(Spec) /* empty */
235 #ifndef YY_ATTRIBUTE_PURE
236 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
239 #ifndef YY_ATTRIBUTE_UNUSED
240 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
243 #if !defined _Noreturn \
244 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
245 # if defined _MSC_VER && 1200 <= _MSC_VER
246 # define _Noreturn __declspec (noreturn)
248 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
252 /* Suppress unused-variable warnings by "using" E. */
253 #if ! defined lint || defined __GNUC__
254 # define YYUSE(E) ((void) (E))
256 # define YYUSE(E) /* empty */
259 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
260 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
261 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
262 _Pragma ("GCC diagnostic push") \
263 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
264 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
265 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
266 _Pragma ("GCC diagnostic pop")
268 # define YY_INITIAL_VALUE(Value) Value
270 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
271 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
272 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
274 #ifndef YY_INITIAL_VALUE
275 # define YY_INITIAL_VALUE(Value) /* Nothing. */
280 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
283 /* YYFINAL -- State number of the termination state. */
285 /* YYLAST -- Last index in YYTABLE. */
288 /* YYNTOKENS -- Number of terminals. */
289 #define YYNTOKENS 135
290 /* YYNNTS -- Number of nonterminals. */
292 /* YYNRULES -- Number of rules. */
294 /* YYNRULES -- Number of states. */
295 #define YYNSTATES 893
296 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
298 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
299 accessed by $0, $-1, etc., in any rule. */
302 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
304 #define YYMAXUTOK 389
306 #define YYTRANSLATE(YYX) \
307 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
309 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
310 static const unsigned char yytranslate
[] =
312 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
338 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
339 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
340 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
341 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
342 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
343 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
344 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
345 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
346 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
347 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
348 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
349 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
350 125, 126, 127, 128, 129, 130, 131, 132, 133, 134
354 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
355 static const unsigned short int yyrline
[] =
357 0, 394, 394, 394, 394, 394, 394, 394, 394, 394,
358 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
359 395, 395, 395, 395, 396, 396, 396, 396, 396, 396,
360 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
361 396, 396, 397, 397, 397, 397, 397, 397, 397, 397,
362 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
363 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
364 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
365 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
366 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
367 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
368 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
369 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
370 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
371 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
372 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
373 397, 397, 397, 397, 397, 397, 397, 398, 398, 398,
374 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
375 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
376 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
377 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
378 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
379 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
380 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
381 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
382 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
383 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
384 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
385 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
386 402, 403, 406, 407, 410, 411, 412, 413, 419, 427,
387 430, 433, 434, 435, 438, 441, 444, 447, 453, 459,
388 462, 468, 491, 495, 499, 504, 508, 512, 516, 523,
389 524, 528, 529, 533, 534, 535, 539, 540, 544, 545,
390 549, 550, 551, 555, 556, 560, 561, 562, 563, 564,
391 565, 566, 570, 575, 583, 586, 589, 590, 596, 601,
392 609, 612, 616, 620, 627, 631, 635, 639, 644, 654,
393 664, 669, 674, 678, 684, 693, 696, 700, 704, 710,
394 717, 723, 724, 725, 726, 730, 733, 764, 771, 772,
395 773, 774, 778, 781, 790, 796, 799, 805, 808, 814,
396 815, 823, 834, 843, 852, 860, 861, 865, 875, 884,
397 896, 899, 902, 906, 910, 914, 919, 924, 932, 933,
398 934, 937, 943, 946, 949, 955, 956, 957, 958, 959,
399 960, 961, 962, 966, 967, 971, 974, 977, 983, 986,
400 989, 997, 1009, 1012, 1015, 1022, 1025, 1035, 1038, 1041,
401 1044, 1045, 1046, 1050, 1053, 1056, 1067, 1070, 1076, 1077,
402 1081, 1082, 1086, 1090, 1096, 1097, 1103, 1106, 1112, 1115,
403 1118, 1124, 1128, 1129, 1133, 1134, 1138, 1139, 1146, 1147,
404 1151, 1158, 1169, 1176, 1187, 1194, 1205, 1216, 1230, 1231,
405 1243, 1246, 1249, 1252, 1259, 1262, 1268, 1277, 1289, 1297,
406 1300, 1310, 1323, 1328, 1336, 1346, 1356, 1359, 1363, 1369,
407 1383, 1400, 1403, 1409, 1416, 1426, 1433, 1436, 1442, 1447,
408 1455, 1459, 1463, 1467, 1471, 1475, 1482, 1486, 1490, 1494,
409 1498, 1504, 1508, 1515, 1518, 1529, 1533, 1537, 1543, 1556,
410 1569, 1582, 1585, 1592, 1595, 1598, 1601, 1607, 1611, 1618,
411 1621, 1624, 1634, 1637, 1643, 1644, 1650, 1653, 1659, 1660,
412 1670, 1673, 1680, 1685, 1690, 1700, 1703, 1709, 1712, 1718,
413 1725, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740,
414 1744, 1747, 1753, 1756, 1759, 1762, 1765, 1771, 1775, 1783,
415 1784, 1788, 1795, 1798, 1801, 1805, 1808, 1811, 1817, 1821,
416 1829, 1836, 1844, 1852, 1853, 1854, 1855, 1856, 1857, 1858,
417 1859, 1860, 1861, 1865, 1868, 1874, 1877, 1883, 1884, 1888,
418 1891, 1897, 1900, 1906, 1913, 1920, 1923, 1926, 1933, 1938,
419 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1957, 1960,
420 1966, 1969, 1975, 1982, 1983, 1987, 1994, 1997, 2003, 2011,
425 #if YYDEBUG || YYERROR_VERBOSE || 1
426 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
427 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
428 static const char *const yytname
[] =
430 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
431 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
432 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "INT8", "UINT8",
433 "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "NULL", "TRUE",
434 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
435 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
436 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
437 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
438 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
439 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
440 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
441 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
442 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
443 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
444 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "PRE_ASSERT",
445 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
446 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
447 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
448 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
449 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
450 "BINARY", "UNARY", "$accept", "binary_op_token", "unary_op_token",
451 "name_token", "any_noeol_token", "any_nobrace_token", "file", "blocks",
452 "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
453 "cpp_message_token", "cpp_include_token", "cpp_header_token",
454 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
455 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
456 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
457 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
458 "cpp_macro_call_arg_list", "constant", "constant_type",
459 "constant_type_token", "impl_def_val", "impl_def_val_token",
460 "decl_typedef", "typedef", "typedef_anon", "typedef_decl",
461 "typedef_anon_decl", "qualified_decl_type", "decl_type",
462 "decl_type_complex", "decl_type_simple", "decl_real_type",
463 "decl_stdint_type", "int_signed", "int_width", "decl_int_type",
464 "int_signed_types", "signed_short_types", "signed_long_types",
465 "int_width_types", "decl_stmt", "decl_asm", "ignored_quoted_strings",
466 "decl_ext_var_stmt", "decl_ext_var", "decl_ext_var_list", "decl_vars",
467 "ignored_decl", "ignored_decl_body", "ignored_decl_body_stmts",
468 "ignored_decl_body_stmt", "decl", "decl_body", "decl_func_body",
469 "decl_functor_body", "decl_functor", "decl_func", "decl_args",
470 "decl_anon_arg", "decl_arg", "decl_var", "decl_union", "decl_struct",
471 "decl_struct_args", "struct_args_block", "struct_args",
472 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
473 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
474 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
475 "struct_name", "optional_name", "decl_layout", "align_and_size",
476 "array_size", "indirection", "pointers", "asterisks", "asterisk", "impl",
477 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
478 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
479 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
480 "let_func", "let_func_token", "let_func_exps", "let_exps",
481 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
482 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
483 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
484 "free_exp", "reference", "byref", YY_NULLPTR
488 #define YYPACT_NINF -722
489 #define YYTABLE_NINF -640
491 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
493 static const short int yypact
[] =
495 481, -722, -722, -722, -722, -722, 47, -722, -722, 3033,
496 -722, -722, -722, -722, -722, -722, -722, -722, 3652, 726,
497 -722, -722, 477, 1491, 3454, 3454, 3454, 1825, 48, 278,
498 12, -722, 1620, 3686, 93, 481, -722, -722, -722, -722,
499 -722, 3109, -722, -722, -722, -722, -722, 91, 147, -722,
500 -722, -722, 64, -722, -21, -722, -722, 70, 84, 122,
501 -722, -722, -722, -722, 120, -722, 126, -722, -722, -722,
502 -722, -722, 837, -722, 115, 80, -722, -722, -722, -722,
503 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
504 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
505 -722, -722, -722, -722, -722, 685, -18, -722, -722, -722,
506 -722, 3454, 3454, 3454, 2065, -722, 59, -722, -722, -722,
507 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
508 1357, -722, -722, -722, -722, 158, 970, 970, 14, -722,
509 1357, 2864, 3033, 3454, 3454, 3731, 160, -722, 2984, -722,
510 -722, 162, 3454, 163, 163, 82, 82, 161, -722, -722,
511 178, 179, -722, 115, 181, -722, -722, 174, 3686, 171,
512 172, -722, 187, -722, 3765, 1528, -21, 171, -722, -722,
513 173, -722, 180, 3454, -722, 217, -722, 68, -722, -722,
514 91, -722, -722, 184, 186, 3810, 3810, 3454, 258, 3454,
515 -722, -722, 115, -722, -722, -722, -722, -722, -722, 3109,
516 -722, -722, -722, -722, -722, -722, -722, 102, 970, -722,
517 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
518 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
519 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
520 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
521 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
522 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
523 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
524 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
525 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
526 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
527 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
528 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
529 -722, -722, -722, -722, -722, -722, -722, -722, 970, -722,
530 -722, -722, -722, -722, -722, -722, -722, 19, 2864, -722,
531 -722, -722, -722, 3158, 2864, 188, 4043, -722, 190, 98,
532 -722, 103, -722, -722, -722, -722, -722, 191, 189, 189,
533 36, 36, 3278, 192, -722, 171, 1236, -722, 258, 195,
534 198, 199, -722, 2384, -722, 115, 173, -722, -722, -722,
535 233, -722, -722, 208, -722, 15, 2665, 3109, 116, -722,
536 -722, 136, 197, 77, -722, 3109, 2504, 3109, 3454, 132,
537 -722, -722, 159, -722, -722, -722, -722, -722, 2624, -722,
538 202, 3454, 213, -722, 3454, 234, -722, -722, -722, -722,
539 3844, 227, -722, 3889, 3454, -722, -722, 2864, -722, -722,
540 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
541 -722, -722, -722, -722, -722, -722, 2864, 2864, -722, 236,
542 1570, 3109, 3109, -722, -722, -722, -722, 115, -722, 1784,
543 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
544 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
545 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
546 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
547 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
548 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
549 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
550 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
551 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
552 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
553 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
554 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
555 -722, -722, -722, -722, -722, -722, 1103, -722, 166, 73,
556 -722, -722, -722, -722, -722, 1664, -722, 2624, -722, 2965,
557 -722, -722, 3454, -722, -722, -722, 26, 685, 115, 180,
558 173, 3573, 173, 3607, 2624, 3454, -722, 225, 238, 4067,
559 230, 240, -722, 241, 248, 242, 251, 76, -722, -722,
560 253, 241, -722, -722, 3856, -722, 252, 3109, 3329, 115,
561 255, -722, -722, -722, 264, 4043, 265, 267, 3994, -722,
562 261, 3731, 268, -722, -722, 2744, 1399, 3454, 163, 163,
563 -722, -722, 3454, -722, -722, -722, -722, 271, -722, 4067,
564 -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
565 -722, -722, 269, 138, -722, 12, -722, 266, 726, 273,
566 3916, -722, -722, 2624, 2624, 277, -722, -722, 3278, -722,
567 15, 279, -722, -722, 290, 4067, -722, 1904, -722, 2504,
568 -722, 3109, -722, 12, 3109, -722, 3454, -722, -722, -722,
569 -722, -722, -722, 292, 293, -722, -722, -722, -722, 2864,
570 2864, 294, -722, 30, 295, -722, 268, 189, 189, 299,
571 -722, 519, 291, 519, 297, 2624, -722, 4019, -722, -722,
572 173, 173, -722, 231, 214, 301, 4067, -722, -722, -722,
573 -722, 303, 2024, -722, 304, 3109, 142, -722, 970, 3405,
574 4043, 4091, 315, 309, 313, 3109, 326, 295, 3109, 3109,
575 -722, -722, 519, -722, 12, 1784, -722, 2624, -722, -722,
576 301, -722, -722, -722, -722, 327, 2624, 12, -722, 2144,
577 328, 339, -722, -722, -722, -722, 338, 337, 348, 268,
578 340, -722, 344, -722, 20, -722, 4115, 12, 3969, 342,
579 347, -722, 343, -722, -722, -722, 349, 350, -722, 3109,
580 -722, 358, 353, 2624, 1904, 354, -722, 2504, 363, 364,
581 268, 357, 2264, 3943, 225, -722, -722, -722, 360, 2024,
582 -722, -722, 362, 359, -722, 356, 366, 370, -722, -722,
583 1904, -722, 372, -722, 519, 374, 2504, -722, 375, -722,
587 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
588 Performed when YYTABLE does not specify something else to do. Zero
589 means the default is an error. */
590 static const unsigned short int yydefact
[] =
592 290, 428, 425, 429, 423, 424, 426, 412, 413, 0,
593 415, 416, 417, 418, 419, 420, 421, 422, 411, 0,
594 295, 294, 0, 0, 0, 0, 531, 0, 0, 0,
595 639, 296, 0, 0, 0, 291, 292, 298, 297, 299,
596 303, 542, 402, 404, 403, 409, 410, 432, 443, 408,
597 300, 302, 0, 301, 448, 466, 468, 469, 0, 0,
598 478, 305, 304, 306, 0, 307, 0, 427, 414, 33,
599 34, 627, 593, 24, 542, 548, 39, 38, 37, 35,
600 36, 32, 31, 25, 29, 28, 26, 27, 601, 600,
601 598, 596, 597, 599, 595, 594, 602, 30, 625, 623,
602 622, 624, 621, 620, 479, 0, 544, 546, 40, 41,
603 411, 0, 0, 0, 0, 467, 454, 401, 309, 320,
604 317, 319, 321, 322, 333, 330, 331, 328, 334, 329,
605 0, 332, 323, 324, 325, 0, 350, 350, 0, 313,
606 0, 0, 0, 531, 531, 0, 0, 385, 542, 390,
607 488, 389, 0, 537, 537, 405, 406, 407, 528, 371,
608 429, 412, 374, 0, 0, 370, 400, 0, 0, 0,
609 0, 641, 0, 640, 411, 0, 448, 0, 1, 293,
610 539, 489, 0, 543, 433, 437, 435, 439, 430, 444,
611 432, 431, 452, 0, 0, 480, 480, 0, 0, 0,
612 543, 549, 542, 491, 545, 547, 405, 406, 407, 0,
613 453, 336, 337, 338, 340, 341, 339, 335, 350, 315,
614 310, 75, 42, 43, 44, 45, 46, 47, 48, 49,
615 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
616 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
617 70, 71, 72, 73, 74, 165, 166, 76, 77, 78,
618 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
619 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
620 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
621 109, 115, 113, 114, 112, 110, 111, 116, 117, 118,
622 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
623 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
624 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
625 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
626 159, 163, 160, 161, 162, 164, 352, 318, 351, 311,
627 326, 327, 312, 335, 314, 360, 361, 0, 0, 22,
628 23, 20, 21, 0, 0, 363, 316, 362, 479, 405,
629 530, 406, 529, 386, 382, 394, 391, 0, 0, 0,
630 0, 0, 0, 0, 308, 0, 0, 458, 0, 0,
631 0, 0, 459, 0, 493, 542, 539, 438, 434, 440,
632 441, 436, 445, 0, 446, 481, 0, 542, 0, 482,
633 484, 0, 508, 0, 506, 0, 639, 0, 0, 0,
634 633, 634, 0, 570, 573, 572, 574, 575, 0, 576,
635 0, 0, 455, 456, 0, 0, 343, 353, 527, 526,
636 0, 0, 522, 0, 0, 358, 355, 365, 2, 3,
637 4, 5, 6, 7, 8, 9, 10, 11, 13, 12,
638 14, 15, 16, 17, 18, 19, 0, 0, 383, 0,
639 0, 0, 0, 496, 495, 497, 494, 542, 490, 375,
640 460, 200, 167, 168, 169, 170, 171, 172, 173, 174,
641 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
642 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
643 195, 196, 197, 198, 199, 288, 289, 201, 202, 203,
644 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
645 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
646 224, 225, 226, 227, 228, 229, 230, 231, 232, 238,
647 236, 237, 235, 233, 234, 239, 240, 241, 242, 243,
648 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
649 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
650 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
651 274, 275, 276, 277, 278, 279, 280, 281, 282, 286,
652 283, 284, 285, 287, 464, 465, 0, 462, 0, 0,
653 384, 447, 517, 516, 518, 0, 540, 0, 519, 0,
654 510, 520, 0, 492, 442, 450, 0, 487, 0, 485,
655 539, 0, 539, 0, 0, 0, 505, 0, 0, 616,
656 0, 0, 615, 41, 0, 0, 0, 0, 636, 626,
657 0, 0, 550, 571, 0, 477, 0, 0, 344, 542,
658 0, 523, 525, 354, 0, 367, 0, 366, 0, 356,
659 0, 0, 533, 395, 387, 396, 0, 397, 537, 537,
660 393, 392, 0, 378, 379, 380, 381, 0, 377, 376,
661 461, 463, 551, 563, 564, 565, 566, 562, 567, 568,
662 569, 561, 0, 0, 555, 639, 560, 24, 0, 0,
663 0, 514, 541, 0, 0, 0, 451, 449, 486, 472,
664 0, 0, 483, 470, 0, 509, 507, 0, 577, 639,
665 614, 0, 559, 639, 0, 635, 0, 613, 632, 476,
666 457, 345, 348, 0, 346, 524, 521, 359, 364, 0,
667 0, 0, 388, 0, 501, 498, 533, 0, 0, 0,
668 369, 0, 0, 0, 557, 0, 512, 0, 513, 474,
669 539, 539, 582, 0, 31, 30, 587, 588, 583, 585,
670 586, 40, 0, 617, 628, 0, 0, 637, 350, 0,
671 368, 357, 0, 534, 0, 0, 0, 501, 399, 398,
672 475, 552, 0, 556, 639, 375, 511, 0, 473, 471,
673 0, 584, 607, 593, 608, 0, 0, 639, 589, 639,
674 0, 0, 638, 342, 347, 349, 0, 0, 0, 533,
675 502, 499, 0, 553, 0, 558, 515, 639, 0, 603,
676 0, 630, 629, 618, 578, 538, 0, 0, 503, 0,
677 500, 0, 0, 0, 0, 0, 619, 639, 0, 0,
678 533, 0, 609, 0, 519, 605, 581, 579, 604, 0,
679 592, 631, 0, 0, 504, 0, 0, 610, 611, 590,
680 0, 580, 0, 535, 0, 0, 639, 606, 0, 554,
684 /* YYPGOTO[NTERM-NUM]. */
685 static const short int yypgoto
[] =
687 -722, -352, -128, -7, 65, -722, -722, -722, 382, -722,
688 -722, -722, -722, -722, -722, -722, -722, -722, -722, 280,
689 -722, -722, -722, -134, -722, -315, -722, -722, -722, -722,
690 -722, -386, -722, -722, 243, -255, 22, -249, -2, -12,
691 -722, -722, -722, -138, 377, -722, -722, 239, -722, -722,
692 -722, -722, 250, -722, -722, -722, -722, -301, -722, -141,
693 -722, -170, 409, 17, -15, 33, -722, -722, 246, -504,
694 -14, -41, -722, -722, 62, -348, -722, -353, -722, 6,
695 -722, -190, -359, -722, -117, -722, 7, -722, -454, -450,
696 43, -712, -129, -384, -63, -4, -722, 345, -722, 420,
697 -722, -313, -648, -721, -722, 66, -400, -722, -428, -704,
698 38, -312, -722, -722, -666, -722, -722, -722, -722, -722,
699 -722, -722, -691, 39, -387, -722, -722, -722, -722, -722,
700 -722, -274, -29, -680
703 /* YYDEFGOTO[NTERM-NUM]. */
704 static const short int yydefgoto
[] =
706 -1, 714, 617, 180, 346, 604, 34, 35, 36, 37,
707 38, 135, 136, 137, 138, 352, 139, 140, 141, 218,
708 219, 743, 744, 347, 348, 366, 666, 667, 39, 164,
709 165, 687, 688, 40, 146, 672, 673, 674, 41, 42,
710 43, 44, 45, 46, 47, 48, 49, 188, 398, 401,
711 191, 50, 194, 626, 51, 52, 210, 432, 53, 605,
712 606, 607, 54, 55, 56, 150, 58, 59, 408, 409,
713 60, 618, 61, 62, 474, 475, 676, 796, 830, 152,
714 413, 414, 639, 620, 621, 660, 442, 64, 153, 154,
715 158, 754, 378, 394, 182, 434, 106, 107, 65, 66,
716 703, 704, 640, 705, 706, 422, 423, 424, 865, 866,
717 867, 778, 779, 780, 108, 855, 868, 815, 876, 877,
718 425, 426, 641, 642, 109, 820, 842, 427, 428, 429,
722 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
723 positive, shift that token. If negative, reduce the rule whose
724 number is the opposite. If YYTABLE_NINF, syntax error. */
725 static const short int yytable
[] =
727 181, 172, 104, 349, 116, 105, 63, 117, 149, 151,
728 375, 199, 623, 364, 467, 166, 678, 155, 156, 157,
729 679, 148, 653, 777, 367, 379, 380, 381, 387, 643,
730 471, 472, 651, 57, 619, 115, 392, 183, 783, 75,
731 801, 63, 804, 443, 797, 147, 169, 782, 350, 446,
732 177, 57, 732, 438, 439, 74, 67, 764, 68, 440,
733 716, 781, 57, 793, 171, 57, 57, 717, 57, 654,
734 200, 441, 75, 794, 399, 473, 693, 400, 818, 694,
735 470, 833, 167, 695, 436, 696, 697, 698, 699, 700,
736 701, 467, 851, 178, 467, 184, 185, 186, 203, -478,
737 187, 209, 166, 192, 206, 207, 208, 181, 814, -469,
738 -488, 193, -488, 204, 702, 735, 781, 848, 736, 635,
739 689, -537, 636, 217, 195, 377, -537, 722, 841, 722,
740 149, 151, 665, 353, 365, 368, 369, 371, 105, 431,
741 351, -405, -532, 148, 183, 376, -406, -532, 874, 71,
742 649, 668, 669, 189, 4, 5, 764, 630, 631, 382,
743 149, 151, 196, 889, 197, 881, 871, 373, 433, 839,
744 198, 878, 75, 148, 869, 201, 396, 632, 633, 762,
745 763, 410, 410, 822, 657, 385, 370, 372, 781, 852,
746 412, 115, 430, 407, 407, 891, 220, 147, 200, 374,
747 869, 57, -478, 781, 652, -532, 377, 57, 653, -372,
748 -373, 692, 383, 384, 781, 386, 388, 678, 389, 393,
749 395, 679, 678, 397, 403, 404, 679, 435, 447, 468,
750 364, 812, 813, 470, 469, 609, 364, 610, 611, 624,
751 479, 367, 625, 655, 480, 634, 719, 367, 723, 98,
752 99, 100, 101, 102, 103, 657, 710, 662, 711, 415,
753 416, 417, 418, 419, 420, 421, 415, 416, 417, 418,
754 419, 420, 421, 727, 658, 725, 670, 728, 729, 730,
755 732, 731, 1, 2, 3, 4, 5, 6, 7, 8,
756 733, 734, 737, 739, 751, 9, 746, 10, 11, 12,
757 13, 14, 15, 16, 17, 747, 748, -24, 110, 749,
758 760, 753, 761, 467, 765, 19, 467, 467, 769, 364,
759 770, 88, 89, 90, 91, 92, 93, 94, 95, 96,
760 367, 771, 622, 788, 802, 789, 792, 795, 364, 364,
761 800, 816, 643, 817, 629, 805, 819, 810, 826, 367,
762 367, 365, 827, 828, 767, 768, 445, 365, 415, 416,
763 417, 418, 419, 420, 421, 831, 181, 837, 776, 843,
764 111, 112, 113, 114, 637, 478, 645, 30, 844, 845,
765 846, 847, 849, 850, 854, 857, 808, 809, 856, 858,
766 861, 200, 859, 862, 166, 870, 872, 873, 875, 884,
767 883, 627, 880, 183, 882, 888, 806, 885, 168, 798,
768 799, 646, 886, 437, 682, 890, 892, 179, 390, 835,
769 354, 756, 752, 776, 656, 190, 391, 396, 659, 402,
770 680, 681, 643, 786, 790, 791, 691, 664, 467, 467,
771 365, 176, 411, 476, 832, 726, 689, 661, 836, 170,
772 803, 205, 887, 638, 608, 149, 151, 838, 650, 365,
773 365, 811, 787, 0, 0, 0, 0, 0, 675, 0,
774 643, 0, 0, 200, 0, 643, 677, 0, 0, 0,
775 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
776 6, 7, 8, 0, 863, 776, 0, 0, 9, 643,
777 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
778 776, 18, 0, 0, 0, 118, 0, 0, 19, 20,
779 21, 776, 693, 0, 0, 694, 0, 0, 0, 695,
780 22, 696, 697, 698, 699, 700, 701, 375, 0, 0,
781 0, 0, 0, 0, 0, 0, 0, 0, 0, 757,
782 758, 119, 120, 121, 122, 123, 124, 125, 126, 127,
783 128, 129, 130, 0, 131, 132, 133, 134, 0, 0,
784 0, 0, 23, 24, 25, 26, 27, 28, 29, 0,
785 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 0, 745, 0, 0, 0,
787 0, 0, 0, 0, 31, 0, 0, 0, 0, 32,
788 0, 33, 0, 709, 0, 715, 740, 410, 0, 410,
789 203, 364, 364, 0, 718, 0, 0, 0, 412, 407,
790 0, 407, 367, 367, 181, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 0, 742, 0, 0, 823, 200, 149, 151, 0, 0,
793 0, 149, 151, 0, 0, 0, 0, 0, 0, 675,
794 376, 183, 0, 0, 675, 759, 0, 677, 0, 0,
795 0, 0, 677, 0, 0, 0, 0, 0, 69, 0,
796 784, 0, 0, 433, 0, 0, 166, 70, 0, 0,
797 0, 0, 71, 72, 785, 0, 0, 0, 0, 0,
798 0, 478, 0, 0, 0, 73, 627, 0, 0, 0,
799 0, 0, 0, 0, 0, 202, 0, 0, 0, 646,
800 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
801 0, 0, 365, 365, 821, 10, 11, 12, 13, 14,
802 15, 16, 17, 0, 829, 0, 110, 680, 681, 76,
803 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 834, 0, 0, 0, 0,
805 0, 81, 825, 82, 83, 84, 85, 86, 87, 0,
806 0, 0, 88, 89, 90, 91, 92, 93, 94, 95,
807 96, 97, 98, 99, 100, 101, 102, 103, 860, 0,
808 0, 0, 0, 864, 0, 0, 0, 0, 111, 112,
809 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
810 0, 0, 0, 0, 0, 0, 0, -593, 0, 864,
811 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
812 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
813 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
814 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
815 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
816 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
817 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
818 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
819 -593, -593, -593, -593, -593, 0, -593, 0, -593, -593,
820 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
821 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
822 -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
823 -593, 0, -593, -593, 0, -593, -593, -593, -593, -593,
824 221, 0, 0, 222, 223, 224, 225, 226, 227, 228,
825 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
826 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
827 249, 250, 251, 252, 253, 254, 255, 256, 0, 257,
828 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
829 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
830 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
831 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
832 298, 299, 300, 301, 302, 303, 304, 305, 0, 306,
833 0, 307, 308, 309, 310, 311, 312, 313, 314, 315,
834 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
835 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
836 336, 337, 338, 339, 0, 0, 340, 0, 341, 342,
837 343, 344, 345, 481, 0, 0, 482, 483, 484, 485,
838 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
839 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
840 506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
841 516, 0, 517, 518, 519, 520, 521, 386, 690, 522,
842 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
843 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
844 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
845 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
846 563, 0, 564, 0, 565, 566, 567, 568, 569, 570,
847 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
848 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
849 591, 592, 593, 594, 595, 596, 597, 0, 0, 598,
850 0, 599, 600, 601, 602, 603, 481, 0, 0, 482,
851 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
852 493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
853 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
854 513, 514, 515, 516, 0, 517, 518, 519, 520, 521,
855 386, 0, 522, 523, 524, 525, 526, 527, 528, 529,
856 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
857 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
858 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
859 560, 561, 562, 563, 0, 564, 0, 565, 566, 567,
860 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
861 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
862 588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
863 69, 0, 598, 0, 599, 600, 601, 602, 603, 70,
864 0, 0, 0, 0, 71, 72, 0, 0, 0, 0,
865 0, 0, 0, 0, 211, 212, 213, 73, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
868 8, 0, 0, 0, 0, 0, 9, 0, 10, 11,
869 12, 13, 14, 15, 16, 17, 0, 0, 0, 110,
870 0, 76, 77, 78, 79, 80, 19, 0, 0, 0,
871 0, 0, 0, 0, 755, 0, 0, 0, 0, 0,
872 0, 0, 0, 81, 0, 82, 83, 84, 85, 86,
873 87, 0, 0, 0, 88, 89, 90, 91, 92, 93,
874 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
875 0, 0, 0, 0, 0, 214, 0, 215, 216, 0,
876 0, 143, 144, 26, 114, 1, 2, 3, 4, 5,
877 6, 7, 8, 0, 0, 0, 0, 0, 142, 0,
878 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
879 0, 110, 0, 0, 0, 0, 0, 671, 19, 0,
880 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
881 0, 0, 0, 0, 0, 9, 0, 10, 11, 12,
882 13, 14, 15, 16, 17, 0, 0, 0, 110, 0,
883 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
884 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
885 7, 8, 0, 143, 144, 26, 114, 9, 0, 10,
886 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
887 110, 0, 0, 0, 0, 0, 0, 19, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
889 143, 144, 26, 114, 1, 2, 3, 4, 5, 6,
890 7, 8, 0, 0, 0, 0, 0, 9, 0, 10,
891 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
892 174, 0, 0, 0, 0, 0, 145, 19, 0, 0,
893 0, 0, 143, 144, 26, 114, 0, 69, 1, 2,
894 3, 4, 5, 6, 7, 8, 70, 0, 0, 0,
895 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
896 17, 0, 0, 0, 707, 612, 0, 613, 671, 614,
897 357, 19, 0, 0, 615, 0, 0, 0, 0, 0,
898 0, 175, 111, 112, 113, 114, 0, 0, 0, 359,
899 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
901 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
902 0, 0, 0, 0, 0, 0, 111, 112, 113, 708,
903 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
904 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
905 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
906 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
907 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
908 0, 683, 684, 685, 73, 612, 0, 613, 686, 614,
909 357, 0, 0, 0, 615, 0, 0, 0, 159, 1,
910 2, 160, 4, 5, 6, 161, 8, 162, 0, 359,
911 360, 75, 163, 0, 10, 11, 12, 13, 14, 15,
912 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
913 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
916 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
917 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
918 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
919 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
920 0, 772, 0, 0, 73, 612, 0, 613, 0, 614,
921 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
923 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
925 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
927 81, 773, 774, 83, 84, 85, 86, 87, 0, 0,
928 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
929 775, 98, 99, 100, 101, 102, 103, 69, 0, 0,
930 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
931 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
932 0, 772, 0, 0, 73, 612, 0, 613, 0, 614,
933 357, 0, 0, 0, 615, 0, 0, 0, 0, 1,
934 2, 3, 4, 5, 6, 7, 8, 0, 0, 359,
935 360, 75, 163, 0, 10, 11, 12, 13, 14, 15,
936 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
937 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
939 81, 773, 774, 83, 84, 85, 86, 87, 0, 0,
940 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
941 775, 98, 99, 100, 101, 102, 103, 69, 0, 0,
942 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
943 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
945 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
947 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 361, 362, 0, 0, 840, 0, 76, 77,
949 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
951 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
952 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
953 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
954 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
955 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, 0, 73, 612, -639, 613, 0, 614,
957 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
958 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
959 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
960 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
961 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
963 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
964 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
965 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
966 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
967 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
968 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
969 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
970 0, 616, 0, 0, 0, 0, 0, 0, 0, 359,
971 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
973 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
976 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
977 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
978 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
979 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
981 357, 0, 0, 0, 615, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, 0, 171, 0, 0, 359,
983 360, 75, 0, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
985 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
988 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
989 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
990 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
991 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 73, 612, 0, 613, 0, 614,
993 357, 0, 0, 0, 615, 0, 0, 0, 0, 1,
994 2, 3, 4, 5, 6, 7, 8, 0, 0, 359,
995 360, 75, 628, 0, 10, 11, 12, 13, 14, 15,
996 16, 17, 361, 362, 0, 110, 0, 0, 76, 77,
997 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1000 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1001 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1002 0, 0, 0, 0, 0, 0, 70, 111, 112, 113,
1003 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
1004 17, 0, 0, 0, 73, 0, 0, 0, 0, 0,
1005 0, 0, 0, 0, -542, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 76, 77,
1009 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1012 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1013 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1014 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1015 0, 71, 72, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 73, 0, 0, 355, 0, 356,
1017 357, 0, 0, 0, 358, 0, 0, 0, 0, 0,
1018 0, 0, 0, 0, 0, 0, 0, 0, 0, 359,
1019 360, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 361, 362, 0, 0, 0, 0, 76, 77,
1021 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1022 363, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1024 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1025 97, 98, 99, 100, 101, 102, 103, 69, 0, 0,
1026 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1027 0, 71, 72, 10, 11, 12, 13, 14, 15, 16,
1028 17, 0, 712, 0, 73, 448, 449, 450, 451, 452,
1029 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1030 463, 464, 465, 0, 0, 0, 69, 0, 713, 0,
1031 0, 75, 0, 0, 0, 70, 0, 0, 0, 0,
1032 71, 72, 0, 0, 0, 0, 0, 0, 76, 77,
1033 78, 79, 80, 73, 0, 0, 0, 0, 0, 0,
1034 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
1035 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1036 75, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1037 97, 98, 99, 100, 101, 102, 103, 76, 77, 78,
1038 79, 80, 69, 0, 0, 0, 0, 0, 0, 0,
1039 0, 70, 0, 0, 0, 0, 71, 72, 0, 81,
1040 0, 82, 83, 84, 85, 86, 87, 0, 0, 73,
1041 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1042 98, 99, 100, 101, 102, 103, 0, 0, 0, 0,
1043 0, 69, 0, 0, 0, 0, 75, 0, 0, 0,
1044 70, 0, 0, 0, 0, 71, 72, 0, 0, 0,
1045 0, 0, 0, 76, 77, 78, 79, 80, 73, 0,
1046 0, 0, 0, 0, 0, 0, 0, 0, 444, 0,
1047 0, 0, 0, 0, 0, 81, 0, 82, 83, 84,
1048 85, 86, 87, 0, 0, 0, 88, 89, 90, 91,
1049 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1050 102, 103, 76, 77, 78, 79, 80, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
1053 86, 87, 0, 0, 0, 88, 89, 90, 91, 92,
1054 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1055 103, 69, 0, 0, 0, 0, 0, 0, 0, 0,
1056 70, 0, 0, 0, 0, 71, 72, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0, 73, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 477, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
1061 0, 70, 0, 0, 0, 0, 71, 72, 0, 0,
1062 0, 0, 76, 77, 78, 79, 80, 0, 0, 73,
1063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 0, 81, 0, 82, 83, 84, 85,
1065 86, 87, 0, 0, 0, 88, 89, 90, 91, 92,
1066 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1067 103, 741, 0, 76, 77, 78, 79, 80, 69, 0,
1068 0, 0, 0, 0, 0, 0, 0, 70, 0, 0,
1069 0, 0, 71, 72, 0, 81, 0, 82, 83, 84,
1070 85, 86, 87, 0, 0, 73, 88, 89, 90, 91,
1071 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1072 102, 103, 0, 0, 0, 0, 0, 69, 0, 0,
1073 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
1074 0, 71, 72, 0, 0, 0, 0, 824, 0, 76,
1075 77, 78, 79, 80, 73, 0, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 81, 0, 82, 83, 84, 85, 86, 87, 0,
1078 0, 0, 88, 89, 90, 91, 92, 93, 94, 95,
1079 96, 97, 98, 99, 100, 101, 102, 103, 76, 77,
1080 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1082 81, 0, 82, 83, 84, 85, 86, 87, 0, 0,
1083 0, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1084 97, 98, 99, 100, 101, 102, 103, 1, 2, 3,
1085 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
1086 720, 0, 10, 11, 12, 13, 14, 15, 16, 17,
1087 0, 0, 0, 110, 0, 0, 0, 0, 0, 0,
1088 19, 1, 2, 3, 4, 5, 6, 7, 8, 0,
1089 0, 0, 0, 0, 720, 0, 10, 11, 12, 13,
1090 14, 15, 16, 17, 0, 0, 0, 110, 0, 0,
1091 0, 0, 0, 0, 19, 721, 0, 0, 0, 0,
1092 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
1093 5, 6, 7, 8, 0, 111, 112, 113, 406, 9,
1094 0, 10, 11, 12, 13, 14, 15, 16, 17, 724,
1095 0, 0, 110, 0, 0, 0, 0, 0, 0, 19,
1096 1, 2, 3, 4, 5, 6, 7, 8, 0, 111,
1097 112, 113, 406, 9, 0, 10, 11, 12, 13, 14,
1098 15, 16, 17, 0, 0, 0, 110, 0, 0, 0,
1099 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
1100 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
1101 6, 7, 8, 0, 111, 112, 113, 114, 9, 0,
1102 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
1103 0, 110, 0, 0, 0, 0, 0, 0, 19, 1,
1104 2, 3, 4, 5, 6, 7, 8, 0, 111, 112,
1105 113, 114, 9, 0, 10, 11, 12, 13, 14, 15,
1106 16, 17, 0, 0, 0, 110, 0, 0, 0, 0,
1107 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
1108 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
1109 7, 8, 0, 143, 144, 26, 114, 405, 0, 10,
1110 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
1111 110, 0, 0, 0, 0, 0, 0, 19, 1, 2,
1112 3, 4, 5, 6, 7, 8, 0, 111, 112, 113,
1113 114, 0, 0, 10, 11, 12, 13, 14, 15, 16,
1114 17, 0, 0, 0, 110, 0, 0, 0, 438, 439,
1115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1116 0, 0, 0, 0, 0, 738, 441, 0, 0, 0,
1117 0, 0, 111, 112, 113, 406, 448, 449, 450, 451,
1118 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1119 462, 463, 464, 465, 0, 0, 0, 0, 0, 713,
1120 663, 0, 0, 0, 0, 0, 111, 112, 113, 448,
1121 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1122 459, 460, 461, 462, 463, 464, 465, 766, 0, 0,
1123 0, 0, 466, 0, 0, 0, 448, 449, 450, 451,
1124 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1125 462, 463, 464, 465, 879, 0, 0, 0, 0, 713,
1126 0, 0, 0, 448, 449, 450, 451, 452, 453, 454,
1127 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1128 465, 853, 0, 0, 0, 0, 713, 0, 0, 448,
1129 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1130 459, 460, 461, 462, 463, 464, 465, 750, 0, 0,
1131 0, 0, 713, 0, 448, 449, 450, 451, 452, 453,
1132 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1133 464, 465, 807, 0, 0, 0, 0, 466, 0, 448,
1134 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
1135 459, 460, 461, 462, 463, 464, 465, 0, 0, 0,
1136 0, 0, 713, 448, 449, 450, 451, 452, 453, 454,
1137 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1138 465, 0, 0, 0, 0, 0, 466, 448, 449, 450,
1139 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
1140 461, 462, 463, 464, 465, 0, 0, 0, 0, 0,
1141 713, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1142 457, 458, 459, 460, 461, 462, 463, 464, 465, 0,
1143 0, 0, 0, 0, 466, 448, 449, 450, 451, 452,
1144 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1145 463, 464, 465, 0, 0, 0, 0, 0, 713
1148 static const short int yycheck
[] =
1150 41, 30, 9, 137, 18, 9, 0, 19, 23, 23,
1151 148, 74, 396, 141, 366, 27, 470, 24, 25, 26,
1152 470, 23, 422, 727, 141, 154, 155, 156, 169, 416,
1153 378, 379, 419, 0, 393, 18, 177, 41, 729, 57,
1154 761, 35, 763, 358, 756, 23, 29, 727, 34, 364,
1155 33, 18, 32, 34, 35, 40, 9, 705, 11, 40,
1156 34, 727, 29, 33, 52, 32, 33, 41, 35, 428,
1157 74, 52, 57, 43, 6, 39, 3, 9, 782, 6,
1158 44, 802, 34, 10, 218, 12, 13, 14, 15, 16,
1159 17, 443, 72, 0, 446, 4, 5, 6, 105, 40,
1160 9, 42, 114, 39, 111, 112, 113, 148, 774, 39,
1161 40, 132, 42, 131, 41, 39, 782, 829, 42, 42,
1162 479, 39, 45, 130, 40, 43, 44, 631, 819, 633,
1163 145, 145, 447, 140, 141, 142, 143, 144, 142, 202,
1164 126, 43, 44, 145, 148, 152, 43, 44, 860, 17,
1165 18, 466, 467, 6, 7, 8, 804, 41, 42, 163,
1166 175, 175, 40, 884, 44, 869, 857, 145, 209, 817,
1167 44, 862, 57, 175, 854, 95, 183, 41, 42, 41,
1168 42, 195, 196, 41, 42, 168, 143, 144, 854, 837,
1169 197, 174, 199, 195, 196, 886, 38, 175, 202, 39,
1170 880, 168, 40, 869, 45, 44, 43, 174, 608, 31,
1171 31, 45, 31, 39, 880, 44, 44, 671, 31, 46,
1172 40, 671, 676, 6, 40, 39, 676, 125, 40, 39,
1173 358, 17, 18, 44, 43, 40, 364, 39, 39, 6,
1174 48, 358, 34, 41, 385, 48, 630, 364, 632, 117,
1175 118, 119, 120, 121, 122, 42, 615, 30, 617, 100,
1176 101, 102, 103, 104, 105, 106, 100, 101, 102, 103,
1177 104, 105, 106, 48, 40, 634, 40, 39, 48, 39,
1178 32, 40, 4, 5, 6, 7, 8, 9, 10, 11,
1179 48, 40, 39, 41, 33, 17, 41, 19, 20, 21,
1180 22, 23, 24, 25, 26, 41, 41, 41, 30, 42,
1181 39, 43, 43, 665, 41, 37, 668, 669, 41, 447,
1182 41, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1183 447, 41, 395, 41, 43, 42, 42, 42, 466, 467,
1184 41, 40, 729, 40, 407, 48, 42, 116, 33, 466,
1185 467, 358, 43, 40, 713, 714, 363, 364, 100, 101,
1186 102, 103, 104, 105, 106, 39, 407, 40, 727, 41,
1187 92, 93, 94, 95, 415, 382, 417, 99, 39, 41,
1188 43, 33, 42, 39, 42, 42, 770, 771, 41, 40,
1189 32, 395, 42, 40, 406, 41, 33, 33, 41, 43,
1190 41, 405, 42, 407, 42, 33, 765, 41, 130, 757,
1191 758, 418, 42, 348, 477, 41, 41, 35, 175, 805,
1192 140, 676, 671, 782, 431, 48, 176, 434, 440, 190,
1193 471, 472, 819, 734, 749, 750, 606, 444, 790, 791,
1194 447, 32, 196, 381, 797, 635, 805, 440, 807, 29,
1195 763, 106, 880, 415, 388, 470, 470, 816, 419, 466,
1196 467, 773, 736, -1, -1, -1, -1, -1, 470, -1,
1197 857, -1, -1, 477, -1, 862, 470, -1, -1, -1,
1198 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1199 9, 10, 11, -1, 853, 854, -1, -1, 17, 886,
1200 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1201 869, 30, -1, -1, -1, 38, -1, -1, 37, 38,
1202 39, 880, 3, -1, -1, 6, -1, -1, -1, 10,
1203 49, 12, 13, 14, 15, 16, 17, 675, -1, -1,
1204 -1, -1, -1, -1, -1, -1, -1, -1, -1, 678,
1205 679, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1206 83, 84, 85, -1, 87, 88, 89, 90, -1, -1,
1207 -1, -1, 91, 92, 93, 94, 95, 96, 97, -1,
1208 99, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1209 -1, -1, -1, -1, -1, -1, 659, -1, -1, -1,
1210 -1, -1, -1, -1, 123, -1, -1, -1, -1, 128,
1211 -1, 130, -1, 615, -1, 622, 657, 631, -1, 633,
1212 627, 749, 750, -1, 628, -1, -1, -1, 635, 631,
1213 -1, 633, 749, 750, 675, -1, -1, -1, -1, -1,
1214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1215 -1, 658, -1, -1, 788, 659, 671, 671, -1, -1,
1216 -1, 676, 676, -1, -1, -1, -1, -1, -1, 671,
1217 677, 675, -1, -1, 676, 682, -1, 671, -1, -1,
1218 -1, -1, 676, -1, -1, -1, -1, -1, 3, -1,
1219 731, -1, -1, 734, -1, -1, 708, 12, -1, -1,
1220 -1, -1, 17, 18, 733, -1, -1, -1, -1, -1,
1221 -1, 718, -1, -1, -1, 30, 720, -1, -1, -1,
1222 -1, -1, -1, -1, -1, 40, -1, -1, -1, 736,
1223 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1224 -1, -1, 749, 750, 785, 19, 20, 21, 22, 23,
1225 24, 25, 26, -1, 795, -1, 30, 798, 799, 74,
1226 75, 76, 77, 78, -1, -1, -1, -1, -1, -1,
1227 -1, -1, -1, -1, -1, 804, -1, -1, -1, -1,
1228 -1, 96, 789, 98, 99, 100, 101, 102, 103, -1,
1229 -1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
1230 115, 116, 117, 118, 119, 120, 121, 122, 849, -1,
1231 -1, -1, -1, 854, -1, -1, -1, -1, 92, 93,
1232 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1233 -1, -1, -1, -1, -1, -1, -1, 0, -1, 880,
1234 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1235 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1236 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1237 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1238 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1239 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1240 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1241 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1242 83, 84, 85, 86, 87, -1, 89, -1, 91, 92,
1243 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1244 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1245 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1246 123, -1, 125, 126, -1, 128, 129, 130, 131, 132,
1247 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1248 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1249 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1250 30, 31, 32, 33, 34, 35, 36, 37, -1, 39,
1251 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1252 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1253 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1254 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1255 80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
1256 -1, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1257 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1258 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1259 120, 121, 122, 123, -1, -1, 126, -1, 128, 129,
1260 130, 131, 132, 0, -1, -1, 3, 4, 5, 6,
1261 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1262 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1263 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1264 37, -1, 39, 40, 41, 42, 43, 44, 45, 46,
1265 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1266 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1267 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1268 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1269 87, -1, 89, -1, 91, 92, 93, 94, 95, 96,
1270 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1271 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1272 117, 118, 119, 120, 121, 122, 123, -1, -1, 126,
1273 -1, 128, 129, 130, 131, 132, 0, -1, -1, 3,
1274 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1275 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1276 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1277 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
1278 44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
1279 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1280 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1281 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1282 84, 85, 86, 87, -1, 89, -1, 91, 92, 93,
1283 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1284 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1285 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1286 3, -1, 126, -1, 128, 129, 130, 131, 132, 12,
1287 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1288 -1, -1, -1, -1, 27, 28, 29, 30, -1, -1,
1289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1290 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1291 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1292 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1293 -1, 74, 75, 76, 77, 78, 37, -1, -1, -1,
1294 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
1295 -1, -1, -1, 96, -1, 98, 99, 100, 101, 102,
1296 103, -1, -1, -1, 107, 108, 109, 110, 111, 112,
1297 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1298 -1, -1, -1, -1, -1, 128, -1, 130, 131, -1,
1299 -1, 92, 93, 94, 95, 4, 5, 6, 7, 8,
1300 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
1301 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1302 -1, 30, -1, -1, -1, -1, -1, 128, 37, -1,
1303 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1304 -1, -1, -1, -1, -1, 17, -1, 19, 20, 21,
1305 22, 23, 24, 25, 26, -1, -1, -1, 30, -1,
1306 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
1307 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1308 10, 11, -1, 92, 93, 94, 95, 17, -1, 19,
1309 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1310 30, -1, -1, -1, -1, -1, -1, 37, -1, -1,
1311 -1, -1, -1, -1, -1, -1, -1, -1, -1, 128,
1312 92, 93, 94, 95, 4, 5, 6, 7, 8, 9,
1313 10, 11, -1, -1, -1, -1, -1, 17, -1, 19,
1314 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1315 30, -1, -1, -1, -1, -1, 128, 37, -1, -1,
1316 -1, -1, 92, 93, 94, 95, -1, 3, 4, 5,
1317 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
1318 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1319 26, -1, -1, -1, 30, 31, -1, 33, 128, 35,
1320 36, 37, -1, -1, 40, -1, -1, -1, -1, -1,
1321 -1, 91, 92, 93, 94, 95, -1, -1, -1, 55,
1322 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1323 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1324 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1325 -1, -1, -1, -1, -1, -1, 92, 93, 94, 95,
1326 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1327 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1328 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1329 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1330 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1331 -1, 27, 28, 29, 30, 31, -1, 33, 34, 35,
1332 36, -1, -1, -1, 40, -1, -1, -1, 3, 4,
1333 5, 6, 7, 8, 9, 10, 11, 12, -1, 55,
1334 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1335 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1336 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1337 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1338 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1339 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1340 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1341 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1342 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1343 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1344 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1345 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1346 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1347 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1348 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1350 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
1351 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1352 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1353 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1354 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1355 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1356 36, -1, -1, -1, 40, -1, -1, -1, -1, 4,
1357 5, 6, 7, 8, 9, 10, 11, -1, -1, 55,
1358 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1359 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1360 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1362 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
1363 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1364 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1365 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1366 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1367 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1368 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1369 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1370 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1371 -1, -1, 68, 69, -1, -1, 72, -1, 74, 75,
1372 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1373 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1374 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1375 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1376 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1377 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1378 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1379 -1, -1, -1, -1, 30, 31, 32, 33, -1, 35,
1380 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1381 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1382 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1384 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1386 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1387 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1388 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1389 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1390 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1391 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1392 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1393 -1, 47, -1, -1, -1, -1, -1, -1, -1, 55,
1394 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1395 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1396 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1397 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1398 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1399 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1400 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1401 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1402 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1403 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1404 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1405 -1, -1, -1, -1, -1, -1, 52, -1, -1, 55,
1406 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1407 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1408 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1410 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1411 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1412 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1413 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1414 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1415 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1416 36, -1, -1, -1, 40, -1, -1, -1, -1, 4,
1417 5, 6, 7, 8, 9, 10, 11, -1, -1, 55,
1418 56, 57, 17, -1, 19, 20, 21, 22, 23, 24,
1419 25, 26, 68, 69, -1, 30, -1, -1, 74, 75,
1420 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1422 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1423 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1424 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1425 -1, -1, -1, -1, -1, -1, 12, 92, 93, 94,
1426 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1427 26, -1, -1, -1, 30, -1, -1, -1, -1, -1,
1428 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1430 -1, 57, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, -1, -1, -1, -1, -1, -1, -1, 74, 75,
1432 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1434 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1435 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1436 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1437 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1438 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1439 -1, -1, -1, -1, 30, -1, -1, 33, -1, 35,
1440 36, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1441 -1, -1, -1, -1, -1, -1, -1, -1, -1, 55,
1442 56, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1443 -1, -1, 68, 69, -1, -1, -1, -1, 74, 75,
1444 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1445 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1446 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1447 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1448 116, 117, 118, 119, 120, 121, 122, 3, -1, -1,
1449 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1450 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1451 26, -1, 47, -1, 30, 50, 51, 52, 53, 54,
1452 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1453 65, 66, 67, -1, -1, -1, 3, -1, 73, -1,
1454 -1, 57, -1, -1, -1, 12, -1, -1, -1, -1,
1455 17, 18, -1, -1, -1, -1, -1, -1, 74, 75,
1456 76, 77, 78, 30, -1, -1, -1, -1, -1, -1,
1457 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
1458 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1459 57, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1460 116, 117, 118, 119, 120, 121, 122, 74, 75, 76,
1461 77, 78, 3, -1, -1, -1, -1, -1, -1, -1,
1462 -1, 12, -1, -1, -1, -1, 17, 18, -1, 96,
1463 -1, 98, 99, 100, 101, 102, 103, -1, -1, 30,
1464 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1465 117, 118, 119, 120, 121, 122, -1, -1, -1, -1,
1466 -1, 3, -1, -1, -1, -1, 57, -1, -1, -1,
1467 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1468 -1, -1, -1, 74, 75, 76, 77, 78, 30, -1,
1469 -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
1470 -1, -1, -1, -1, -1, 96, -1, 98, 99, 100,
1471 101, 102, 103, -1, -1, -1, 107, 108, 109, 110,
1472 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1473 121, 122, 74, 75, 76, 77, 78, -1, -1, -1,
1474 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1475 -1, -1, -1, -1, 96, -1, 98, 99, 100, 101,
1476 102, 103, -1, -1, -1, 107, 108, 109, 110, 111,
1477 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1478 122, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1479 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1480 -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
1481 -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
1482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1483 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
1484 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1485 -1, -1, 74, 75, 76, 77, 78, -1, -1, 30,
1486 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1487 -1, -1, -1, -1, 96, -1, 98, 99, 100, 101,
1488 102, 103, -1, -1, -1, 107, 108, 109, 110, 111,
1489 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1490 122, 72, -1, 74, 75, 76, 77, 78, 3, -1,
1491 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1492 -1, -1, 17, 18, -1, 96, -1, 98, 99, 100,
1493 101, 102, 103, -1, -1, 30, 107, 108, 109, 110,
1494 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1495 121, 122, -1, -1, -1, -1, -1, 3, -1, -1,
1496 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1497 -1, 17, 18, -1, -1, -1, -1, 72, -1, 74,
1498 75, 76, 77, 78, 30, -1, -1, -1, -1, -1,
1499 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1500 -1, 96, -1, 98, 99, 100, 101, 102, 103, -1,
1501 -1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
1502 115, 116, 117, 118, 119, 120, 121, 122, 74, 75,
1503 76, 77, 78, -1, -1, -1, -1, -1, -1, -1,
1504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1505 96, -1, 98, 99, 100, 101, 102, 103, -1, -1,
1506 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1507 116, 117, 118, 119, 120, 121, 122, 4, 5, 6,
1508 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1509 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1510 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1511 37, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1512 -1, -1, -1, -1, 17, -1, 19, 20, 21, 22,
1513 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
1514 -1, -1, -1, -1, 37, 72, -1, -1, -1, -1,
1515 -1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1516 8, 9, 10, 11, -1, 92, 93, 94, 95, 17,
1517 -1, 19, 20, 21, 22, 23, 24, 25, 26, 72,
1518 -1, -1, 30, -1, -1, -1, -1, -1, -1, 37,
1519 4, 5, 6, 7, 8, 9, 10, 11, -1, 92,
1520 93, 94, 95, 17, -1, 19, 20, 21, 22, 23,
1521 24, 25, 26, -1, -1, -1, 30, -1, -1, -1,
1522 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
1523 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1524 9, 10, 11, -1, 92, 93, 94, 95, 17, -1,
1525 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1526 -1, 30, -1, -1, -1, -1, -1, -1, 37, 4,
1527 5, 6, 7, 8, 9, 10, 11, -1, 92, 93,
1528 94, 95, 17, -1, 19, 20, 21, 22, 23, 24,
1529 25, 26, -1, -1, -1, 30, -1, -1, -1, -1,
1530 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
1531 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1532 10, 11, -1, 92, 93, 94, 95, 17, -1, 19,
1533 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1534 30, -1, -1, -1, -1, -1, -1, 37, 4, 5,
1535 6, 7, 8, 9, 10, 11, -1, 92, 93, 94,
1536 95, -1, -1, 19, 20, 21, 22, 23, 24, 25,
1537 26, -1, -1, -1, 30, -1, -1, -1, 34, 35,
1538 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1539 -1, -1, -1, -1, -1, 39, 52, -1, -1, -1,
1540 -1, -1, 92, 93, 94, 95, 50, 51, 52, 53,
1541 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1542 64, 65, 66, 67, -1, -1, -1, -1, -1, 73,
1543 41, -1, -1, -1, -1, -1, 92, 93, 94, 50,
1544 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1545 61, 62, 63, 64, 65, 66, 67, 41, -1, -1,
1546 -1, -1, 73, -1, -1, -1, 50, 51, 52, 53,
1547 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1548 64, 65, 66, 67, 41, -1, -1, -1, -1, 73,
1549 -1, -1, -1, 50, 51, 52, 53, 54, 55, 56,
1550 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1551 67, 42, -1, -1, -1, -1, 73, -1, -1, 50,
1552 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1553 61, 62, 63, 64, 65, 66, 67, 43, -1, -1,
1554 -1, -1, 73, -1, 50, 51, 52, 53, 54, 55,
1555 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1556 66, 67, 43, -1, -1, -1, -1, 73, -1, 50,
1557 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1558 61, 62, 63, 64, 65, 66, 67, -1, -1, -1,
1559 -1, -1, 73, 50, 51, 52, 53, 54, 55, 56,
1560 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1561 67, -1, -1, -1, -1, -1, 73, 50, 51, 52,
1562 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1563 63, 64, 65, 66, 67, -1, -1, -1, -1, -1,
1564 73, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1565 59, 60, 61, 62, 63, 64, 65, 66, 67, -1,
1566 -1, -1, -1, -1, 73, 50, 51, 52, 53, 54,
1567 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1568 65, 66, 67, -1, -1, -1, -1, -1, 73
1571 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1572 symbol of state STATE-NUM. */
1573 static const unsigned short int yystos
[] =
1575 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1576 19, 20, 21, 22, 23, 24, 25, 26, 30, 37,
1577 38, 39, 49, 91, 92, 93, 94, 95, 96, 97,
1578 99, 123, 128, 130, 141, 142, 143, 144, 145, 163,
1579 168, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1580 186, 189, 190, 193, 197, 198, 199, 200, 201, 202,
1581 205, 207, 208, 214, 222, 233, 234, 9, 11, 3,
1582 12, 17, 18, 30, 40, 57, 74, 75, 76, 77,
1583 78, 96, 98, 99, 100, 101, 102, 103, 107, 108,
1584 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1585 119, 120, 121, 122, 138, 230, 231, 232, 249, 259,
1586 30, 92, 93, 94, 95, 198, 205, 174, 38, 74,
1587 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1588 85, 87, 88, 89, 90, 146, 147, 148, 149, 151,
1589 152, 153, 17, 92, 93, 128, 169, 171, 173, 199,
1590 200, 205, 214, 223, 224, 138, 138, 138, 225, 3,
1591 6, 10, 12, 17, 164, 165, 174, 34, 130, 198,
1592 234, 52, 267, 268, 30, 91, 197, 198, 0, 143,
1593 138, 206, 229, 230, 4, 5, 6, 9, 182, 6,
1594 179, 185, 39, 132, 187, 40, 40, 44, 44, 229,
1595 230, 95, 40, 138, 131, 232, 138, 138, 138, 42,
1596 191, 27, 28, 29, 128, 130, 131, 138, 154, 155,
1597 38, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1598 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1599 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1600 31, 32, 33, 34, 35, 36, 37, 39, 40, 41,
1601 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1602 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1603 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1604 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1605 82, 83, 84, 85, 86, 87, 89, 91, 92, 93,
1606 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1607 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1608 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1609 126, 128, 129, 130, 131, 132, 139, 158, 159, 158,
1610 34, 126, 150, 138, 154, 33, 35, 36, 40, 55,
1611 56, 68, 69, 86, 137, 138, 160, 219, 138, 138,
1612 225, 138, 225, 171, 39, 178, 138, 43, 227, 227,
1613 227, 227, 230, 31, 39, 198, 44, 194, 44, 31,
1614 169, 187, 194, 46, 228, 40, 138, 6, 183, 6,
1615 9, 184, 182, 40, 39, 17, 95, 173, 203, 204,
1616 205, 203, 138, 215, 216, 100, 101, 102, 103, 104,
1617 105, 106, 240, 241, 242, 255, 256, 262, 263, 264,
1618 138, 229, 192, 206, 230, 125, 158, 139, 34, 35,
1619 40, 52, 221, 160, 40, 138, 160, 40, 50, 51,
1620 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1621 62, 63, 64, 65, 66, 67, 73, 136, 39, 43,
1622 44, 210, 210, 39, 209, 210, 209, 40, 138, 48,
1623 194, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1624 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1625 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1626 31, 32, 33, 34, 35, 36, 37, 39, 40, 41,
1627 42, 43, 46, 47, 48, 49, 50, 51, 52, 53,
1628 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1629 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1630 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1631 84, 85, 86, 87, 89, 91, 92, 93, 94, 95,
1632 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1633 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1634 116, 117, 118, 119, 120, 121, 122, 123, 126, 128,
1635 129, 130, 131, 132, 140, 194, 195, 196, 240, 40,
1636 39, 39, 31, 33, 35, 40, 47, 137, 206, 217,
1637 218, 219, 229, 228, 6, 34, 188, 230, 17, 229,
1638 41, 42, 41, 42, 48, 42, 45, 206, 245, 217,
1639 237, 257, 258, 259, 267, 206, 138, 265, 266, 18,
1640 258, 259, 45, 241, 217, 41, 138, 42, 40, 174,
1641 220, 221, 30, 41, 138, 160, 161, 162, 160, 160,
1642 40, 128, 170, 171, 172, 173, 211, 214, 223, 224,
1643 206, 206, 229, 27, 28, 29, 34, 166, 167, 217,
1644 45, 196, 45, 3, 6, 10, 12, 13, 14, 15,
1645 16, 17, 41, 235, 236, 238, 239, 30, 95, 173,
1646 217, 217, 47, 73, 136, 138, 34, 41, 230, 228,
1647 17, 72, 204, 228, 72, 217, 216, 48, 39, 48,
1648 39, 40, 32, 48, 40, 39, 42, 39, 39, 41,
1649 206, 72, 138, 156, 157, 229, 41, 41, 41, 42,
1650 43, 33, 172, 43, 226, 45, 170, 227, 227, 138,
1651 39, 43, 41, 42, 237, 41, 41, 217, 217, 41,
1652 41, 41, 27, 97, 98, 116, 217, 244, 246, 247,
1653 248, 249, 268, 257, 206, 267, 192, 266, 41, 42,
1654 160, 160, 42, 33, 43, 42, 212, 226, 210, 210,
1655 41, 238, 43, 236, 238, 48, 217, 43, 228, 228,
1656 116, 246, 17, 18, 249, 252, 40, 40, 244, 42,
1657 260, 206, 41, 158, 72, 138, 33, 43, 40, 206,
1658 213, 39, 212, 238, 267, 166, 217, 40, 217, 237,
1659 72, 257, 261, 41, 39, 41, 43, 33, 226, 42,
1660 39, 72, 237, 42, 42, 250, 41, 42, 40, 42,
1661 206, 32, 40, 217, 206, 243, 244, 245, 251, 268,
1662 41, 257, 33, 33, 226, 41, 253, 254, 257, 41,
1663 42, 244, 42, 41, 43, 41, 42, 243, 33, 238,
1667 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1668 static const unsigned short int yyr1
[] =
1670 0, 135, 136, 136, 136, 136, 136, 136, 136, 136,
1671 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1672 137, 137, 137, 137, 138, 138, 138, 138, 138, 138,
1673 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
1674 138, 138, 139, 139, 139, 139, 139, 139, 139, 139,
1675 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1676 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1677 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1678 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1679 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1680 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1681 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1682 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1683 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1684 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1685 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1686 139, 139, 139, 139, 139, 139, 139, 140, 140, 140,
1687 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1688 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1689 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1690 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1691 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1692 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1693 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1694 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1695 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1696 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1697 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1698 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
1699 141, 141, 142, 142, 143, 143, 143, 143, 143, 143,
1700 143, 143, 143, 143, 143, 143, 143, 143, 144, 145,
1701 145, 146, 146, 146, 146, 146, 146, 146, 146, 147,
1702 147, 148, 148, 149, 149, 149, 150, 150, 151, 151,
1703 152, 152, 152, 153, 153, 154, 154, 154, 154, 154,
1704 154, 154, 155, 155, 156, 156, 156, 156, 157, 157,
1705 158, 158, 159, 159, 160, 160, 160, 160, 160, 160,
1706 160, 160, 160, 160, 160, 161, 161, 162, 162, 163,
1707 164, 165, 165, 165, 165, 166, 166, 166, 167, 167,
1708 167, 167, 168, 168, 168, 169, 169, 170, 170, 171,
1709 171, 171, 171, 171, 171, 172, 172, 172, 172, 172,
1710 173, 173, 173, 174, 174, 175, 175, 175, 176, 176,
1711 176, 176, 177, 177, 177, 178, 178, 178, 178, 178,
1712 178, 178, 178, 179, 179, 180, 180, 180, 181, 181,
1713 181, 181, 182, 182, 182, 182, 182, 183, 183, 184,
1714 184, 184, 184, 185, 185, 185, 186, 186, 187, 187,
1715 188, 188, 189, 190, 191, 191, 192, 192, 193, 193,
1716 193, 194, 195, 195, 196, 196, 197, 197, 198, 198,
1717 199, 199, 200, 200, 201, 201, 201, 201, 202, 202,
1718 203, 203, 203, 203, 204, 204, 204, 204, 205, 205,
1719 205, 205, 206, 206, 207, 208, 209, 209, 210, 211,
1720 211, 212, 212, 213, 213, 214, 215, 215, 216, 216,
1721 217, 217, 217, 217, 217, 217, 218, 218, 218, 218,
1722 218, 219, 219, 220, 220, 221, 221, 221, 222, 223,
1723 224, 225, 225, 226, 226, 226, 226, 227, 227, 228,
1724 228, 228, 229, 229, 230, 230, 231, 231, 232, 232,
1725 233, 233, 234, 234, 234, 235, 235, 236, 236, 237,
1726 238, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1727 240, 240, 241, 241, 241, 241, 241, 242, 242, 243,
1728 243, 243, 244, 244, 244, 244, 244, 244, 245, 245,
1729 246, 247, 248, 249, 249, 249, 249, 249, 249, 249,
1730 249, 249, 249, 250, 250, 251, 251, 252, 252, 253,
1731 253, 254, 254, 255, 256, 257, 257, 257, 258, 258,
1732 259, 259, 259, 259, 259, 259, 259, 259, 260, 260,
1733 261, 261, 262, 263, 263, 264, 265, 265, 266, 267,
1737 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1738 static const unsigned char yyr2
[] =
1740 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1749 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1755 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1756 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1757 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1758 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1760 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1761 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1763 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1764 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1765 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1766 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1767 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1768 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1769 0, 1, 1, 2, 1, 1, 1, 1, 1, 1,
1770 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
1771 3, 2, 2, 1, 2, 2, 2, 1, 2, 1,
1772 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1773 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1774 1, 1, 6, 2, 0, 1, 1, 3, 1, 3,
1775 0, 1, 1, 2, 3, 2, 3, 5, 2, 4,
1776 1, 1, 1, 1, 4, 0, 1, 1, 3, 6,
1777 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
1778 1, 1, 3, 4, 4, 1, 2, 1, 2, 1,
1779 1, 2, 4, 4, 2, 1, 1, 1, 3, 3,
1780 2, 2, 1, 1, 1, 2, 2, 2, 1, 1,
1781 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1782 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
1783 2, 2, 0, 1, 2, 1, 2, 0, 1, 0,
1784 1, 1, 2, 0, 1, 2, 3, 4, 0, 4,
1785 1, 2, 2, 3, 0, 2, 1, 3, 3, 3,
1786 4, 3, 1, 2, 1, 1, 1, 2, 1, 1,
1787 5, 7, 5, 7, 6, 7, 6, 5, 1, 2,
1788 0, 1, 1, 3, 1, 2, 3, 2, 1, 2,
1789 4, 3, 3, 2, 4, 4, 1, 1, 3, 4,
1790 5, 0, 2, 2, 4, 4, 1, 3, 1, 3,
1791 1, 4, 3, 3, 2, 5, 1, 1, 1, 1,
1792 1, 4, 2, 1, 2, 2, 1, 1, 2, 2,
1793 2, 0, 1, 0, 2, 7, 9, 0, 7, 0,
1794 2, 3, 0, 1, 1, 2, 1, 2, 1, 2,
1795 4, 5, 7, 8, 13, 1, 3, 2, 4, 2,
1796 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1797 1, 2, 1, 1, 1, 1, 1, 3, 6, 1,
1798 2, 1, 1, 1, 2, 1, 1, 1, 3, 4,
1799 6, 8, 5, 1, 1, 1, 1, 1, 1, 1,
1800 1, 1, 1, 0, 2, 1, 3, 1, 1, 0,
1801 1, 1, 3, 3, 3, 1, 1, 3, 5, 6,
1802 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
1803 1, 3, 3, 1, 1, 3, 1, 3, 4, 0,
1808 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1809 static const unsigned char yydprec
[] =
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1879 static const unsigned char yymerger
[] =
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1949 in the case of predicates. */
1950 static const yybool yyimmediate
[] =
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2020 list of conflicting reductions corresponding to action entry for
2021 state STATE-NUM in yytable. 0 means no conflicts. The list in
2022 yyconfl is terminated by a rule number of 0. */
2023 static const unsigned short int yyconflp
[] =
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, 5,
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, 265, 0, 0, 0, 0, 267, 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, 269, 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, 7, 0, 0,
2109 9, 11, 13, 15, 17, 19, 21, 23, 25, 27,
2110 29, 31, 33, 35, 37, 39, 41, 43, 45, 47,
2111 49, 51, 53, 55, 57, 59, 61, 63, 65, 67,
2112 69, 71, 73, 75, 77, 79, 81, 83, 85, 87,
2113 89, 91, 93, 95, 97, 99, 101, 103, 105, 107,
2114 109, 111, 113, 115, 117, 119, 121, 123, 125, 127,
2115 129, 131, 133, 135, 137, 139, 141, 143, 145, 147,
2116 149, 151, 153, 155, 157, 159, 161, 163, 165, 167,
2117 169, 171, 173, 175, 177, 0, 179, 0, 181, 183,
2118 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
2119 205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
2120 225, 227, 229, 231, 233, 235, 237, 239, 241, 243,
2121 245, 0, 247, 249, 0, 251, 253, 255, 257, 259,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 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, 0, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2393 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
2394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2403 0, 0, 261, 0, 0, 0, 0, 0, 0, 0,
2404 0, 0, 0, 0, 0, 263, 0, 0, 0, 0,
2405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 271, 0, 0, 0, 0, 0,
2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2443 0, 0, 0, 0, 0, 0, 0, 0, 273
2446 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2447 0, pointed into by YYCONFLP. */
2448 static const short int yyconfl
[] =
2450 0, 411, 0, 411, 0, 488, 0, 626, 0, 626,
2451 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2452 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2453 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2454 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2455 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2456 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2457 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2458 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2459 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2460 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2461 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2462 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2463 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2464 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2465 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2466 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2467 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2468 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2469 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2470 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2471 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2472 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2473 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2474 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2475 0, 626, 0, 626, 0, 626, 0, 626, 0, 626,
2476 0, 411, 0, 411, 0, 532, 0, 532, 0, 411,
2480 /* Error token number */
2487 #define yynerrs (yystackp->yyerrcnt)
2489 #define yychar (yystackp->yyrawchar)
2491 #define yylval (yystackp->yyval)
2493 #define yylloc (yystackp->yyloc)
2494 #define psi_parser_proc_nerrs yynerrs
2495 #define psi_parser_proc_char yychar
2496 #define psi_parser_proc_lval yylval
2497 #define psi_parser_proc_lloc yylloc
2499 static const int YYEOF
= 0;
2500 static const int YYEMPTY
= -2;
2502 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2504 #define YYCHK(YYE) \
2506 YYRESULTTAG yychk_flag = YYE; \
2507 if (yychk_flag != yyok) \
2508 return yychk_flag; \
2514 # define YYFPRINTF fprintf
2517 /* This macro is provided for backward compatibility. */
2518 #ifndef YY_LOCATION_PRINT
2519 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2523 # define YYDPRINTF(Args) \
2530 /*----------------------------------------.
2531 | Print this symbol's value on YYOUTPUT. |
2532 `----------------------------------------*/
2535 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2537 FILE *yyo
= yyoutput
;
2548 /*--------------------------------.
2549 | Print this symbol on YYOUTPUT. |
2550 `--------------------------------*/
2553 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2555 YYFPRINTF (yyoutput
, "%s %s (",
2556 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2558 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2559 YYFPRINTF (yyoutput
, ")");
2562 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2566 YYFPRINTF (stderr, "%s ", Title); \
2567 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2568 YYFPRINTF (stderr, "\n"); \
2572 /* Nonzero means print parse trace. It is left uninitialized so that
2573 multiple parsers can coexist. */
2577 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2578 YY_ATTRIBUTE_UNUSED
;
2579 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2580 YY_ATTRIBUTE_UNUSED
;
2582 #else /* !YYDEBUG */
2584 # define YYDPRINTF(Args)
2585 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2587 #endif /* !YYDEBUG */
2589 /* YYINITDEPTH -- initial size of the parser's stacks. */
2591 # define YYINITDEPTH 200
2594 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2595 if the built-in stack extension method is used).
2597 Do not make this value too large; the results are undefined if
2598 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2599 evaluated with infinite-precision integer arithmetic. */
2602 # define YYMAXDEPTH 10000
2605 /* Minimum number of free items on the stack allowed after an
2606 allocation. This is to allow allocation and initialization
2607 to be completed by functions that call yyexpandGLRStack before the
2608 stack is expanded, thus insuring that all necessary pointers get
2609 properly redirected to new data. */
2610 #define YYHEADROOM 2
2612 #ifndef YYSTACKEXPANDABLE
2613 # define YYSTACKEXPANDABLE 1
2616 #if YYSTACKEXPANDABLE
2617 # define YY_RESERVE_GLRSTACK(Yystack) \
2619 if (Yystack->yyspaceLeft < YYHEADROOM) \
2620 yyexpandGLRStack (Yystack); \
2623 # define YY_RESERVE_GLRSTACK(Yystack) \
2625 if (Yystack->yyspaceLeft < YYHEADROOM) \
2626 yyMemoryExhausted (Yystack); \
2634 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2635 # define yystpcpy stpcpy
2637 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2640 yystpcpy (char *yydest
, const char *yysrc
)
2643 const char *yys
= yysrc
;
2645 while ((*yyd
++ = *yys
++) != '\0')
2654 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2655 quotes and backslashes, so that it's suitable for yyerror. The
2656 heuristic is that double-quoting is unnecessary unless the string
2657 contains an apostrophe, a comma, or backslash (other than
2658 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2659 null, do not copy; instead, return the length of what the result
2662 yytnamerr (char *yyres
, const char *yystr
)
2667 char const *yyp
= yystr
;
2674 goto do_not_strip_quotes
;
2678 goto do_not_strip_quotes
;
2691 do_not_strip_quotes
: ;
2695 return strlen (yystr
);
2697 return yystpcpy (yyres
, yystr
) - yyres
;
2701 #endif /* !YYERROR_VERBOSE */
2703 /** State numbers, as in LALR(1) machine */
2704 typedef int yyStateNum
;
2706 /** Rule numbers, as in LALR(1) machine */
2707 typedef int yyRuleNum
;
2709 /** Grammar symbol */
2710 typedef int yySymbol
;
2712 /** Item references, as in LALR(1) machine */
2713 typedef short int yyItemNum
;
2715 typedef struct yyGLRState yyGLRState
;
2716 typedef struct yyGLRStateSet yyGLRStateSet
;
2717 typedef struct yySemanticOption yySemanticOption
;
2718 typedef union yyGLRStackItem yyGLRStackItem
;
2719 typedef struct yyGLRStack yyGLRStack
;
2722 /** Type tag: always true. */
2724 /** Type tag for yysemantics. If true, yysval applies, otherwise
2725 * yyfirstVal applies. */
2727 /** Number of corresponding LALR(1) machine state. */
2728 yyStateNum yylrState
;
2729 /** Preceding state in this stack */
2731 /** Source position of the last token produced by my symbol */
2734 /** First in a chain of alternative reductions producing the
2735 * non-terminal corresponding to this state, threaded through
2737 yySemanticOption
* yyfirstVal
;
2738 /** Semantic value for this state. */
2743 struct yyGLRStateSet
{
2744 yyGLRState
** yystates
;
2745 /** During nondeterministic operation, yylookaheadNeeds tracks which
2746 * stacks have actually needed the current lookahead. During deterministic
2747 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2748 * duplicate yychar != YYEMPTY. */
2749 yybool
* yylookaheadNeeds
;
2750 size_t yysize
, yycapacity
;
2753 struct yySemanticOption
{
2754 /** Type tag: always false. */
2756 /** Rule number for this reduction */
2758 /** The last RHS state in the list of states to be reduced. */
2759 yyGLRState
* yystate
;
2760 /** The lookahead for this reduction. */
2763 /** Next sibling in chain of options. To facilitate merging,
2764 * options are chained in decreasing order by address. */
2765 yySemanticOption
* yynext
;
2768 /** Type of the items in the GLR stack. The yyisState field
2769 * indicates which item of the union is valid. */
2770 union yyGLRStackItem
{
2772 yySemanticOption yyoption
;
2783 YYJMP_BUF yyexception_buffer
;
2784 yyGLRStackItem
* yyitems
;
2785 yyGLRStackItem
* yynextFree
;
2787 yyGLRState
* yysplitPoint
;
2788 yyGLRState
* yylastDeleted
;
2789 yyGLRStateSet yytops
;
2792 #if YYSTACKEXPANDABLE
2793 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2796 static _Noreturn
void
2797 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2799 if (yymsg
!= YY_NULLPTR
)
2800 yyerror (P
, tokens
, index
, yymsg
);
2801 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2804 static _Noreturn
void
2805 yyMemoryExhausted (yyGLRStack
* yystackp
)
2807 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2810 #if YYDEBUG || YYERROR_VERBOSE
2811 /** A printable representation of TOKEN. */
2812 static inline const char*
2813 yytokenName (yySymbol yytoken
)
2815 if (yytoken
== YYEMPTY
)
2818 return yytname
[yytoken
];
2822 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2823 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2824 * containing the pointer to the next state in the chain. */
2825 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2827 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2830 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2831 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2834 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2836 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2838 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2840 /* The effect of using yysval or yyloc (in an immediate rule) is
2842 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2843 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2847 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2848 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2849 * For convenience, always return YYLOW1. */
2850 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2851 YY_ATTRIBUTE_UNUSED
;
2853 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2855 if (!yynormal
&& yylow1
< *yylow
)
2857 yyfillin (yyvsp
, *yylow
, yylow1
);
2863 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2864 * and top stack item YYVSP. YYLVALP points to place to put semantic
2865 * value ($$), and yylocp points to place for location information
2866 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2867 * yyerr for YYERROR, yyabort for YYABORT. */
2869 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2870 yyGLRStack
* yystackp
,
2871 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2873 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2881 # define yyerrok (yystackp->yyerrState = 0)
2883 # define YYACCEPT return yyaccept
2885 # define YYABORT return yyabort
2887 # define YYERROR return yyerrok, yyerr
2888 # undef YYRECOVERING
2889 # define YYRECOVERING() (yystackp->yyerrState != 0)
2891 # define yyclearin (yychar = YYEMPTY)
2893 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2895 # define YYBACKUP(Token, Value) \
2896 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2901 *yyvalp
= yyval_default
;
2903 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2907 #line 413 "src/parser_proc_grammar.y" /* glr.c:816 */
2909 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2910 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2911 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2914 #line 2915 "src/parser_proc.c" /* glr.c:816 */
2918 #line 419 "src/parser_proc_grammar.y" /* glr.c:816 */
2921 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2922 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2924 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
);
2927 #line 2928 "src/parser_proc.c" /* glr.c:816 */
2931 #line 427 "src/parser_proc_grammar.y" /* glr.c:816 */
2933 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2935 #line 2936 "src/parser_proc.c" /* glr.c:816 */
2939 #line 430 "src/parser_proc_grammar.y" /* glr.c:816 */
2941 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2943 #line 2944 "src/parser_proc.c" /* glr.c:816 */
2947 #line 435 "src/parser_proc_grammar.y" /* glr.c:816 */
2949 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2951 #line 2952 "src/parser_proc.c" /* glr.c:816 */
2955 #line 438 "src/parser_proc_grammar.y" /* glr.c:816 */
2957 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2959 #line 2960 "src/parser_proc.c" /* glr.c:816 */
2963 #line 441 "src/parser_proc_grammar.y" /* glr.c:816 */
2965 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2967 #line 2968 "src/parser_proc.c" /* glr.c:816 */
2971 #line 444 "src/parser_proc_grammar.y" /* glr.c:816 */
2973 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2975 #line 2976 "src/parser_proc.c" /* glr.c:816 */
2979 #line 447 "src/parser_proc_grammar.y" /* glr.c:816 */
2981 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2983 #line 2984 "src/parser_proc.c" /* glr.c:816 */
2987 #line 453 "src/parser_proc_grammar.y" /* glr.c:816 */
2989 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2991 #line 2992 "src/parser_proc.c" /* glr.c:816 */
2995 #line 459 "src/parser_proc_grammar.y" /* glr.c:816 */
2997 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2999 #line 3000 "src/parser_proc.c" /* glr.c:816 */
3003 #line 462 "src/parser_proc_grammar.y" /* glr.c:816 */
3005 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3007 #line 3008 "src/parser_proc.c" /* glr.c:816 */
3011 #line 468 "src/parser_proc_grammar.y" /* glr.c:816 */
3013 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3014 struct psi_token
*msg
= NULL
;
3016 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
3018 struct psi_token
*next
;
3020 msg
= psi_token_copy(msg
);
3021 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
3022 struct psi_token
*old
= msg
;
3023 msg
= psi_token_cat(" ", 2, msg
, next
);
3027 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3029 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
3031 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3033 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3035 #line 3036 "src/parser_proc.c" /* glr.c:816 */
3039 #line 491 "src/parser_proc_grammar.y" /* glr.c:816 */
3041 (*(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
))));
3042 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3044 #line 3045 "src/parser_proc.c" /* glr.c:816 */
3048 #line 495 "src/parser_proc_grammar.y" /* glr.c:816 */
3050 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3051 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3053 #line 3054 "src/parser_proc.c" /* glr.c:816 */
3057 #line 499 "src/parser_proc_grammar.y" /* glr.c:816 */
3059 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3060 (*(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
))));
3061 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3063 #line 3064 "src/parser_proc.c" /* glr.c:816 */
3067 #line 504 "src/parser_proc_grammar.y" /* glr.c:816 */
3069 (*(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
)));
3070 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3072 #line 3073 "src/parser_proc.c" /* glr.c:816 */
3076 #line 508 "src/parser_proc_grammar.y" /* glr.c:816 */
3078 (*(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
)));
3079 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3081 #line 3082 "src/parser_proc.c" /* glr.c:816 */
3085 #line 512 "src/parser_proc_grammar.y" /* glr.c:816 */
3087 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
3088 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3090 #line 3091 "src/parser_proc.c" /* glr.c:816 */
3094 #line 516 "src/parser_proc_grammar.y" /* glr.c:816 */
3096 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3097 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
3099 #line 3100 "src/parser_proc.c" /* glr.c:816 */
3103 #line 570 "src/parser_proc_grammar.y" /* glr.c:816 */
3105 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3106 (*(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
);
3107 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3109 #line 3110 "src/parser_proc.c" /* glr.c:816 */
3113 #line 575 "src/parser_proc_grammar.y" /* glr.c:816 */
3115 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3116 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
3117 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3119 #line 3120 "src/parser_proc.c" /* glr.c:816 */
3123 #line 583 "src/parser_proc_grammar.y" /* glr.c:816 */
3125 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
3127 #line 3128 "src/parser_proc.c" /* glr.c:816 */
3131 #line 586 "src/parser_proc_grammar.y" /* glr.c:816 */
3133 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
3135 #line 3136 "src/parser_proc.c" /* glr.c:816 */
3139 #line 590 "src/parser_proc_grammar.y" /* glr.c:816 */
3141 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3143 #line 3144 "src/parser_proc.c" /* glr.c:816 */
3147 #line 596 "src/parser_proc_grammar.y" /* glr.c:816 */
3149 (*(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
)));
3150 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3151 (*(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
)));
3153 #line 3154 "src/parser_proc.c" /* glr.c:816 */
3157 #line 601 "src/parser_proc_grammar.y" /* glr.c:816 */
3159 (*(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
)));
3160 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3161 (*(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
)));
3163 #line 3164 "src/parser_proc.c" /* glr.c:816 */
3167 #line 609 "src/parser_proc_grammar.y" /* glr.c:816 */
3169 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3171 #line 3172 "src/parser_proc.c" /* glr.c:816 */
3175 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
3177 (*(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
)));
3178 (*(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
)));
3180 #line 3181 "src/parser_proc.c" /* glr.c:816 */
3184 #line 620 "src/parser_proc_grammar.y" /* glr.c:816 */
3186 (*(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
)));
3187 (*(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
)));
3189 #line 3190 "src/parser_proc.c" /* glr.c:816 */
3193 #line 627 "src/parser_proc_grammar.y" /* glr.c:816 */
3195 (*(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
)));
3196 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3198 #line 3199 "src/parser_proc.c" /* glr.c:816 */
3202 #line 631 "src/parser_proc_grammar.y" /* glr.c:816 */
3204 (*(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
)));
3205 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3207 #line 3208 "src/parser_proc.c" /* glr.c:816 */
3211 #line 635 "src/parser_proc_grammar.y" /* glr.c:816 */
3213 (*(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
)));
3214 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3216 #line 3217 "src/parser_proc.c" /* glr.c:816 */
3220 #line 639 "src/parser_proc_grammar.y" /* glr.c:816 */
3222 (*(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
)));
3223 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3225 #line 3226 "src/parser_proc.c" /* glr.c:816 */
3229 #line 644 "src/parser_proc_grammar.y" /* glr.c:816 */
3234 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3235 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3236 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3237 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3240 #line 3241 "src/parser_proc.c" /* glr.c:816 */
3244 #line 654 "src/parser_proc_grammar.y" /* glr.c:816 */
3249 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3250 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3251 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3252 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3255 #line 3256 "src/parser_proc.c" /* glr.c:816 */
3259 #line 664 "src/parser_proc_grammar.y" /* glr.c:816 */
3261 (*(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
));
3262 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3263 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3265 #line 3266 "src/parser_proc.c" /* glr.c:816 */
3269 #line 669 "src/parser_proc_grammar.y" /* glr.c:816 */
3271 (*(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));
3272 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3273 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3275 #line 3276 "src/parser_proc.c" /* glr.c:816 */
3279 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
3281 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3282 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3284 #line 3285 "src/parser_proc.c" /* glr.c:816 */
3288 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
3290 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3291 (*(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));
3292 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3293 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3295 #line 3296 "src/parser_proc.c" /* glr.c:816 */
3299 #line 684 "src/parser_proc_grammar.y" /* glr.c:816 */
3301 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3302 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3303 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));
3304 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3306 #line 3307 "src/parser_proc.c" /* glr.c:816 */
3310 #line 693 "src/parser_proc_grammar.y" /* glr.c:816 */
3312 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3314 #line 3315 "src/parser_proc.c" /* glr.c:816 */
3318 #line 700 "src/parser_proc_grammar.y" /* glr.c:816 */
3320 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3321 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3323 #line 3324 "src/parser_proc.c" /* glr.c:816 */
3327 #line 704 "src/parser_proc_grammar.y" /* glr.c:816 */
3329 (*(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
)));
3331 #line 3332 "src/parser_proc.c" /* glr.c:816 */
3335 #line 710 "src/parser_proc_grammar.y" /* glr.c:816 */
3337 (*(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
)));
3338 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3340 #line 3341 "src/parser_proc.c" /* glr.c:816 */
3344 #line 717 "src/parser_proc_grammar.y" /* glr.c:816 */
3346 (*(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
);
3348 #line 3349 "src/parser_proc.c" /* glr.c:816 */
3352 #line 730 "src/parser_proc_grammar.y" /* glr.c:816 */
3354 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3356 #line 3357 "src/parser_proc.c" /* glr.c:816 */
3360 #line 733 "src/parser_proc_grammar.y" /* glr.c:816 */
3362 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
)) {
3364 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3366 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3367 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3369 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3373 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3374 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3375 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3376 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3377 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3378 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3379 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3380 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3381 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3382 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3388 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3390 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3392 #line 3393 "src/parser_proc.c" /* glr.c:816 */
3396 #line 764 "src/parser_proc_grammar.y" /* glr.c:816 */
3398 (*(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
);
3399 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3401 #line 3402 "src/parser_proc.c" /* glr.c:816 */
3405 #line 778 "src/parser_proc_grammar.y" /* glr.c:816 */
3407 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3409 #line 3410 "src/parser_proc.c" /* glr.c:816 */
3413 #line 781 "src/parser_proc_grammar.y" /* glr.c:816 */
3415 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3416 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3417 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3419 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3420 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3421 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3423 #line 3424 "src/parser_proc.c" /* glr.c:816 */
3427 #line 790 "src/parser_proc_grammar.y" /* glr.c:816 */
3429 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3431 #line 3432 "src/parser_proc.c" /* glr.c:816 */
3435 #line 796 "src/parser_proc_grammar.y" /* glr.c:816 */
3437 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3439 #line 3440 "src/parser_proc.c" /* glr.c:816 */
3443 #line 799 "src/parser_proc_grammar.y" /* glr.c:816 */
3445 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3447 #line 3448 "src/parser_proc.c" /* glr.c:816 */
3451 #line 805 "src/parser_proc_grammar.y" /* glr.c:816 */
3453 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3455 #line 3456 "src/parser_proc.c" /* glr.c:816 */
3459 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
3461 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3463 #line 3464 "src/parser_proc.c" /* glr.c:816 */
3467 #line 815 "src/parser_proc_grammar.y" /* glr.c:816 */
3469 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3470 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3471 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3473 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3474 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3476 #line 3477 "src/parser_proc.c" /* glr.c:816 */
3480 #line 823 "src/parser_proc_grammar.y" /* glr.c:816 */
3482 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3483 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3484 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3485 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3487 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3488 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3489 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3490 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3492 #line 3493 "src/parser_proc.c" /* glr.c:816 */
3496 #line 834 "src/parser_proc_grammar.y" /* glr.c:816 */
3498 (*(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
)));
3499 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3500 (*(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
)));
3501 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3502 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3503 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3504 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3506 #line 3507 "src/parser_proc.c" /* glr.c:816 */
3510 #line 843 "src/parser_proc_grammar.y" /* glr.c:816 */
3512 (*(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
)));
3513 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3514 (*(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
)));
3515 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3516 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3517 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3518 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3520 #line 3521 "src/parser_proc.c" /* glr.c:816 */
3524 #line 852 "src/parser_proc_grammar.y" /* glr.c:816 */
3526 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3527 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0));
3528 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3530 #line 3531 "src/parser_proc.c" /* glr.c:816 */
3534 #line 861 "src/parser_proc_grammar.y" /* glr.c:816 */
3536 (*(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));
3537 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3539 #line 3540 "src/parser_proc.c" /* glr.c:816 */
3543 #line 865 "src/parser_proc_grammar.y" /* glr.c:816 */
3545 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3546 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3547 psi_decl_var_init(NULL
, 0, 0)
3549 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3550 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3551 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3552 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3554 #line 3555 "src/parser_proc.c" /* glr.c:816 */
3558 #line 875 "src/parser_proc_grammar.y" /* glr.c:816 */
3560 (*(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));
3561 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3562 (*(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
)));
3563 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3564 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3565 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3566 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3568 #line 3569 "src/parser_proc.c" /* glr.c:816 */
3572 #line 884 "src/parser_proc_grammar.y" /* glr.c:816 */
3574 (*(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));
3575 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3576 (*(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
)));
3577 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3578 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3579 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3580 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3582 #line 3583 "src/parser_proc.c" /* glr.c:816 */
3586 #line 896 "src/parser_proc_grammar.y" /* glr.c:816 */
3588 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3590 #line 3591 "src/parser_proc.c" /* glr.c:816 */
3594 #line 899 "src/parser_proc_grammar.y" /* glr.c:816 */
3596 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3598 #line 3599 "src/parser_proc.c" /* glr.c:816 */
3602 #line 906 "src/parser_proc_grammar.y" /* glr.c:816 */
3604 (*(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
);
3605 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3607 #line 3608 "src/parser_proc.c" /* glr.c:816 */
3611 #line 914 "src/parser_proc_grammar.y" /* glr.c:816 */
3613 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3614 (*(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
);
3615 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3617 #line 3618 "src/parser_proc.c" /* glr.c:816 */
3621 #line 919 "src/parser_proc_grammar.y" /* glr.c:816 */
3623 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3624 (*(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
);
3625 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3627 #line 3628 "src/parser_proc.c" /* glr.c:816 */
3631 #line 924 "src/parser_proc_grammar.y" /* glr.c:816 */
3633 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3634 (*(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
);
3635 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3637 #line 3638 "src/parser_proc.c" /* glr.c:816 */
3641 #line 934 "src/parser_proc_grammar.y" /* glr.c:816 */
3643 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3645 #line 3646 "src/parser_proc.c" /* glr.c:816 */
3649 #line 937 "src/parser_proc_grammar.y" /* glr.c:816 */
3651 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3653 #line 3654 "src/parser_proc.c" /* glr.c:816 */
3657 #line 943 "src/parser_proc_grammar.y" /* glr.c:816 */
3659 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3661 #line 3662 "src/parser_proc.c" /* glr.c:816 */
3665 #line 946 "src/parser_proc_grammar.y" /* glr.c:816 */
3667 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3669 #line 3670 "src/parser_proc.c" /* glr.c:816 */
3673 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
3675 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3677 #line 3678 "src/parser_proc.c" /* glr.c:816 */
3681 #line 971 "src/parser_proc_grammar.y" /* glr.c:816 */
3683 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3685 #line 3686 "src/parser_proc.c" /* glr.c:816 */
3689 #line 974 "src/parser_proc_grammar.y" /* glr.c:816 */
3691 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3693 #line 3694 "src/parser_proc.c" /* glr.c:816 */
3697 #line 977 "src/parser_proc_grammar.y" /* glr.c:816 */
3699 (*(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
)));
3701 #line 3702 "src/parser_proc.c" /* glr.c:816 */
3705 #line 983 "src/parser_proc_grammar.y" /* glr.c:816 */
3707 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3709 #line 3710 "src/parser_proc.c" /* glr.c:816 */
3713 #line 986 "src/parser_proc_grammar.y" /* glr.c:816 */
3715 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3717 #line 3718 "src/parser_proc.c" /* glr.c:816 */
3721 #line 989 "src/parser_proc_grammar.y" /* glr.c:816 */
3723 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3724 (*(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
)));
3725 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3727 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3730 #line 3731 "src/parser_proc.c" /* glr.c:816 */
3734 #line 997 "src/parser_proc_grammar.y" /* glr.c:816 */
3736 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3737 (*(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
)));
3738 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3739 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3741 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3744 #line 3745 "src/parser_proc.c" /* glr.c:816 */
3748 #line 1009 "src/parser_proc_grammar.y" /* glr.c:816 */
3750 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3752 #line 3753 "src/parser_proc.c" /* glr.c:816 */
3756 #line 1012 "src/parser_proc_grammar.y" /* glr.c:816 */
3758 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3760 #line 3761 "src/parser_proc.c" /* glr.c:816 */
3764 #line 1015 "src/parser_proc_grammar.y" /* glr.c:816 */
3766 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3767 (*(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
)));
3769 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3772 #line 3773 "src/parser_proc.c" /* glr.c:816 */
3776 #line 1022 "src/parser_proc_grammar.y" /* glr.c:816 */
3778 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3780 #line 3781 "src/parser_proc.c" /* glr.c:816 */
3784 #line 1025 "src/parser_proc_grammar.y" /* glr.c:816 */
3786 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3787 (*(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
)));
3789 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3792 #line 3793 "src/parser_proc.c" /* glr.c:816 */
3796 #line 1035 "src/parser_proc_grammar.y" /* glr.c:816 */
3798 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3800 #line 3801 "src/parser_proc.c" /* glr.c:816 */
3804 #line 1041 "src/parser_proc_grammar.y" /* glr.c:816 */
3806 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3808 #line 3809 "src/parser_proc.c" /* glr.c:816 */
3812 #line 1050 "src/parser_proc_grammar.y" /* glr.c:816 */
3814 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3816 #line 3817 "src/parser_proc.c" /* glr.c:816 */
3820 #line 1053 "src/parser_proc_grammar.y" /* glr.c:816 */
3822 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3824 #line 3825 "src/parser_proc.c" /* glr.c:816 */
3828 #line 1056 "src/parser_proc_grammar.y" /* glr.c:816 */
3830 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3831 (*(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
)));
3832 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3834 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3837 #line 3838 "src/parser_proc.c" /* glr.c:816 */
3841 #line 1067 "src/parser_proc_grammar.y" /* glr.c:816 */
3843 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3845 #line 3846 "src/parser_proc.c" /* glr.c:816 */
3849 #line 1070 "src/parser_proc_grammar.y" /* glr.c:816 */
3851 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3853 #line 3854 "src/parser_proc.c" /* glr.c:816 */
3857 #line 1090 "src/parser_proc_grammar.y" /* glr.c:816 */
3859 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3861 #line 3862 "src/parser_proc.c" /* glr.c:816 */
3865 #line 1097 "src/parser_proc_grammar.y" /* glr.c:816 */
3867 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3869 #line 3870 "src/parser_proc.c" /* glr.c:816 */
3873 #line 1103 "src/parser_proc_grammar.y" /* glr.c:816 */
3875 (*(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
)));
3877 #line 3878 "src/parser_proc.c" /* glr.c:816 */
3881 #line 1106 "src/parser_proc_grammar.y" /* glr.c:816 */
3883 (*(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
)));
3885 #line 3886 "src/parser_proc.c" /* glr.c:816 */
3889 #line 1112 "src/parser_proc_grammar.y" /* glr.c:816 */
3891 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3893 #line 3894 "src/parser_proc.c" /* glr.c:816 */
3897 #line 1115 "src/parser_proc_grammar.y" /* glr.c:816 */
3899 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3901 #line 3902 "src/parser_proc.c" /* glr.c:816 */
3905 #line 1118 "src/parser_proc_grammar.y" /* glr.c:816 */
3907 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3909 #line 3910 "src/parser_proc.c" /* glr.c:816 */
3913 #line 1139 "src/parser_proc_grammar.y" /* glr.c:816 */
3915 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3916 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3918 #line 3919 "src/parser_proc.c" /* glr.c:816 */
3922 #line 1151 "src/parser_proc_grammar.y" /* glr.c:816 */
3924 (*(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
)));
3925 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3926 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3927 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3930 #line 3931 "src/parser_proc.c" /* glr.c:816 */
3934 #line 1158 "src/parser_proc_grammar.y" /* glr.c:816 */
3936 (*(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
)));
3937 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3938 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3939 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3940 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3943 #line 3944 "src/parser_proc.c" /* glr.c:816 */
3947 #line 1169 "src/parser_proc_grammar.y" /* glr.c:816 */
3949 (*(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
)));
3950 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3951 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3952 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3955 #line 3956 "src/parser_proc.c" /* glr.c:816 */
3959 #line 1176 "src/parser_proc_grammar.y" /* glr.c:816 */
3961 (*(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
)));
3962 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3963 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3964 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3965 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3968 #line 3969 "src/parser_proc.c" /* glr.c:816 */
3972 #line 1187 "src/parser_proc_grammar.y" /* glr.c:816 */
3974 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3975 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3976 (*(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));
3977 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3978 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3980 #line 3981 "src/parser_proc.c" /* glr.c:816 */
3984 #line 1194 "src/parser_proc_grammar.y" /* glr.c:816 */
3986 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3987 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3988 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3989 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
),
3990 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)
3992 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3993 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3994 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3996 #line 3997 "src/parser_proc.c" /* glr.c:816 */
4000 #line 1205 "src/parser_proc_grammar.y" /* glr.c:816 */
4002 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4003 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4004 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4005 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
),
4006 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)
4008 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4009 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4010 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4012 #line 4013 "src/parser_proc.c" /* glr.c:816 */
4016 #line 1216 "src/parser_proc_grammar.y" /* glr.c:816 */
4018 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4019 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4020 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4021 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
),
4022 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4024 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4025 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4026 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4028 #line 4029 "src/parser_proc.c" /* glr.c:816 */
4032 #line 1231 "src/parser_proc_grammar.y" /* glr.c:816 */
4034 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4035 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
),
4036 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
4038 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4039 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4040 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4042 #line 4043 "src/parser_proc.c" /* glr.c:816 */
4046 #line 1243 "src/parser_proc_grammar.y" /* glr.c:816 */
4048 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4050 #line 4051 "src/parser_proc.c" /* glr.c:816 */
4054 #line 1246 "src/parser_proc_grammar.y" /* glr.c:816 */
4056 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4058 #line 4059 "src/parser_proc.c" /* glr.c:816 */
4062 #line 1249 "src/parser_proc_grammar.y" /* glr.c:816 */
4064 (*(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
)));
4066 #line 4067 "src/parser_proc.c" /* glr.c:816 */
4070 #line 1252 "src/parser_proc_grammar.y" /* glr.c:816 */
4072 (*(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
)));
4074 #line 4075 "src/parser_proc.c" /* glr.c:816 */
4078 #line 1259 "src/parser_proc_grammar.y" /* glr.c:816 */
4080 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4082 #line 4083 "src/parser_proc.c" /* glr.c:816 */
4086 #line 1262 "src/parser_proc_grammar.y" /* glr.c:816 */
4088 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4089 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
4090 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4093 #line 4094 "src/parser_proc.c" /* glr.c:816 */
4097 #line 1268 "src/parser_proc_grammar.y" /* glr.c:816 */
4099 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4100 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
),
4101 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4103 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4104 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4105 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4107 #line 4108 "src/parser_proc.c" /* glr.c:816 */
4111 #line 1277 "src/parser_proc_grammar.y" /* glr.c:816 */
4113 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4114 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
),
4115 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4117 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4118 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4119 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4121 #line 4122 "src/parser_proc.c" /* glr.c:816 */
4125 #line 1289 "src/parser_proc_grammar.y" /* glr.c:816 */
4127 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4128 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
4129 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
4131 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
4132 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4134 #line 4135 "src/parser_proc.c" /* glr.c:816 */
4138 #line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */
4140 (*(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
)));
4142 #line 4143 "src/parser_proc.c" /* glr.c:816 */
4146 #line 1300 "src/parser_proc_grammar.y" /* glr.c:816 */
4148 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4149 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4150 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
),
4151 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)
4153 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4154 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4155 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4157 #line 4158 "src/parser_proc.c" /* glr.c:816 */
4161 #line 1310 "src/parser_proc_grammar.y" /* glr.c:816 */
4163 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4164 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4165 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
),
4166 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)
4168 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4169 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4170 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4172 #line 4173 "src/parser_proc.c" /* glr.c:816 */
4176 #line 1323 "src/parser_proc_grammar.y" /* glr.c:816 */
4178 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4179 (*(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
)));
4180 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4182 #line 4183 "src/parser_proc.c" /* glr.c:816 */
4186 #line 1328 "src/parser_proc_grammar.y" /* glr.c:816 */
4188 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4189 (*(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
)));
4190 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4192 #line 4193 "src/parser_proc.c" /* glr.c:816 */
4196 #line 1336 "src/parser_proc_grammar.y" /* glr.c:816 */
4198 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4199 (*(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
)));
4200 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4201 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4202 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4204 #line 4205 "src/parser_proc.c" /* glr.c:816 */
4208 #line 1346 "src/parser_proc_grammar.y" /* glr.c:816 */
4210 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4211 (*(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
)));
4212 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4213 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4214 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4216 #line 4217 "src/parser_proc.c" /* glr.c:816 */
4220 #line 1356 "src/parser_proc_grammar.y" /* glr.c:816 */
4222 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4224 #line 4225 "src/parser_proc.c" /* glr.c:816 */
4228 #line 1363 "src/parser_proc_grammar.y" /* glr.c:816 */
4230 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4232 #line 4233 "src/parser_proc.c" /* glr.c:816 */
4236 #line 1369 "src/parser_proc_grammar.y" /* glr.c:816 */
4238 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4239 (*(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
)));
4240 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4242 struct psi_decl_arg
*arg
;
4244 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4245 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4246 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4248 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4251 #line 4252 "src/parser_proc.c" /* glr.c:816 */
4255 #line 1383 "src/parser_proc_grammar.y" /* glr.c:816 */
4257 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4258 (*(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
)));
4259 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4261 struct psi_decl_arg
*arg
;
4263 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4264 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4265 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4267 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4270 #line 4271 "src/parser_proc.c" /* glr.c:816 */
4274 #line 1400 "src/parser_proc_grammar.y" /* glr.c:816 */
4276 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4278 #line 4279 "src/parser_proc.c" /* glr.c:816 */
4282 #line 1403 "src/parser_proc_grammar.y" /* glr.c:816 */
4284 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4286 #line 4287 "src/parser_proc.c" /* glr.c:816 */
4290 #line 1409 "src/parser_proc_grammar.y" /* glr.c:816 */
4293 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4294 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4295 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4298 #line 4299 "src/parser_proc.c" /* glr.c:816 */
4302 #line 1416 "src/parser_proc_grammar.y" /* glr.c:816 */
4305 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4306 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4307 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4310 #line 4311 "src/parser_proc.c" /* glr.c:816 */
4314 #line 1426 "src/parser_proc_grammar.y" /* glr.c:816 */
4316 (*(struct psi_decl_enum
**)(&(*yyvalp
))) = psi_decl_enum_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4317 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4319 #line 4320 "src/parser_proc.c" /* glr.c:816 */
4323 #line 1433 "src/parser_proc_grammar.y" /* glr.c:816 */
4325 (*(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
)));
4327 #line 4328 "src/parser_proc.c" /* glr.c:816 */
4331 #line 1436 "src/parser_proc_grammar.y" /* glr.c:816 */
4333 (*(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
)));
4335 #line 4336 "src/parser_proc.c" /* glr.c:816 */
4339 #line 1442 "src/parser_proc_grammar.y" /* glr.c:816 */
4341 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4342 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4343 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4345 #line 4346 "src/parser_proc.c" /* glr.c:816 */
4349 #line 1447 "src/parser_proc_grammar.y" /* glr.c:816 */
4351 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4352 (*(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
)));
4353 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4355 #line 4356 "src/parser_proc.c" /* glr.c:816 */
4359 #line 1455 "src/parser_proc_grammar.y" /* glr.c:816 */
4361 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4362 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4364 #line 4365 "src/parser_proc.c" /* glr.c:816 */
4368 #line 1459 "src/parser_proc_grammar.y" /* glr.c:816 */
4370 (*(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
)));
4371 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4373 #line 4374 "src/parser_proc.c" /* glr.c:816 */
4377 #line 1463 "src/parser_proc_grammar.y" /* glr.c:816 */
4379 (*(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
)));
4380 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4382 #line 4383 "src/parser_proc.c" /* glr.c:816 */
4386 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
4388 (*(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
)));
4389 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4391 #line 4392 "src/parser_proc.c" /* glr.c:816 */
4395 #line 1471 "src/parser_proc_grammar.y" /* glr.c:816 */
4397 (*(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
)));
4398 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4400 #line 4401 "src/parser_proc.c" /* glr.c:816 */
4404 #line 1475 "src/parser_proc_grammar.y" /* glr.c:816 */
4406 (*(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
)));
4407 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4409 #line 4410 "src/parser_proc.c" /* glr.c:816 */
4413 #line 1482 "src/parser_proc_grammar.y" /* glr.c:816 */
4415 (*(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
);
4416 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4418 #line 4419 "src/parser_proc.c" /* glr.c:816 */
4422 #line 1486 "src/parser_proc_grammar.y" /* glr.c:816 */
4424 (*(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);
4425 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4427 #line 4428 "src/parser_proc.c" /* glr.c:816 */
4431 #line 1490 "src/parser_proc_grammar.y" /* glr.c:816 */
4433 (*(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);
4434 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4436 #line 4437 "src/parser_proc.c" /* glr.c:816 */
4440 #line 1494 "src/parser_proc_grammar.y" /* glr.c:816 */
4442 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4443 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4445 #line 4446 "src/parser_proc.c" /* glr.c:816 */
4449 #line 1498 "src/parser_proc_grammar.y" /* glr.c:816 */
4451 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4453 #line 4454 "src/parser_proc.c" /* glr.c:816 */
4457 #line 1504 "src/parser_proc_grammar.y" /* glr.c:816 */
4459 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4460 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4462 #line 4463 "src/parser_proc.c" /* glr.c:816 */
4466 #line 1508 "src/parser_proc_grammar.y" /* glr.c:816 */
4468 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4469 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4471 #line 4472 "src/parser_proc.c" /* glr.c:816 */
4475 #line 1515 "src/parser_proc_grammar.y" /* glr.c:816 */
4477 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4479 #line 4480 "src/parser_proc.c" /* glr.c:816 */
4483 #line 1518 "src/parser_proc_grammar.y" /* glr.c:816 */
4485 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4486 int8_t sizeof_void_p
= sizeof(void *);
4487 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4489 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4492 #line 4493 "src/parser_proc.c" /* glr.c:816 */
4496 #line 1529 "src/parser_proc_grammar.y" /* glr.c:816 */
4498 int8_t sizeof_void_p
= sizeof(void *);
4499 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4501 #line 4502 "src/parser_proc.c" /* glr.c:816 */
4505 #line 1533 "src/parser_proc_grammar.y" /* glr.c:816 */
4507 int8_t sizeof_a
= sizeof('a');
4508 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4510 #line 4511 "src/parser_proc.c" /* glr.c:816 */
4514 #line 1537 "src/parser_proc_grammar.y" /* glr.c:816 */
4516 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4518 #line 4519 "src/parser_proc.c" /* glr.c:816 */
4522 #line 1543 "src/parser_proc_grammar.y" /* glr.c:816 */
4524 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4525 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4529 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4530 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4533 #line 4534 "src/parser_proc.c" /* glr.c:816 */
4537 #line 1556 "src/parser_proc_grammar.y" /* glr.c:816 */
4539 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4540 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4544 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4545 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4548 #line 4549 "src/parser_proc.c" /* glr.c:816 */
4552 #line 1569 "src/parser_proc_grammar.y" /* glr.c:816 */
4554 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4555 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4559 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4560 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4563 #line 4564 "src/parser_proc.c" /* glr.c:816 */
4567 #line 1582 "src/parser_proc_grammar.y" /* glr.c:816 */
4569 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4571 #line 4572 "src/parser_proc.c" /* glr.c:816 */
4575 #line 1585 "src/parser_proc_grammar.y" /* glr.c:816 */
4577 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4578 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4580 #line 4581 "src/parser_proc.c" /* glr.c:816 */
4584 #line 1592 "src/parser_proc_grammar.y" /* glr.c:816 */
4586 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4588 #line 4589 "src/parser_proc.c" /* glr.c:816 */
4592 #line 1595 "src/parser_proc_grammar.y" /* glr.c:816 */
4594 (*(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
));
4596 #line 4597 "src/parser_proc.c" /* glr.c:816 */
4600 #line 1598 "src/parser_proc_grammar.y" /* glr.c:816 */
4602 (*(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
);
4604 #line 4605 "src/parser_proc.c" /* glr.c:816 */
4608 #line 1601 "src/parser_proc_grammar.y" /* glr.c:816 */
4610 (*(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
));
4612 #line 4613 "src/parser_proc.c" /* glr.c:816 */
4616 #line 1607 "src/parser_proc_grammar.y" /* glr.c:816 */
4618 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4619 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4621 #line 4622 "src/parser_proc.c" /* glr.c:816 */
4625 #line 1611 "src/parser_proc_grammar.y" /* glr.c:816 */
4627 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4628 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4630 #line 4631 "src/parser_proc.c" /* glr.c:816 */
4634 #line 1618 "src/parser_proc_grammar.y" /* glr.c:816 */
4636 (*(size_t*)(&(*yyvalp
))) = 0;
4638 #line 4639 "src/parser_proc.c" /* glr.c:816 */
4642 #line 1621 "src/parser_proc_grammar.y" /* glr.c:816 */
4644 (*(size_t*)(&(*yyvalp
))) = 0;
4646 #line 4647 "src/parser_proc.c" /* glr.c:816 */
4650 #line 1624 "src/parser_proc_grammar.y" /* glr.c:816 */
4652 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
)) {
4653 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4655 (*(size_t*)(&(*yyvalp
))) = 0;
4658 #line 4659 "src/parser_proc.c" /* glr.c:816 */
4662 #line 1634 "src/parser_proc_grammar.y" /* glr.c:816 */
4664 (*(size_t*)(&(*yyvalp
))) = 0;
4666 #line 4667 "src/parser_proc.c" /* glr.c:816 */
4670 #line 1637 "src/parser_proc_grammar.y" /* glr.c:816 */
4672 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4674 #line 4675 "src/parser_proc.c" /* glr.c:816 */
4678 #line 1644 "src/parser_proc_grammar.y" /* glr.c:816 */
4680 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4682 #line 4683 "src/parser_proc.c" /* glr.c:816 */
4686 #line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */
4688 (*(size_t*)(&(*yyvalp
))) = 1;
4690 #line 4691 "src/parser_proc.c" /* glr.c:816 */
4694 #line 1653 "src/parser_proc_grammar.y" /* glr.c:816 */
4696 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4698 #line 4699 "src/parser_proc.c" /* glr.c:816 */
4702 #line 1670 "src/parser_proc_grammar.y" /* glr.c:816 */
4704 (*(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
)));
4706 #line 4707 "src/parser_proc.c" /* glr.c:816 */
4710 #line 1673 "src/parser_proc_grammar.y" /* glr.c:816 */
4712 (*(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
)));
4713 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4715 #line 4716 "src/parser_proc.c" /* glr.c:816 */
4719 #line 1680 "src/parser_proc_grammar.y" /* glr.c:816 */
4721 (*(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
)));
4722 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4723 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4725 #line 4726 "src/parser_proc.c" /* glr.c:816 */
4729 #line 1685 "src/parser_proc_grammar.y" /* glr.c:816 */
4731 (*(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
)));
4732 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4733 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4735 #line 4736 "src/parser_proc.c" /* glr.c:816 */
4739 #line 1690 "src/parser_proc_grammar.y" /* glr.c:816 */
4741 (*(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
)));
4742 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4743 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4744 (*(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
);
4745 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4747 #line 4748 "src/parser_proc.c" /* glr.c:816 */
4751 #line 1700 "src/parser_proc_grammar.y" /* glr.c:816 */
4753 (*(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
)));
4755 #line 4756 "src/parser_proc.c" /* glr.c:816 */
4759 #line 1703 "src/parser_proc_grammar.y" /* glr.c:816 */
4761 (*(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
)));
4763 #line 4764 "src/parser_proc.c" /* glr.c:816 */
4767 #line 1709 "src/parser_proc_grammar.y" /* glr.c:816 */
4769 (*(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
);
4771 #line 4772 "src/parser_proc.c" /* glr.c:816 */
4775 #line 1712 "src/parser_proc_grammar.y" /* glr.c:816 */
4777 (*(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
)));
4779 #line 4780 "src/parser_proc.c" /* glr.c:816 */
4783 #line 1718 "src/parser_proc_grammar.y" /* glr.c:816 */
4785 (*(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
)));
4786 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4788 #line 4789 "src/parser_proc.c" /* glr.c:816 */
4792 #line 1725 "src/parser_proc_grammar.y" /* glr.c:816 */
4794 (*(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
);
4795 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4797 #line 4798 "src/parser_proc.c" /* glr.c:816 */
4801 #line 1744 "src/parser_proc_grammar.y" /* glr.c:816 */
4803 (*(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
)));
4805 #line 4806 "src/parser_proc.c" /* glr.c:816 */
4809 #line 1747 "src/parser_proc_grammar.y" /* glr.c:816 */
4811 (*(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
)));
4813 #line 4814 "src/parser_proc.c" /* glr.c:816 */
4817 #line 1753 "src/parser_proc_grammar.y" /* glr.c:816 */
4819 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4821 #line 4822 "src/parser_proc.c" /* glr.c:816 */
4825 #line 1756 "src/parser_proc_grammar.y" /* glr.c:816 */
4827 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4829 #line 4830 "src/parser_proc.c" /* glr.c:816 */
4833 #line 1759 "src/parser_proc_grammar.y" /* glr.c:816 */
4835 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4837 #line 4838 "src/parser_proc.c" /* glr.c:816 */
4841 #line 1762 "src/parser_proc_grammar.y" /* glr.c:816 */
4843 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4845 #line 4846 "src/parser_proc.c" /* glr.c:816 */
4849 #line 1765 "src/parser_proc_grammar.y" /* glr.c:816 */
4851 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4853 #line 4854 "src/parser_proc.c" /* glr.c:816 */
4857 #line 1771 "src/parser_proc_grammar.y" /* glr.c:816 */
4859 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4860 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4862 #line 4863 "src/parser_proc.c" /* glr.c:816 */
4866 #line 1775 "src/parser_proc_grammar.y" /* glr.c:816 */
4868 (*(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
))));
4869 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4870 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4872 #line 4873 "src/parser_proc.c" /* glr.c:816 */
4876 #line 1784 "src/parser_proc_grammar.y" /* glr.c:816 */
4878 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4879 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4881 #line 4882 "src/parser_proc.c" /* glr.c:816 */
4885 #line 1788 "src/parser_proc_grammar.y" /* glr.c:816 */
4887 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4888 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4890 #line 4891 "src/parser_proc.c" /* glr.c:816 */
4894 #line 1795 "src/parser_proc_grammar.y" /* glr.c:816 */
4896 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4898 #line 4899 "src/parser_proc.c" /* glr.c:816 */
4902 #line 1798 "src/parser_proc_grammar.y" /* glr.c:816 */
4904 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4906 #line 4907 "src/parser_proc.c" /* glr.c:816 */
4910 #line 1801 "src/parser_proc_grammar.y" /* glr.c:816 */
4912 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4913 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4915 #line 4916 "src/parser_proc.c" /* glr.c:816 */
4919 #line 1805 "src/parser_proc_grammar.y" /* glr.c:816 */
4921 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4923 #line 4924 "src/parser_proc.c" /* glr.c:816 */
4927 #line 1808 "src/parser_proc_grammar.y" /* glr.c:816 */
4929 (*(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
)));
4931 #line 4932 "src/parser_proc.c" /* glr.c:816 */
4935 #line 1811 "src/parser_proc_grammar.y" /* glr.c:816 */
4937 (*(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
)));
4939 #line 4940 "src/parser_proc.c" /* glr.c:816 */
4943 #line 1817 "src/parser_proc_grammar.y" /* glr.c:816 */
4945 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4946 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4948 #line 4949 "src/parser_proc.c" /* glr.c:816 */
4952 #line 1821 "src/parser_proc_grammar.y" /* glr.c:816 */
4954 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4955 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4956 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4958 #line 4959 "src/parser_proc.c" /* glr.c:816 */
4962 #line 1829 "src/parser_proc_grammar.y" /* glr.c:816 */
4964 (*(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
)));
4965 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4967 #line 4968 "src/parser_proc.c" /* glr.c:816 */
4971 #line 1836 "src/parser_proc_grammar.y" /* glr.c:816 */
4973 (*(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
)));
4974 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4975 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4977 #line 4978 "src/parser_proc.c" /* glr.c:816 */
4981 #line 1844 "src/parser_proc_grammar.y" /* glr.c:816 */
4983 (*(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
)));
4984 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4985 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4987 #line 4988 "src/parser_proc.c" /* glr.c:816 */
4991 #line 1865 "src/parser_proc_grammar.y" /* glr.c:816 */
4993 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4995 #line 4996 "src/parser_proc.c" /* glr.c:816 */
4999 #line 1868 "src/parser_proc_grammar.y" /* glr.c:816 */
5001 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5003 #line 5004 "src/parser_proc.c" /* glr.c:816 */
5007 #line 1874 "src/parser_proc_grammar.y" /* glr.c:816 */
5009 (*(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
)));
5011 #line 5012 "src/parser_proc.c" /* glr.c:816 */
5015 #line 1877 "src/parser_proc_grammar.y" /* glr.c:816 */
5017 (*(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
)));
5019 #line 5020 "src/parser_proc.c" /* glr.c:816 */
5023 #line 1888 "src/parser_proc_grammar.y" /* glr.c:816 */
5025 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5027 #line 5028 "src/parser_proc.c" /* glr.c:816 */
5031 #line 1891 "src/parser_proc_grammar.y" /* glr.c:816 */
5033 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5035 #line 5036 "src/parser_proc.c" /* glr.c:816 */
5039 #line 1897 "src/parser_proc_grammar.y" /* glr.c:816 */
5041 (*(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
)));
5043 #line 5044 "src/parser_proc.c" /* glr.c:816 */
5047 #line 1900 "src/parser_proc_grammar.y" /* glr.c:816 */
5049 (*(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
)));
5051 #line 5052 "src/parser_proc.c" /* glr.c:816 */
5055 #line 1906 "src/parser_proc_grammar.y" /* glr.c:816 */
5057 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init(psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))));
5058 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5060 #line 5061 "src/parser_proc.c" /* glr.c:816 */
5064 #line 1913 "src/parser_proc_grammar.y" /* glr.c:816 */
5066 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5067 (*(struct psi_set_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5069 #line 5070 "src/parser_proc.c" /* glr.c:816 */
5073 #line 1920 "src/parser_proc_grammar.y" /* glr.c:816 */
5075 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5077 #line 5078 "src/parser_proc.c" /* glr.c:816 */
5081 #line 1923 "src/parser_proc_grammar.y" /* glr.c:816 */
5083 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5085 #line 5086 "src/parser_proc.c" /* glr.c:816 */
5089 #line 1926 "src/parser_proc_grammar.y" /* glr.c:816 */
5091 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5092 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5094 #line 5095 "src/parser_proc.c" /* glr.c:816 */
5098 #line 1933 "src/parser_proc_grammar.y" /* glr.c:816 */
5100 (*(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
)));
5101 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5102 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5104 #line 5105 "src/parser_proc.c" /* glr.c:816 */
5108 #line 1938 "src/parser_proc_grammar.y" /* glr.c:816 */
5110 (*(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
)));
5111 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5112 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5114 #line 5115 "src/parser_proc.c" /* glr.c:816 */
5118 #line 1957 "src/parser_proc_grammar.y" /* glr.c:816 */
5120 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5122 #line 5123 "src/parser_proc.c" /* glr.c:816 */
5126 #line 1960 "src/parser_proc_grammar.y" /* glr.c:816 */
5128 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5130 #line 5131 "src/parser_proc.c" /* glr.c:816 */
5134 #line 1966 "src/parser_proc_grammar.y" /* glr.c:816 */
5136 (*(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
)));
5138 #line 5139 "src/parser_proc.c" /* glr.c:816 */
5142 #line 1969 "src/parser_proc_grammar.y" /* glr.c:816 */
5144 (*(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
)));
5146 #line 5147 "src/parser_proc.c" /* glr.c:816 */
5150 #line 1975 "src/parser_proc_grammar.y" /* glr.c:816 */
5152 (*(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
)));
5153 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5155 #line 5156 "src/parser_proc.c" /* glr.c:816 */
5159 #line 1987 "src/parser_proc_grammar.y" /* glr.c:816 */
5161 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5162 (*(struct psi_free_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5164 #line 5165 "src/parser_proc.c" /* glr.c:816 */
5168 #line 1994 "src/parser_proc_grammar.y" /* glr.c:816 */
5170 (*(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
)));
5172 #line 5173 "src/parser_proc.c" /* glr.c:816 */
5176 #line 1997 "src/parser_proc_grammar.y" /* glr.c:816 */
5178 (*(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
)));
5180 #line 5181 "src/parser_proc.c" /* glr.c:816 */
5184 #line 2003 "src/parser_proc_grammar.y" /* glr.c:816 */
5186 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5187 (*(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
)));
5188 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5190 #line 5191 "src/parser_proc.c" /* glr.c:816 */
5194 #line 2011 "src/parser_proc_grammar.y" /* glr.c:816 */
5196 (*(bool*)(&(*yyvalp
))) = false;
5198 #line 5199 "src/parser_proc.c" /* glr.c:816 */
5202 #line 2014 "src/parser_proc_grammar.y" /* glr.c:816 */
5204 (*(bool*)(&(*yyvalp
))) = true;
5206 #line 5207 "src/parser_proc.c" /* glr.c:816 */
5210 #line 5211 "src/parser_proc.c" /* glr.c:816 */
5221 # undef YYRECOVERING
5226 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5238 /* Bison grammar-table manipulation. */
5240 /*-----------------------------------------------.
5241 | Release the memory associated to this symbol. |
5242 `-----------------------------------------------*/
5245 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5253 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5255 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5258 case 136: /* binary_op_token */
5259 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5261 #line 5262 "src/parser_proc.c" /* glr.c:846 */
5264 case 137: /* unary_op_token */
5265 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5267 #line 5268 "src/parser_proc.c" /* glr.c:846 */
5270 case 138: /* name_token */
5271 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5273 #line 5274 "src/parser_proc.c" /* glr.c:846 */
5276 case 139: /* any_noeol_token */
5277 #line 276 "src/parser_proc_grammar.y" /* glr.c:846 */
5279 #line 5280 "src/parser_proc.c" /* glr.c:846 */
5283 #line 270 "src/parser_proc_grammar.y" /* glr.c:846 */
5284 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5285 #line 5286 "src/parser_proc.c" /* glr.c:846 */
5289 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5290 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5291 #line 5292 "src/parser_proc.c" /* glr.c:846 */
5294 case 146: /* cpp_exp */
5295 #line 285 "src/parser_proc_grammar.y" /* glr.c:846 */
5296 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5297 #line 5298 "src/parser_proc.c" /* glr.c:846 */
5300 case 148: /* cpp_message_token */
5301 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5303 #line 5304 "src/parser_proc.c" /* glr.c:846 */
5306 case 149: /* cpp_include_token */
5307 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5309 #line 5310 "src/parser_proc.c" /* glr.c:846 */
5312 case 150: /* cpp_header_token */
5313 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5315 #line 5316 "src/parser_proc.c" /* glr.c:846 */
5318 case 151: /* cpp_no_arg_token */
5319 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5321 #line 5322 "src/parser_proc.c" /* glr.c:846 */
5324 case 152: /* cpp_name_arg_token */
5325 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5327 #line 5328 "src/parser_proc.c" /* glr.c:846 */
5330 case 153: /* cpp_exp_arg_token */
5331 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5333 #line 5334 "src/parser_proc.c" /* glr.c:846 */
5336 case 154: /* cpp_special_name_token */
5337 #line 273 "src/parser_proc_grammar.y" /* glr.c:846 */
5339 #line 5340 "src/parser_proc.c" /* glr.c:846 */
5342 case 155: /* cpp_macro_decl */
5343 #line 287 "src/parser_proc_grammar.y" /* glr.c:846 */
5344 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5345 #line 5346 "src/parser_proc.c" /* glr.c:846 */
5348 case 156: /* cpp_macro_sig */
5349 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5350 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5351 #line 5352 "src/parser_proc.c" /* glr.c:846 */
5354 case 157: /* cpp_macro_sig_args */
5355 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5356 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5357 #line 5358 "src/parser_proc.c" /* glr.c:846 */
5360 case 158: /* cpp_macro_decl_tokens */
5361 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5362 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5363 #line 5364 "src/parser_proc.c" /* glr.c:846 */
5366 case 159: /* cpp_macro_decl_token_list */
5367 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5368 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5369 #line 5370 "src/parser_proc.c" /* glr.c:846 */
5372 case 160: /* cpp_macro_exp */
5373 #line 291 "src/parser_proc_grammar.y" /* glr.c:846 */
5374 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5375 #line 5376 "src/parser_proc.c" /* glr.c:846 */
5378 case 161: /* cpp_macro_call_args */
5379 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5380 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5381 #line 5382 "src/parser_proc.c" /* glr.c:846 */
5384 case 162: /* cpp_macro_call_arg_list */
5385 #line 289 "src/parser_proc_grammar.y" /* glr.c:846 */
5386 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5387 #line 5388 "src/parser_proc.c" /* glr.c:846 */
5390 case 163: /* constant */
5391 #line 297 "src/parser_proc_grammar.y" /* glr.c:846 */
5392 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5393 #line 5394 "src/parser_proc.c" /* glr.c:846 */
5396 case 164: /* constant_type */
5397 #line 299 "src/parser_proc_grammar.y" /* glr.c:846 */
5398 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5399 #line 5400 "src/parser_proc.c" /* glr.c:846 */
5402 case 165: /* constant_type_token */
5403 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
5405 #line 5406 "src/parser_proc.c" /* glr.c:846 */
5408 case 166: /* impl_def_val */
5409 #line 301 "src/parser_proc_grammar.y" /* glr.c:846 */
5410 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5411 #line 5412 "src/parser_proc.c" /* glr.c:846 */
5414 case 167: /* impl_def_val_token */
5415 #line 294 "src/parser_proc_grammar.y" /* glr.c:846 */
5417 #line 5418 "src/parser_proc.c" /* glr.c:846 */
5420 case 168: /* decl_typedef */
5421 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5422 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5423 #line 5424 "src/parser_proc.c" /* glr.c:846 */
5426 case 169: /* typedef */
5427 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5428 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5429 #line 5430 "src/parser_proc.c" /* glr.c:846 */
5432 case 170: /* typedef_anon */
5433 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5434 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5435 #line 5436 "src/parser_proc.c" /* glr.c:846 */
5438 case 171: /* typedef_decl */
5439 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5440 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5441 #line 5442 "src/parser_proc.c" /* glr.c:846 */
5444 case 172: /* typedef_anon_decl */
5445 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5446 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5447 #line 5448 "src/parser_proc.c" /* glr.c:846 */
5450 case 173: /* qualified_decl_type */
5451 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5452 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5453 #line 5454 "src/parser_proc.c" /* glr.c:846 */
5456 case 174: /* decl_type */
5457 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5458 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5459 #line 5460 "src/parser_proc.c" /* glr.c:846 */
5462 case 175: /* decl_type_complex */
5463 #line 310 "src/parser_proc_grammar.y" /* glr.c:846 */
5464 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5465 #line 5466 "src/parser_proc.c" /* glr.c:846 */
5468 case 176: /* decl_type_simple */
5469 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5470 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5471 #line 5472 "src/parser_proc.c" /* glr.c:846 */
5474 case 177: /* decl_real_type */
5475 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5476 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5477 #line 5478 "src/parser_proc.c" /* glr.c:846 */
5480 case 178: /* decl_stdint_type */
5481 #line 307 "src/parser_proc_grammar.y" /* glr.c:846 */
5483 #line 5484 "src/parser_proc.c" /* glr.c:846 */
5486 case 179: /* int_signed */
5487 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5489 #line 5490 "src/parser_proc.c" /* glr.c:846 */
5492 case 180: /* int_width */
5493 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5494 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5495 #line 5496 "src/parser_proc.c" /* glr.c:846 */
5498 case 181: /* decl_int_type */
5499 #line 304 "src/parser_proc_grammar.y" /* glr.c:846 */
5500 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5501 #line 5502 "src/parser_proc.c" /* glr.c:846 */
5504 case 182: /* int_signed_types */
5505 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5506 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5507 #line 5508 "src/parser_proc.c" /* glr.c:846 */
5510 case 183: /* signed_short_types */
5511 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5513 #line 5514 "src/parser_proc.c" /* glr.c:846 */
5516 case 184: /* signed_long_types */
5517 #line 282 "src/parser_proc_grammar.y" /* glr.c:846 */
5519 #line 5520 "src/parser_proc.c" /* glr.c:846 */
5522 case 185: /* int_width_types */
5523 #line 279 "src/parser_proc_grammar.y" /* glr.c:846 */
5524 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5525 #line 5526 "src/parser_proc.c" /* glr.c:846 */
5528 case 186: /* decl_stmt */
5529 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5530 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5531 #line 5532 "src/parser_proc.c" /* glr.c:846 */
5534 case 192: /* decl_vars */
5535 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5536 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5537 #line 5538 "src/parser_proc.c" /* glr.c:846 */
5540 case 197: /* decl */
5541 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5542 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5543 #line 5544 "src/parser_proc.c" /* glr.c:846 */
5546 case 198: /* decl_body */
5547 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5548 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5549 #line 5550 "src/parser_proc.c" /* glr.c:846 */
5552 case 199: /* decl_func_body */
5553 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5554 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5555 #line 5556 "src/parser_proc.c" /* glr.c:846 */
5558 case 200: /* decl_functor_body */
5559 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5560 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5561 #line 5562 "src/parser_proc.c" /* glr.c:846 */
5564 case 201: /* decl_functor */
5565 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5566 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5567 #line 5568 "src/parser_proc.c" /* glr.c:846 */
5570 case 202: /* decl_func */
5571 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5572 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5573 #line 5574 "src/parser_proc.c" /* glr.c:846 */
5576 case 203: /* decl_args */
5577 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5578 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5579 #line 5580 "src/parser_proc.c" /* glr.c:846 */
5582 case 204: /* decl_anon_arg */
5583 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5584 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5585 #line 5586 "src/parser_proc.c" /* glr.c:846 */
5588 case 205: /* decl_arg */
5589 #line 314 "src/parser_proc_grammar.y" /* glr.c:846 */
5590 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5591 #line 5592 "src/parser_proc.c" /* glr.c:846 */
5594 case 206: /* decl_var */
5595 #line 316 "src/parser_proc_grammar.y" /* glr.c:846 */
5596 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5597 #line 5598 "src/parser_proc.c" /* glr.c:846 */
5600 case 207: /* decl_union */
5601 #line 320 "src/parser_proc_grammar.y" /* glr.c:846 */
5602 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5603 #line 5604 "src/parser_proc.c" /* glr.c:846 */
5606 case 208: /* decl_struct */
5607 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5608 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5609 #line 5610 "src/parser_proc.c" /* glr.c:846 */
5612 case 209: /* decl_struct_args */
5613 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5614 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5615 #line 5616 "src/parser_proc.c" /* glr.c:846 */
5618 case 210: /* struct_args_block */
5619 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5620 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5621 #line 5622 "src/parser_proc.c" /* glr.c:846 */
5624 case 211: /* struct_args */
5625 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5626 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5627 #line 5628 "src/parser_proc.c" /* glr.c:846 */
5630 case 212: /* struct_arg_var_list */
5631 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5632 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5633 #line 5634 "src/parser_proc.c" /* glr.c:846 */
5636 case 213: /* decl_vars_with_layout */
5637 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5638 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5639 #line 5640 "src/parser_proc.c" /* glr.c:846 */
5642 case 214: /* decl_enum */
5643 #line 322 "src/parser_proc_grammar.y" /* glr.c:846 */
5644 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5645 #line 5646 "src/parser_proc.c" /* glr.c:846 */
5648 case 215: /* decl_enum_items */
5649 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5650 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5651 #line 5652 "src/parser_proc.c" /* glr.c:846 */
5654 case 216: /* decl_enum_item */
5655 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
5656 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5657 #line 5658 "src/parser_proc.c" /* glr.c:846 */
5660 case 217: /* num_exp */
5661 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
5662 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5663 #line 5664 "src/parser_proc.c" /* glr.c:846 */
5666 case 218: /* number */
5667 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
5668 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5669 #line 5670 "src/parser_proc.c" /* glr.c:846 */
5672 case 219: /* sizeof */
5673 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5674 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5675 #line 5676 "src/parser_proc.c" /* glr.c:846 */
5678 case 220: /* sizeof_body */
5679 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5680 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5681 #line 5682 "src/parser_proc.c" /* glr.c:846 */
5684 case 221: /* sizeof_body_notypes */
5685 #line 334 "src/parser_proc_grammar.y" /* glr.c:846 */
5686 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5687 #line 5688 "src/parser_proc.c" /* glr.c:846 */
5690 case 222: /* enum_name */
5691 #line 270 "src/parser_proc_grammar.y" /* glr.c:846 */
5692 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5693 #line 5694 "src/parser_proc.c" /* glr.c:846 */
5696 case 223: /* union_name */
5697 #line 270 "src/parser_proc_grammar.y" /* glr.c:846 */
5698 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5699 #line 5700 "src/parser_proc.c" /* glr.c:846 */
5702 case 224: /* struct_name */
5703 #line 270 "src/parser_proc_grammar.y" /* glr.c:846 */
5704 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5705 #line 5706 "src/parser_proc.c" /* glr.c:846 */
5708 case 225: /* optional_name */
5709 #line 270 "src/parser_proc_grammar.y" /* glr.c:846 */
5710 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5711 #line 5712 "src/parser_proc.c" /* glr.c:846 */
5714 case 226: /* decl_layout */
5715 #line 331 "src/parser_proc_grammar.y" /* glr.c:846 */
5716 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5717 #line 5718 "src/parser_proc.c" /* glr.c:846 */
5720 case 227: /* align_and_size */
5721 #line 329 "src/parser_proc_grammar.y" /* glr.c:846 */
5723 #line 5724 "src/parser_proc.c" /* glr.c:846 */
5726 case 228: /* array_size */
5727 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
5729 #line 5730 "src/parser_proc.c" /* glr.c:846 */
5732 case 229: /* indirection */
5733 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
5735 #line 5736 "src/parser_proc.c" /* glr.c:846 */
5738 case 230: /* pointers */
5739 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
5741 #line 5742 "src/parser_proc.c" /* glr.c:846 */
5744 case 231: /* asterisks */
5745 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
5747 #line 5748 "src/parser_proc.c" /* glr.c:846 */
5750 case 233: /* impl */
5751 #line 337 "src/parser_proc_grammar.y" /* glr.c:846 */
5752 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5753 #line 5754 "src/parser_proc.c" /* glr.c:846 */
5756 case 234: /* impl_func */
5757 #line 339 "src/parser_proc_grammar.y" /* glr.c:846 */
5758 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5759 #line 5760 "src/parser_proc.c" /* glr.c:846 */
5762 case 235: /* impl_args */
5763 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5764 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5765 #line 5766 "src/parser_proc.c" /* glr.c:846 */
5768 case 236: /* impl_arg */
5769 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
5770 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5771 #line 5772 "src/parser_proc.c" /* glr.c:846 */
5774 case 237: /* impl_var */
5775 #line 345 "src/parser_proc_grammar.y" /* glr.c:846 */
5776 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5777 #line 5778 "src/parser_proc.c" /* glr.c:846 */
5780 case 238: /* impl_type */
5781 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5782 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5783 #line 5784 "src/parser_proc.c" /* glr.c:846 */
5786 case 239: /* impl_type_token */
5787 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5788 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5789 #line 5790 "src/parser_proc.c" /* glr.c:846 */
5792 case 240: /* impl_stmts */
5793 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5794 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5795 #line 5796 "src/parser_proc.c" /* glr.c:846 */
5798 case 241: /* impl_stmt */
5799 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5800 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5801 #line 5802 "src/parser_proc.c" /* glr.c:846 */
5804 case 242: /* let_stmt */
5805 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5806 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5807 #line 5808 "src/parser_proc.c" /* glr.c:846 */
5810 case 243: /* let_exp */
5811 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5812 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5813 #line 5814 "src/parser_proc.c" /* glr.c:846 */
5816 case 244: /* let_exp_byref */
5817 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5818 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5819 #line 5820 "src/parser_proc.c" /* glr.c:846 */
5822 case 245: /* let_exp_assign */
5823 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5824 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5825 #line 5826 "src/parser_proc.c" /* glr.c:846 */
5828 case 246: /* let_calloc */
5829 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5830 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5831 #line 5832 "src/parser_proc.c" /* glr.c:846 */
5834 case 247: /* let_callback */
5835 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5836 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5837 #line 5838 "src/parser_proc.c" /* glr.c:846 */
5840 case 248: /* let_func */
5841 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5842 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5843 #line 5844 "src/parser_proc.c" /* glr.c:846 */
5846 case 249: /* let_func_token */
5847 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5848 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5849 #line 5850 "src/parser_proc.c" /* glr.c:846 */
5852 case 250: /* let_func_exps */
5853 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5854 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5855 #line 5856 "src/parser_proc.c" /* glr.c:846 */
5858 case 251: /* let_exps */
5859 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5860 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5861 #line 5862 "src/parser_proc.c" /* glr.c:846 */
5864 case 252: /* callback_rval */
5865 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5866 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5867 #line 5868 "src/parser_proc.c" /* glr.c:846 */
5870 case 253: /* callback_arg_list */
5871 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5872 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5873 #line 5874 "src/parser_proc.c" /* glr.c:846 */
5876 case 254: /* callback_args */
5877 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5878 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5879 #line 5880 "src/parser_proc.c" /* glr.c:846 */
5882 case 255: /* return_stmt */
5883 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
5884 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5885 #line 5886 "src/parser_proc.c" /* glr.c:846 */
5888 case 256: /* set_stmt */
5889 #line 358 "src/parser_proc_grammar.y" /* glr.c:846 */
5890 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5891 #line 5892 "src/parser_proc.c" /* glr.c:846 */
5894 case 257: /* set_exp */
5895 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5896 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5897 #line 5898 "src/parser_proc.c" /* glr.c:846 */
5900 case 258: /* set_func */
5901 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5902 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5903 #line 5904 "src/parser_proc.c" /* glr.c:846 */
5906 case 259: /* set_func_token */
5907 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5908 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5909 #line 5910 "src/parser_proc.c" /* glr.c:846 */
5912 case 260: /* set_func_exps */
5913 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5914 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5915 #line 5916 "src/parser_proc.c" /* glr.c:846 */
5918 case 261: /* set_exps */
5919 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5920 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5921 #line 5922 "src/parser_proc.c" /* glr.c:846 */
5924 case 262: /* assert_stmt */
5925 #line 364 "src/parser_proc_grammar.y" /* glr.c:846 */
5926 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5927 #line 5928 "src/parser_proc.c" /* glr.c:846 */
5930 case 263: /* assert_stmt_token */
5931 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5932 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5933 #line 5934 "src/parser_proc.c" /* glr.c:846 */
5936 case 264: /* free_stmt */
5937 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
5938 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5939 #line 5940 "src/parser_proc.c" /* glr.c:846 */
5942 case 265: /* free_exps */
5943 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5944 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5945 #line 5946 "src/parser_proc.c" /* glr.c:846 */
5948 case 266: /* free_exp */
5949 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5950 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5951 #line 5952 "src/parser_proc.c" /* glr.c:846 */
5954 case 267: /* reference */
5955 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
5957 #line 5958 "src/parser_proc.c" /* glr.c:846 */
5964 YY_IGNORE_MAYBE_UNINITIALIZED_END
5967 /** Number of symbols composing the right hand side of rule #RULE. */
5969 yyrhsLength (yyRuleNum yyrule
)
5971 return yyr2
[yyrule
];
5975 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5977 if (yys
->yyresolved
)
5978 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5979 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
5985 if (yys
->yysemantics
.yyfirstVal
)
5986 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
5988 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
5989 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
5993 if (yys
->yysemantics
.yyfirstVal
)
5995 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
5998 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
6000 yyrh
= yyrh
->yypred
, yyn
-= 1)
6001 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
6006 /** Left-hand-side symbol for rule #YYRULE. */
6007 static inline yySymbol
6008 yylhsNonterm (yyRuleNum yyrule
)
6010 return yyr1
[yyrule
];
6013 #define yypact_value_is_default(Yystate) \
6014 (!!((Yystate) == (-722)))
6016 /** True iff LR state YYSTATE has only a default reduction (regardless
6018 static inline yybool
6019 yyisDefaultedState (yyStateNum yystate
)
6021 return yypact_value_is_default (yypact
[yystate
]);
6024 /** The default reduction for YYSTATE, assuming it has one. */
6025 static inline yyRuleNum
6026 yydefaultAction (yyStateNum yystate
)
6028 return yydefact
[yystate
];
6031 #define yytable_value_is_error(Yytable_value) \
6034 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
6036 * R < 0: Reduce on rule -R.
6038 * R > 0: Shift to state R.
6039 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
6040 * of conflicting reductions.
6043 yygetLRActions (yyStateNum yystate
, int yytoken
,
6044 int* yyaction
, const short int** yyconflicts
)
6046 int yyindex
= yypact
[yystate
] + yytoken
;
6047 if (yypact_value_is_default (yypact
[yystate
])
6048 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
6050 *yyaction
= -yydefact
[yystate
];
6051 *yyconflicts
= yyconfl
;
6053 else if (! yytable_value_is_error (yytable
[yyindex
]))
6055 *yyaction
= yytable
[yyindex
];
6056 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6061 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6065 /** Compute post-reduction state.
6066 * \param yystate the current state
6067 * \param yysym the nonterminal to push on the stack
6069 static inline yyStateNum
6070 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
6072 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
6073 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
6074 return yytable
[yyr
];
6076 return yydefgoto
[yysym
- YYNTOKENS
];
6079 static inline yybool
6080 yyisShiftAction (int yyaction
)
6082 return 0 < yyaction
;
6085 static inline yybool
6086 yyisErrorAction (int yyaction
)
6088 return yyaction
== 0;
6093 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
6094 * if YYISSTATE, and otherwise a semantic option. Callers should call
6095 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6098 static inline yyGLRStackItem
*
6099 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6101 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6102 yystackp
->yyspaceLeft
-= 1;
6103 yystackp
->yynextFree
+= 1;
6104 yynewItem
->yystate
.yyisState
= yyisState
;
6108 /** Add a new semantic action that will execute the action for rule
6109 * YYRULE on the semantic values in YYRHS to the list of
6110 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6111 * stack #YYK of *YYSTACKP. */
6113 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6114 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6116 yySemanticOption
* yynewOption
=
6117 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6118 YYASSERT (!yynewOption
->yyisState
);
6119 yynewOption
->yystate
= yyrhs
;
6120 yynewOption
->yyrule
= yyrule
;
6121 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6123 yynewOption
->yyrawchar
= yychar
;
6124 yynewOption
->yyval
= yylval
;
6127 yynewOption
->yyrawchar
= YYEMPTY
;
6128 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6129 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6131 YY_RESERVE_GLRSTACK (yystackp
);
6136 /** Initialize YYSET to a singleton set containing an empty stack. */
6138 yyinitStateSet (yyGLRStateSet
* yyset
)
6141 yyset
->yycapacity
= 16;
6142 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6143 if (! yyset
->yystates
)
6145 yyset
->yystates
[0] = YY_NULLPTR
;
6146 yyset
->yylookaheadNeeds
=
6147 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6148 if (! yyset
->yylookaheadNeeds
)
6150 YYFREE (yyset
->yystates
);
6156 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6158 YYFREE (yyset
->yystates
);
6159 YYFREE (yyset
->yylookaheadNeeds
);
6162 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6163 * capacity for all stacks of YYSIZE. */
6165 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6167 yystackp
->yyerrState
= 0;
6169 yystackp
->yyspaceLeft
= yysize
;
6171 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6172 if (!yystackp
->yyitems
)
6174 yystackp
->yynextFree
= yystackp
->yyitems
;
6175 yystackp
->yysplitPoint
= YY_NULLPTR
;
6176 yystackp
->yylastDeleted
= YY_NULLPTR
;
6177 return yyinitStateSet (&yystackp
->yytops
);
6181 #if YYSTACKEXPANDABLE
6182 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6183 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6185 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6186 stack from outside should be considered invalid after this call.
6187 We always expand when there are 1 or fewer items left AFTER an
6188 allocation, so that we can avoid having external pointers exist
6189 across an allocation. */
6191 yyexpandGLRStack (yyGLRStack
* yystackp
)
6193 yyGLRStackItem
* yynewItems
;
6194 yyGLRStackItem
* yyp0
, *yyp1
;
6197 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6198 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6199 yyMemoryExhausted (yystackp
);
6200 yynewSize
= 2*yysize
;
6201 if (YYMAXDEPTH
< yynewSize
)
6202 yynewSize
= YYMAXDEPTH
;
6203 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6205 yyMemoryExhausted (yystackp
);
6206 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6208 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6211 if (*(yybool
*) yyp0
)
6213 yyGLRState
* yys0
= &yyp0
->yystate
;
6214 yyGLRState
* yys1
= &yyp1
->yystate
;
6215 if (yys0
->yypred
!= YY_NULLPTR
)
6217 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6218 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6219 yys1
->yysemantics
.yyfirstVal
=
6220 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6224 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6225 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6226 if (yyv0
->yystate
!= YY_NULLPTR
)
6227 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6228 if (yyv0
->yynext
!= YY_NULLPTR
)
6229 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6232 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6233 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6234 yystackp
->yysplitPoint
, yystate
);
6236 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6237 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6238 yystackp
->yytops
.yystates
[yyn
] =
6239 YYRELOC (yystackp
->yyitems
, yynewItems
,
6240 yystackp
->yytops
.yystates
[yyn
], yystate
);
6241 YYFREE (yystackp
->yyitems
);
6242 yystackp
->yyitems
= yynewItems
;
6243 yystackp
->yynextFree
= yynewItems
+ yysize
;
6244 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6249 yyfreeGLRStack (yyGLRStack
* yystackp
)
6251 YYFREE (yystackp
->yyitems
);
6252 yyfreeStateSet (&yystackp
->yytops
);
6255 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6256 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6259 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6261 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6262 yystackp
->yysplitPoint
= yys
;
6265 /** Invalidate stack #YYK in *YYSTACKP. */
6267 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6269 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6270 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6271 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6274 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6275 only be done once after a deletion, and only when all other stacks have
6278 yyundeleteLastStack (yyGLRStack
* yystackp
)
6280 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6282 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6283 yystackp
->yytops
.yysize
= 1;
6284 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6285 yystackp
->yylastDeleted
= YY_NULLPTR
;
6289 yyremoveDeletes (yyGLRStack
* yystackp
)
6293 while (yyj
< yystackp
->yytops
.yysize
)
6295 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6299 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6301 yystackp
->yytops
.yysize
-= 1;
6305 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6306 /* In the current implementation, it's unnecessary to copy
6307 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6308 yyremoveDeletes returns, the parser immediately either enters
6309 deterministic operation or shifts a token. However, it doesn't
6310 hurt, and the code might evolve to need it. */
6311 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6312 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6315 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6316 (unsigned long int) yyi
, (unsigned long int) yyj
));
6324 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6325 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6326 * value *YYVALP and source location *YYLOCP. */
6328 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6332 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6334 yynewState
->yylrState
= yylrState
;
6335 yynewState
->yyposn
= yyposn
;
6336 yynewState
->yyresolved
= yytrue
;
6337 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6338 yynewState
->yysemantics
.yysval
= *yyvalp
;
6339 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6341 YY_RESERVE_GLRSTACK (yystackp
);
6344 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6345 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6346 * semantic value of YYRHS under the action for YYRULE. */
6348 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6349 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6351 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6352 YYASSERT (yynewState
->yyisState
);
6354 yynewState
->yylrState
= yylrState
;
6355 yynewState
->yyposn
= yyposn
;
6356 yynewState
->yyresolved
= yyfalse
;
6357 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6358 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6359 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6361 /* Invokes YY_RESERVE_GLRSTACK. */
6362 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6366 # define YY_REDUCE_PRINT(Args)
6368 # define YY_REDUCE_PRINT(Args) \
6371 yy_reduce_print Args; \
6374 /*----------------------------------------------------------------------.
6375 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6376 `----------------------------------------------------------------------*/
6379 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6380 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6382 int yynrhs
= yyrhsLength (yyrule
);
6384 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6385 (unsigned long int) yyk
, yyrule
- 1,
6386 (unsigned long int) yyrline
[yyrule
]);
6388 yyfillin (yyvsp
, 1, -yynrhs
);
6389 /* The symbols being reduced. */
6390 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6392 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6393 yy_symbol_print (stderr
,
6394 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6395 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6396 , P
, tokens
, index
);
6397 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6398 YYFPRINTF (stderr
, " (unresolved)");
6399 YYFPRINTF (stderr
, "\n");
6404 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6405 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6406 * semantic values. Assumes that all ambiguities in semantic values
6407 * have been previously resolved. Set *YYVALP to the resulting value,
6408 * and *YYLOCP to the computed location (if any). Return value is as
6409 * for userAction. */
6410 static inline YYRESULTTAG
6411 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6412 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6414 int yynrhs
= yyrhsLength (yyrule
);
6416 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6418 /* Standard special case: single stack. */
6419 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6420 YYASSERT (yyk
== 0);
6421 yystackp
->yynextFree
-= yynrhs
;
6422 yystackp
->yyspaceLeft
+= yynrhs
;
6423 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6424 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6425 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6426 yyvalp
, P
, tokens
, index
);
6432 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6433 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6434 = yystackp
->yytops
.yystates
[yyk
];
6435 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6440 yyupdateSplit (yystackp
, yys
);
6441 yystackp
->yytops
.yystates
[yyk
] = yys
;
6442 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6443 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6444 yystackp
, yyvalp
, P
, tokens
, index
);
6448 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6449 * and push back on the resulting nonterminal symbol. Perform the
6450 * semantic action associated with YYRULE and store its value with the
6451 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6452 * unambiguous. Otherwise, store the deferred semantic action with
6453 * the new state. If the new state would have an identical input
6454 * position, LR state, and predecessor to an existing state on the stack,
6455 * it is identified with that existing state, eliminating stack #YYK from
6456 * *YYSTACKP. In this case, the semantic value is
6457 * added to the options for the existing state's semantic value.
6459 static inline YYRESULTTAG
6460 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6461 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6463 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6465 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6469 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6470 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6472 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6473 (unsigned long int) yyk
, yyrule
- 1));
6477 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6478 yyglrShift (yystackp
, yyk
,
6479 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6480 yylhsNonterm (yyrule
)),
6487 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6488 yyStateNum yynewLRState
;
6490 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6496 yyupdateSplit (yystackp
, yys
);
6497 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6499 "Reduced stack %lu by rule #%d; action deferred. "
6500 "Now in state %d.\n",
6501 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6502 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6503 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6505 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6506 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6507 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6509 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6511 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6512 yymarkStackDeleted (yystackp
, yyk
);
6513 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6514 (unsigned long int) yyk
,
6515 (unsigned long int) yyi
));
6521 yystackp
->yytops
.yystates
[yyk
] = yys
;
6522 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6528 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6530 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6532 YYASSERT (yyk
== 0);
6533 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6535 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6537 yyGLRState
** yynewStates
;
6538 yybool
* yynewLookaheadNeeds
;
6540 yynewStates
= YY_NULLPTR
;
6542 if (yystackp
->yytops
.yycapacity
6543 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6544 yyMemoryExhausted (yystackp
);
6545 yystackp
->yytops
.yycapacity
*= 2;
6548 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6549 (yystackp
->yytops
.yycapacity
6550 * sizeof yynewStates
[0]));
6551 if (yynewStates
== YY_NULLPTR
)
6552 yyMemoryExhausted (yystackp
);
6553 yystackp
->yytops
.yystates
= yynewStates
;
6555 yynewLookaheadNeeds
=
6556 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6557 (yystackp
->yytops
.yycapacity
6558 * sizeof yynewLookaheadNeeds
[0]));
6559 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6560 yyMemoryExhausted (yystackp
);
6561 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6563 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6564 = yystackp
->yytops
.yystates
[yyk
];
6565 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6566 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6567 yystackp
->yytops
.yysize
+= 1;
6568 return yystackp
->yytops
.yysize
-1;
6571 /** True iff YYY0 and YYY1 represent identical options at the top level.
6572 * That is, they represent the same rule applied to RHS symbols
6573 * that produce the same terminal symbols. */
6575 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6577 if (yyy0
->yyrule
== yyy1
->yyrule
)
6579 yyGLRState
*yys0
, *yys1
;
6581 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6582 yyn
= yyrhsLength (yyy0
->yyrule
);
6584 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6585 if (yys0
->yyposn
!= yys1
->yyposn
)
6593 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6594 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6596 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6598 yyGLRState
*yys0
, *yys1
;
6600 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6601 yyn
= yyrhsLength (yyy0
->yyrule
);
6603 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6607 else if (yys0
->yyresolved
)
6609 yys1
->yyresolved
= yytrue
;
6610 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6612 else if (yys1
->yyresolved
)
6614 yys0
->yyresolved
= yytrue
;
6615 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6619 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6620 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6623 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6625 else if (*yyz0p
== YY_NULLPTR
)
6630 else if (*yyz0p
< yyz1
)
6632 yySemanticOption
* yyz
= *yyz0p
;
6634 yyz1
= yyz1
->yynext
;
6635 (*yyz0p
)->yynext
= yyz
;
6637 yyz0p
= &(*yyz0p
)->yynext
;
6639 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6644 /** Y0 and Y1 represent two possible actions to take in a given
6645 * parsing state; return 0 if no combination is possible,
6646 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6648 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6650 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6651 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6655 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6660 if (p0
== 0 || p1
== 0)
6669 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6670 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6673 /** Resolve the previous YYN states starting at and including state YYS
6674 * on *YYSTACKP. If result != yyok, some states may have been left
6675 * unresolved possibly with empty semantic option chains. Regardless
6676 * of whether result = yyok, each state has been left with consistent
6677 * data so that yydestroyGLRState can be invoked if necessary. */
6679 yyresolveStates (yyGLRState
* yys
, int yyn
,
6680 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6684 YYASSERT (yys
->yypred
);
6685 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6686 if (! yys
->yyresolved
)
6687 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6692 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6693 * user action, and return the semantic value and location in *YYVALP
6694 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6695 * have been destroyed (assuming the user action destroys all RHS
6696 * semantic values if invoked). */
6698 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6699 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6701 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6702 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6703 YYRESULTTAG yyflag
=
6704 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6708 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6709 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6713 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6715 int yychar_current
= yychar
;
6716 YYSTYPE yylval_current
= yylval
;
6717 yychar
= yyopt
->yyrawchar
;
6718 yylval
= yyopt
->yyval
;
6719 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6720 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6721 yystackp
, yyvalp
, P
, tokens
, index
);
6722 yychar
= yychar_current
;
6723 yylval
= yylval_current
;
6730 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6732 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6735 yyGLRState
* yystates
[1 + YYMAXRHS
];
6736 yyGLRState yyleftmost_state
;
6738 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6739 yystates
[yyi
] = yys
;
6740 if (yys
== YY_NULLPTR
)
6742 yyleftmost_state
.yyposn
= 0;
6743 yystates
[0] = &yyleftmost_state
;
6748 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6749 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6750 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6753 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6754 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6755 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6756 (unsigned long int) yyx
->yystate
->yyposn
);
6757 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6759 if (yystates
[yyi
]->yyresolved
)
6761 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6762 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6763 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6765 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6766 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6767 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6768 (unsigned long int) yystates
[yyi
]->yyposn
);
6771 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6777 yyreportAmbiguity (yySemanticOption
* yyx0
,
6778 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6784 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6785 YYFPRINTF (stderr
, "Option 1,\n");
6786 yyreportTree (yyx0
, 2);
6787 YYFPRINTF (stderr
, "\nOption 2,\n");
6788 yyreportTree (yyx1
, 2);
6789 YYFPRINTF (stderr
, "\n");
6792 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6796 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6797 * perform the indicated actions, and set the semantic value of YYS.
6798 * If result != yyok, the chain of semantic options in YYS has been
6799 * cleared instead or it has been left unmodified except that
6800 * redundant options may have been removed. Regardless of whether
6801 * result = yyok, YYS has been left with consistent data so that
6802 * yydestroyGLRState can be invoked if necessary. */
6804 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6806 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6807 yySemanticOption
* yybest
= yyoptionList
;
6808 yySemanticOption
** yypp
;
6809 yybool yymerge
= yyfalse
;
6813 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6815 yySemanticOption
* yyp
= *yypp
;
6817 if (yyidenticalOptions (yybest
, yyp
))
6819 yymergeOptionSets (yybest
, yyp
);
6820 *yypp
= yyp
->yynext
;
6824 switch (yypreference (yybest
, yyp
))
6827 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6839 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6840 but some compilers complain if the default case is
6844 yypp
= &yyp
->yynext
;
6850 yySemanticOption
* yyp
;
6851 int yyprec
= yydprec
[yybest
->yyrule
];
6852 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6854 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6856 if (yyprec
== yydprec
[yyp
->yyrule
])
6858 YYSTYPE yysval_other
;
6859 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6862 yydestruct ("Cleanup: discarding incompletely merged value for",
6863 yystos
[yys
->yylrState
],
6864 &yysval
, P
, tokens
, index
);
6867 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6872 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6876 yys
->yyresolved
= yytrue
;
6877 yys
->yysemantics
.yysval
= yysval
;
6880 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6885 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6887 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6892 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6893 yys
!= yystackp
->yysplitPoint
;
6894 yys
= yys
->yypred
, yyn
+= 1)
6896 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6897 , P
, tokens
, index
));
6903 yycompressStack (yyGLRStack
* yystackp
)
6905 yyGLRState
* yyp
, *yyq
, *yyr
;
6907 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6910 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6911 yyp
!= yystackp
->yysplitPoint
;
6912 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6915 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6916 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6917 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6918 yystackp
->yysplitPoint
= YY_NULLPTR
;
6919 yystackp
->yylastDeleted
= YY_NULLPTR
;
6921 while (yyr
!= YY_NULLPTR
)
6923 yystackp
->yynextFree
->yystate
= *yyr
;
6925 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6926 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6927 yystackp
->yynextFree
+= 1;
6928 yystackp
->yyspaceLeft
-= 1;
6933 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6934 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6936 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6938 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6939 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6940 (unsigned long int) yyk
, yystate
));
6942 YYASSERT (yystate
!= YYFINAL
);
6944 if (yyisDefaultedState (yystate
))
6947 yyRuleNum yyrule
= yydefaultAction (yystate
);
6950 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6951 (unsigned long int) yyk
));
6952 yymarkStackDeleted (yystackp
, yyk
);
6955 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6956 if (yyflag
== yyerr
)
6960 "(predicate failure or explicit user error).\n",
6961 (unsigned long int) yyk
));
6962 yymarkStackDeleted (yystackp
, yyk
);
6972 const short int* yyconflicts
;
6974 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6975 if (yychar
== YYEMPTY
)
6977 YYDPRINTF ((stderr
, "Reading a token: "));
6978 yychar
= yylex (&yylval
, P
, tokens
, index
);
6981 if (yychar
<= YYEOF
)
6983 yychar
= yytoken
= YYEOF
;
6984 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6988 yytoken
= YYTRANSLATE (yychar
);
6989 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6992 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
6994 while (*yyconflicts
!= 0)
6997 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
6998 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
6999 (unsigned long int) yynewStack
,
7000 (unsigned long int) yyk
));
7001 yyflag
= yyglrReduce (yystackp
, yynewStack
,
7003 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
7005 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
7006 yyposn
, P
, tokens
, index
));
7007 else if (yyflag
== yyerr
)
7009 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
7010 (unsigned long int) yynewStack
));
7011 yymarkStackDeleted (yystackp
, yynewStack
);
7018 if (yyisShiftAction (yyaction
))
7020 else if (yyisErrorAction (yyaction
))
7022 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
7023 (unsigned long int) yyk
));
7024 yymarkStackDeleted (yystackp
, yyk
);
7029 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
7030 yyimmediate
[-yyaction
], P
, tokens
, index
);
7031 if (yyflag
== yyerr
)
7035 "(predicate failure or explicit user error).\n",
7036 (unsigned long int) yyk
));
7037 yymarkStackDeleted (yystackp
, yyk
);
7040 else if (yyflag
!= yyok
)
7049 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7051 if (yystackp
->yyerrState
!= 0)
7053 #if ! YYERROR_VERBOSE
7054 yyerror (P
, tokens
, index
, YY_("syntax error"));
7057 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
7058 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
7059 size_t yysize
= yysize0
;
7060 yybool yysize_overflow
= yyfalse
;
7061 char* yymsg
= YY_NULLPTR
;
7062 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
7063 /* Internationalized format string. */
7064 const char *yyformat
= YY_NULLPTR
;
7065 /* Arguments of yyformat. */
7066 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
7067 /* Number of reported tokens (one for the "unexpected", one per
7071 /* There are many possibilities here to consider:
7072 - If this state is a consistent state with a default action, then
7073 the only way this function was invoked is if the default action
7074 is an error action. In that case, don't check for expected
7075 tokens because there are none.
7076 - The only way there can be no lookahead present (in yychar) is if
7077 this state is a consistent state with a default action. Thus,
7078 detecting the absence of a lookahead is sufficient to determine
7079 that there is no unexpected or expected token to report. In that
7080 case, just report a simple "syntax error".
7081 - Don't assume there isn't a lookahead just because this state is a
7082 consistent state with a default action. There might have been a
7083 previous inconsistent state, consistent state with a non-default
7084 action, or user semantic action that manipulated yychar.
7085 - Of course, the expected token list depends on states to have
7086 correct lookahead information, and it depends on the parser not
7087 to perform extra reductions after fetching a lookahead from the
7088 scanner and before detecting a syntax error. Thus, state merging
7089 (from LALR or IELR) and default reductions corrupt the expected
7090 token list. However, the list is correct for canonical LR with
7091 one exception: it will still contain any token that will not be
7092 accepted due to an error action in a later state.
7094 if (yytoken
!= YYEMPTY
)
7096 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7097 yyarg
[yycount
++] = yytokenName (yytoken
);
7098 if (!yypact_value_is_default (yyn
))
7100 /* Start YYX at -YYN if negative to avoid negative indexes in
7101 YYCHECK. In other words, skip the first -YYN actions for this
7102 state because they are default actions. */
7103 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7104 /* Stay within bounds of both yycheck and yytname. */
7105 int yychecklim
= YYLAST
- yyn
+ 1;
7106 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7108 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7109 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7110 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7112 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7118 yyarg
[yycount
++] = yytokenName (yyx
);
7120 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7121 yysize_overflow
|= yysz
< yysize
;
7130 #define YYCASE_(N, S) \
7134 YYCASE_(0, YY_("syntax error"));
7135 YYCASE_(1, YY_("syntax error, unexpected %s"));
7136 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7137 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7138 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7139 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7144 size_t yysz
= yysize
+ strlen (yyformat
);
7145 yysize_overflow
|= yysz
< yysize
;
7149 if (!yysize_overflow
)
7150 yymsg
= (char *) YYMALLOC (yysize
);
7156 while ((*yyp
= *yyformat
))
7158 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7160 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7169 yyerror (P
, tokens
, index
, yymsg
);
7174 yyerror (P
, tokens
, index
, YY_("syntax error"));
7175 yyMemoryExhausted (yystackp
);
7178 #endif /* YYERROR_VERBOSE */
7182 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7183 yylval, and yylloc are the syntactic category, semantic value, and location
7184 of the lookahead. */
7186 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7191 if (yystackp
->yyerrState
== 3)
7192 /* We just shifted the error token and (perhaps) took some
7193 reductions. Skip tokens until we can proceed. */
7197 if (yychar
== YYEOF
)
7198 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7199 if (yychar
!= YYEMPTY
)
7201 yytoken
= YYTRANSLATE (yychar
);
7202 yydestruct ("Error: discarding",
7203 yytoken
, &yylval
, P
, tokens
, index
);
7205 YYDPRINTF ((stderr
, "Reading a token: "));
7206 yychar
= yylex (&yylval
, P
, tokens
, index
);
7207 if (yychar
<= YYEOF
)
7209 yychar
= yytoken
= YYEOF
;
7210 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7214 yytoken
= YYTRANSLATE (yychar
);
7215 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7217 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7218 if (yypact_value_is_default (yyj
))
7221 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7223 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7226 else if (! yytable_value_is_error (yytable
[yyj
]))
7230 /* Reduce to one stack. */
7231 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7232 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7234 if (yyk
>= yystackp
->yytops
.yysize
)
7235 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7236 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7237 yymarkStackDeleted (yystackp
, yyk
);
7238 yyremoveDeletes (yystackp
);
7239 yycompressStack (yystackp
);
7241 /* Now pop stack until we find a state that shifts the error token. */
7242 yystackp
->yyerrState
= 3;
7243 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7245 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7246 yyj
= yypact
[yys
->yylrState
];
7247 if (! yypact_value_is_default (yyj
))
7250 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7251 && yyisShiftAction (yytable
[yyj
]))
7253 /* Shift the error token. */
7254 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7255 &yylval
, &yyerrloc
);
7256 yyglrShift (yystackp
, 0, yytable
[yyj
],
7257 yys
->yyposn
, &yylval
);
7258 yys
= yystackp
->yytops
.yystates
[0];
7262 if (yys
->yypred
!= YY_NULLPTR
)
7263 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7264 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7265 yystackp
->yynextFree
-= 1;
7266 yystackp
->yyspaceLeft
+= 1;
7268 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7269 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7272 #define YYCHK1(YYE) \
7282 goto yyuser_error; \
7293 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7297 yyGLRStack
* const yystackp
= &yystack
;
7300 YYDPRINTF ((stderr
, "Starting parse\n"));
7303 yylval
= yyval_default
;
7305 /* User initialization code. */
7306 #line 113 "src/parser_proc_grammar.y" /* glr.c:2270 */
7310 #line 7311 "src/parser_proc.c" /* glr.c:2270 */
7312 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7313 goto yyexhaustedlab
;
7314 switch (YYSETJMP (yystack
.yyexception_buffer
))
7317 case 1: goto yyabortlab
;
7318 case 2: goto yyexhaustedlab
;
7319 default: goto yybuglab
;
7321 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7326 /* For efficiency, we have two loops, the first of which is
7327 specialized to deterministic operation (single stack, no
7328 potential ambiguity). */
7334 const short int* yyconflicts
;
7336 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7337 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7338 if (yystate
== YYFINAL
)
7340 if (yyisDefaultedState (yystate
))
7342 yyrule
= yydefaultAction (yystate
);
7346 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7349 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7354 if (yychar
== YYEMPTY
)
7356 YYDPRINTF ((stderr
, "Reading a token: "));
7357 yychar
= yylex (&yylval
, P
, tokens
, index
);
7360 if (yychar
<= YYEOF
)
7362 yychar
= yytoken
= YYEOF
;
7363 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7367 yytoken
= YYTRANSLATE (yychar
);
7368 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7371 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7372 if (*yyconflicts
!= 0)
7374 if (yyisShiftAction (yyaction
))
7376 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7379 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7380 if (0 < yystack
.yyerrState
)
7381 yystack
.yyerrState
-= 1;
7383 else if (yyisErrorAction (yyaction
))
7386 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7390 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7396 yySymbol yytoken_to_shift
;
7399 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7400 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7402 /* yyprocessOneStack returns one of three things:
7404 - An error flag. If the caller is yyprocessOneStack, it
7405 immediately returns as well. When the caller is finally
7406 yyparse, it jumps to an error label via YYCHK1.
7408 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7409 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7410 yyparse's following invocation of yyremoveDeletes will remove
7413 - yyok, when ready to shift a token.
7415 Except in the first case, yyparse will invoke yyremoveDeletes and
7416 then shift the next token onto all remaining stacks. This
7417 synchronization of the shift (that is, after all preceding
7418 reductions on all stacks) helps prevent double destructor calls
7419 on yylval in the event of memory exhaustion. */
7421 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7422 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7423 yyremoveDeletes (&yystack
);
7424 if (yystack
.yytops
.yysize
== 0)
7426 yyundeleteLastStack (&yystack
);
7427 if (yystack
.yytops
.yysize
== 0)
7428 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7429 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7430 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7432 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7436 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7437 a copy of yylval will already be on stack 0 in the event of a
7438 failure in the following loop. Thus, yychar is set to YYEMPTY
7439 before the loop to make sure the user destructor for yylval isn't
7441 yytoken_to_shift
= YYTRANSLATE (yychar
);
7444 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7447 const short int* yyconflicts
;
7448 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7449 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7451 /* Note that yyconflicts were handled by yyprocessOneStack. */
7452 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7453 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7454 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7456 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7457 (unsigned long int) yys
,
7458 yystack
.yytops
.yystates
[yys
]->yylrState
));
7461 if (yystack
.yytops
.yysize
== 1)
7463 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7464 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7465 yycompressStack (&yystack
);
7471 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7472 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7488 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7493 if (yychar
!= YYEMPTY
)
7494 yydestruct ("Cleanup: discarding lookahead",
7495 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7497 /* If the stack is well-formed, pop the stack until it is empty,
7498 destroying its entries as we go. But free the stack regardless
7499 of whether it is well-formed. */
7500 if (yystack
.yyitems
)
7502 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7505 size_t yysize
= yystack
.yytops
.yysize
;
7507 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7510 while (yystates
[yyk
])
7512 yyGLRState
*yys
= yystates
[yyk
];
7513 if (yys
->yypred
!= YY_NULLPTR
)
7514 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7515 yystates
[yyk
] = yys
->yypred
;
7516 yystack
.yynextFree
-= 1;
7517 yystack
.yyspaceLeft
+= 1;
7522 yyfreeGLRStack (&yystack
);
7528 /* DEBUGGING ONLY */
7531 yy_yypstack (yyGLRState
* yys
)
7535 yy_yypstack (yys
->yypred
);
7536 YYFPRINTF (stderr
, " -> ");
7538 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7539 (unsigned long int) yys
->yyposn
);
7543 yypstates (yyGLRState
* yyst
)
7545 if (yyst
== YY_NULLPTR
)
7546 YYFPRINTF (stderr
, "<null>");
7549 YYFPRINTF (stderr
, "\n");
7553 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7555 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7558 #define YYINDEX(YYX) \
7559 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7563 yypdumpstack (yyGLRStack
* yystackp
)
7565 yyGLRStackItem
* yyp
;
7567 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7569 YYFPRINTF (stderr
, "%3lu. ",
7570 (unsigned long int) (yyp
- yystackp
->yyitems
));
7571 if (*(yybool
*) yyp
)
7573 YYASSERT (yyp
->yystate
.yyisState
);
7574 YYASSERT (yyp
->yyoption
.yyisState
);
7575 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7576 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7577 (unsigned long int) yyp
->yystate
.yyposn
,
7578 (long int) YYINDEX (yyp
->yystate
.yypred
));
7579 if (! yyp
->yystate
.yyresolved
)
7580 YYFPRINTF (stderr
, ", firstVal: %ld",
7581 (long int) YYINDEX (yyp
->yystate
7582 .yysemantics
.yyfirstVal
));
7586 YYASSERT (!yyp
->yystate
.yyisState
);
7587 YYASSERT (!yyp
->yyoption
.yyisState
);
7588 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7589 yyp
->yyoption
.yyrule
- 1,
7590 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7591 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7593 YYFPRINTF (stderr
, "\n");
7595 YYFPRINTF (stderr
, "Tops:");
7596 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7597 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7598 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7599 YYFPRINTF (stderr
, "\n");
7607 /* Substitute the variable and function names. */
7608 #define yyparse psi_parser_proc_parse
7609 #define yylex psi_parser_proc_lex
7610 #define yyerror psi_parser_proc_error
7611 #define yylval psi_parser_proc_lval
7612 #define yychar psi_parser_proc_char
7613 #define yydebug psi_parser_proc_debug
7614 #define yynerrs psi_parser_proc_nerrs
7616 #line 2023 "src/parser_proc_grammar.y" /* glr.c:2584 */
7621 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7623 struct psi_token
*token
;
7625 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7626 if (P
->flags
& PSI_DEBUG
) {
7627 psi_token_dump(2, token
);
7630 *((struct psi_token
**)lvalp
) = token
;
7634 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7640 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7642 struct psi_token
*T
= NULL
;
7651 psi_plist_get(tokens
, last
, &T
);
7653 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7655 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);