1 /* A Bison parser, made by GNU Bison 3.0.4. */
3 /* Skeleton implementation for Bison GLR parsers in C
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C GLR parser skeleton written by Paul Hilfinger. */
35 /* Identify Bison output. */
39 #define YYBISON_VERSION "3.0.4"
42 #define YYSKELETON_NAME "glr.c"
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
51 #include "php_psi_stdinc.h"
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
63 /* First part of user declarations. */
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
75 #include "parser_proc.h"
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
82 # define YYERROR_VERBOSE 1
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default
;
91 /* Copy the second part of user declarations. */
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
104 #define PSI_PARSER_PROC_DEBUG 1
106 static int psi_parser_proc_lex(YYSTYPE
*u
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
107 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
);
109 static inline void psi_parser_proc_add_struct(struct psi_parser
*P
, struct psi_decl_struct
*strct
)
113 P
->structs
= psi_plist_init((psi_plist_dtor
) psi_decl_struct_free
);
115 P
->structs
= psi_plist_add(P
->structs
, &strct
);
117 static inline void psi_parser_proc_add_union(struct psi_parser
*P
, struct psi_decl_union
*u
)
121 P
->unions
= psi_plist_init((psi_plist_dtor
) psi_decl_union_free
);
123 P
->unions
= psi_plist_add(P
->unions
, &u
);
125 static inline void psi_parser_proc_add_enum(struct psi_parser
*P
, struct psi_decl_enum
*e
)
129 P
->enums
= psi_plist_init((psi_plist_dtor
) psi_decl_enum_free
);
131 P
->enums
= psi_plist_add(P
->enums
, &e
);
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg
*def
)
135 switch (def
->type
->type
) {
137 if (!psi_decl_type_is_anon(def
->type
->name
, "struct")) {
142 if (!psi_decl_type_is_anon(def
->type
->name
, "union")) {
147 if (!psi_decl_type_is_anon(def
->type
->name
, "enum")) {
154 free(def
->type
->name
);
155 def
->type
->name
= strdup(def
->var
->name
);
157 static inline void psi_parser_proc_add_typedef(struct psi_parser
*P
, struct psi_decl_arg
*def
)
161 P
->types
= psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
);
163 psi_parser_proc_deanon_typedef(def
);
164 P
->types
= psi_plist_add(P
->types
, &def
);
166 static inline void psi_parser_proc_add_const(struct psi_parser
*P
, struct psi_const
*cnst
) {
169 P
->consts
= psi_plist_init((psi_plist_dtor
) psi_const_free
);
171 P
->consts
= psi_plist_add(P
->consts
, &cnst
);
174 static inline void psi_parser_proc_add_decl(struct psi_parser
*P
, struct psi_decl
*decl
) {
177 if (psi_decl_is_blacklisted(decl
->func
->var
->name
)) {
178 psi_decl_free(&decl
);
183 P
->decls
= psi_plist_init((psi_plist_dtor
) psi_decl_free
);
185 P
->decls
= psi_plist_add(P
->decls
, &decl
);
187 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser
*P
, struct psi_plist
*list
) {
190 P
->vars
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
192 P
->vars
= psi_plist_add_r(P
->vars
, psi_plist_count(list
), psi_plist_eles(list
));
195 static inline void psi_parser_proc_add_impl(struct psi_parser
*P
, struct psi_impl
*impl
) {
198 P
->impls
= psi_plist_init((psi_plist_dtor
) psi_impl_free
);
200 P
->impls
= psi_plist_add(P
->impls
, &impl
);
205 #line 206 "src/parser_proc.c" /* glr.c:264 */
212 # if defined YYENABLE_NLS && YYENABLE_NLS
214 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
215 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
219 # define YY_(Msgid) Msgid
227 # define YYMALLOC malloc
230 # define YYREALLOC realloc
233 #define YYSIZEMAX ((size_t) -1)
238 typedef unsigned char yybool
;
245 # define YYJMP_BUF jmp_buf
246 # define YYSETJMP(Env) setjmp (Env)
248 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
252 # if (defined __GNUC__ \
253 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
254 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
255 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
257 # define YY_ATTRIBUTE(Spec) /* empty */
261 #ifndef YY_ATTRIBUTE_PURE
262 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
265 #ifndef YY_ATTRIBUTE_UNUSED
266 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
269 #if !defined _Noreturn \
270 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
271 # if defined _MSC_VER && 1200 <= _MSC_VER
272 # define _Noreturn __declspec (noreturn)
274 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
278 /* Suppress unused-variable warnings by "using" E. */
279 #if ! defined lint || defined __GNUC__
280 # define YYUSE(E) ((void) (E))
282 # define YYUSE(E) /* empty */
285 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
286 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
287 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
288 _Pragma ("GCC diagnostic push") \
289 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
290 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
291 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
292 _Pragma ("GCC diagnostic pop")
294 # define YY_INITIAL_VALUE(Value) Value
296 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
297 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
298 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
300 #ifndef YY_INITIAL_VALUE
301 # define YY_INITIAL_VALUE(Value) /* Nothing. */
306 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
309 /* YYFINAL -- State number of the termination state. */
311 /* YYLAST -- Last index in YYTABLE. */
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
318 /* YYNRULES -- Number of rules. */
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 895
322 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
324 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
325 accessed by $0, $-1, etc., in any rule. */
328 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
330 #define YYMAXUTOK 394
332 #define YYTRANSLATE(YYX) \
333 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
335 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
336 static const unsigned char yytranslate
[] =
338 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
363 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
364 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
365 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
366 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
367 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
368 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
369 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
370 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
371 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
372 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
373 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
374 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
375 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
377 135, 136, 137, 138, 139
381 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
382 static const unsigned short int yyrline
[] =
384 0, 432, 432, 432, 432, 432, 432, 432, 432, 432,
385 432, 432, 432, 432, 432, 432, 432, 432, 432, 432,
386 433, 433, 433, 433, 434, 434, 434, 434, 434, 434,
387 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
388 434, 434, 434, 435, 435, 435, 435, 435, 435, 435,
389 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
390 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
391 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
392 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
393 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
394 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
395 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
396 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
397 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
398 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
399 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
400 435, 436, 436, 436, 436, 436, 436, 436, 436, 436,
401 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
402 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
403 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
404 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
405 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
406 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
407 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
408 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
409 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
410 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
411 436, 436, 436, 436, 436, 436, 436, 440, 441, 444,
412 445, 448, 449, 450, 451, 457, 465, 468, 471, 474,
413 475, 478, 481, 484, 487, 493, 499, 502, 508, 531,
414 535, 539, 544, 548, 552, 556, 563, 564, 568, 569,
415 573, 574, 575, 579, 580, 584, 585, 589, 590, 591,
416 595, 596, 600, 601, 602, 603, 604, 605, 606, 610,
417 615, 623, 626, 629, 630, 636, 641, 649, 652, 656,
418 660, 667, 671, 675, 679, 684, 694, 704, 709, 714,
419 718, 724, 733, 736, 740, 744, 750, 757, 763, 764,
420 765, 766, 770, 773, 805, 812, 813, 814, 815, 819,
421 822, 831, 837, 840, 846, 849, 855, 856, 864, 875,
422 884, 896, 897, 901, 911, 920, 932, 935, 938, 942,
423 946, 950, 955, 960, 968, 969, 970, 976, 979, 982,
424 988, 989, 993, 996, 999, 1005, 1008, 1011, 1019, 1031,
425 1034, 1037, 1040, 1047, 1050, 1060, 1063, 1066, 1069, 1070,
426 1071, 1075, 1078, 1081, 1092, 1095, 1101, 1102, 1106, 1107,
427 1111, 1141, 1144, 1150, 1153, 1159, 1162, 1165, 1171, 1175,
428 1176, 1180, 1181, 1185, 1186, 1193, 1194, 1198, 1205, 1216,
429 1223, 1234, 1241, 1252, 1263, 1277, 1278, 1290, 1293, 1296,
430 1302, 1305, 1312, 1315, 1321, 1330, 1342, 1350, 1353, 1363,
431 1376, 1381, 1389, 1399, 1409, 1412, 1416, 1422, 1436, 1453,
432 1456, 1462, 1469, 1479, 1486, 1489, 1495, 1500, 1508, 1512,
433 1516, 1520, 1524, 1528, 1535, 1539, 1543, 1547, 1551, 1555,
434 1561, 1565, 1572, 1575, 1587, 1591, 1595, 1601, 1614, 1627,
435 1640, 1643, 1650, 1651, 1655, 1658, 1661, 1664, 1670, 1674,
436 1681, 1684, 1687, 1690, 1701, 1704, 1710, 1711, 1717, 1720,
437 1726, 1727, 1737, 1740, 1747, 1752, 1757, 1767, 1770, 1776,
438 1779, 1785, 1792, 1799, 1800, 1801, 1802, 1803, 1804, 1805,
439 1806, 1807, 1811, 1814, 1820, 1823, 1826, 1829, 1832, 1838,
440 1842, 1850, 1851, 1855, 1862, 1865, 1868, 1871, 1875, 1878,
441 1884, 1888, 1896, 1903, 1908, 1916, 1924, 1925, 1926, 1927,
442 1928, 1929, 1930, 1931, 1932, 1933, 1937, 1940, 1946, 1949,
443 1955, 1956, 1960, 1963, 1969, 1972, 1978, 1985, 1989, 1996,
444 1999, 2002, 2008, 2015, 2018, 2021, 2028, 2033, 2041, 2042,
445 2043, 2044, 2045, 2046, 2047, 2048, 2052, 2055, 2061, 2064,
446 2070, 2077, 2078, 2082, 2089, 2092, 2098, 2106, 2109, 2115
450 #if YYDEBUG || YYERROR_VERBOSE || 1
451 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
452 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
453 static const char *const yytname
[] =
455 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
456 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
457 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
458 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
459 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
460 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
461 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
462 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
463 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
464 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
465 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
466 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
467 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
468 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
469 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
470 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
471 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
472 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
473 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
474 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
475 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
476 "$accept", "binary_op_token", "unary_op_token", "name_token",
477 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
478 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
479 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
480 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_special_name_token",
481 "cpp_macro_decl", "cpp_macro_sig", "cpp_macro_sig_args",
482 "cpp_macro_decl_tokens", "cpp_macro_decl_token_list", "cpp_macro_exp",
483 "cpp_macro_call_args", "cpp_macro_call_arg_list", "constant",
484 "constant_type", "constant_type_token", "impl_def_val",
485 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
486 "typedef_decl", "typedef_anon_decl", "qualified_decl_type", "decl_type",
487 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
488 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
489 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
490 "ignored_quoted_strings", "decl_extvar_stmt", "decl_extvar_list",
491 "decl_vars", "ignored_decl", "ignored_decl_body",
492 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
493 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
494 "decl_args", "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var",
495 "decl_union", "decl_struct", "decl_struct_args", "struct_args_block",
496 "struct_args", "struct_arg_var_list", "decl_vars_with_layout",
497 "decl_enum", "decl_enum_items", "decl_enum_item", "num_exp", "number",
498 "sizeof", "sizeof_body", "sizeof_body_notypes", "enum_name",
499 "union_name", "struct_name", "optional_name", "optional_comma",
500 "decl_layout", "align_and_size", "array_size", "indirection", "pointers",
501 "asterisks", "asterisk", "impl", "impl_func", "impl_args", "impl_arg",
502 "impl_var", "impl_type", "impl_type_token", "impl_stmts", "impl_stmt",
503 "let_stmt", "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
504 "let_callback", "let_func", "let_func_token", "let_func_exps",
505 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
506 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
507 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
508 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
513 #define YYPACT_NINF -703
514 #define YYTABLE_NINF -628
516 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
518 static const short int yypact
[] =
520 1445, -703, -703, -703, -703, -703, 70, -703, -703, 2591,
521 1754, 344, -703, -703, 753, 540, 3446, 3446, 3446, 65,
522 82, 277, 74, -703, 1721, 1980, 123, 1445, -703, -703,
523 -703, -703, -703, 2817, -703, -703, -703, -703, 115, 180,
524 -703, -703, -703, -703, 39, -703, -703, 73, 125, 138,
525 -703, -703, -703, -703, 136, -703, 144, -703, -703, -703,
526 -703, -703, 841, -703, 154, 97, -703, -703, -703, -703,
527 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
528 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
529 -703, -703, -703, -703, -703, -703, 2930, -10, -703, -703,
530 -703, -703, 3446, 3446, 3446, 635, -703, 101, -703, -703,
531 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
532 -703, 687, -703, -703, -703, -703, 160, 967, 967, 26,
533 -703, 687, 2478, 2591, 3446, 3446, 2093, 192, -703, -703,
534 -703, 187, 3446, 193, 193, 59, 59, 196, -703, -703,
535 206, 215, -703, 154, 216, -703, -703, 203, 1980, 210,
536 212, -703, 224, -703, 2206, 1473, 39, 210, -703, -703,
537 213, -703, 217, 3446, -703, 246, -703, 116, -703, -703,
538 -703, 211, -703, 222, 225, 2398, 2398, 3446, 313, 3446,
539 -703, -703, 154, -703, -703, -703, -703, -703, -703, 2817,
540 244, -703, -703, -703, -703, -703, -703, 137, 967, -703,
541 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
542 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
543 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
544 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
545 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
546 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
547 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
548 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
549 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
550 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
551 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
552 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
553 -703, 967, -703, -703, -703, -703, -703, -703, -703, -703,
554 135, 2478, -703, -703, -703, -703, 3043, 2478, 245, 3600,
555 -703, 247, 119, -703, 141, -703, -703, -703, -703, 241,
556 243, 243, 49, 49, 3156, 240, -703, 210, 1219, -703,
557 313, 257, 259, 260, -703, 1333, -703, 154, 213, -703,
558 -703, -703, 287, -703, -703, 269, -703, 11, 1503, 2817,
559 162, 262, -703, -703, 173, 261, 263, -703, 2817, 2139,
560 2817, 3446, 2817, -703, -703, 17, -703, -703, -703, -703,
561 -703, 2365, -703, 271, 3446, 268, -703, 3446, -703, 273,
562 -703, -703, -703, -703, 2624, 294, -703, 2921, 3446, -703,
563 -703, 2478, -703, -703, -703, -703, -703, -703, -703, -703,
564 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
565 2478, 2478, -703, 285, 1533, 2817, 2817, -703, -703, -703,
566 -703, 154, -703, 1687, -703, -703, -703, -703, -703, -703,
567 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
568 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
569 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
570 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
571 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
572 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
573 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
574 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
575 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
576 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
577 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
578 -703, -703, -703, 1093, -703, 174, 297, -703, -703, -703,
579 -703, -703, -703, 1574, -703, 279, 2365, -703, 3576, -703,
580 -703, 3446, -703, -703, -703, 58, 2930, 154, 217, 213,
581 256, 2432, 213, 258, 2365, 3446, 286, 289, 295, 3624,
582 292, 302, -703, 307, 316, 301, 312, 122, -703, 314,
583 326, -703, -703, -703, 2799, -703, 325, 2817, 3215, 154,
584 337, -703, -703, -703, 342, 3600, 356, 311, 3527, -703,
585 322, 2093, 324, -703, -703, 2704, 480, 3446, 193, 193,
586 -703, -703, 3446, 25, -703, -703, -703, 346, -703, 3624,
587 -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
588 -703, -703, 355, 176, -703, 74, -703, 358, 344, 359,
589 3034, -703, -703, -703, 2365, 2365, 360, -703, -703, 3156,
590 -703, 363, 11, -703, -703, 365, 3624, -703, -703, 1800,
591 -703, 2139, -703, 2817, -703, 74, 2817, -703, 3446, 3328,
592 -703, -703, -703, -703, -703, -703, 366, 367, -703, -703,
593 -703, -703, 2478, 2478, 370, -703, 53, 380, -703, 324,
594 243, 243, 369, -703, 368, 381, 368, 379, 2365, -703,
595 3552, -703, -703, 213, 213, 109, 323, 157, 388, 3624,
596 -703, -703, -703, -703, 389, 2252, -703, 391, 2817, 188,
597 -703, 401, 268, 402, 967, 3387, 3600, 3648, 411, 403,
598 407, 2817, 413, 380, 2817, 2817, -703, -703, 368, -703,
599 74, 1687, -703, 2365, -703, -703, 388, -703, -703, -703,
600 3328, -703, 410, 2365, 74, -703, 1913, 412, 417, -703,
601 353, -703, -703, -703, 418, 421, 432, 324, 427, -703,
602 433, -703, 33, -703, 3672, 430, 74, 3309, 431, 434,
603 -703, 436, -703, -703, 130, -703, 440, 442, -703, 2817,
604 -703, 444, 377, 445, 2365, 1800, 446, -703, 2139, -703,
605 -703, 448, 441, 453, 324, 450, 486, 2026, 3147, 289,
606 -703, -703, -703, 458, 2252, -703, -703, 459, 461, -703,
607 463, 464, 466, 467, -703, -703, 1800, -703, 481, -703,
608 368, 74, 472, 2139, -703, 474, -703, 479, -703, -703,
609 -703, 2026, 482, 485, -703
612 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
613 Performed when YYTABLE does not specify something else to do. Zero
614 means the default is an error. */
615 static const unsigned short int yydefact
[] =
617 277, 405, 402, 406, 400, 401, 403, 397, 398, 0,
618 396, 0, 282, 281, 0, 0, 0, 0, 510, 0,
619 0, 0, 627, 283, 0, 0, 0, 278, 279, 285,
620 284, 286, 290, 524, 388, 390, 389, 395, 409, 421,
621 394, 287, 288, 289, 426, 443, 445, 446, 0, 0,
622 455, 292, 291, 293, 0, 294, 0, 404, 399, 33,
623 34, 615, 576, 24, 524, 530, 39, 38, 37, 35,
624 36, 32, 31, 25, 29, 28, 26, 27, 40, 584,
625 583, 581, 579, 580, 582, 578, 577, 585, 30, 613,
626 611, 610, 612, 609, 608, 456, 0, 526, 528, 41,
627 42, 396, 0, 0, 0, 0, 444, 431, 387, 296,
628 307, 304, 306, 308, 309, 320, 317, 318, 315, 321,
629 316, 0, 319, 310, 311, 312, 0, 337, 337, 0,
630 300, 0, 0, 0, 510, 510, 0, 0, 372, 377,
631 466, 376, 0, 518, 518, 391, 392, 393, 507, 358,
632 406, 397, 361, 0, 0, 357, 386, 0, 0, 0,
633 0, 629, 0, 628, 396, 0, 426, 0, 1, 280,
634 520, 467, 0, 525, 411, 415, 413, 417, 410, 407,
635 422, 409, 408, 0, 0, 457, 457, 0, 0, 0,
636 525, 531, 524, 469, 527, 529, 391, 392, 393, 0,
637 0, 323, 324, 325, 327, 328, 326, 322, 337, 302,
638 297, 68, 43, 44, 45, 46, 47, 48, 49, 50,
639 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
640 61, 62, 63, 64, 65, 66, 67, 158, 159, 69,
641 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
642 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
643 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
644 100, 101, 102, 108, 106, 107, 105, 103, 104, 109,
645 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
646 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
647 130, 131, 132, 160, 133, 134, 135, 136, 137, 138,
648 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
649 149, 150, 151, 152, 156, 153, 154, 155, 157, 339,
650 305, 338, 298, 313, 314, 299, 322, 301, 347, 348,
651 0, 0, 22, 23, 20, 21, 0, 0, 350, 303,
652 349, 456, 391, 509, 392, 508, 373, 369, 378, 0,
653 0, 0, 0, 0, 0, 0, 295, 0, 0, 435,
654 0, 0, 0, 0, 436, 0, 471, 524, 520, 416,
655 412, 418, 419, 414, 423, 0, 424, 458, 0, 524,
656 0, 459, 460, 462, 0, 486, 512, 484, 0, 627,
657 0, 0, 0, 621, 622, 0, 552, 555, 554, 556,
658 557, 0, 558, 0, 0, 432, 433, 0, 430, 0,
659 330, 340, 506, 505, 0, 0, 501, 0, 0, 345,
660 342, 352, 2, 3, 4, 5, 6, 7, 8, 9,
661 10, 11, 13, 12, 14, 15, 16, 17, 18, 19,
662 0, 0, 370, 0, 0, 0, 0, 474, 473, 475,
663 472, 524, 468, 362, 437, 186, 161, 162, 163, 164,
664 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
665 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
666 185, 274, 275, 187, 188, 189, 190, 191, 192, 193,
667 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
668 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
669 214, 215, 216, 217, 218, 224, 222, 223, 221, 219,
670 220, 225, 226, 227, 228, 229, 230, 231, 232, 233,
671 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
672 244, 245, 246, 247, 248, 276, 249, 250, 251, 252,
673 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
674 263, 264, 265, 266, 267, 268, 272, 269, 270, 271,
675 273, 441, 442, 0, 439, 0, 0, 371, 425, 497,
676 495, 494, 496, 0, 521, 0, 0, 498, 0, 488,
677 499, 0, 470, 420, 428, 0, 465, 0, 463, 520,
678 0, 0, 520, 0, 0, 513, 0, 0, 0, 604,
679 0, 0, 603, 42, 0, 0, 0, 0, 624, 0,
680 0, 598, 532, 553, 0, 454, 0, 0, 331, 524,
681 0, 502, 504, 341, 0, 354, 0, 353, 0, 343,
682 0, 0, 514, 381, 374, 382, 0, 383, 518, 518,
683 380, 379, 0, 497, 366, 367, 368, 0, 364, 363,
684 438, 440, 533, 545, 546, 547, 548, 544, 549, 550,
685 551, 543, 0, 0, 537, 627, 542, 24, 0, 0,
686 0, 522, 492, 523, 0, 0, 0, 429, 427, 464,
687 449, 0, 0, 461, 447, 0, 487, 485, 483, 0,
688 559, 627, 602, 0, 541, 627, 0, 623, 0, 599,
689 596, 620, 453, 434, 332, 335, 0, 333, 503, 500,
690 346, 351, 0, 0, 0, 375, 0, 479, 476, 514,
691 0, 0, 0, 356, 0, 0, 0, 539, 0, 490,
692 0, 491, 451, 520, 520, 497, 0, 31, 30, 565,
693 570, 566, 568, 569, 41, 0, 605, 616, 0, 0,
694 625, 615, 601, 0, 337, 0, 355, 344, 0, 515,
695 0, 0, 0, 479, 385, 384, 452, 534, 0, 538,
696 627, 362, 489, 0, 450, 448, 0, 567, 590, 576,
697 599, 591, 0, 0, 627, 571, 627, 0, 0, 626,
698 0, 329, 334, 336, 0, 0, 0, 514, 480, 477,
699 0, 535, 0, 540, 493, 0, 627, 0, 586, 0,
700 618, 617, 606, 560, 0, 519, 0, 0, 481, 0,
701 478, 0, 0, 0, 0, 0, 0, 607, 627, 614,
702 597, 0, 0, 0, 514, 0, 0, 592, 0, 498,
703 588, 563, 561, 587, 0, 575, 619, 0, 0, 482,
704 0, 0, 0, 593, 594, 572, 0, 562, 0, 516,
705 0, 627, 0, 627, 589, 0, 536, 0, 573, 595,
709 /* YYPGOTO[NTERM-NUM]. */
710 static const short int yypgoto
[] =
712 -703, -324, -123, -4, 181, -703, -703, -703, 487, -703,
713 -703, -703, -703, -703, -703, -703, -703, -703, -703, 382,
714 -703, -703, -703, -125, -703, -292, -703, -703, -703, -703,
715 -703, -272, -703, -703, 361, -136, 32, -130, -156, -9,
716 -703, -703, -703, 488, -703, -703, 347, -703, -703, -703,
717 -703, 364, -703, -703, -703, -192, -703, -131, -703, -54,
718 501, 41, 0, 40, -703, -703, 345, -703, -79, 8,
719 -33, -703, -703, 170, -323, -703, -247, -703, 4, -703,
720 -78, -322, -703, -116, -703, 114, -703, -443, -421, 92,
721 -703, -691, -124, -359, -58, -1, -703, 443, -703, 518,
722 -703, -205, -644, -702, -703, 182, -371, -703, -333, -663,
723 155, -201, -703, -703, -664, -703, -703, -300, -332, -703,
724 -703, -703, -242, -703, -373, -385, -375, -703, -703, -703,
725 -703, -703, -703, -158, -21, -674
728 /* YYDEFGOTO[NTERM-NUM]. */
729 static const short int yydefgoto
[] =
731 -1, 695, 596, 170, 329, 581, 26, 27, 28, 29,
732 30, 126, 127, 128, 129, 335, 130, 131, 132, 208,
733 209, 726, 727, 330, 331, 349, 646, 647, 31, 154,
734 155, 667, 668, 32, 137, 652, 653, 654, 33, 34,
735 35, 36, 37, 38, 39, 40, 179, 380, 383, 182,
736 41, 184, 605, 42, 200, 772, 43, 582, 583, 584,
737 44, 45, 46, 140, 48, 49, 390, 391, 392, 50,
738 597, 51, 52, 458, 459, 656, 782, 818, 142, 396,
739 397, 619, 599, 600, 640, 426, 54, 143, 144, 148,
740 616, 737, 360, 376, 172, 417, 97, 98, 55, 56,
741 683, 684, 620, 685, 686, 405, 406, 407, 860, 861,
742 862, 761, 762, 763, 99, 846, 863, 802, 872, 873,
743 408, 630, 773, 409, 874, 622, 100, 807, 831, 410,
744 411, 412, 627, 628, 624, 163
747 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
748 positive, shift that token. If negative, reduce the rule whose
749 number is the opposite. If YYTABLE_NINF, syntax error. */
750 static const short int yytable
[] =
752 171, 162, 108, 332, 53, 95, 189, 415, 96, 347,
753 156, 658, 145, 146, 147, 139, 350, 631, 107, 602,
754 361, 362, 363, 141, 623, 451, 621, 623, 369, 389,
755 389, 53, 173, 659, 633, 765, 374, 455, 456, 65,
756 47, 747, 787, 64, 790, 764, 760, 138, 783, 427,
757 47, 106, 333, 598, 632, 430, -365, 714, -365, -365,
758 65, 47, 159, 190, 47, 47, 167, 47, 149, 1,
759 2, 150, 4, 5, 6, 151, 8, 152, 779, 57,
760 457, 58, 153, 420, 697, 454, 821, 101, 780, 634,
761 -518, 698, 193, 801, 359, -518, 156, 841, 196, 197,
762 198, 764, 805, 451, -446, -466, 451, -466, 157, 398,
763 399, 400, 401, 402, 194, 403, 404, 207, 161, 174,
764 175, 176, 381, 168, 177, 382, 838, 336, 348, 351,
765 352, 354, 96, -455, 414, 199, 139, 178, 358, 645,
766 -497, 669, -497, -497, 141, 334, 747, 61, 849, 102,
767 103, 104, 364, 717, -391, -511, 718, 185, 648, 649,
768 828, 422, 423, 869, 183, 139, 416, 424, 356, 378,
769 186, 864, 187, 141, 798, 799, -392, -511, 886, 425,
770 188, 764, 843, 395, 191, 413, 180, 4, 5, 800,
771 210, 190, 801, 393, 393, 609, 610, 138, 47, 367,
772 764, 877, 864, 65, 47, 106, 612, 613, 658, 745,
773 746, 672, 764, 658, 633, 174, 175, 176, 347, -455,
774 177, 809, 637, 357, 347, 350, 353, 355, 359, -359,
775 659, 350, -511, 178, 366, 659, 464, 887, -360, 365,
776 89, 90, 91, 92, 93, 94, 368, 371, 370, 377,
777 700, 375, 379, 704, 385, 419, 386, 79, 80, 81,
778 82, 83, 84, 85, 86, 87, 398, 399, 400, 401,
779 402, 690, 403, 404, 692, 418, 453, 431, 452, 454,
780 463, 1, 2, 3, 4, 5, 6, 7, 8, 586,
781 587, 588, 706, 603, 9, 604, 611, 615, 655, 101,
782 673, 614, 637, 674, 635, 638, 11, 675, 347, 676,
783 677, 678, 679, 680, 681, 350, 642, 650, 691, 601,
784 701, 451, 705, 708, 451, 451, 710, 347, 347, 709,
785 682, 608, 711, 712, 350, 350, 623, 348, 766, 713,
786 714, 715, 429, 348, 716, 732, 719, 734, 1, 2,
787 3, 4, 5, 6, 7, 8, 171, 720, 722, 736,
788 462, 102, 103, 104, 105, 617, 101, 625, 22, 629,
789 729, 673, 750, 751, 674, 730, 190, 743, 675, 156,
790 676, 677, 678, 679, 680, 681, 606, 759, 173, 731,
791 744, -24, 748, 752, 794, 795, 753, 626, 754, 774,
792 158, 775, 786, 662, 778, 398, 399, 400, 401, 402,
793 636, 403, 404, 378, 781, 639, 788, 784, 785, 791,
794 803, 804, 660, 661, 644, 806, 792, 348, 102, 103,
795 104, 623, 796, 830, -600, 810, 814, 689, 815, 816,
796 776, 777, 826, 759, 819, 832, 348, 348, 833, 850,
797 834, 835, 451, 451, 139, 389, 836, 837, 657, 851,
798 190, 839, 141, 842, 840, 845, 867, 847, 855, 669,
799 848, 824, 852, 623, 856, 866, 853, 857, 868, 865,
800 713, 827, 623, 870, 1, 2, 3, 4, 5, 6,
801 7, 8, 876, 878, 879, 655, 881, 9, 880, 882,
802 655, 883, 101, 798, 799, 888, 885, 890, 623, 11,
803 889, 891, 421, 337, 169, 893, 623, 738, 894, 823,
804 739, 735, 858, 759, 769, 166, 372, 181, 384, 671,
805 373, 394, 703, 460, 740, 741, 820, 707, 641, 160,
806 195, 789, 759, 884, 1, 2, 3, 4, 5, 6,
807 7, 8, 585, 618, 759, 797, 871, 133, 825, 892,
808 770, 0, 101, 0, 134, 135, 18, 105, 0, 11,
809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
810 0, 728, 0, 0, 0, 0, 79, 80, 81, 82,
811 83, 84, 85, 86, 87, 0, 0, 696, 0, 0,
812 0, 651, 193, 0, 723, 0, 699, 0, 0, 347,
813 347, 395, 0, 0, 0, 0, 350, 350, 0, 393,
814 0, 0, 171, 0, 134, 135, 18, 105, 0, 0,
815 0, 0, 0, 0, 725, 0, 0, 0, 190, 1,
816 2, 3, 4, 5, 6, 7, 8, 0, 0, 811,
817 0, 139, 153, 358, 173, 657, 139, 101, 742, 141,
818 657, 136, 0, 0, 141, 0, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
820 767, 0, 0, 416, 0, 0, 416, 0, 0, 0,
821 59, 0, 0, 0, 768, 462, 0, 0, 0, 60,
822 0, 606, 0, 0, 61, 62, 201, 202, 203, 63,
823 0, 0, 0, 0, 626, 0, 0, 0, 0, 102,
824 103, 104, 0, 0, 0, 0, 0, 0, 348, 348,
825 0, 0, 0, 0, 0, 808, 0, 0, 0, 0,
826 0, 0, 0, 0, 0, 0, 0, 0, 817, 0,
827 0, 660, 661, 66, 67, 68, 69, 70, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 416, 0, 822,
829 0, 813, 0, 0, 0, 71, 0, 72, 73, 74,
830 75, 76, 77, 109, 78, 0, 0, 79, 80, 81,
831 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
832 92, 93, 94, 0, 0, 0, 854, 0, 204, 0,
833 205, 206, 859, 0, 0, 0, 0, 0, 0, 110,
834 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
835 121, 0, 122, 123, 124, 125, 0, 0, 0, 0,
836 0, -576, 0, 859, -576, -576, -576, -576, -576, -576,
837 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
838 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
839 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
840 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
841 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
842 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
843 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
844 -576, 0, -576, 0, -576, -576, -576, -576, -576, -576,
845 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
846 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
847 -576, -576, -576, -576, -576, -576, -576, -576, 0, -576,
848 -576, 0, -576, -576, -576, -576, -576, 211, 0, 0,
849 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
850 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
851 232, 233, 234, 235, 236, 237, 238, 0, 239, 240,
852 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
853 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
854 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
855 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
856 281, 282, 283, 284, 285, 286, 287, 0, 288, 0,
857 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
858 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
859 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
860 319, 320, 321, 322, 0, 0, 323, 0, 324, 325,
861 326, 327, 328, 465, 0, 0, 466, 467, 468, 469,
862 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
863 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
864 490, 491, 492, 0, 493, 494, 495, 496, 497, 368,
865 670, 498, 499, 500, 501, 502, 503, 504, 505, 506,
866 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
867 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
868 527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
869 537, 538, 539, 0, 540, 0, 541, 542, 543, 544,
870 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
871 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
872 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
873 0, 0, 575, 0, 576, 577, 578, 579, 580, 465,
874 0, 0, 466, 467, 468, 469, 470, 471, 472, 473,
875 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
876 484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
877 493, 494, 495, 496, 497, 368, 0, 498, 499, 500,
878 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
879 511, 512, 513, 514, 515, 516, 517, 518, 519, 520,
880 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
881 531, 532, 533, 534, 535, 536, 537, 538, 539, 0,
882 540, 0, 541, 542, 543, 544, 545, 546, 547, 548,
883 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
884 559, 560, 561, 562, 563, 564, 565, 566, 567, 568,
885 569, 570, 571, 572, 573, 574, 59, 0, 575, 0,
886 576, 577, 578, 579, 580, 60, 0, 0, 0, 0,
887 61, 62, 589, 0, 0, 63, 590, 0, 591, 0,
888 592, 340, 0, 0, 0, 593, 0, 0, 0, 0,
889 0, 0, 594, 0, 0, 0, 0, 0, 0, 0,
890 342, 343, 65, 0, 0, 0, 0, 0, 0, 0,
891 0, 0, 0, 344, 345, 0, 0, 0, 0, 66,
892 67, 68, 69, 70, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 71, 0, 72, 73, 74, 75, 76, 77, 0,
895 78, 0, 0, 79, 80, 81, 82, 83, 84, 85,
896 86, 87, 88, 89, 90, 91, 92, 93, 94, 1,
897 2, 3, 4, 5, 6, 7, 8, 595, 0, 0,
898 0, 0, 9, 0, 0, 0, 0, 10, 0, 0,
899 0, 0, 0, 0, 11, 12, 13, 1, 2, 3,
900 4, 5, 6, 7, 8, 0, 14, 0, 0, 0,
901 9, 0, 0, 0, 0, 101, 0, 0, 0, 0,
902 0, 0, 11, 0, 0, 0, 0, 1, 2, 3,
903 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
904 607, 0, 0, 0, 0, 101, 0, 0, 15, 16,
905 17, 18, 19, 20, 21, 0, 22, 1, 2, 3,
906 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
907 9, 0, 0, 0, 0, 101, 0, 134, 135, 18,
908 105, 23, 11, 0, 0, 0, 24, 0, 25, 0,
909 0, 0, 0, 0, 0, 0, 0, 59, 1, 2,
910 3, 4, 5, 6, 7, 8, 60, 102, 103, 104,
911 0, 61, 62, 589, 136, 0, 687, 590, 0, 591,
912 0, 592, 340, 11, 0, 0, 593, 0, 0, 0,
913 0, 0, 0, 0, 0, 0, 0, 134, 135, 18,
914 105, 342, 343, 65, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 344, 345, 0, 0, 0, 0,
916 66, 67, 68, 69, 70, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 651, 0, 0, 0, 102, 103,
918 104, 688, 71, 0, 72, 73, 74, 75, 76, 77,
919 0, 78, 0, 0, 79, 80, 81, 82, 83, 84,
920 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
921 59, 0, 0, 0, 0, 0, 0, 0, 0, 60,
922 0, 0, 0, 0, 61, 62, 663, 664, 665, 63,
923 590, 0, 591, 666, 592, 340, 0, 0, 0, 593,
924 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
925 6, 7, 8, 0, 342, 343, 65, 0, 9, 0,
926 0, 0, 0, 164, 0, 0, 0, 344, 345, 0,
927 11, 0, 0, 66, 67, 68, 69, 70, 1, 2,
928 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
929 0, 9, 0, 0, 0, 71, 101, 72, 73, 74,
930 75, 76, 77, 11, 78, 0, 0, 79, 80, 81,
931 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
932 92, 93, 94, 59, 165, 102, 103, 104, 105, 0,
933 0, 0, 60, 0, 0, 0, 0, 61, 62, 755,
934 0, 0, 63, 590, 0, 591, 0, 592, 340, 0,
935 0, 0, 593, 0, 0, 0, 0, 0, 102, 103,
936 104, 105, 0, 0, 161, 0, 0, 342, 343, 65,
937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
938 344, 345, 0, 0, 0, 0, 66, 67, 68, 69,
939 70, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 71, 756,
941 757, 73, 74, 75, 76, 77, 0, 78, 0, 0,
942 79, 80, 81, 82, 83, 84, 85, 86, 87, 758,
943 89, 90, 91, 92, 93, 94, 59, 0, 0, 0,
944 0, 0, 0, 0, 0, 60, 0, 0, 0, 0,
945 61, 62, 589, 0, 0, 63, 590, 0, 591, 0,
946 592, 340, 0, 0, 0, 593, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 0, 161, 0, 0,
948 342, 343, 65, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 0, 344, 345, 0, 0, 829, 0, 66,
950 67, 68, 69, 70, 1, 2, 3, 4, 5, 6,
951 7, 8, 0, 0, 0, 0, 0, 9, 0, 0,
952 0, 71, 101, 72, 73, 74, 75, 76, 77, 11,
953 78, 0, 0, 79, 80, 81, 82, 83, 84, 85,
954 86, 87, 88, 89, 90, 91, 92, 93, 94, 59,
955 0, 0, 0, 0, 0, 0, 0, 0, 60, 0,
956 0, 0, 0, 61, 62, 589, 0, 0, 63, 590,
957 -627, 591, 0, 592, 340, 0, 0, 0, 593, 0,
958 0, 0, 0, 0, 102, 103, 104, 105, 0, 0,
959 161, 0, 0, 342, 343, 65, 0, 0, 0, 0,
960 0, 0, 0, 0, 0, 0, 344, 345, 0, 0,
961 0, 0, 66, 67, 68, 69, 70, 1, 2, 3,
962 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
963 9, 0, 0, 0, 71, 101, 72, 73, 74, 75,
964 76, 77, 11, 78, 0, 0, 79, 80, 81, 82,
965 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
966 93, 94, 59, 0, 0, 0, 0, 0, 0, 0,
967 0, 60, 0, 0, 0, 0, 61, 62, 589, 0,
968 0, 63, 590, 0, 591, 0, 592, 340, 0, 0,
969 0, 593, 0, 0, 0, 0, 0, 134, 135, 18,
970 105, 0, 0, 161, 0, 0, 342, 343, 65, 0,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 344,
972 345, 0, 0, 0, 0, 66, 67, 68, 69, 70,
973 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
974 0, 0, 0, 9, 0, 0, 0, 71, 101, 72,
975 73, 74, 75, 76, 77, 11, 78, 0, 0, 79,
976 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
977 90, 91, 92, 93, 94, 59, 0, 0, 0, 0,
978 0, 0, 0, 0, 60, 0, 0, 0, 0, 61,
979 62, 755, 0, 0, 63, 590, 0, 591, 0, 592,
980 340, 0, 0, 0, 593, 0, 0, 0, 0, 0,
981 102, 103, 104, 105, 0, 0, 0, 0, 0, 342,
982 343, 65, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 0, 344, 345, 0, 0, 0, 0, 66, 67,
984 68, 69, 70, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 71, 756, 757, 73, 74, 75, 76, 77, 0, 78,
987 0, 0, 79, 80, 81, 82, 83, 84, 85, 86,
988 87, 758, 89, 90, 91, 92, 93, 94, 59, 0,
989 0, 0, 0, 0, 0, 0, 0, 60, 0, 0,
990 0, 0, 61, 62, 589, 0, 0, 63, 590, 0,
991 591, 0, 592, 340, 0, 0, 0, 593, 0, 0,
992 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
993 0, 0, 342, 343, 65, 387, 0, 0, 0, 0,
994 101, 0, 0, 0, 0, 344, 345, 11, 0, 0,
995 0, 66, 67, 68, 69, 70, 1, 2, 3, 4,
996 5, 6, 7, 8, 0, 0, 0, 0, 0, 702,
997 0, 0, 0, 71, 101, 72, 73, 74, 75, 76,
998 77, 11, 78, 0, 0, 79, 80, 81, 82, 83,
999 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1000 94, 59, 102, 103, 104, 388, 0, 0, 0, 0,
1001 60, 0, 0, 0, 0, 61, 62, 0, 0, 0,
1002 63, 0, 0, 338, 0, 339, 340, 0, 0, 0,
1003 341, 0, 0, 0, 0, 0, 102, 103, 104, 388,
1004 0, 0, 0, 0, 0, 342, 343, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0, 344, 345,
1006 0, 0, 0, 0, 66, 67, 68, 69, 70, 0,
1007 0, 0, 0, 0, 0, 0, 346, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 71, 0, 72, 73,
1009 74, 75, 76, 77, 0, 78, 0, 0, 79, 80,
1010 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1011 91, 92, 93, 94, 59, 0, 0, 0, 0, 0,
1012 0, 0, 0, 60, 0, 0, 0, 0, 61, 62,
1013 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
1014 0, 0, 0, 64, 0, 0, 0, 0, 1, 2,
1015 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
1016 65, 0, 0, 0, 0, 0, 101, 0, 0, 0,
1017 422, 423, 0, 0, 0, 0, 0, 66, 67, 68,
1018 69, 70, 0, 0, 0, 0, 0, 0, 425, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,
1020 0, 72, 73, 74, 75, 76, 77, 0, 78, 0,
1021 0, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1022 88, 89, 90, 91, 92, 93, 94, 59, 102, 103,
1023 104, 0, 0, 0, 0, 0, 60, 0, 0, 0,
1024 0, 61, 62, 0, 0, 0, 63, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, -524, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1029 66, 67, 68, 69, 70, 0, 0, 0, 0, 0,
1030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 71, 0, 72, 73, 74, 75, 76, 77,
1032 0, 78, 0, 0, 79, 80, 81, 82, 83, 84,
1033 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1034 59, 0, 0, 0, 0, 0, 0, 0, 0, 60,
1035 721, 0, 0, 0, 61, 62, 0, 0, 0, 63,
1036 0, 432, 433, 434, 435, 436, 437, 438, 439, 440,
1037 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
1038 0, 0, 0, 0, 694, 0, 65, 0, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 0, 66, 67, 68, 69, 70, 0, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 71, 0, 72, 73, 74,
1043 75, 76, 77, 0, 78, 0, 0, 79, 80, 81,
1044 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1045 92, 93, 94, 59, 0, 0, 0, 0, 0, 0,
1046 0, 0, 60, 0, 0, 0, 0, 61, 62, 0,
1047 0, 0, 63, 0, 643, 0, 0, 0, 0, 0,
1048 0, 0, 192, 432, 433, 434, 435, 436, 437, 438,
1049 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1050 449, 0, 0, 0, 0, 0, 450, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 66, 67, 68, 69,
1052 70, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0, 71, 0,
1054 72, 73, 74, 75, 76, 77, 0, 78, 0, 0,
1055 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1056 89, 90, 91, 92, 93, 94, 59, 0, 0, 0,
1057 0, 0, 0, 0, 0, 60, 0, 0, 0, 0,
1058 61, 62, 0, 0, 0, 63, 0, 749, 0, 0,
1059 0, 0, 0, 0, 0, 428, 432, 433, 434, 435,
1060 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1061 446, 447, 448, 449, 0, 0, 0, 0, 0, 694,
1062 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
1063 67, 68, 69, 70, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 71, 0, 72, 73, 74, 75, 76, 77, 0,
1066 78, 0, 0, 79, 80, 81, 82, 83, 84, 85,
1067 86, 87, 88, 89, 90, 91, 92, 93, 94, 59,
1068 0, 0, 0, 0, 0, 0, 0, 0, 60, 0,
1069 0, 0, 0, 61, 62, 0, 0, 0, 63, 0,
1070 875, 0, 0, 0, 0, 0, 0, 0, 461, 432,
1071 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1072 443, 444, 445, 446, 447, 448, 449, 0, 0, 0,
1073 0, 0, 694, 0, 0, 0, 0, 0, 59, 0,
1074 0, 0, 66, 67, 68, 69, 70, 60, 0, 0,
1075 0, 0, 61, 62, 0, 0, 0, 63, 0, 0,
1076 0, 0, 0, 0, 71, 0, 72, 73, 74, 75,
1077 76, 77, 0, 78, 0, 0, 79, 80, 81, 82,
1078 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1079 93, 94, 0, 0, 0, 0, 0, 0, 0, 724,
1080 0, 66, 67, 68, 69, 70, 0, 0, 0, 0,
1081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1082 0, 0, 0, 71, 0, 72, 73, 74, 75, 76,
1083 77, 0, 78, 0, 0, 79, 80, 81, 82, 83,
1084 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1085 94, 59, 0, 0, 0, 0, 0, 0, 0, 0,
1086 60, 0, 0, 844, 0, 771, 62, 0, 0, 0,
1087 63, 432, 433, 434, 435, 436, 437, 438, 439, 440,
1088 441, 442, 443, 444, 445, 446, 447, 448, 449, 0,
1089 0, 0, 0, 0, 694, 0, 0, 65, 0, 0,
1090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091 59, 0, 0, 0, 66, 67, 68, 69, 70, 60,
1092 0, 0, 0, 0, 61, 62, 0, 0, 0, 63,
1093 0, 0, 0, 0, 0, 0, 71, 0, 72, 73,
1094 74, 75, 76, 77, 0, 78, 0, 0, 79, 80,
1095 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1096 91, 92, 93, 94, 0, 0, 0, 0, 0, 59,
1097 0, 812, 0, 66, 67, 68, 69, 70, 60, 0,
1098 0, 0, 0, 61, 62, 0, 0, 0, 63, 0,
1099 0, 0, 0, 0, 0, 71, 0, 72, 73, 74,
1100 75, 76, 77, 0, 78, 0, 0, 79, 80, 81,
1101 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1102 92, 93, 94, 0, 0, 0, 0, 0, 0, 0,
1103 0, 0, 66, 67, 68, 69, 70, 0, 0, 0,
1104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1105 0, 0, 0, 0, 71, 0, 72, 73, 74, 75,
1106 76, 77, 0, 78, 0, 0, 79, 80, 81, 82,
1107 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1108 93, 94, 733, 0, 0, 0, 0, 0, 0, 432,
1109 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1110 443, 444, 445, 446, 447, 448, 449, 793, 0, 0,
1111 0, 0, 450, 0, 432, 433, 434, 435, 436, 437,
1112 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1113 448, 449, 0, 0, 0, 693, 0, 694, 432, 433,
1114 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1115 444, 445, 446, 447, 448, 449, 0, 0, 0, 0,
1116 0, 694, 432, 433, 434, 435, 436, 437, 438, 439,
1117 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1118 0, 0, 0, 0, 0, 450, 432, 433, 434, 435,
1119 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1120 446, 447, 448, 449, 0, 0, 0, 0, 0, 694,
1121 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1122 442, 443, 444, 445, 446, 447, 448, 449, 0, 0,
1123 0, 0, 0, 450, 432, 433, 434, 435, 436, 437,
1124 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1125 448, 449, 0, 0, 0, 0, 0, 694
1128 static const short int yycheck
[] =
1130 33, 22, 11, 128, 0, 9, 64, 199, 9, 132,
1131 19, 454, 16, 17, 18, 15, 132, 402, 10, 378,
1132 144, 145, 146, 15, 399, 349, 399, 402, 159, 185,
1133 186, 27, 33, 454, 405, 709, 167, 360, 361, 49,
1134 0, 685, 744, 32, 746, 709, 709, 15, 739, 341,
1135 10, 10, 26, 375, 37, 347, 31, 24, 33, 34,
1136 49, 21, 21, 64, 24, 25, 25, 27, 3, 4,
1137 5, 6, 7, 8, 9, 10, 11, 12, 25, 9,
1138 31, 11, 17, 208, 26, 36, 788, 22, 35, 411,
1139 31, 33, 96, 757, 35, 36, 105, 64, 102, 103,
1140 104, 765, 765, 427, 31, 32, 430, 34, 26, 92,
1141 93, 94, 95, 96, 124, 98, 99, 121, 44, 4,
1142 5, 6, 6, 0, 9, 9, 817, 131, 132, 133,
1143 134, 135, 133, 32, 192, 34, 136, 22, 142, 431,
1144 31, 463, 33, 34, 136, 119, 790, 17, 18, 84,
1145 85, 86, 153, 31, 35, 36, 34, 32, 450, 451,
1146 804, 26, 27, 854, 125, 165, 199, 32, 136, 173,
1147 32, 845, 36, 165, 17, 18, 35, 36, 880, 44,
1148 36, 845, 826, 187, 87, 189, 6, 7, 8, 32,
1149 30, 192, 856, 185, 186, 33, 34, 165, 158, 158,
1150 864, 864, 876, 49, 164, 164, 33, 34, 651, 33,
1151 34, 37, 876, 656, 585, 4, 5, 6, 341, 32,
1152 9, 33, 34, 31, 347, 341, 134, 135, 35, 23,
1153 651, 347, 36, 22, 31, 656, 367, 881, 23, 23,
1154 110, 111, 112, 113, 114, 115, 36, 23, 36, 32,
1155 609, 38, 6, 612, 32, 118, 31, 100, 101, 102,
1156 103, 104, 105, 106, 107, 108, 92, 93, 94, 95,
1157 96, 593, 98, 99, 596, 31, 35, 32, 31, 36,
1158 40, 4, 5, 6, 7, 8, 9, 10, 11, 32,
1159 31, 31, 614, 6, 17, 26, 34, 34, 454, 22,
1160 3, 40, 34, 6, 33, 32, 29, 10, 431, 12,
1161 13, 14, 15, 16, 17, 431, 22, 32, 39, 377,
1162 64, 645, 64, 37, 648, 649, 31, 450, 451, 40,
1163 33, 389, 40, 31, 450, 451, 711, 341, 711, 32,
1164 24, 40, 346, 347, 32, 34, 32, 25, 4, 5,
1165 6, 7, 8, 9, 10, 11, 389, 31, 33, 35,
1166 364, 84, 85, 86, 87, 398, 22, 400, 91, 402,
1167 33, 3, 694, 695, 6, 33, 377, 31, 10, 388,
1168 12, 13, 14, 15, 16, 17, 387, 709, 389, 33,
1169 35, 33, 33, 33, 753, 754, 33, 401, 33, 33,
1170 123, 34, 33, 461, 34, 92, 93, 94, 95, 96,
1171 414, 98, 99, 417, 34, 424, 35, 740, 741, 40,
1172 32, 32, 455, 456, 428, 34, 748, 431, 84, 85,
1173 86, 806, 109, 806, 33, 33, 25, 593, 35, 32,
1174 732, 733, 32, 765, 31, 33, 450, 451, 31, 834,
1175 97, 33, 776, 777, 454, 611, 35, 25, 454, 834,
1176 461, 34, 454, 33, 31, 34, 25, 33, 24, 791,
1177 34, 793, 32, 848, 97, 848, 34, 32, 25, 33,
1178 32, 803, 857, 33, 4, 5, 6, 7, 8, 9,
1179 10, 11, 34, 34, 33, 651, 32, 17, 35, 33,
1180 656, 34, 22, 17, 18, 33, 25, 33, 883, 29,
1181 883, 32, 331, 131, 27, 33, 891, 37, 33, 791,
1182 656, 651, 844, 845, 716, 24, 165, 39, 181, 583,
1183 166, 186, 611, 363, 658, 659, 783, 615, 424, 21,
1184 97, 746, 864, 876, 4, 5, 6, 7, 8, 9,
1185 10, 11, 370, 398, 876, 756, 856, 17, 800, 891,
1186 718, -1, 22, -1, 84, 85, 86, 87, -1, 29,
1187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1188 -1, 639, -1, -1, -1, -1, 100, 101, 102, 103,
1189 104, 105, 106, 107, 108, -1, -1, 601, -1, -1,
1190 -1, 121, 606, -1, 637, -1, 607, -1, -1, 732,
1191 733, 615, -1, -1, -1, -1, 732, 733, -1, 611,
1192 -1, -1, 655, -1, 84, 85, 86, 87, -1, -1,
1193 -1, -1, -1, -1, 638, -1, -1, -1, 639, 4,
1194 5, 6, 7, 8, 9, 10, 11, -1, -1, 774,
1195 -1, 651, 17, 657, 655, 651, 656, 22, 662, 651,
1196 656, 121, -1, -1, 656, -1, -1, -1, -1, -1,
1197 -1, -1, -1, -1, -1, -1, -1, -1, -1, 688,
1198 713, -1, -1, 716, -1, -1, 719, -1, -1, -1,
1199 3, -1, -1, -1, 715, 699, -1, -1, -1, 12,
1200 -1, 702, -1, -1, 17, 18, 19, 20, 21, 22,
1201 -1, -1, -1, -1, 718, -1, -1, -1, -1, 84,
1202 85, 86, -1, -1, -1, -1, -1, -1, 732, 733,
1203 -1, -1, -1, -1, -1, 768, -1, -1, -1, -1,
1204 -1, -1, -1, -1, -1, -1, -1, -1, 781, -1,
1205 -1, 784, 785, 66, 67, 68, 69, 70, -1, -1,
1206 -1, -1, -1, -1, -1, -1, -1, 800, -1, 790,
1207 -1, 775, -1, -1, -1, 88, -1, 90, 91, 92,
1208 93, 94, 95, 30, 97, -1, -1, 100, 101, 102,
1209 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1210 113, 114, 115, -1, -1, -1, 839, -1, 121, -1,
1211 123, 124, 845, -1, -1, -1, -1, -1, -1, 66,
1212 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1213 77, -1, 79, 80, 81, 82, -1, -1, -1, -1,
1214 -1, 0, -1, 876, 3, 4, 5, 6, 7, 8,
1215 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1216 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1217 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1218 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1219 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1220 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1221 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1222 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1223 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1224 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1225 109, 110, 111, 112, 113, 114, 115, 116, -1, 118,
1226 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1227 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1228 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1229 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1230 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1231 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1232 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1233 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1234 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1235 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1236 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1237 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1238 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1239 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1240 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1241 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1242 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1243 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1244 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1245 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1246 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1247 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1248 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1249 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1250 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1251 -1, -1, 119, -1, 121, 122, 123, 124, 125, 0,
1252 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1253 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1254 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
1255 31, 32, 33, 34, 35, 36, -1, 38, 39, 40,
1256 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1257 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1258 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1259 71, 72, 73, 74, 75, 76, 77, 78, 79, -1,
1260 81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
1261 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1262 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1263 111, 112, 113, 114, 115, 116, 3, -1, 119, -1,
1264 121, 122, 123, 124, 125, 12, -1, -1, -1, -1,
1265 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1266 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1267 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
1268 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1269 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1270 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1272 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1273 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1274 107, 108, 109, 110, 111, 112, 113, 114, 115, 4,
1275 5, 6, 7, 8, 9, 10, 11, 124, -1, -1,
1276 -1, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1277 -1, -1, -1, -1, 29, 30, 31, 4, 5, 6,
1278 7, 8, 9, 10, 11, -1, 41, -1, -1, -1,
1279 17, -1, -1, -1, -1, 22, -1, -1, -1, -1,
1280 -1, -1, 29, -1, -1, -1, -1, 4, 5, 6,
1281 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1282 17, -1, -1, -1, -1, 22, -1, -1, 83, 84,
1283 85, 86, 87, 88, 89, -1, 91, 4, 5, 6,
1284 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1285 17, -1, -1, -1, -1, 22, -1, 84, 85, 86,
1286 87, 116, 29, -1, -1, -1, 121, -1, 123, -1,
1287 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
1288 6, 7, 8, 9, 10, 11, 12, 84, 85, 86,
1289 -1, 17, 18, 19, 121, -1, 22, 23, -1, 25,
1290 -1, 27, 28, 29, -1, -1, 32, -1, -1, -1,
1291 -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
1292 87, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1293 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1294 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1295 -1, -1, -1, -1, 121, -1, -1, -1, 84, 85,
1296 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
1297 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1298 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1299 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1300 -1, -1, -1, -1, 17, 18, 19, 20, 21, 22,
1301 23, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1302 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1303 9, 10, 11, -1, 47, 48, 49, -1, 17, -1,
1304 -1, -1, -1, 22, -1, -1, -1, 60, 61, -1,
1305 29, -1, -1, 66, 67, 68, 69, 70, 4, 5,
1306 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1307 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1308 93, 94, 95, 29, 97, -1, -1, 100, 101, 102,
1309 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1310 113, 114, 115, 3, 83, 84, 85, 86, 87, -1,
1311 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1312 -1, -1, 22, 23, -1, 25, -1, 27, 28, -1,
1313 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1314 86, 87, -1, -1, 44, -1, -1, 47, 48, 49,
1315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1316 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1317 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1318 -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
1319 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1320 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1321 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1322 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1323 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1324 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1325 -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
1326 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1327 -1, -1, -1, 60, 61, -1, -1, 64, -1, 66,
1328 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1329 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1330 -1, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1331 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1332 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1333 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1334 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1335 24, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1336 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1337 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1338 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1339 -1, -1, 66, 67, 68, 69, 70, 4, 5, 6,
1340 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1341 17, -1, -1, -1, 88, 22, 90, 91, 92, 93,
1342 94, 95, 29, 97, -1, -1, 100, 101, 102, 103,
1343 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1344 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1345 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1346 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
1347 -1, 32, -1, -1, -1, -1, -1, 84, 85, 86,
1348 87, -1, -1, 44, -1, -1, 47, 48, 49, -1,
1349 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1350 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1351 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1352 -1, -1, -1, 17, -1, -1, -1, 88, 22, 90,
1353 91, 92, 93, 94, 95, 29, 97, -1, -1, 100,
1354 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1355 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1356 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1357 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
1358 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1359 84, 85, 86, 87, -1, -1, -1, -1, -1, 47,
1360 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1362 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1363 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1364 88, 89, 90, 91, 92, 93, 94, 95, -1, 97,
1365 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1366 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1367 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1368 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
1369 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
1370 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1371 -1, -1, 47, 48, 49, 17, -1, -1, -1, -1,
1372 22, -1, -1, -1, -1, 60, 61, 29, -1, -1,
1373 -1, 66, 67, 68, 69, 70, 4, 5, 6, 7,
1374 8, 9, 10, 11, -1, -1, -1, -1, -1, 17,
1375 -1, -1, -1, 88, 22, 90, 91, 92, 93, 94,
1376 95, 29, 97, -1, -1, 100, 101, 102, 103, 104,
1377 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1378 115, 3, 84, 85, 86, 87, -1, -1, -1, -1,
1379 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1380 22, -1, -1, 25, -1, 27, 28, -1, -1, -1,
1381 32, -1, -1, -1, -1, -1, 84, 85, 86, 87,
1382 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1384 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1385 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1386 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1387 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1388 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1389 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
1390 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1391 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1392 -1, -1, -1, 32, -1, -1, -1, -1, 4, 5,
1393 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1394 49, -1, -1, -1, -1, -1, 22, -1, -1, -1,
1395 26, 27, -1, -1, -1, -1, -1, 66, 67, 68,
1396 69, 70, -1, -1, -1, -1, -1, -1, 44, -1,
1397 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1398 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1399 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1400 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
1401 86, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1402 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
1403 -1, -1, -1, -1, -1, -1, 32, -1, -1, -1,
1404 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1405 -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
1406 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1407 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1408 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1409 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1410 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1411 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1412 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1413 31, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1414 -1, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1415 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1416 -1, -1, -1, -1, 65, -1, 49, -1, -1, -1,
1417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1418 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1420 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1421 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1422 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1423 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1424 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1425 -1, -1, 22, -1, 33, -1, -1, -1, -1, -1,
1426 -1, -1, 32, 42, 43, 44, 45, 46, 47, 48,
1427 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1428 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
1429 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1430 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1432 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1433 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1434 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1435 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1436 17, 18, -1, -1, -1, 22, -1, 33, -1, -1,
1437 -1, -1, -1, -1, -1, 32, 42, 43, 44, 45,
1438 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1439 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
1441 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1442 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1443 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1444 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1445 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1446 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1447 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1448 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
1449 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1450 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
1451 -1, -1, 65, -1, -1, -1, -1, -1, 3, -1,
1452 -1, -1, 66, 67, 68, 69, 70, 12, -1, -1,
1453 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1454 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1455 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1456 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1457 114, 115, -1, -1, -1, -1, -1, -1, -1, 64,
1458 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1460 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1461 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1462 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1463 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1464 12, -1, -1, 34, -1, 17, 18, -1, -1, -1,
1465 22, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1466 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1467 -1, -1, -1, -1, 65, -1, -1, 49, -1, -1,
1468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1469 3, -1, -1, -1, 66, 67, 68, 69, 70, 12,
1470 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1471 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1472 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1473 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1474 112, 113, 114, 115, -1, -1, -1, -1, -1, 3,
1475 -1, 64, -1, 66, 67, 68, 69, 70, 12, -1,
1476 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1477 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1478 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1479 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1480 113, 114, 115, -1, -1, -1, -1, -1, -1, -1,
1481 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1483 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1484 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1485 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1486 114, 115, 35, -1, -1, -1, -1, -1, -1, 42,
1487 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1488 53, 54, 55, 56, 57, 58, 59, 35, -1, -1,
1489 -1, -1, 65, -1, 42, 43, 44, 45, 46, 47,
1490 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1491 58, 59, -1, -1, -1, 39, -1, 65, 42, 43,
1492 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1493 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1494 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1495 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1496 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1497 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1498 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1499 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1500 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1501 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
1502 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1503 58, 59, -1, -1, -1, -1, -1, 65
1506 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1507 symbol of state STATE-NUM. */
1508 static const unsigned short int yystos
[] =
1510 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1511 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1512 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
1513 150, 168, 173, 178, 179, 180, 181, 182, 183, 184,
1514 185, 190, 193, 196, 200, 201, 202, 203, 204, 205,
1515 209, 211, 212, 218, 226, 238, 239, 9, 11, 3,
1516 12, 17, 18, 22, 32, 49, 66, 67, 68, 69,
1517 70, 88, 90, 91, 92, 93, 94, 95, 97, 100,
1518 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1519 111, 112, 113, 114, 115, 143, 235, 236, 237, 254,
1520 266, 22, 84, 85, 86, 87, 201, 209, 179, 30,
1521 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1522 76, 77, 79, 80, 81, 82, 151, 152, 153, 154,
1523 156, 157, 158, 17, 84, 85, 121, 174, 176, 202,
1524 203, 209, 218, 227, 228, 143, 143, 143, 229, 3,
1525 6, 10, 12, 17, 169, 170, 179, 26, 123, 201,
1526 239, 44, 274, 275, 22, 83, 200, 201, 0, 148,
1527 143, 210, 234, 235, 4, 5, 6, 9, 22, 186,
1528 6, 183, 189, 125, 191, 32, 32, 36, 36, 234,
1529 235, 87, 32, 143, 124, 237, 143, 143, 143, 34,
1530 194, 19, 20, 21, 121, 123, 124, 143, 159, 160,
1531 30, 0, 3, 4, 5, 6, 7, 8, 9, 10,
1532 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1533 21, 22, 23, 24, 25, 26, 27, 28, 29, 31,
1534 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1535 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1536 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1537 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1538 72, 73, 74, 75, 76, 77, 78, 79, 81, 83,
1539 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1540 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1541 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1542 114, 115, 116, 119, 121, 122, 123, 124, 125, 144,
1543 163, 164, 163, 26, 119, 155, 143, 159, 25, 27,
1544 28, 32, 47, 48, 60, 61, 78, 142, 143, 165,
1545 223, 143, 143, 229, 143, 229, 176, 31, 143, 35,
1546 232, 232, 232, 232, 235, 23, 31, 201, 36, 197,
1547 36, 23, 174, 191, 197, 38, 233, 32, 143, 6,
1548 187, 6, 9, 188, 186, 32, 31, 17, 87, 178,
1549 206, 207, 208, 209, 206, 143, 219, 220, 92, 93,
1550 94, 95, 96, 98, 99, 245, 246, 247, 260, 263,
1551 269, 270, 271, 143, 234, 195, 210, 235, 31, 118,
1552 163, 144, 26, 27, 32, 44, 225, 165, 32, 143,
1553 165, 32, 42, 43, 44, 45, 46, 47, 48, 49,
1554 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1555 65, 141, 31, 35, 36, 214, 214, 31, 213, 214,
1556 213, 32, 143, 40, 197, 0, 3, 4, 5, 6,
1557 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1558 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1559 27, 28, 29, 31, 32, 33, 34, 35, 38, 39,
1560 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1561 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1562 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1563 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1564 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1565 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1566 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1567 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1568 125, 145, 197, 198, 199, 245, 32, 31, 31, 19,
1569 23, 25, 27, 32, 39, 124, 142, 210, 221, 222,
1570 223, 234, 233, 6, 26, 192, 235, 17, 234, 33,
1571 34, 34, 33, 34, 40, 34, 230, 210, 250, 221,
1572 242, 264, 265, 266, 274, 210, 143, 272, 273, 210,
1573 261, 265, 37, 246, 221, 33, 143, 34, 32, 179,
1574 224, 225, 22, 33, 143, 165, 166, 167, 165, 165,
1575 32, 121, 175, 176, 177, 178, 215, 218, 227, 228,
1576 210, 210, 234, 19, 20, 21, 26, 171, 172, 221,
1577 37, 199, 37, 3, 6, 10, 12, 13, 14, 15,
1578 16, 17, 33, 240, 241, 243, 244, 22, 87, 178,
1579 221, 39, 221, 39, 65, 141, 143, 26, 33, 235,
1580 233, 64, 17, 208, 233, 64, 221, 220, 37, 40,
1581 31, 40, 31, 32, 24, 40, 32, 31, 34, 32,
1582 31, 31, 33, 210, 64, 143, 161, 162, 234, 33,
1583 33, 33, 34, 35, 25, 177, 35, 231, 37, 175,
1584 232, 232, 143, 31, 35, 33, 34, 242, 33, 33,
1585 221, 221, 33, 33, 33, 19, 89, 90, 109, 221,
1586 249, 251, 252, 253, 254, 275, 264, 210, 274, 195,
1587 273, 17, 195, 262, 33, 34, 165, 165, 34, 25,
1588 35, 34, 216, 231, 214, 214, 33, 243, 35, 241,
1589 243, 40, 221, 35, 233, 233, 109, 251, 17, 18,
1590 32, 254, 257, 32, 32, 249, 34, 267, 210, 33,
1591 33, 163, 64, 143, 25, 35, 32, 210, 217, 31,
1592 216, 243, 274, 171, 221, 262, 32, 221, 242, 64,
1593 264, 268, 33, 31, 97, 33, 35, 25, 231, 34,
1594 31, 64, 33, 242, 34, 34, 255, 33, 34, 18,
1595 265, 266, 32, 34, 210, 24, 97, 32, 221, 210,
1596 248, 249, 250, 256, 275, 33, 264, 25, 25, 231,
1597 33, 257, 258, 259, 264, 33, 34, 249, 34, 33,
1598 35, 32, 33, 34, 248, 25, 243, 242, 33, 264,
1602 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1603 static const unsigned short int yyr1
[] =
1605 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
1606 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1607 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
1608 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1609 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
1610 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1611 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1612 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1613 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1614 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1615 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1616 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1617 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1618 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1619 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1620 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1621 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1622 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1623 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1624 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1625 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1626 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1627 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1628 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1629 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1630 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1631 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1632 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
1633 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
1634 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
1635 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
1636 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
1637 158, 158, 159, 159, 159, 159, 159, 159, 159, 160,
1638 160, 161, 161, 161, 161, 162, 162, 163, 163, 164,
1639 164, 165, 165, 165, 165, 165, 165, 165, 165, 165,
1640 165, 165, 166, 166, 167, 167, 168, 169, 170, 170,
1641 170, 170, 171, 171, 171, 172, 172, 172, 172, 173,
1642 173, 173, 174, 174, 175, 175, 176, 176, 176, 176,
1643 176, 177, 177, 177, 177, 177, 178, 178, 178, 179,
1644 179, 180, 180, 180, 181, 181, 181, 182, 182, 182,
1645 183, 183, 184, 184, 184, 185, 185, 185, 185, 186,
1646 186, 186, 186, 186, 186, 187, 187, 188, 188, 188,
1647 188, 189, 189, 189, 190, 190, 191, 191, 192, 192,
1648 193, 194, 194, 195, 195, 196, 196, 196, 197, 198,
1649 198, 199, 199, 200, 200, 201, 201, 202, 202, 203,
1650 203, 204, 204, 204, 204, 205, 205, 206, 206, 206,
1651 207, 207, 208, 208, 208, 208, 209, 209, 209, 209,
1652 210, 210, 211, 212, 213, 213, 214, 215, 215, 216,
1653 216, 217, 217, 218, 219, 219, 220, 220, 221, 221,
1654 221, 221, 221, 221, 222, 222, 222, 222, 222, 222,
1655 223, 223, 224, 224, 225, 225, 225, 226, 227, 228,
1656 229, 229, 230, 230, 231, 231, 231, 231, 232, 232,
1657 233, 233, 233, 233, 234, 234, 235, 235, 236, 236,
1658 237, 237, 238, 238, 239, 239, 239, 240, 240, 241,
1659 241, 242, 243, 244, 244, 244, 244, 244, 244, 244,
1660 244, 244, 245, 245, 246, 246, 246, 246, 246, 247,
1661 247, 248, 248, 248, 249, 249, 249, 249, 249, 249,
1662 250, 250, 251, 252, 252, 253, 254, 254, 254, 254,
1663 254, 254, 254, 254, 254, 254, 255, 255, 256, 256,
1664 257, 257, 258, 258, 259, 259, 260, 261, 261, 262,
1665 262, 262, 263, 264, 264, 264, 265, 265, 266, 266,
1666 266, 266, 266, 266, 266, 266, 267, 267, 268, 268,
1667 269, 270, 270, 271, 272, 272, 273, 274, 274, 275
1670 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1671 static const unsigned char yyr2
[] =
1673 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1674 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1675 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1676 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1677 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1678 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1679 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1684 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1685 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1686 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1692 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1695 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1696 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1697 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1700 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1701 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1702 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
1703 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
1704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1705 1, 1, 1, 1, 1, 1, 1, 1, 1, 6,
1706 2, 0, 1, 1, 3, 1, 3, 0, 1, 1,
1707 2, 3, 2, 3, 5, 2, 4, 1, 1, 1,
1708 1, 4, 0, 1, 1, 3, 6, 1, 1, 1,
1709 1, 1, 0, 1, 1, 1, 1, 1, 1, 3,
1710 4, 4, 1, 2, 1, 2, 1, 1, 2, 4,
1711 4, 1, 1, 1, 3, 3, 2, 2, 1, 1,
1712 1, 2, 2, 2, 1, 1, 1, 1, 1, 2,
1713 1, 1, 1, 1, 2, 1, 1, 2, 2, 0,
1714 1, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1715 2, 0, 1, 2, 3, 4, 0, 4, 1, 2,
1716 4, 0, 2, 1, 3, 3, 3, 4, 3, 1,
1717 2, 1, 1, 1, 2, 1, 1, 5, 7, 5,
1718 7, 6, 7, 6, 5, 1, 2, 0, 1, 1,
1719 1, 3, 1, 2, 3, 2, 1, 2, 4, 3,
1720 3, 2, 4, 4, 1, 1, 3, 4, 5, 0,
1721 2, 2, 4, 5, 1, 3, 1, 3, 1, 4,
1722 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
1723 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
1724 0, 1, 0, 1, 0, 2, 7, 9, 0, 7,
1725 0, 2, 3, 3, 0, 1, 1, 2, 1, 2,
1726 1, 2, 4, 5, 7, 8, 13, 1, 3, 2,
1727 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1728 1, 1, 1, 2, 1, 1, 1, 1, 1, 3,
1729 6, 1, 2, 1, 1, 1, 1, 2, 1, 1,
1730 3, 4, 6, 8, 12, 5, 1, 1, 1, 1,
1731 1, 1, 1, 1, 1, 1, 0, 2, 1, 3,
1732 1, 1, 0, 1, 1, 3, 3, 6, 1, 0,
1733 1, 1, 3, 1, 1, 3, 5, 6, 1, 1,
1734 1, 1, 1, 1, 1, 1, 0, 2, 1, 3,
1735 3, 1, 1, 3, 1, 3, 4, 0, 1, 1
1739 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1740 static const unsigned char yydprec
[] =
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 2, 1, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 2, 1, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1807 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1808 static const unsigned char yymerger
[] =
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1875 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1876 in the case of predicates. */
1877 static const yybool yyimmediate
[] =
1879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
1944 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
1945 list of conflicting reductions corresponding to action entry for
1946 state STATE-NUM in yytable. 0 means no conflicts. The list in
1947 yyconfl is terminated by a rule number of 0. */
1948 static const unsigned short int yyconflp
[] =
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 263, 0, 265, 267,
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, 7, 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, 5, 0, 0,
1964 271, 0, 273, 275, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 255, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 257, 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, 253, 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, 259, 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, 261,
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, 269, 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, 277, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 9, 0, 0, 11, 13, 15, 17, 19, 21,
2035 23, 25, 27, 29, 31, 33, 35, 37, 39, 41,
2036 43, 45, 47, 49, 51, 53, 55, 57, 59, 61,
2037 63, 65, 67, 69, 71, 73, 75, 77, 79, 81,
2038 83, 85, 87, 89, 91, 93, 95, 97, 99, 101,
2039 103, 105, 107, 109, 111, 113, 115, 117, 119, 121,
2040 123, 125, 127, 129, 131, 133, 135, 137, 139, 141,
2041 143, 145, 147, 149, 151, 153, 155, 157, 159, 161,
2042 163, 0, 165, 0, 167, 169, 171, 173, 175, 177,
2043 179, 181, 183, 185, 187, 189, 191, 193, 195, 197,
2044 199, 201, 203, 205, 207, 209, 211, 213, 215, 217,
2045 219, 221, 223, 225, 227, 229, 231, 233, 0, 235,
2046 237, 0, 239, 241, 243, 245, 247, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 1, 0, 0, 0, 0, 3, 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, 249, 0, 0, 0, 0, 251, 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, 279, 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, 281
2326 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
2327 0, pointed into by YYCONFLP. */
2328 static const short int yyconfl
[] =
2330 0, 396, 0, 396, 0, 409, 0, 466, 0, 614,
2331 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2332 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2333 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2334 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2335 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2336 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2337 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2338 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2339 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2340 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2341 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2342 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2343 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2344 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2345 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2346 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2347 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2348 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2349 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2350 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2351 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2352 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2353 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
2354 0, 614, 0, 614, 0, 614, 0, 614, 0, 396,
2355 0, 396, 0, 409, 0, 511, 0, 511, 0, 459,
2356 0, 42, 0, 497, 0, 497, 0, 497, 0, 396,
2357 0, 564, 0, 564, 0, 564, 0, 615, 0, 344,
2361 /* Error token number */
2368 #define yynerrs (yystackp->yyerrcnt)
2370 #define yychar (yystackp->yyrawchar)
2372 #define yylval (yystackp->yyval)
2374 #define yylloc (yystackp->yyloc)
2375 #define psi_parser_proc_nerrs yynerrs
2376 #define psi_parser_proc_char yychar
2377 #define psi_parser_proc_lval yylval
2378 #define psi_parser_proc_lloc yylloc
2380 static const int YYEOF
= 0;
2381 static const int YYEMPTY
= -2;
2383 typedef enum { yyok
, yyaccept
, yyabort
, yyerr
} YYRESULTTAG
;
2385 #define YYCHK(YYE) \
2387 YYRESULTTAG yychk_flag = YYE; \
2388 if (yychk_flag != yyok) \
2389 return yychk_flag; \
2395 # define YYFPRINTF fprintf
2398 /* This macro is provided for backward compatibility. */
2399 #ifndef YY_LOCATION_PRINT
2400 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2404 # define YYDPRINTF(Args) \
2411 /*----------------------------------------.
2412 | Print this symbol's value on YYOUTPUT. |
2413 `----------------------------------------*/
2416 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2418 FILE *yyo
= yyoutput
;
2429 /*--------------------------------.
2430 | Print this symbol on YYOUTPUT. |
2431 `--------------------------------*/
2434 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2436 YYFPRINTF (yyoutput
, "%s %s (",
2437 yytype
< YYNTOKENS
? "token" : "nterm", yytname
[yytype
]);
2439 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, P
, tokens
, index
);
2440 YYFPRINTF (yyoutput
, ")");
2443 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2447 YYFPRINTF (stderr, "%s ", Title); \
2448 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
2449 YYFPRINTF (stderr, "\n"); \
2453 /* Nonzero means print parse trace. It is left uninitialized so that
2454 multiple parsers can coexist. */
2458 static void yypstack (struct yyGLRStack
* yystackp
, size_t yyk
)
2459 YY_ATTRIBUTE_UNUSED
;
2460 static void yypdumpstack (struct yyGLRStack
* yystackp
)
2461 YY_ATTRIBUTE_UNUSED
;
2463 #else /* !YYDEBUG */
2465 # define YYDPRINTF(Args)
2466 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2468 #endif /* !YYDEBUG */
2470 /* YYINITDEPTH -- initial size of the parser's stacks. */
2472 # define YYINITDEPTH 200
2475 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2476 if the built-in stack extension method is used).
2478 Do not make this value too large; the results are undefined if
2479 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
2480 evaluated with infinite-precision integer arithmetic. */
2483 # define YYMAXDEPTH 10000
2486 /* Minimum number of free items on the stack allowed after an
2487 allocation. This is to allow allocation and initialization
2488 to be completed by functions that call yyexpandGLRStack before the
2489 stack is expanded, thus insuring that all necessary pointers get
2490 properly redirected to new data. */
2491 #define YYHEADROOM 2
2493 #ifndef YYSTACKEXPANDABLE
2494 # define YYSTACKEXPANDABLE 1
2497 #if YYSTACKEXPANDABLE
2498 # define YY_RESERVE_GLRSTACK(Yystack) \
2500 if (Yystack->yyspaceLeft < YYHEADROOM) \
2501 yyexpandGLRStack (Yystack); \
2504 # define YY_RESERVE_GLRSTACK(Yystack) \
2506 if (Yystack->yyspaceLeft < YYHEADROOM) \
2507 yyMemoryExhausted (Yystack); \
2515 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2516 # define yystpcpy stpcpy
2518 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2521 yystpcpy (char *yydest
, const char *yysrc
)
2524 const char *yys
= yysrc
;
2526 while ((*yyd
++ = *yys
++) != '\0')
2535 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2536 quotes and backslashes, so that it's suitable for yyerror. The
2537 heuristic is that double-quoting is unnecessary unless the string
2538 contains an apostrophe, a comma, or backslash (other than
2539 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2540 null, do not copy; instead, return the length of what the result
2543 yytnamerr (char *yyres
, const char *yystr
)
2548 char const *yyp
= yystr
;
2555 goto do_not_strip_quotes
;
2559 goto do_not_strip_quotes
;
2572 do_not_strip_quotes
: ;
2576 return strlen (yystr
);
2578 return yystpcpy (yyres
, yystr
) - yyres
;
2582 #endif /* !YYERROR_VERBOSE */
2584 /** State numbers, as in LALR(1) machine */
2585 typedef int yyStateNum
;
2587 /** Rule numbers, as in LALR(1) machine */
2588 typedef int yyRuleNum
;
2590 /** Grammar symbol */
2591 typedef int yySymbol
;
2593 /** Item references, as in LALR(1) machine */
2594 typedef short int yyItemNum
;
2596 typedef struct yyGLRState yyGLRState
;
2597 typedef struct yyGLRStateSet yyGLRStateSet
;
2598 typedef struct yySemanticOption yySemanticOption
;
2599 typedef union yyGLRStackItem yyGLRStackItem
;
2600 typedef struct yyGLRStack yyGLRStack
;
2603 /** Type tag: always true. */
2605 /** Type tag for yysemantics. If true, yysval applies, otherwise
2606 * yyfirstVal applies. */
2608 /** Number of corresponding LALR(1) machine state. */
2609 yyStateNum yylrState
;
2610 /** Preceding state in this stack */
2612 /** Source position of the last token produced by my symbol */
2615 /** First in a chain of alternative reductions producing the
2616 * non-terminal corresponding to this state, threaded through
2618 yySemanticOption
* yyfirstVal
;
2619 /** Semantic value for this state. */
2624 struct yyGLRStateSet
{
2625 yyGLRState
** yystates
;
2626 /** During nondeterministic operation, yylookaheadNeeds tracks which
2627 * stacks have actually needed the current lookahead. During deterministic
2628 * operation, yylookaheadNeeds[0] is not maintained since it would merely
2629 * duplicate yychar != YYEMPTY. */
2630 yybool
* yylookaheadNeeds
;
2631 size_t yysize
, yycapacity
;
2634 struct yySemanticOption
{
2635 /** Type tag: always false. */
2637 /** Rule number for this reduction */
2639 /** The last RHS state in the list of states to be reduced. */
2640 yyGLRState
* yystate
;
2641 /** The lookahead for this reduction. */
2644 /** Next sibling in chain of options. To facilitate merging,
2645 * options are chained in decreasing order by address. */
2646 yySemanticOption
* yynext
;
2649 /** Type of the items in the GLR stack. The yyisState field
2650 * indicates which item of the union is valid. */
2651 union yyGLRStackItem
{
2653 yySemanticOption yyoption
;
2664 YYJMP_BUF yyexception_buffer
;
2665 yyGLRStackItem
* yyitems
;
2666 yyGLRStackItem
* yynextFree
;
2668 yyGLRState
* yysplitPoint
;
2669 yyGLRState
* yylastDeleted
;
2670 yyGLRStateSet yytops
;
2673 #if YYSTACKEXPANDABLE
2674 static void yyexpandGLRStack (yyGLRStack
* yystackp
);
2677 static _Noreturn
void
2678 yyFail (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char* yymsg
)
2680 if (yymsg
!= YY_NULLPTR
)
2681 yyerror (P
, tokens
, index
, yymsg
);
2682 YYLONGJMP (yystackp
->yyexception_buffer
, 1);
2685 static _Noreturn
void
2686 yyMemoryExhausted (yyGLRStack
* yystackp
)
2688 YYLONGJMP (yystackp
->yyexception_buffer
, 2);
2691 #if YYDEBUG || YYERROR_VERBOSE
2692 /** A printable representation of TOKEN. */
2693 static inline const char*
2694 yytokenName (yySymbol yytoken
)
2696 if (yytoken
== YYEMPTY
)
2699 return yytname
[yytoken
];
2703 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
2704 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
2705 * containing the pointer to the next state in the chain. */
2706 static void yyfillin (yyGLRStackItem
*, int, int) YY_ATTRIBUTE_UNUSED
;
2708 yyfillin (yyGLRStackItem
*yyvsp
, int yylow0
, int yylow1
)
2711 yyGLRState
*s
= yyvsp
[yylow0
].yystate
.yypred
;
2712 for (i
= yylow0
-1; i
>= yylow1
; i
-= 1)
2715 yyvsp
[i
].yystate
.yylrState
= s
->yylrState
;
2717 yyvsp
[i
].yystate
.yyresolved
= s
->yyresolved
;
2719 yyvsp
[i
].yystate
.yysemantics
.yysval
= s
->yysemantics
.yysval
;
2721 /* The effect of using yysval or yyloc (in an immediate rule) is
2723 yyvsp
[i
].yystate
.yysemantics
.yyfirstVal
= YY_NULLPTR
;
2724 s
= yyvsp
[i
].yystate
.yypred
= s
->yypred
;
2728 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
2729 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
2730 * For convenience, always return YYLOW1. */
2731 static inline int yyfill (yyGLRStackItem
*, int *, int, yybool
)
2732 YY_ATTRIBUTE_UNUSED
;
2734 yyfill (yyGLRStackItem
*yyvsp
, int *yylow
, int yylow1
, yybool yynormal
)
2736 if (!yynormal
&& yylow1
< *yylow
)
2738 yyfillin (yyvsp
, *yylow
, yylow1
);
2744 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
2745 * and top stack item YYVSP. YYLVALP points to place to put semantic
2746 * value ($$), and yylocp points to place for location information
2747 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
2748 * yyerr for YYERROR, yyabort for YYABORT. */
2750 yyuserAction (yyRuleNum yyn
, size_t yyrhslen
, yyGLRStackItem
* yyvsp
,
2751 yyGLRStack
* yystackp
,
2752 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
2754 yybool yynormal YY_ATTRIBUTE_UNUSED
= (yystackp
->yysplitPoint
== YY_NULLPTR
);
2762 # define yyerrok (yystackp->yyerrState = 0)
2764 # define YYACCEPT return yyaccept
2766 # define YYABORT return yyabort
2768 # define YYERROR return yyerrok, yyerr
2769 # undef YYRECOVERING
2770 # define YYRECOVERING() (yystackp->yyerrState != 0)
2772 # define yyclearin (yychar = YYEMPTY)
2774 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
2776 # define YYBACKUP(Token, Value) \
2777 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
2782 *yyvalp
= yyval_default
;
2784 *yyvalp
= yyvsp
[YYFILL (1-yyrhslen
)].yystate
.yysemantics
.yysval
;
2788 #line 451 "src/parser_proc_grammar.y" /* glr.c:816 */
2790 if ((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2791 psi_cpp_exp_exec((*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), P
->preproc
, PSI_DATA(P
));
2792 psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2795 #line 2796 "src/parser_proc.c" /* glr.c:816 */
2799 #line 457 "src/parser_proc_grammar.y" /* glr.c:816 */
2802 P
->error(PSI_DATA(P
), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), PSI_WARNING
,
2803 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
);
2805 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
);
2808 #line 2809 "src/parser_proc.c" /* glr.c:816 */
2812 #line 465 "src/parser_proc_grammar.y" /* glr.c:816 */
2814 psi_parser_proc_add_const(P
, (*(struct psi_const
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2816 #line 2817 "src/parser_proc.c" /* glr.c:816 */
2820 #line 468 "src/parser_proc_grammar.y" /* glr.c:816 */
2822 psi_parser_proc_add_decl(P
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2824 #line 2825 "src/parser_proc.c" /* glr.c:816 */
2828 #line 471 "src/parser_proc_grammar.y" /* glr.c:816 */
2830 psi_parser_proc_add_decl_extvars(P
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2832 #line 2833 "src/parser_proc.c" /* glr.c:816 */
2836 #line 475 "src/parser_proc_grammar.y" /* glr.c:816 */
2838 psi_parser_proc_add_typedef(P
, (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2840 #line 2841 "src/parser_proc.c" /* glr.c:816 */
2844 #line 478 "src/parser_proc_grammar.y" /* glr.c:816 */
2846 psi_parser_proc_add_struct(P
, (*(struct psi_decl_struct
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2848 #line 2849 "src/parser_proc.c" /* glr.c:816 */
2852 #line 481 "src/parser_proc_grammar.y" /* glr.c:816 */
2854 psi_parser_proc_add_union(P
, (*(struct psi_decl_union
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2856 #line 2857 "src/parser_proc.c" /* glr.c:816 */
2860 #line 484 "src/parser_proc_grammar.y" /* glr.c:816 */
2862 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2864 #line 2865 "src/parser_proc.c" /* glr.c:816 */
2868 #line 487 "src/parser_proc_grammar.y" /* glr.c:816 */
2870 psi_parser_proc_add_impl(P
, (*(struct psi_impl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2872 #line 2873 "src/parser_proc.c" /* glr.c:816 */
2876 #line 493 "src/parser_proc_grammar.y" /* glr.c:816 */
2878 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2880 #line 2881 "src/parser_proc.c" /* glr.c:816 */
2884 #line 499 "src/parser_proc_grammar.y" /* glr.c:816 */
2886 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2888 #line 2889 "src/parser_proc.c" /* glr.c:816 */
2892 #line 502 "src/parser_proc_grammar.y" /* glr.c:816 */
2894 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = (*(struct psi_cpp_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
2896 #line 2897 "src/parser_proc.c" /* glr.c:816 */
2900 #line 508 "src/parser_proc_grammar.y" /* glr.c:816 */
2902 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
2903 struct psi_token
*msg
= NULL
;
2905 if (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0, &msg
)) {
2907 struct psi_token
*next
;
2909 msg
= psi_token_copy(msg
);
2910 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), index
++, &next
)) {
2911 struct psi_token
*old
= msg
;
2912 msg
= psi_token_cat(" ", 2, msg
, next
);
2916 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2918 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, msg
);
2920 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2922 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2924 #line 2925 "src/parser_proc.c" /* glr.c:816 */
2928 #line 531 "src/parser_proc_grammar.y" /* glr.c:816 */
2930 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
, psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
2931 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2933 #line 2934 "src/parser_proc.c" /* glr.c:816 */
2937 #line 535 "src/parser_proc_grammar.y" /* glr.c:816 */
2939 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2940 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2942 #line 2943 "src/parser_proc.c" /* glr.c:816 */
2946 #line 539 "src/parser_proc_grammar.y" /* glr.c:816 */
2948 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2949 (*(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
))));
2950 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2952 #line 2953 "src/parser_proc.c" /* glr.c:816 */
2956 #line 544 "src/parser_proc_grammar.y" /* glr.c:816 */
2958 (*(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
)));
2959 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2961 #line 2962 "src/parser_proc.c" /* glr.c:816 */
2965 #line 548 "src/parser_proc_grammar.y" /* glr.c:816 */
2967 (*(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
)));
2968 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
2970 #line 2971 "src/parser_proc.c" /* glr.c:816 */
2974 #line 552 "src/parser_proc_grammar.y" /* glr.c:816 */
2976 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = psi_cpp_exp_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
, NULL
);
2977 (*(struct psi_cpp_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2979 #line 2980 "src/parser_proc.c" /* glr.c:816 */
2983 #line 556 "src/parser_proc_grammar.y" /* glr.c:816 */
2985 psi_plist_free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
2986 (*(struct psi_cpp_exp
**)(&(*yyvalp
))) = NULL
;
2988 #line 2989 "src/parser_proc.c" /* glr.c:816 */
2992 #line 610 "src/parser_proc_grammar.y" /* glr.c:816 */
2994 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
2995 (*(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
);
2996 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
2998 #line 2999 "src/parser_proc.c" /* glr.c:816 */
3002 #line 615 "src/parser_proc_grammar.y" /* glr.c:816 */
3004 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3005 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
))) = psi_cpp_macro_decl_init(NULL
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), NULL
);
3006 (*(struct psi_cpp_macro_decl
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3008 #line 3009 "src/parser_proc.c" /* glr.c:816 */
3012 #line 623 "src/parser_proc_grammar.y" /* glr.c:816 */
3014 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
);
3016 #line 3017 "src/parser_proc.c" /* glr.c:816 */
3020 #line 626 "src/parser_proc_grammar.y" /* glr.c:816 */
3022 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_init(NULL
); /* FIXME */
3024 #line 3025 "src/parser_proc.c" /* glr.c:816 */
3028 #line 630 "src/parser_proc_grammar.y" /* glr.c:816 */
3030 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3032 #line 3033 "src/parser_proc.c" /* glr.c:816 */
3036 #line 636 "src/parser_proc_grammar.y" /* glr.c:816 */
3038 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3039 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3040 (*(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
)));
3042 #line 3043 "src/parser_proc.c" /* glr.c:816 */
3046 #line 641 "src/parser_proc_grammar.y" /* glr.c:816 */
3048 (*(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
)));
3049 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3050 (*(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
)));
3052 #line 3053 "src/parser_proc.c" /* glr.c:816 */
3056 #line 649 "src/parser_proc_grammar.y" /* glr.c:816 */
3058 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3060 #line 3061 "src/parser_proc.c" /* glr.c:816 */
3064 #line 656 "src/parser_proc_grammar.y" /* glr.c:816 */
3066 (*(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
)));
3067 (*(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
)));
3069 #line 3070 "src/parser_proc.c" /* glr.c:816 */
3073 #line 660 "src/parser_proc_grammar.y" /* glr.c:816 */
3075 (*(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
)));
3076 (*(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
)));
3078 #line 3079 "src/parser_proc.c" /* glr.c:816 */
3082 #line 667 "src/parser_proc_grammar.y" /* glr.c:816 */
3084 (*(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
)));
3085 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3087 #line 3088 "src/parser_proc.c" /* glr.c:816 */
3091 #line 671 "src/parser_proc_grammar.y" /* glr.c:816 */
3093 (*(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
)));
3094 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3096 #line 3097 "src/parser_proc.c" /* glr.c:816 */
3100 #line 675 "src/parser_proc_grammar.y" /* glr.c:816 */
3102 (*(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
)));
3103 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3105 #line 3106 "src/parser_proc.c" /* glr.c:816 */
3109 #line 679 "src/parser_proc_grammar.y" /* glr.c:816 */
3111 (*(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
)));
3112 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3114 #line 3115 "src/parser_proc.c" /* glr.c:816 */
3118 #line 684 "src/parser_proc_grammar.y" /* glr.c:816 */
3123 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3124 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3125 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3126 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3129 #line 3130 "src/parser_proc.c" /* glr.c:816 */
3133 #line 694 "src/parser_proc_grammar.y" /* glr.c:816 */
3138 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3139 exists
= psi_cpp_defined(P
->preproc
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3140 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8
, &exists
, 0));
3141 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3144 #line 3145 "src/parser_proc.c" /* glr.c:816 */
3148 #line 704 "src/parser_proc_grammar.y" /* glr.c:816 */
3150 (*(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
));
3151 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3152 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3154 #line 3155 "src/parser_proc.c" /* glr.c:816 */
3158 #line 709 "src/parser_proc_grammar.y" /* glr.c:816 */
3160 (*(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));
3161 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3162 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3164 #line 3165 "src/parser_proc.c" /* glr.c:816 */
3168 #line 714 "src/parser_proc_grammar.y" /* glr.c:816 */
3170 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3171 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3173 #line 3174 "src/parser_proc.c" /* glr.c:816 */
3177 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
3179 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3180 (*(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));
3181 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3182 (*(struct psi_num_exp
**)(&(*yyvalp
)))->data
.n
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3184 #line 3185 "src/parser_proc.c" /* glr.c:816 */
3188 #line 724 "src/parser_proc_grammar.y" /* glr.c:816 */
3190 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3191 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION
,
3192 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));
3193 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3195 #line 3196 "src/parser_proc.c" /* glr.c:816 */
3199 #line 733 "src/parser_proc_grammar.y" /* glr.c:816 */
3201 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3203 #line 3204 "src/parser_proc.c" /* glr.c:816 */
3207 #line 740 "src/parser_proc_grammar.y" /* glr.c:816 */
3209 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_num_exp_free
),
3210 &(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3212 #line 3213 "src/parser_proc.c" /* glr.c:816 */
3216 #line 744 "src/parser_proc_grammar.y" /* glr.c:816 */
3218 (*(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
)));
3220 #line 3221 "src/parser_proc.c" /* glr.c:816 */
3224 #line 750 "src/parser_proc_grammar.y" /* glr.c:816 */
3226 (*(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
)));
3227 (*(struct psi_const
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3229 #line 3230 "src/parser_proc.c" /* glr.c:816 */
3233 #line 757 "src/parser_proc_grammar.y" /* glr.c:816 */
3235 (*(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
);
3237 #line 3238 "src/parser_proc.c" /* glr.c:816 */
3241 #line 770 "src/parser_proc_grammar.y" /* glr.c:816 */
3243 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3245 #line 3246 "src/parser_proc.c" /* glr.c:816 */
3249 #line 773 "src/parser_proc_grammar.y" /* glr.c:816 */
3252 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
)) {
3254 token_t type
= psi_num_exp_exec((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), &res
, NULL
, &P
->preproc
->defs
);
3256 if (type
== PSI_T_FLOAT
|| type
== PSI_T_DOUBLE
) {
3257 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(type
, NULL
);
3259 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = psi_impl_def_val_init(PSI_T_INT
, NULL
);
3263 case PSI_T_UINT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u8
; break;
3264 case PSI_T_UINT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u16
; break;
3265 case PSI_T_UINT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u32
; break;
3266 case PSI_T_UINT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.u64
; break; /* FIXME */
3267 case PSI_T_INT8
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i8
; break;
3268 case PSI_T_INT16
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i16
; break;
3269 case PSI_T_INT32
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i32
; break;
3270 case PSI_T_INT64
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.zend
.lval
= res
.i64
; break;
3271 case PSI_T_FLOAT
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.fval
; break;
3272 case PSI_T_DOUBLE
: (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->ival
.dval
= res
.dval
; break;
3278 (*(struct psi_impl_def_val
**)(&(*yyvalp
))) = NULL
;
3280 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3282 #line 3283 "src/parser_proc.c" /* glr.c:816 */
3286 #line 805 "src/parser_proc_grammar.y" /* glr.c:816 */
3288 (*(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
);
3289 (*(struct psi_impl_def_val
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3291 #line 3292 "src/parser_proc.c" /* glr.c:816 */
3295 #line 819 "src/parser_proc_grammar.y" /* glr.c:816 */
3297 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3299 #line 3300 "src/parser_proc.c" /* glr.c:816 */
3303 #line 822 "src/parser_proc_grammar.y" /* glr.c:816 */
3305 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3306 psi_decl_type_init(PSI_T_VOID
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->text
),
3307 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3309 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3310 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3311 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3313 #line 3314 "src/parser_proc.c" /* glr.c:816 */
3317 #line 831 "src/parser_proc_grammar.y" /* glr.c:816 */
3319 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3321 #line 3322 "src/parser_proc.c" /* glr.c:816 */
3325 #line 837 "src/parser_proc_grammar.y" /* glr.c:816 */
3327 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3329 #line 3330 "src/parser_proc.c" /* glr.c:816 */
3333 #line 840 "src/parser_proc_grammar.y" /* glr.c:816 */
3335 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3337 #line 3338 "src/parser_proc.c" /* glr.c:816 */
3341 #line 846 "src/parser_proc_grammar.y" /* glr.c:816 */
3343 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3345 #line 3346 "src/parser_proc.c" /* glr.c:816 */
3349 #line 849 "src/parser_proc_grammar.y" /* glr.c:816 */
3351 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3353 #line 3354 "src/parser_proc.c" /* glr.c:816 */
3357 #line 856 "src/parser_proc_grammar.y" /* glr.c:816 */
3359 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3360 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
3361 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
3363 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
3364 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3366 #line 3367 "src/parser_proc.c" /* glr.c:816 */
3370 #line 864 "src/parser_proc_grammar.y" /* glr.c:816 */
3372 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3373 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3374 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->name
),
3375 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3377 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3378 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->token
);
3379 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3380 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3382 #line 3383 "src/parser_proc.c" /* glr.c:816 */
3386 #line 875 "src/parser_proc_grammar.y" /* glr.c:816 */
3388 (*(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
)));
3389 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3390 (*(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
)));
3391 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3392 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3393 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3394 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3396 #line 3397 "src/parser_proc.c" /* glr.c:816 */
3400 #line 884 "src/parser_proc_grammar.y" /* glr.c:816 */
3402 (*(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
)));
3403 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
3404 (*(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
)));
3405 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
3406 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).pos
;
3407 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)).len
;
3408 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3410 #line 3411 "src/parser_proc.c" /* glr.c:816 */
3414 #line 897 "src/parser_proc_grammar.y" /* glr.c:816 */
3416 (*(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));
3417 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3419 #line 3420 "src/parser_proc.c" /* glr.c:816 */
3423 #line 901 "src/parser_proc_grammar.y" /* glr.c:816 */
3425 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3426 psi_decl_type_init(PSI_T_ENUM
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->name
),
3427 psi_decl_var_init(NULL
, 0, 0)
3429 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3430 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
3431 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.enm
= (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3432 psi_parser_proc_add_enum(P
, (*(struct psi_decl_enum
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3434 #line 3435 "src/parser_proc.c" /* glr.c:816 */
3438 #line 911 "src/parser_proc_grammar.y" /* glr.c:816 */
3440 (*(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));
3441 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3442 (*(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
)));
3443 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3444 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3445 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3446 psi_parser_proc_add_struct(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.strct
);
3448 #line 3449 "src/parser_proc.c" /* glr.c:816 */
3452 #line 920 "src/parser_proc_grammar.y" /* glr.c:816 */
3454 (*(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));
3455 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3456 (*(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
)));
3457 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3458 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
3459 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
3460 psi_parser_proc_add_union(P
, (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.unn
);
3462 #line 3463 "src/parser_proc.c" /* glr.c:816 */
3466 #line 932 "src/parser_proc_grammar.y" /* glr.c:816 */
3468 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3470 #line 3471 "src/parser_proc.c" /* glr.c:816 */
3474 #line 935 "src/parser_proc_grammar.y" /* glr.c:816 */
3476 (*(struct psi_decl_type
**)(&(*yyvalp
))) = (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3478 #line 3479 "src/parser_proc.c" /* glr.c:816 */
3482 #line 942 "src/parser_proc_grammar.y" /* glr.c:816 */
3484 (*(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
);
3485 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3487 #line 3488 "src/parser_proc.c" /* glr.c:816 */
3491 #line 950 "src/parser_proc_grammar.y" /* glr.c:816 */
3493 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3494 (*(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
);
3495 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3497 #line 3498 "src/parser_proc.c" /* glr.c:816 */
3501 #line 955 "src/parser_proc_grammar.y" /* glr.c:816 */
3503 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3504 (*(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
);
3505 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3507 #line 3508 "src/parser_proc.c" /* glr.c:816 */
3511 #line 960 "src/parser_proc_grammar.y" /* glr.c:816 */
3513 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3514 (*(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
);
3515 (*(struct psi_decl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3517 #line 3518 "src/parser_proc.c" /* glr.c:816 */
3521 #line 970 "src/parser_proc_grammar.y" /* glr.c:816 */
3523 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3525 #line 3526 "src/parser_proc.c" /* glr.c:816 */
3529 #line 976 "src/parser_proc_grammar.y" /* glr.c:816 */
3531 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3533 #line 3534 "src/parser_proc.c" /* glr.c:816 */
3537 #line 979 "src/parser_proc_grammar.y" /* glr.c:816 */
3539 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3541 #line 3542 "src/parser_proc.c" /* glr.c:816 */
3545 #line 982 "src/parser_proc_grammar.y" /* glr.c:816 */
3547 (*(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
)));
3549 #line 3550 "src/parser_proc.c" /* glr.c:816 */
3553 #line 993 "src/parser_proc_grammar.y" /* glr.c:816 */
3555 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3557 #line 3558 "src/parser_proc.c" /* glr.c:816 */
3561 #line 996 "src/parser_proc_grammar.y" /* glr.c:816 */
3563 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3565 #line 3566 "src/parser_proc.c" /* glr.c:816 */
3569 #line 999 "src/parser_proc_grammar.y" /* glr.c:816 */
3571 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3573 #line 3574 "src/parser_proc.c" /* glr.c:816 */
3577 #line 1005 "src/parser_proc_grammar.y" /* glr.c:816 */
3579 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3581 #line 3582 "src/parser_proc.c" /* glr.c:816 */
3585 #line 1008 "src/parser_proc_grammar.y" /* glr.c:816 */
3587 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3589 #line 3590 "src/parser_proc.c" /* glr.c:816 */
3593 #line 1011 "src/parser_proc_grammar.y" /* glr.c:816 */
3595 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3596 (*(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
)));
3597 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3599 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3602 #line 3603 "src/parser_proc.c" /* glr.c:816 */
3606 #line 1019 "src/parser_proc_grammar.y" /* glr.c:816 */
3608 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3609 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_cat(" ", 2, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3610 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3611 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3613 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
3616 #line 3617 "src/parser_proc.c" /* glr.c:816 */
3620 #line 1031 "src/parser_proc_grammar.y" /* glr.c:816 */
3622 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3624 #line 3625 "src/parser_proc.c" /* glr.c:816 */
3628 #line 1034 "src/parser_proc_grammar.y" /* glr.c:816 */
3630 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3632 #line 3633 "src/parser_proc.c" /* glr.c:816 */
3636 #line 1037 "src/parser_proc_grammar.y" /* glr.c:816 */
3638 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3640 #line 3641 "src/parser_proc.c" /* glr.c:816 */
3644 #line 1040 "src/parser_proc_grammar.y" /* glr.c:816 */
3646 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3647 (*(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
)));
3649 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3652 #line 3653 "src/parser_proc.c" /* glr.c:816 */
3656 #line 1047 "src/parser_proc_grammar.y" /* glr.c:816 */
3658 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3660 #line 3661 "src/parser_proc.c" /* glr.c:816 */
3664 #line 1050 "src/parser_proc_grammar.y" /* glr.c:816 */
3666 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3667 (*(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
)));
3669 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3672 #line 3673 "src/parser_proc.c" /* glr.c:816 */
3676 #line 1060 "src/parser_proc_grammar.y" /* glr.c:816 */
3678 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3680 #line 3681 "src/parser_proc.c" /* glr.c:816 */
3684 #line 1066 "src/parser_proc_grammar.y" /* glr.c:816 */
3686 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3688 #line 3689 "src/parser_proc.c" /* glr.c:816 */
3692 #line 1075 "src/parser_proc_grammar.y" /* glr.c:816 */
3694 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
3696 #line 3697 "src/parser_proc.c" /* glr.c:816 */
3700 #line 1078 "src/parser_proc_grammar.y" /* glr.c:816 */
3702 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3704 #line 3705 "src/parser_proc.c" /* glr.c:816 */
3708 #line 1081 "src/parser_proc_grammar.y" /* glr.c:816 */
3710 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3711 (*(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
)));
3712 free((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3714 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3717 #line 3718 "src/parser_proc.c" /* glr.c:816 */
3721 #line 1092 "src/parser_proc_grammar.y" /* glr.c:816 */
3723 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3725 #line 3726 "src/parser_proc.c" /* glr.c:816 */
3729 #line 1095 "src/parser_proc_grammar.y" /* glr.c:816 */
3731 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3733 #line 3734 "src/parser_proc.c" /* glr.c:816 */
3737 #line 1111 "src/parser_proc_grammar.y" /* glr.c:816 */
3739 struct psi_plist
*list
= psi_plist_init((psi_plist_dtor
) psi_decl_extvar_free
);
3741 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
3743 struct psi_decl_var
*var
;
3745 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &var
)) {
3746 if (psi_decl_extvar_is_blacklisted(var
->name
)) {
3747 psi_decl_var_free(&var
);
3749 list
= psi_plist_add(list
, psi_decl_extvar_init(
3750 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
), var
)));
3753 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3756 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->var
->name
)) {
3757 psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3759 struct psi_decl_extvar
*evar
= psi_decl_extvar_init((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
3760 list
= psi_plist_add(list
, &evar
);
3763 (*(struct psi_plist
**)(&(*yyvalp
))) = list
;
3765 #line 3766 "src/parser_proc.c" /* glr.c:816 */
3769 #line 1141 "src/parser_proc_grammar.y" /* glr.c:816 */
3771 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3773 #line 3774 "src/parser_proc.c" /* glr.c:816 */
3777 #line 1144 "src/parser_proc_grammar.y" /* glr.c:816 */
3779 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3781 #line 3782 "src/parser_proc.c" /* glr.c:816 */
3785 #line 1150 "src/parser_proc_grammar.y" /* glr.c:816 */
3787 (*(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
)));
3789 #line 3790 "src/parser_proc.c" /* glr.c:816 */
3793 #line 1153 "src/parser_proc_grammar.y" /* glr.c:816 */
3795 (*(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
)));
3797 #line 3798 "src/parser_proc.c" /* glr.c:816 */
3801 #line 1159 "src/parser_proc_grammar.y" /* glr.c:816 */
3803 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3805 #line 3806 "src/parser_proc.c" /* glr.c:816 */
3809 #line 1162 "src/parser_proc_grammar.y" /* glr.c:816 */
3811 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3813 #line 3814 "src/parser_proc.c" /* glr.c:816 */
3817 #line 1165 "src/parser_proc_grammar.y" /* glr.c:816 */
3819 psi_decl_free(&(*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3821 #line 3822 "src/parser_proc.c" /* glr.c:816 */
3825 #line 1186 "src/parser_proc_grammar.y" /* glr.c:816 */
3827 (*(struct psi_decl
**)(&(*yyvalp
))) = (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3828 (*(struct psi_decl
**)(&(*yyvalp
)))->abi
= psi_decl_abi_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
3830 #line 3831 "src/parser_proc.c" /* glr.c:816 */
3834 #line 1198 "src/parser_proc_grammar.y" /* glr.c:816 */
3836 (*(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
)));
3837 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3838 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3839 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3842 #line 3843 "src/parser_proc.c" /* glr.c:816 */
3846 #line 1205 "src/parser_proc_grammar.y" /* glr.c:816 */
3848 (*(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
)));
3849 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3850 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3851 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3852 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3855 #line 3856 "src/parser_proc.c" /* glr.c:816 */
3859 #line 1216 "src/parser_proc_grammar.y" /* glr.c:816 */
3861 (*(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
)));
3862 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3863 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3864 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3867 #line 3868 "src/parser_proc.c" /* glr.c:816 */
3871 #line 1223 "src/parser_proc_grammar.y" /* glr.c:816 */
3873 (*(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
)));
3874 (*(struct psi_decl
**)(&(*yyvalp
)))->varargs
= 1;
3875 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
3876 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->pointer_level
+= 1;
3877 (*(struct psi_decl
**)(&(*yyvalp
)))->func
->var
->array_size
= (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3880 #line 3881 "src/parser_proc.c" /* glr.c:816 */
3884 #line 1234 "src/parser_proc_grammar.y" /* glr.c:816 */
3886 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3887 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3888 (*(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));
3889 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3890 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3892 #line 3893 "src/parser_proc.c" /* glr.c:816 */
3896 #line 1241 "src/parser_proc_grammar.y" /* glr.c:816 */
3898 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3899 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3900 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3901 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
),
3902 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)
3904 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3905 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3906 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3908 #line 3909 "src/parser_proc.c" /* glr.c:816 */
3912 #line 1252 "src/parser_proc_grammar.y" /* glr.c:816 */
3914 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3915 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3916 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3917 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
),
3918 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)
3920 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
3921 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3922 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3924 #line 3925 "src/parser_proc.c" /* glr.c:816 */
3928 #line 1263 "src/parser_proc_grammar.y" /* glr.c:816 */
3930 (void) (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
3931 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
3932 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3933 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
),
3934 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3936 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
3937 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3938 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3940 #line 3941 "src/parser_proc.c" /* glr.c:816 */
3944 #line 1278 "src/parser_proc_grammar.y" /* glr.c:816 */
3946 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
3947 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
),
3948 psi_decl_var_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, 0, 0)
3950 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
3951 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3952 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
3954 #line 3955 "src/parser_proc.c" /* glr.c:816 */
3958 #line 1290 "src/parser_proc_grammar.y" /* glr.c:816 */
3960 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3962 #line 3963 "src/parser_proc.c" /* glr.c:816 */
3966 #line 1293 "src/parser_proc_grammar.y" /* glr.c:816 */
3968 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
3970 #line 3971 "src/parser_proc.c" /* glr.c:816 */
3974 #line 1296 "src/parser_proc_grammar.y" /* glr.c:816 */
3976 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
3978 #line 3979 "src/parser_proc.c" /* glr.c:816 */
3982 #line 1302 "src/parser_proc_grammar.y" /* glr.c:816 */
3984 (*(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
)));
3986 #line 3987 "src/parser_proc.c" /* glr.c:816 */
3990 #line 1305 "src/parser_proc_grammar.y" /* glr.c:816 */
3992 (*(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
)));
3994 #line 3995 "src/parser_proc.c" /* glr.c:816 */
3998 #line 1312 "src/parser_proc_grammar.y" /* glr.c:816 */
4000 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4002 #line 4003 "src/parser_proc.c" /* glr.c:816 */
4006 #line 1315 "src/parser_proc_grammar.y" /* glr.c:816 */
4008 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4009 (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)),
4010 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4013 #line 4014 "src/parser_proc.c" /* glr.c:816 */
4017 #line 1321 "src/parser_proc_grammar.y" /* glr.c:816 */
4019 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4020 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
),
4021 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4023 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4024 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4025 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4027 #line 4028 "src/parser_proc.c" /* glr.c:816 */
4031 #line 1330 "src/parser_proc_grammar.y" /* glr.c:816 */
4033 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4034 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
),
4035 psi_decl_var_init(NULL
, (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0)
4037 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4038 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4039 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4041 #line 4042 "src/parser_proc.c" /* glr.c:816 */
4045 #line 1342 "src/parser_proc_grammar.y" /* glr.c:816 */
4047 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4048 psi_decl_type_init(PSI_T_FUNCTION
, (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
->name
),
4049 psi_decl_var_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->var
)
4051 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->func
->token
);
4052 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->real
.func
= (*(struct psi_decl
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4054 #line 4055 "src/parser_proc.c" /* glr.c:816 */
4058 #line 1350 "src/parser_proc_grammar.y" /* glr.c:816 */
4060 (*(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
)));
4062 #line 4063 "src/parser_proc.c" /* glr.c:816 */
4066 #line 1353 "src/parser_proc_grammar.y" /* glr.c:816 */
4068 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4069 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4070 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
),
4071 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)
4073 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4074 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4075 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4077 #line 4078 "src/parser_proc.c" /* glr.c:816 */
4081 #line 1363 "src/parser_proc_grammar.y" /* glr.c:816 */
4083 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4084 (*(struct psi_decl_arg
**)(&(*yyvalp
))) = psi_decl_arg_init(
4085 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
),
4086 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)
4088 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->type
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4089 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4090 (*(struct psi_decl_arg
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4092 #line 4093 "src/parser_proc.c" /* glr.c:816 */
4096 #line 1376 "src/parser_proc_grammar.y" /* glr.c:816 */
4098 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4099 (*(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
)));
4100 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4102 #line 4103 "src/parser_proc.c" /* glr.c:816 */
4106 #line 1381 "src/parser_proc_grammar.y" /* glr.c:816 */
4108 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4109 (*(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
)));
4110 (*(struct psi_decl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4112 #line 4113 "src/parser_proc.c" /* glr.c:816 */
4116 #line 1389 "src/parser_proc_grammar.y" /* glr.c:816 */
4118 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4119 (*(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
)));
4120 (*(struct psi_decl_union
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4121 (*(struct psi_decl_union
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4122 (*(struct psi_decl_union
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4124 #line 4125 "src/parser_proc.c" /* glr.c:816 */
4128 #line 1399 "src/parser_proc_grammar.y" /* glr.c:816 */
4130 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4131 (*(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
)));
4132 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->align
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).pos
;
4133 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->size
= (*(struct psi_layout
*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)).len
;
4134 (*(struct psi_decl_struct
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4136 #line 4137 "src/parser_proc.c" /* glr.c:816 */
4140 #line 1409 "src/parser_proc_grammar.y" /* glr.c:816 */
4142 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4144 #line 4145 "src/parser_proc.c" /* glr.c:816 */
4148 #line 1416 "src/parser_proc_grammar.y" /* glr.c:816 */
4150 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4152 #line 4153 "src/parser_proc.c" /* glr.c:816 */
4156 #line 1422 "src/parser_proc_grammar.y" /* glr.c:816 */
4158 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4159 (*(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
)));
4160 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4162 struct psi_decl_arg
*arg
;
4164 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4165 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4166 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4168 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4171 #line 4172 "src/parser_proc.c" /* glr.c:816 */
4175 #line 1436 "src/parser_proc_grammar.y" /* glr.c:816 */
4177 (*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4178 (*(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
)));
4179 if ((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))) {
4181 struct psi_decl_arg
*arg
;
4183 while (psi_plist_get((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), i
++, &arg
)) {
4184 arg
->type
= psi_decl_type_copy((*(struct psi_decl_arg
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
);
4185 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&(*yyvalp
))), &arg
);
4187 free((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4190 #line 4191 "src/parser_proc.c" /* glr.c:816 */
4194 #line 1453 "src/parser_proc_grammar.y" /* glr.c:816 */
4196 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4198 #line 4199 "src/parser_proc.c" /* glr.c:816 */
4202 #line 1456 "src/parser_proc_grammar.y" /* glr.c:816 */
4204 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4206 #line 4207 "src/parser_proc.c" /* glr.c:816 */
4210 #line 1462 "src/parser_proc_grammar.y" /* glr.c:816 */
4213 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4214 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4215 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add(psi_plist_init((psi_plist_dtor
) psi_decl_arg_free
), &arg
);
4218 #line 4219 "src/parser_proc.c" /* glr.c:816 */
4222 #line 1469 "src/parser_proc_grammar.y" /* glr.c:816 */
4225 struct psi_decl_arg
*arg
= psi_decl_arg_init(NULL
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4226 arg
->layout
= (*(struct psi_layout
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4227 (*(struct psi_plist
**)(&(*yyvalp
))) = psi_plist_add((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), &arg
);
4230 #line 4231 "src/parser_proc.c" /* glr.c:816 */
4234 #line 1479 "src/parser_proc_grammar.y" /* glr.c:816 */
4236 (*(struct psi_decl_enum
**)(&(*yyvalp
))) = psi_decl_enum_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4237 (*(struct psi_decl_enum
**)(&(*yyvalp
)))->token
= (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
));
4239 #line 4240 "src/parser_proc.c" /* glr.c:816 */
4243 #line 1486 "src/parser_proc_grammar.y" /* glr.c:816 */
4245 (*(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
)));
4247 #line 4248 "src/parser_proc.c" /* glr.c:816 */
4251 #line 1489 "src/parser_proc_grammar.y" /* glr.c:816 */
4253 (*(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
)));
4255 #line 4256 "src/parser_proc.c" /* glr.c:816 */
4259 #line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */
4261 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4262 (*(struct psi_decl_enum_item
**)(&(*yyvalp
))) = psi_decl_enum_item_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->text
, NULL
);
4263 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4265 #line 4266 "src/parser_proc.c" /* glr.c:816 */
4269 #line 1500 "src/parser_proc_grammar.y" /* glr.c:816 */
4271 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
4272 (*(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
)));
4273 (*(struct psi_decl_enum_item
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4275 #line 4276 "src/parser_proc.c" /* glr.c:816 */
4279 #line 1508 "src/parser_proc_grammar.y" /* glr.c:816 */
4281 (*(struct psi_num_exp
**)(&(*yyvalp
))) = psi_num_exp_init_num((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4282 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4284 #line 4285 "src/parser_proc.c" /* glr.c:816 */
4288 #line 1512 "src/parser_proc_grammar.y" /* glr.c:816 */
4290 (*(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
)));
4291 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
))->token
);
4293 #line 4294 "src/parser_proc.c" /* glr.c:816 */
4297 #line 1516 "src/parser_proc_grammar.y" /* glr.c:816 */
4299 (*(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
)));
4300 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4302 #line 4303 "src/parser_proc.c" /* glr.c:816 */
4306 #line 1520 "src/parser_proc_grammar.y" /* glr.c:816 */
4308 (*(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
)));
4309 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4311 #line 4312 "src/parser_proc.c" /* glr.c:816 */
4315 #line 1524 "src/parser_proc_grammar.y" /* glr.c:816 */
4317 (*(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
)));
4318 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4320 #line 4321 "src/parser_proc.c" /* glr.c:816 */
4324 #line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */
4326 (*(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
)));
4327 (*(struct psi_num_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4329 #line 4330 "src/parser_proc.c" /* glr.c:816 */
4333 #line 1535 "src/parser_proc_grammar.y" /* glr.c:816 */
4335 (*(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
);
4336 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4338 #line 4339 "src/parser_proc.c" /* glr.c:816 */
4342 #line 1539 "src/parser_proc_grammar.y" /* glr.c:816 */
4344 (*(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);
4345 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4347 #line 4348 "src/parser_proc.c" /* glr.c:816 */
4351 #line 1543 "src/parser_proc_grammar.y" /* glr.c:816 */
4353 (*(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);
4354 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4356 #line 4357 "src/parser_proc.c" /* glr.c:816 */
4360 #line 1547 "src/parser_proc_grammar.y" /* glr.c:816 */
4362 (*(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);
4363 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4365 #line 4366 "src/parser_proc.c" /* glr.c:816 */
4369 #line 1551 "src/parser_proc_grammar.y" /* glr.c:816 */
4371 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_NAME
, (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)), 0);
4372 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
4374 #line 4375 "src/parser_proc.c" /* glr.c:816 */
4378 #line 1555 "src/parser_proc_grammar.y" /* glr.c:816 */
4380 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4382 #line 4383 "src/parser_proc.c" /* glr.c:816 */
4386 #line 1561 "src/parser_proc_grammar.y" /* glr.c:816 */
4388 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4389 (*(struct psi_number
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4391 #line 4392 "src/parser_proc.c" /* glr.c:816 */
4395 #line 1565 "src/parser_proc_grammar.y" /* glr.c:816 */
4397 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4398 (*(struct psi_number
**)(&(*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 1572 "src/parser_proc_grammar.y" /* glr.c:816 */
4406 (*(struct psi_number
**)(&(*yyvalp
))) = (*(struct psi_number
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4408 #line 4409 "src/parser_proc.c" /* glr.c:816 */
4412 #line 1575 "src/parser_proc_grammar.y" /* glr.c:816 */
4414 if ((*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4415 int8_t sizeof_void_p
= sizeof(void *);
4416 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4417 psi_decl_type_free(&(*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4419 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_SIZEOF
, (*(struct psi_decl_type
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), 0);
4422 #line 4423 "src/parser_proc.c" /* glr.c:816 */
4426 #line 1587 "src/parser_proc_grammar.y" /* glr.c:816 */
4428 int8_t sizeof_void_p
= sizeof(void *);
4429 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_void_p
, 0);
4431 #line 4432 "src/parser_proc.c" /* glr.c:816 */
4435 #line 1591 "src/parser_proc_grammar.y" /* glr.c:816 */
4437 int8_t sizeof_a
= sizeof('a');
4438 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT8
, &sizeof_a
, 0);
4440 #line 4441 "src/parser_proc.c" /* glr.c:816 */
4444 #line 1595 "src/parser_proc_grammar.y" /* glr.c:816 */
4446 (*(struct psi_number
**)(&(*yyvalp
))) = psi_number_init(PSI_T_INT64
, &(*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->size
, 0);
4448 #line 4449 "src/parser_proc.c" /* glr.c:816 */
4452 #line 1601 "src/parser_proc_grammar.y" /* glr.c:816 */
4454 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4455 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4459 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4460 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4463 #line 4464 "src/parser_proc.c" /* glr.c:816 */
4467 #line 1614 "src/parser_proc_grammar.y" /* glr.c:816 */
4469 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4470 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4474 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4475 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4478 #line 4479 "src/parser_proc.c" /* glr.c:816 */
4482 #line 1627 "src/parser_proc_grammar.y" /* glr.c:816 */
4484 if ((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))) {
4485 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4489 psi_token_hash((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), digest
);
4490 (*(struct psi_token
**)(&(*yyvalp
))) = psi_token_append("@", psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))), 1, digest
);
4493 #line 4494 "src/parser_proc.c" /* glr.c:816 */
4497 #line 1640 "src/parser_proc_grammar.y" /* glr.c:816 */
4499 (*(struct psi_token
**)(&(*yyvalp
))) = NULL
;
4501 #line 4502 "src/parser_proc.c" /* glr.c:816 */
4505 #line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */
4507 (*(struct psi_token
**)(&(*yyvalp
))) = (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4508 (*(struct psi_token
**)(&(*yyvalp
)))->type
= PSI_T_NAME
;
4510 #line 4511 "src/parser_proc.c" /* glr.c:816 */
4514 #line 1655 "src/parser_proc_grammar.y" /* glr.c:816 */
4516 (*(struct psi_layout
**)(&(*yyvalp
))) = NULL
;
4518 #line 4519 "src/parser_proc.c" /* glr.c:816 */
4522 #line 1658 "src/parser_proc_grammar.y" /* glr.c:816 */
4524 (*(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
));
4526 #line 4527 "src/parser_proc.c" /* glr.c:816 */
4530 #line 1661 "src/parser_proc_grammar.y" /* glr.c:816 */
4532 (*(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
);
4534 #line 4535 "src/parser_proc.c" /* glr.c:816 */
4538 #line 1664 "src/parser_proc_grammar.y" /* glr.c:816 */
4540 (*(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
));
4542 #line 4543 "src/parser_proc.c" /* glr.c:816 */
4546 #line 1670 "src/parser_proc_grammar.y" /* glr.c:816 */
4548 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= 0;
4549 (*(struct psi_layout
*)(&(*yyvalp
))).len
= 0;
4551 #line 4552 "src/parser_proc.c" /* glr.c:816 */
4555 #line 1674 "src/parser_proc_grammar.y" /* glr.c:816 */
4557 (*(struct psi_layout
*)(&(*yyvalp
))).pos
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->text
);
4558 (*(struct psi_layout
*)(&(*yyvalp
))).len
= atol((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
))->text
);
4560 #line 4561 "src/parser_proc.c" /* glr.c:816 */
4564 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
4566 (*(size_t*)(&(*yyvalp
))) = 0;
4568 #line 4569 "src/parser_proc.c" /* glr.c:816 */
4572 #line 1684 "src/parser_proc_grammar.y" /* glr.c:816 */
4574 (*(size_t*)(&(*yyvalp
))) = 0;
4576 #line 4577 "src/parser_proc.c" /* glr.c:816 */
4580 #line 1687 "src/parser_proc_grammar.y" /* glr.c:816 */
4582 (*(size_t*)(&(*yyvalp
))) = 0;
4584 #line 4585 "src/parser_proc.c" /* glr.c:816 */
4588 #line 1690 "src/parser_proc_grammar.y" /* glr.c:816 */
4590 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
)) {
4591 (*(size_t*)(&(*yyvalp
))) = psi_long_num_exp((*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)), NULL
, &P
->preproc
->defs
);
4593 (*(size_t*)(&(*yyvalp
))) = 0;
4595 psi_num_exp_free(&(*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4597 #line 4598 "src/parser_proc.c" /* glr.c:816 */
4601 #line 1701 "src/parser_proc_grammar.y" /* glr.c:816 */
4603 (*(size_t*)(&(*yyvalp
))) = 0;
4605 #line 4606 "src/parser_proc.c" /* glr.c:816 */
4609 #line 1704 "src/parser_proc_grammar.y" /* glr.c:816 */
4611 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4613 #line 4614 "src/parser_proc.c" /* glr.c:816 */
4617 #line 1711 "src/parser_proc_grammar.y" /* glr.c:816 */
4619 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4621 #line 4622 "src/parser_proc.c" /* glr.c:816 */
4625 #line 1717 "src/parser_proc_grammar.y" /* glr.c:816 */
4627 (*(size_t*)(&(*yyvalp
))) = 1;
4629 #line 4630 "src/parser_proc.c" /* glr.c:816 */
4633 #line 1720 "src/parser_proc_grammar.y" /* glr.c:816 */
4635 (*(size_t*)(&(*yyvalp
))) = (*(size_t*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)) + 1;
4637 #line 4638 "src/parser_proc.c" /* glr.c:816 */
4641 #line 1737 "src/parser_proc_grammar.y" /* glr.c:816 */
4643 (*(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
)));
4645 #line 4646 "src/parser_proc.c" /* glr.c:816 */
4649 #line 1740 "src/parser_proc_grammar.y" /* glr.c:816 */
4651 (*(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
)));
4652 (*(struct psi_impl_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4654 #line 4655 "src/parser_proc.c" /* glr.c:816 */
4658 #line 1747 "src/parser_proc_grammar.y" /* glr.c:816 */
4660 (*(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
)));
4661 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4662 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
));
4664 #line 4665 "src/parser_proc.c" /* glr.c:816 */
4668 #line 1752 "src/parser_proc_grammar.y" /* glr.c:816 */
4670 (*(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
)));
4671 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4672 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
));
4674 #line 4675 "src/parser_proc.c" /* glr.c:816 */
4678 #line 1757 "src/parser_proc_grammar.y" /* glr.c:816 */
4680 (*(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
)));
4681 (*(struct psi_impl_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-10)].yystate
.yysemantics
.yysval
)));
4682 (*(struct psi_impl_func
**)(&(*yyvalp
)))->return_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
));
4683 (*(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
);
4684 (*(struct psi_impl_func
**)(&(*yyvalp
)))->vararg
->var
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
4686 #line 4687 "src/parser_proc.c" /* glr.c:816 */
4690 #line 1767 "src/parser_proc_grammar.y" /* glr.c:816 */
4692 (*(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
)));
4694 #line 4695 "src/parser_proc.c" /* glr.c:816 */
4698 #line 1770 "src/parser_proc_grammar.y" /* glr.c:816 */
4700 (*(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
)));
4702 #line 4703 "src/parser_proc.c" /* glr.c:816 */
4706 #line 1776 "src/parser_proc_grammar.y" /* glr.c:816 */
4708 (*(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
);
4710 #line 4711 "src/parser_proc.c" /* glr.c:816 */
4714 #line 1779 "src/parser_proc_grammar.y" /* glr.c:816 */
4716 (*(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
)));
4718 #line 4719 "src/parser_proc.c" /* glr.c:816 */
4722 #line 1785 "src/parser_proc_grammar.y" /* glr.c:816 */
4724 (*(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
)));
4725 (*(struct psi_impl_var
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4727 #line 4728 "src/parser_proc.c" /* glr.c:816 */
4731 #line 1792 "src/parser_proc_grammar.y" /* glr.c:816 */
4733 (*(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
);
4734 (*(struct psi_impl_type
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4736 #line 4737 "src/parser_proc.c" /* glr.c:816 */
4740 #line 1811 "src/parser_proc_grammar.y" /* glr.c:816 */
4742 (*(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
)));
4744 #line 4745 "src/parser_proc.c" /* glr.c:816 */
4748 #line 1814 "src/parser_proc_grammar.y" /* glr.c:816 */
4750 (*(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
)));
4752 #line 4753 "src/parser_proc.c" /* glr.c:816 */
4756 #line 1820 "src/parser_proc_grammar.y" /* glr.c:816 */
4758 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_return_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4760 #line 4761 "src/parser_proc.c" /* glr.c:816 */
4764 #line 1823 "src/parser_proc_grammar.y" /* glr.c:816 */
4766 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_let_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4768 #line 4769 "src/parser_proc.c" /* glr.c:816 */
4772 #line 1826 "src/parser_proc_grammar.y" /* glr.c:816 */
4774 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_set_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4776 #line 4777 "src/parser_proc.c" /* glr.c:816 */
4780 #line 1829 "src/parser_proc_grammar.y" /* glr.c:816 */
4782 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_assert_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4784 #line 4785 "src/parser_proc.c" /* glr.c:816 */
4788 #line 1832 "src/parser_proc_grammar.y" /* glr.c:816 */
4790 (*(struct psi_token
***)(&(*yyvalp
))) = (struct psi_token
**) (*(struct psi_free_stmt
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4792 #line 4793 "src/parser_proc.c" /* glr.c:816 */
4796 #line 1838 "src/parser_proc_grammar.y" /* glr.c:816 */
4798 (*(struct psi_let_stmt
**)(&(*yyvalp
))) = psi_let_stmt_init((*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
4799 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
4801 #line 4802 "src/parser_proc.c" /* glr.c:816 */
4805 #line 1842 "src/parser_proc_grammar.y" /* glr.c:816 */
4807 (*(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
))));
4808 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4809 (*(struct psi_let_stmt
**)(&(*yyvalp
)))->exp
->is_reference
= (*(bool*)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4811 #line 4812 "src/parser_proc.c" /* glr.c:816 */
4815 #line 1851 "src/parser_proc_grammar.y" /* glr.c:816 */
4817 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4818 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= true;
4820 #line 4821 "src/parser_proc.c" /* glr.c:816 */
4824 #line 1855 "src/parser_proc_grammar.y" /* glr.c:816 */
4826 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4827 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= false;
4829 #line 4830 "src/parser_proc.c" /* glr.c:816 */
4833 #line 1862 "src/parser_proc_grammar.y" /* glr.c:816 */
4835 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_NULL
, NULL
);
4837 #line 4838 "src/parser_proc.c" /* glr.c:816 */
4841 #line 1865 "src/parser_proc_grammar.y" /* glr.c:816 */
4843 (*(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
)));
4845 #line 4846 "src/parser_proc.c" /* glr.c:816 */
4849 #line 1868 "src/parser_proc_grammar.y" /* glr.c:816 */
4851 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4853 #line 4854 "src/parser_proc.c" /* glr.c:816 */
4857 #line 1871 "src/parser_proc_grammar.y" /* glr.c:816 */
4859 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLOC
, (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4860 (*(struct psi_let_calloc
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->static_memory
= 1;
4862 #line 4863 "src/parser_proc.c" /* glr.c:816 */
4866 #line 1875 "src/parser_proc_grammar.y" /* glr.c:816 */
4868 (*(struct psi_let_exp
**)(&(*yyvalp
))) = psi_let_exp_init(PSI_LET_CALLBACK
, (*(struct psi_let_callback
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
4870 #line 4871 "src/parser_proc.c" /* glr.c:816 */
4874 #line 1878 "src/parser_proc_grammar.y" /* glr.c:816 */
4876 (*(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
)));
4878 #line 4879 "src/parser_proc.c" /* glr.c:816 */
4882 #line 1884 "src/parser_proc_grammar.y" /* glr.c:816 */
4884 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4885 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
4887 #line 4888 "src/parser_proc.c" /* glr.c:816 */
4891 #line 1888 "src/parser_proc_grammar.y" /* glr.c:816 */
4893 (*(struct psi_let_exp
**)(&(*yyvalp
))) = (*(struct psi_let_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4894 (*(struct psi_let_exp
**)(&(*yyvalp
)))->is_reference
= 1;
4895 (*(struct psi_let_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
));
4897 #line 4898 "src/parser_proc.c" /* glr.c:816 */
4901 #line 1896 "src/parser_proc_grammar.y" /* glr.c:816 */
4903 (*(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
)));
4904 (*(struct psi_let_calloc
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
4906 #line 4907 "src/parser_proc.c" /* glr.c:816 */
4910 #line 1903 "src/parser_proc_grammar.y" /* glr.c:816 */
4912 (*(struct psi_let_callback
**)(&(*yyvalp
))) = psi_let_callback_init(psi_let_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), NULL
);
4913 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4914 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-7)].yystate
.yysemantics
.yysval
)));
4916 #line 4917 "src/parser_proc.c" /* glr.c:816 */
4920 #line 1908 "src/parser_proc_grammar.y" /* glr.c:816 */
4922 (*(struct psi_let_callback
**)(&(*yyvalp
))) = psi_let_callback_init(psi_let_func_init((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->type
, (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
))->text
, (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
))), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-9)].yystate
.yysemantics
.yysval
)));
4923 (*(struct psi_let_callback
**)(&(*yyvalp
)))->func
->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-6)].yystate
.yysemantics
.yysval
)));
4924 (*(struct psi_let_callback
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-11)].yystate
.yysemantics
.yysval
)));
4926 #line 4927 "src/parser_proc.c" /* glr.c:816 */
4930 #line 1916 "src/parser_proc_grammar.y" /* glr.c:816 */
4932 (*(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
)));
4933 (*(struct psi_let_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
4934 (*(struct psi_let_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
4936 #line 4937 "src/parser_proc.c" /* glr.c:816 */
4940 #line 1937 "src/parser_proc_grammar.y" /* glr.c:816 */
4942 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4944 #line 4945 "src/parser_proc.c" /* glr.c:816 */
4948 #line 1940 "src/parser_proc_grammar.y" /* glr.c:816 */
4950 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4952 #line 4953 "src/parser_proc.c" /* glr.c:816 */
4956 #line 1946 "src/parser_proc_grammar.y" /* glr.c:816 */
4958 (*(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
)));
4960 #line 4961 "src/parser_proc.c" /* glr.c:816 */
4964 #line 1949 "src/parser_proc_grammar.y" /* glr.c:816 */
4966 (*(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
)));
4968 #line 4969 "src/parser_proc.c" /* glr.c:816 */
4972 #line 1960 "src/parser_proc_grammar.y" /* glr.c:816 */
4974 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
4976 #line 4977 "src/parser_proc.c" /* glr.c:816 */
4980 #line 1963 "src/parser_proc_grammar.y" /* glr.c:816 */
4982 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
4984 #line 4985 "src/parser_proc.c" /* glr.c:816 */
4988 #line 1969 "src/parser_proc_grammar.y" /* glr.c:816 */
4990 (*(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
)));
4992 #line 4993 "src/parser_proc.c" /* glr.c:816 */
4996 #line 1972 "src/parser_proc_grammar.y" /* glr.c:816 */
4998 (*(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
)));
5000 #line 5001 "src/parser_proc.c" /* glr.c:816 */
5004 #line 1978 "src/parser_proc_grammar.y" /* glr.c:816 */
5006 (*(struct psi_return_stmt
**)(&(*yyvalp
))) = psi_return_stmt_init((*(struct psi_return_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5007 (*(struct psi_return_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5009 #line 5010 "src/parser_proc.c" /* glr.c:816 */
5013 #line 1985 "src/parser_proc_grammar.y" /* glr.c:816 */
5015 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)), (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)), psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
5016 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_decl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
))->token
);
5018 #line 5019 "src/parser_proc.c" /* glr.c:816 */
5022 #line 1989 "src/parser_proc_grammar.y" /* glr.c:816 */
5024 (*(struct psi_return_exp
**)(&(*yyvalp
))) = psi_return_exp_init(NULL
, NULL
, psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))));
5025 (*(struct psi_return_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
))->token
);
5027 #line 5028 "src/parser_proc.c" /* glr.c:816 */
5031 #line 1996 "src/parser_proc_grammar.y" /* glr.c:816 */
5033 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5035 #line 5036 "src/parser_proc.c" /* glr.c:816 */
5039 #line 1999 "src/parser_proc_grammar.y" /* glr.c:816 */
5041 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5043 #line 5044 "src/parser_proc.c" /* glr.c:816 */
5047 #line 2002 "src/parser_proc_grammar.y" /* glr.c:816 */
5049 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5051 #line 5052 "src/parser_proc.c" /* glr.c:816 */
5055 #line 2008 "src/parser_proc_grammar.y" /* glr.c:816 */
5057 (*(struct psi_set_stmt
**)(&(*yyvalp
))) = psi_set_stmt_init((*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5058 (*(struct psi_set_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 2015 "src/parser_proc_grammar.y" /* glr.c:816 */
5066 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_FUNC
, (*(struct psi_set_func
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5068 #line 5069 "src/parser_proc.c" /* glr.c:816 */
5072 #line 2018 "src/parser_proc_grammar.y" /* glr.c:816 */
5074 (*(struct psi_set_exp
**)(&(*yyvalp
))) = psi_set_exp_init(PSI_SET_NUMEXP
, (*(struct psi_num_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
)));
5076 #line 5077 "src/parser_proc.c" /* glr.c:816 */
5080 #line 2021 "src/parser_proc_grammar.y" /* glr.c:816 */
5082 (*(struct psi_set_exp
**)(&(*yyvalp
))) = (*(struct psi_set_exp
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5083 (*(struct psi_set_exp
**)(&(*yyvalp
)))->var
= (*(struct psi_impl_var
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
));
5085 #line 5086 "src/parser_proc.c" /* glr.c:816 */
5089 #line 2028 "src/parser_proc_grammar.y" /* glr.c:816 */
5091 (*(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
)));
5092 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-4)].yystate
.yysemantics
.yysval
)));
5093 (*(struct psi_set_func
**)(&(*yyvalp
)))->inner
= (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
));
5095 #line 5096 "src/parser_proc.c" /* glr.c:816 */
5099 #line 2033 "src/parser_proc_grammar.y" /* glr.c:816 */
5101 (*(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
)));
5102 (*(struct psi_set_func
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-5)].yystate
.yysemantics
.yysval
)));
5103 (*(struct psi_set_func
**)(&(*yyvalp
)))->recursive
= 1;
5105 #line 5106 "src/parser_proc.c" /* glr.c:816 */
5109 #line 2052 "src/parser_proc_grammar.y" /* glr.c:816 */
5111 (*(struct psi_plist
**)(&(*yyvalp
))) = NULL
;
5113 #line 5114 "src/parser_proc.c" /* glr.c:816 */
5117 #line 2055 "src/parser_proc_grammar.y" /* glr.c:816 */
5119 (*(struct psi_plist
**)(&(*yyvalp
))) = (*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (0)].yystate
.yysemantics
.yysval
));
5121 #line 5122 "src/parser_proc.c" /* glr.c:816 */
5125 #line 2061 "src/parser_proc_grammar.y" /* glr.c:816 */
5127 (*(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
)));
5129 #line 5130 "src/parser_proc.c" /* glr.c:816 */
5133 #line 2064 "src/parser_proc_grammar.y" /* glr.c:816 */
5135 (*(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
)));
5137 #line 5138 "src/parser_proc.c" /* glr.c:816 */
5141 #line 2070 "src/parser_proc_grammar.y" /* glr.c:816 */
5143 (*(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
)));
5144 (*(struct psi_assert_stmt
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-2)].yystate
.yysemantics
.yysval
)));
5146 #line 5147 "src/parser_proc.c" /* glr.c:816 */
5150 #line 2082 "src/parser_proc_grammar.y" /* glr.c:816 */
5152 (*(struct psi_free_stmt
**)(&(*yyvalp
))) = psi_free_stmt_init((*(struct psi_plist
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-1)].yystate
.yysemantics
.yysval
)));
5153 (*(struct psi_free_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 2089 "src/parser_proc_grammar.y" /* glr.c:816 */
5161 (*(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
)));
5163 #line 5164 "src/parser_proc.c" /* glr.c:816 */
5167 #line 2092 "src/parser_proc_grammar.y" /* glr.c:816 */
5169 (*(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
)));
5171 #line 5172 "src/parser_proc.c" /* glr.c:816 */
5175 #line 2098 "src/parser_proc_grammar.y" /* glr.c:816 */
5177 (*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
))->type
= PSI_T_NAME
;
5178 (*(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
)));
5179 (*(struct psi_free_exp
**)(&(*yyvalp
)))->token
= psi_token_copy((*(struct psi_token
**)(&((yyGLRStackItem
const *)yyvsp
)[YYFILL (-3)].yystate
.yysemantics
.yysval
)));
5181 #line 5182 "src/parser_proc.c" /* glr.c:816 */
5185 #line 2106 "src/parser_proc_grammar.y" /* glr.c:816 */
5187 (*(bool*)(&(*yyvalp
))) = false;
5189 #line 5190 "src/parser_proc.c" /* glr.c:816 */
5193 #line 2109 "src/parser_proc_grammar.y" /* glr.c:816 */
5195 (*(bool*)(&(*yyvalp
))) = true;
5197 #line 5198 "src/parser_proc.c" /* glr.c:816 */
5201 #line 5202 "src/parser_proc.c" /* glr.c:816 */
5212 # undef YYRECOVERING
5217 yyuserMerge (int yyn
, YYSTYPE
* yy0
, YYSTYPE
* yy1
)
5229 /* Bison grammar-table manipulation. */
5231 /*-----------------------------------------------.
5232 | Release the memory associated to this symbol. |
5233 `-----------------------------------------------*/
5236 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5244 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5246 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5249 case 141: /* binary_op_token */
5250 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5252 #line 5253 "src/parser_proc.c" /* glr.c:846 */
5255 case 142: /* unary_op_token */
5256 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5258 #line 5259 "src/parser_proc.c" /* glr.c:846 */
5261 case 143: /* name_token */
5262 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5264 #line 5265 "src/parser_proc.c" /* glr.c:846 */
5267 case 144: /* any_noeol_token */
5268 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
5270 #line 5271 "src/parser_proc.c" /* glr.c:846 */
5274 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5275 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5276 #line 5277 "src/parser_proc.c" /* glr.c:846 */
5280 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
5281 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5282 #line 5283 "src/parser_proc.c" /* glr.c:846 */
5285 case 151: /* cpp_exp */
5286 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
5287 {psi_cpp_exp_free(&(*(struct psi_cpp_exp
**)(&(*yyvaluep
))));}
5288 #line 5289 "src/parser_proc.c" /* glr.c:846 */
5291 case 153: /* cpp_message_token */
5292 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5294 #line 5295 "src/parser_proc.c" /* glr.c:846 */
5297 case 154: /* cpp_include_token */
5298 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5300 #line 5301 "src/parser_proc.c" /* glr.c:846 */
5303 case 155: /* cpp_header_token */
5304 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5306 #line 5307 "src/parser_proc.c" /* glr.c:846 */
5309 case 156: /* cpp_no_arg_token */
5310 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5312 #line 5313 "src/parser_proc.c" /* glr.c:846 */
5315 case 157: /* cpp_name_arg_token */
5316 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5318 #line 5319 "src/parser_proc.c" /* glr.c:846 */
5321 case 158: /* cpp_exp_arg_token */
5322 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5324 #line 5325 "src/parser_proc.c" /* glr.c:846 */
5327 case 159: /* cpp_special_name_token */
5328 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
5330 #line 5331 "src/parser_proc.c" /* glr.c:846 */
5333 case 160: /* cpp_macro_decl */
5334 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
5335 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl
**)(&(*yyvaluep
))));}
5336 #line 5337 "src/parser_proc.c" /* glr.c:846 */
5339 case 161: /* cpp_macro_sig */
5340 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5341 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5342 #line 5343 "src/parser_proc.c" /* glr.c:846 */
5345 case 162: /* cpp_macro_sig_args */
5346 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5347 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5348 #line 5349 "src/parser_proc.c" /* glr.c:846 */
5351 case 163: /* cpp_macro_decl_tokens */
5352 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5353 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5354 #line 5355 "src/parser_proc.c" /* glr.c:846 */
5357 case 164: /* cpp_macro_decl_token_list */
5358 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5359 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5360 #line 5361 "src/parser_proc.c" /* glr.c:846 */
5363 case 165: /* cpp_macro_exp */
5364 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
5365 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5366 #line 5367 "src/parser_proc.c" /* glr.c:846 */
5369 case 166: /* cpp_macro_call_args */
5370 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5371 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5372 #line 5373 "src/parser_proc.c" /* glr.c:846 */
5375 case 167: /* cpp_macro_call_arg_list */
5376 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
5377 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5378 #line 5379 "src/parser_proc.c" /* glr.c:846 */
5381 case 168: /* constant */
5382 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
5383 {psi_const_free(&(*(struct psi_const
**)(&(*yyvaluep
))));}
5384 #line 5385 "src/parser_proc.c" /* glr.c:846 */
5387 case 169: /* constant_type */
5388 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
5389 {psi_const_type_free(&(*(struct psi_const_type
**)(&(*yyvaluep
))));}
5390 #line 5391 "src/parser_proc.c" /* glr.c:846 */
5393 case 170: /* constant_type_token */
5394 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5396 #line 5397 "src/parser_proc.c" /* glr.c:846 */
5399 case 171: /* impl_def_val */
5400 #line 340 "src/parser_proc_grammar.y" /* glr.c:846 */
5401 {psi_impl_def_val_free(&(*(struct psi_impl_def_val
**)(&(*yyvaluep
))));}
5402 #line 5403 "src/parser_proc.c" /* glr.c:846 */
5405 case 172: /* impl_def_val_token */
5406 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
5408 #line 5409 "src/parser_proc.c" /* glr.c:846 */
5411 case 173: /* decl_typedef */
5412 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5413 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5414 #line 5415 "src/parser_proc.c" /* glr.c:846 */
5417 case 174: /* typedef */
5418 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5419 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5420 #line 5421 "src/parser_proc.c" /* glr.c:846 */
5423 case 175: /* typedef_anon */
5424 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5425 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5426 #line 5427 "src/parser_proc.c" /* glr.c:846 */
5429 case 176: /* typedef_decl */
5430 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5431 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5432 #line 5433 "src/parser_proc.c" /* glr.c:846 */
5435 case 177: /* typedef_anon_decl */
5436 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5437 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5438 #line 5439 "src/parser_proc.c" /* glr.c:846 */
5441 case 178: /* qualified_decl_type */
5442 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5443 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5444 #line 5445 "src/parser_proc.c" /* glr.c:846 */
5447 case 179: /* decl_type */
5448 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5449 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5450 #line 5451 "src/parser_proc.c" /* glr.c:846 */
5453 case 180: /* decl_type_complex */
5454 #line 346 "src/parser_proc_grammar.y" /* glr.c:846 */
5455 {psi_decl_type_free(&(*(struct psi_decl_type
**)(&(*yyvaluep
))));}
5456 #line 5457 "src/parser_proc.c" /* glr.c:846 */
5459 case 181: /* decl_type_simple */
5460 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5461 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5462 #line 5463 "src/parser_proc.c" /* glr.c:846 */
5465 case 182: /* decl_real_type */
5466 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5467 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5468 #line 5469 "src/parser_proc.c" /* glr.c:846 */
5471 case 183: /* int_signed */
5472 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5474 #line 5475 "src/parser_proc.c" /* glr.c:846 */
5477 case 184: /* int_width */
5478 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5479 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5480 #line 5481 "src/parser_proc.c" /* glr.c:846 */
5483 case 185: /* decl_int_type */
5484 #line 343 "src/parser_proc_grammar.y" /* glr.c:846 */
5485 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5486 #line 5487 "src/parser_proc.c" /* glr.c:846 */
5489 case 186: /* int_signed_types */
5490 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5491 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5492 #line 5493 "src/parser_proc.c" /* glr.c:846 */
5495 case 187: /* signed_short_types */
5496 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5498 #line 5499 "src/parser_proc.c" /* glr.c:846 */
5501 case 188: /* signed_long_types */
5502 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
5504 #line 5505 "src/parser_proc.c" /* glr.c:846 */
5507 case 189: /* int_width_types */
5508 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
5509 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5510 #line 5511 "src/parser_proc.c" /* glr.c:846 */
5513 case 190: /* decl_stmt */
5514 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5515 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5516 #line 5517 "src/parser_proc.c" /* glr.c:846 */
5519 case 193: /* decl_extvar_stmt */
5520 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5521 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5522 #line 5523 "src/parser_proc.c" /* glr.c:846 */
5525 case 194: /* decl_extvar_list */
5526 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5527 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5528 #line 5529 "src/parser_proc.c" /* glr.c:846 */
5531 case 195: /* decl_vars */
5532 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5533 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5534 #line 5535 "src/parser_proc.c" /* glr.c:846 */
5537 case 200: /* decl */
5538 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5539 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5540 #line 5541 "src/parser_proc.c" /* glr.c:846 */
5543 case 201: /* decl_body */
5544 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5545 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5546 #line 5547 "src/parser_proc.c" /* glr.c:846 */
5549 case 202: /* decl_func_body */
5550 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5551 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5552 #line 5553 "src/parser_proc.c" /* glr.c:846 */
5555 case 203: /* decl_functor_body */
5556 #line 348 "src/parser_proc_grammar.y" /* glr.c:846 */
5557 {psi_decl_free(&(*(struct psi_decl
**)(&(*yyvaluep
))));}
5558 #line 5559 "src/parser_proc.c" /* glr.c:846 */
5561 case 204: /* decl_functor */
5562 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5563 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5564 #line 5565 "src/parser_proc.c" /* glr.c:846 */
5567 case 205: /* decl_func */
5568 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5569 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5570 #line 5571 "src/parser_proc.c" /* glr.c:846 */
5573 case 206: /* decl_args */
5574 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5575 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5576 #line 5577 "src/parser_proc.c" /* glr.c:846 */
5579 case 207: /* decl_arg_list */
5580 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5581 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5582 #line 5583 "src/parser_proc.c" /* glr.c:846 */
5585 case 208: /* decl_anon_arg */
5586 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5587 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5588 #line 5589 "src/parser_proc.c" /* glr.c:846 */
5591 case 209: /* decl_arg */
5592 #line 350 "src/parser_proc_grammar.y" /* glr.c:846 */
5593 {psi_decl_arg_free(&(*(struct psi_decl_arg
**)(&(*yyvaluep
))));}
5594 #line 5595 "src/parser_proc.c" /* glr.c:846 */
5597 case 210: /* decl_var */
5598 #line 352 "src/parser_proc_grammar.y" /* glr.c:846 */
5599 {psi_decl_var_free(&(*(struct psi_decl_var
**)(&(*yyvaluep
))));}
5600 #line 5601 "src/parser_proc.c" /* glr.c:846 */
5603 case 211: /* decl_union */
5604 #line 356 "src/parser_proc_grammar.y" /* glr.c:846 */
5605 {psi_decl_union_free(&(*(struct psi_decl_union
**)(&(*yyvaluep
))));}
5606 #line 5607 "src/parser_proc.c" /* glr.c:846 */
5609 case 212: /* decl_struct */
5610 #line 354 "src/parser_proc_grammar.y" /* glr.c:846 */
5611 {psi_decl_struct_free(&(*(struct psi_decl_struct
**)(&(*yyvaluep
))));}
5612 #line 5613 "src/parser_proc.c" /* glr.c:846 */
5615 case 213: /* decl_struct_args */
5616 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5617 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5618 #line 5619 "src/parser_proc.c" /* glr.c:846 */
5621 case 214: /* struct_args_block */
5622 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5623 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5624 #line 5625 "src/parser_proc.c" /* glr.c:846 */
5627 case 215: /* struct_args */
5628 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5629 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5630 #line 5631 "src/parser_proc.c" /* glr.c:846 */
5633 case 216: /* struct_arg_var_list */
5634 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5635 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5636 #line 5637 "src/parser_proc.c" /* glr.c:846 */
5639 case 217: /* decl_vars_with_layout */
5640 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5641 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5642 #line 5643 "src/parser_proc.c" /* glr.c:846 */
5645 case 218: /* decl_enum */
5646 #line 358 "src/parser_proc_grammar.y" /* glr.c:846 */
5647 {psi_decl_enum_free(&(*(struct psi_decl_enum
**)(&(*yyvaluep
))));}
5648 #line 5649 "src/parser_proc.c" /* glr.c:846 */
5651 case 219: /* decl_enum_items */
5652 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5653 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5654 #line 5655 "src/parser_proc.c" /* glr.c:846 */
5657 case 220: /* decl_enum_item */
5658 #line 360 "src/parser_proc_grammar.y" /* glr.c:846 */
5659 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item
**)(&(*yyvaluep
))));}
5660 #line 5661 "src/parser_proc.c" /* glr.c:846 */
5663 case 221: /* num_exp */
5664 #line 418 "src/parser_proc_grammar.y" /* glr.c:846 */
5665 {psi_num_exp_free(&(*(struct psi_num_exp
**)(&(*yyvaluep
))));}
5666 #line 5667 "src/parser_proc.c" /* glr.c:846 */
5669 case 222: /* number */
5670 #line 420 "src/parser_proc_grammar.y" /* glr.c:846 */
5671 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5672 #line 5673 "src/parser_proc.c" /* glr.c:846 */
5675 case 223: /* sizeof */
5676 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5677 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5678 #line 5679 "src/parser_proc.c" /* glr.c:846 */
5681 case 224: /* sizeof_body */
5682 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5683 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5684 #line 5685 "src/parser_proc.c" /* glr.c:846 */
5687 case 225: /* sizeof_body_notypes */
5688 #line 370 "src/parser_proc_grammar.y" /* glr.c:846 */
5689 {psi_number_free(&(*(struct psi_number
**)(&(*yyvaluep
))));}
5690 #line 5691 "src/parser_proc.c" /* glr.c:846 */
5693 case 226: /* enum_name */
5694 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5695 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5696 #line 5697 "src/parser_proc.c" /* glr.c:846 */
5699 case 227: /* union_name */
5700 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5701 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5702 #line 5703 "src/parser_proc.c" /* glr.c:846 */
5705 case 228: /* struct_name */
5706 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5707 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5708 #line 5709 "src/parser_proc.c" /* glr.c:846 */
5711 case 229: /* optional_name */
5712 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
5713 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5714 #line 5715 "src/parser_proc.c" /* glr.c:846 */
5717 case 231: /* decl_layout */
5718 #line 367 "src/parser_proc_grammar.y" /* glr.c:846 */
5719 {psi_layout_free(&(*(struct psi_layout
**)(&(*yyvaluep
))));}
5720 #line 5721 "src/parser_proc.c" /* glr.c:846 */
5723 case 232: /* align_and_size */
5724 #line 365 "src/parser_proc_grammar.y" /* glr.c:846 */
5726 #line 5727 "src/parser_proc.c" /* glr.c:846 */
5729 case 233: /* array_size */
5730 #line 423 "src/parser_proc_grammar.y" /* glr.c:846 */
5732 #line 5733 "src/parser_proc.c" /* glr.c:846 */
5735 case 234: /* indirection */
5736 #line 423 "src/parser_proc_grammar.y" /* glr.c:846 */
5738 #line 5739 "src/parser_proc.c" /* glr.c:846 */
5741 case 235: /* pointers */
5742 #line 423 "src/parser_proc_grammar.y" /* glr.c:846 */
5744 #line 5745 "src/parser_proc.c" /* glr.c:846 */
5747 case 236: /* asterisks */
5748 #line 423 "src/parser_proc_grammar.y" /* glr.c:846 */
5750 #line 5751 "src/parser_proc.c" /* glr.c:846 */
5753 case 238: /* impl */
5754 #line 373 "src/parser_proc_grammar.y" /* glr.c:846 */
5755 {psi_impl_free(&(*(struct psi_impl
**)(&(*yyvaluep
))));}
5756 #line 5757 "src/parser_proc.c" /* glr.c:846 */
5759 case 239: /* impl_func */
5760 #line 375 "src/parser_proc_grammar.y" /* glr.c:846 */
5761 {psi_impl_func_free(&(*(struct psi_impl_func
**)(&(*yyvaluep
))));}
5762 #line 5763 "src/parser_proc.c" /* glr.c:846 */
5765 case 240: /* impl_args */
5766 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5767 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5768 #line 5769 "src/parser_proc.c" /* glr.c:846 */
5771 case 241: /* impl_arg */
5772 #line 377 "src/parser_proc_grammar.y" /* glr.c:846 */
5773 {psi_impl_arg_free(&(*(struct psi_impl_arg
**)(&(*yyvaluep
))));}
5774 #line 5775 "src/parser_proc.c" /* glr.c:846 */
5777 case 242: /* impl_var */
5778 #line 381 "src/parser_proc_grammar.y" /* glr.c:846 */
5779 {psi_impl_var_free(&(*(struct psi_impl_var
**)(&(*yyvaluep
))));}
5780 #line 5781 "src/parser_proc.c" /* glr.c:846 */
5783 case 243: /* impl_type */
5784 #line 379 "src/parser_proc_grammar.y" /* glr.c:846 */
5785 {psi_impl_type_free(&(*(struct psi_impl_type
**)(&(*yyvaluep
))));}
5786 #line 5787 "src/parser_proc.c" /* glr.c:846 */
5789 case 244: /* impl_type_token */
5790 #line 413 "src/parser_proc_grammar.y" /* glr.c:846 */
5791 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5792 #line 5793 "src/parser_proc.c" /* glr.c:846 */
5795 case 245: /* impl_stmts */
5796 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5797 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5798 #line 5799 "src/parser_proc.c" /* glr.c:846 */
5801 case 246: /* impl_stmt */
5802 #line 411 "src/parser_proc_grammar.y" /* glr.c:846 */
5803 {psi_impl_stmt_free(&(*(struct psi_token
***)(&(*yyvaluep
))));}
5804 #line 5805 "src/parser_proc.c" /* glr.c:846 */
5807 case 247: /* let_stmt */
5808 #line 384 "src/parser_proc_grammar.y" /* glr.c:846 */
5809 {psi_let_stmt_free(&(*(struct psi_let_stmt
**)(&(*yyvaluep
))));}
5810 #line 5811 "src/parser_proc.c" /* glr.c:846 */
5813 case 248: /* let_exp */
5814 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5815 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5816 #line 5817 "src/parser_proc.c" /* glr.c:846 */
5819 case 249: /* let_exp_byref */
5820 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5821 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5822 #line 5823 "src/parser_proc.c" /* glr.c:846 */
5825 case 250: /* let_exp_assign */
5826 #line 386 "src/parser_proc_grammar.y" /* glr.c:846 */
5827 {psi_let_exp_free(&(*(struct psi_let_exp
**)(&(*yyvaluep
))));}
5828 #line 5829 "src/parser_proc.c" /* glr.c:846 */
5831 case 251: /* let_calloc */
5832 #line 388 "src/parser_proc_grammar.y" /* glr.c:846 */
5833 {psi_let_calloc_free(&(*(struct psi_let_calloc
**)(&(*yyvaluep
))));}
5834 #line 5835 "src/parser_proc.c" /* glr.c:846 */
5837 case 252: /* let_callback */
5838 #line 390 "src/parser_proc_grammar.y" /* glr.c:846 */
5839 {psi_let_callback_free(&(*(struct psi_let_callback
**)(&(*yyvaluep
))));}
5840 #line 5841 "src/parser_proc.c" /* glr.c:846 */
5843 case 253: /* let_func */
5844 #line 392 "src/parser_proc_grammar.y" /* glr.c:846 */
5845 {psi_let_func_free(&(*(struct psi_let_func
**)(&(*yyvaluep
))));}
5846 #line 5847 "src/parser_proc.c" /* glr.c:846 */
5849 case 254: /* let_func_token */
5850 #line 413 "src/parser_proc_grammar.y" /* glr.c:846 */
5851 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5852 #line 5853 "src/parser_proc.c" /* glr.c:846 */
5855 case 255: /* let_func_exps */
5856 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5857 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5858 #line 5859 "src/parser_proc.c" /* glr.c:846 */
5861 case 256: /* let_exps */
5862 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5863 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5864 #line 5865 "src/parser_proc.c" /* glr.c:846 */
5867 case 257: /* callback_rval */
5868 #line 413 "src/parser_proc_grammar.y" /* glr.c:846 */
5869 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5870 #line 5871 "src/parser_proc.c" /* glr.c:846 */
5873 case 258: /* callback_arg_list */
5874 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5875 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5876 #line 5877 "src/parser_proc.c" /* glr.c:846 */
5879 case 259: /* callback_args */
5880 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5881 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5882 #line 5883 "src/parser_proc.c" /* glr.c:846 */
5885 case 260: /* return_stmt */
5886 #line 402 "src/parser_proc_grammar.y" /* glr.c:846 */
5887 {psi_return_stmt_free(&(*(struct psi_return_stmt
**)(&(*yyvaluep
))));}
5888 #line 5889 "src/parser_proc.c" /* glr.c:846 */
5891 case 261: /* return_exp */
5892 #line 404 "src/parser_proc_grammar.y" /* glr.c:846 */
5893 {psi_return_exp_free(&(*(struct psi_return_exp
**)(&(*yyvaluep
))));}
5894 #line 5895 "src/parser_proc.c" /* glr.c:846 */
5897 case 262: /* call_decl_vars */
5898 #line 362 "src/parser_proc_grammar.y" /* glr.c:846 */
5899 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5900 #line 5901 "src/parser_proc.c" /* glr.c:846 */
5903 case 263: /* set_stmt */
5904 #line 394 "src/parser_proc_grammar.y" /* glr.c:846 */
5905 {psi_set_stmt_free(&(*(struct psi_set_stmt
**)(&(*yyvaluep
))));}
5906 #line 5907 "src/parser_proc.c" /* glr.c:846 */
5909 case 264: /* set_exp */
5910 #line 396 "src/parser_proc_grammar.y" /* glr.c:846 */
5911 {psi_set_exp_free(&(*(struct psi_set_exp
**)(&(*yyvaluep
))));}
5912 #line 5913 "src/parser_proc.c" /* glr.c:846 */
5915 case 265: /* set_func */
5916 #line 398 "src/parser_proc_grammar.y" /* glr.c:846 */
5917 {psi_set_func_free(&(*(struct psi_set_func
**)(&(*yyvaluep
))));}
5918 #line 5919 "src/parser_proc.c" /* glr.c:846 */
5921 case 266: /* set_func_token */
5922 #line 413 "src/parser_proc_grammar.y" /* glr.c:846 */
5923 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5924 #line 5925 "src/parser_proc.c" /* glr.c:846 */
5927 case 267: /* set_func_exps */
5928 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5929 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5930 #line 5931 "src/parser_proc.c" /* glr.c:846 */
5933 case 268: /* set_exps */
5934 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5935 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5936 #line 5937 "src/parser_proc.c" /* glr.c:846 */
5939 case 269: /* assert_stmt */
5940 #line 400 "src/parser_proc_grammar.y" /* glr.c:846 */
5941 {psi_assert_stmt_free(&(*(struct psi_assert_stmt
**)(&(*yyvaluep
))));}
5942 #line 5943 "src/parser_proc.c" /* glr.c:846 */
5945 case 270: /* assert_stmt_token */
5946 #line 413 "src/parser_proc_grammar.y" /* glr.c:846 */
5947 {psi_token_free(&(*(struct psi_token
**)(&(*yyvaluep
))));}
5948 #line 5949 "src/parser_proc.c" /* glr.c:846 */
5951 case 271: /* free_stmt */
5952 #line 406 "src/parser_proc_grammar.y" /* glr.c:846 */
5953 {psi_free_stmt_free(&(*(struct psi_free_stmt
**)(&(*yyvaluep
))));}
5954 #line 5955 "src/parser_proc.c" /* glr.c:846 */
5957 case 272: /* free_exps */
5958 #line 415 "src/parser_proc_grammar.y" /* glr.c:846 */
5959 {psi_plist_free((*(struct psi_plist
**)(&(*yyvaluep
))));}
5960 #line 5961 "src/parser_proc.c" /* glr.c:846 */
5963 case 273: /* free_exp */
5964 #line 408 "src/parser_proc_grammar.y" /* glr.c:846 */
5965 {psi_free_exp_free(&(*(struct psi_free_exp
**)(&(*yyvaluep
))));}
5966 #line 5967 "src/parser_proc.c" /* glr.c:846 */
5969 case 274: /* reference */
5970 #line 425 "src/parser_proc_grammar.y" /* glr.c:846 */
5972 #line 5973 "src/parser_proc.c" /* glr.c:846 */
5979 YY_IGNORE_MAYBE_UNINITIALIZED_END
5982 /** Number of symbols composing the right hand side of rule #RULE. */
5984 yyrhsLength (yyRuleNum yyrule
)
5986 return yyr2
[yyrule
];
5990 yydestroyGLRState (char const *yymsg
, yyGLRState
*yys
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
5992 if (yys
->yyresolved
)
5993 yydestruct (yymsg
, yystos
[yys
->yylrState
],
5994 &yys
->yysemantics
.yysval
, P
, tokens
, index
);
6000 if (yys
->yysemantics
.yyfirstVal
)
6001 YYFPRINTF (stderr
, "%s unresolved", yymsg
);
6003 YYFPRINTF (stderr
, "%s incomplete", yymsg
);
6004 YY_SYMBOL_PRINT ("", yystos
[yys
->yylrState
], YY_NULLPTR
, &yys
->yyloc
);
6008 if (yys
->yysemantics
.yyfirstVal
)
6010 yySemanticOption
*yyoption
= yys
->yysemantics
.yyfirstVal
;
6013 for (yyrh
= yyoption
->yystate
, yyn
= yyrhsLength (yyoption
->yyrule
);
6015 yyrh
= yyrh
->yypred
, yyn
-= 1)
6016 yydestroyGLRState (yymsg
, yyrh
, P
, tokens
, index
);
6021 /** Left-hand-side symbol for rule #YYRULE. */
6022 static inline yySymbol
6023 yylhsNonterm (yyRuleNum yyrule
)
6025 return yyr1
[yyrule
];
6028 #define yypact_value_is_default(Yystate) \
6029 (!!((Yystate) == (-703)))
6031 /** True iff LR state YYSTATE has only a default reduction (regardless
6033 static inline yybool
6034 yyisDefaultedState (yyStateNum yystate
)
6036 return yypact_value_is_default (yypact
[yystate
]);
6039 /** The default reduction for YYSTATE, assuming it has one. */
6040 static inline yyRuleNum
6041 yydefaultAction (yyStateNum yystate
)
6043 return yydefact
[yystate
];
6046 #define yytable_value_is_error(Yytable_value) \
6049 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
6051 * R < 0: Reduce on rule -R.
6053 * R > 0: Shift to state R.
6054 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
6055 * of conflicting reductions.
6058 yygetLRActions (yyStateNum yystate
, int yytoken
,
6059 int* yyaction
, const short int** yyconflicts
)
6061 int yyindex
= yypact
[yystate
] + yytoken
;
6062 if (yypact_value_is_default (yypact
[yystate
])
6063 || yyindex
< 0 || YYLAST
< yyindex
|| yycheck
[yyindex
] != yytoken
)
6065 *yyaction
= -yydefact
[yystate
];
6066 *yyconflicts
= yyconfl
;
6068 else if (! yytable_value_is_error (yytable
[yyindex
]))
6070 *yyaction
= yytable
[yyindex
];
6071 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6076 *yyconflicts
= yyconfl
+ yyconflp
[yyindex
];
6080 /** Compute post-reduction state.
6081 * \param yystate the current state
6082 * \param yysym the nonterminal to push on the stack
6084 static inline yyStateNum
6085 yyLRgotoState (yyStateNum yystate
, yySymbol yysym
)
6087 int yyr
= yypgoto
[yysym
- YYNTOKENS
] + yystate
;
6088 if (0 <= yyr
&& yyr
<= YYLAST
&& yycheck
[yyr
] == yystate
)
6089 return yytable
[yyr
];
6091 return yydefgoto
[yysym
- YYNTOKENS
];
6094 static inline yybool
6095 yyisShiftAction (int yyaction
)
6097 return 0 < yyaction
;
6100 static inline yybool
6101 yyisErrorAction (int yyaction
)
6103 return yyaction
== 0;
6108 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
6109 * if YYISSTATE, and otherwise a semantic option. Callers should call
6110 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
6113 static inline yyGLRStackItem
*
6114 yynewGLRStackItem (yyGLRStack
* yystackp
, yybool yyisState
)
6116 yyGLRStackItem
* yynewItem
= yystackp
->yynextFree
;
6117 yystackp
->yyspaceLeft
-= 1;
6118 yystackp
->yynextFree
+= 1;
6119 yynewItem
->yystate
.yyisState
= yyisState
;
6123 /** Add a new semantic action that will execute the action for rule
6124 * YYRULE on the semantic values in YYRHS to the list of
6125 * alternative actions for YYSTATE. Assumes that YYRHS comes from
6126 * stack #YYK of *YYSTACKP. */
6128 yyaddDeferredAction (yyGLRStack
* yystackp
, size_t yyk
, yyGLRState
* yystate
,
6129 yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6131 yySemanticOption
* yynewOption
=
6132 &yynewGLRStackItem (yystackp
, yyfalse
)->yyoption
;
6133 YYASSERT (!yynewOption
->yyisState
);
6134 yynewOption
->yystate
= yyrhs
;
6135 yynewOption
->yyrule
= yyrule
;
6136 if (yystackp
->yytops
.yylookaheadNeeds
[yyk
])
6138 yynewOption
->yyrawchar
= yychar
;
6139 yynewOption
->yyval
= yylval
;
6142 yynewOption
->yyrawchar
= YYEMPTY
;
6143 yynewOption
->yynext
= yystate
->yysemantics
.yyfirstVal
;
6144 yystate
->yysemantics
.yyfirstVal
= yynewOption
;
6146 YY_RESERVE_GLRSTACK (yystackp
);
6151 /** Initialize YYSET to a singleton set containing an empty stack. */
6153 yyinitStateSet (yyGLRStateSet
* yyset
)
6156 yyset
->yycapacity
= 16;
6157 yyset
->yystates
= (yyGLRState
**) YYMALLOC (16 * sizeof yyset
->yystates
[0]);
6158 if (! yyset
->yystates
)
6160 yyset
->yystates
[0] = YY_NULLPTR
;
6161 yyset
->yylookaheadNeeds
=
6162 (yybool
*) YYMALLOC (16 * sizeof yyset
->yylookaheadNeeds
[0]);
6163 if (! yyset
->yylookaheadNeeds
)
6165 YYFREE (yyset
->yystates
);
6171 static void yyfreeStateSet (yyGLRStateSet
* yyset
)
6173 YYFREE (yyset
->yystates
);
6174 YYFREE (yyset
->yylookaheadNeeds
);
6177 /** Initialize *YYSTACKP to a single empty stack, with total maximum
6178 * capacity for all stacks of YYSIZE. */
6180 yyinitGLRStack (yyGLRStack
* yystackp
, size_t yysize
)
6182 yystackp
->yyerrState
= 0;
6184 yystackp
->yyspaceLeft
= yysize
;
6186 (yyGLRStackItem
*) YYMALLOC (yysize
* sizeof yystackp
->yynextFree
[0]);
6187 if (!yystackp
->yyitems
)
6189 yystackp
->yynextFree
= yystackp
->yyitems
;
6190 yystackp
->yysplitPoint
= YY_NULLPTR
;
6191 yystackp
->yylastDeleted
= YY_NULLPTR
;
6192 return yyinitStateSet (&yystackp
->yytops
);
6196 #if YYSTACKEXPANDABLE
6197 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
6198 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
6200 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
6201 stack from outside should be considered invalid after this call.
6202 We always expand when there are 1 or fewer items left AFTER an
6203 allocation, so that we can avoid having external pointers exist
6204 across an allocation. */
6206 yyexpandGLRStack (yyGLRStack
* yystackp
)
6208 yyGLRStackItem
* yynewItems
;
6209 yyGLRStackItem
* yyp0
, *yyp1
;
6212 size_t yysize
= yystackp
->yynextFree
- yystackp
->yyitems
;
6213 if (YYMAXDEPTH
- YYHEADROOM
< yysize
)
6214 yyMemoryExhausted (yystackp
);
6215 yynewSize
= 2*yysize
;
6216 if (YYMAXDEPTH
< yynewSize
)
6217 yynewSize
= YYMAXDEPTH
;
6218 yynewItems
= (yyGLRStackItem
*) YYMALLOC (yynewSize
* sizeof yynewItems
[0]);
6220 yyMemoryExhausted (yystackp
);
6221 for (yyp0
= yystackp
->yyitems
, yyp1
= yynewItems
, yyn
= yysize
;
6223 yyn
-= 1, yyp0
+= 1, yyp1
+= 1)
6226 if (*(yybool
*) yyp0
)
6228 yyGLRState
* yys0
= &yyp0
->yystate
;
6229 yyGLRState
* yys1
= &yyp1
->yystate
;
6230 if (yys0
->yypred
!= YY_NULLPTR
)
6232 YYRELOC (yyp0
, yyp1
, yys0
->yypred
, yystate
);
6233 if (! yys0
->yyresolved
&& yys0
->yysemantics
.yyfirstVal
!= YY_NULLPTR
)
6234 yys1
->yysemantics
.yyfirstVal
=
6235 YYRELOC (yyp0
, yyp1
, yys0
->yysemantics
.yyfirstVal
, yyoption
);
6239 yySemanticOption
* yyv0
= &yyp0
->yyoption
;
6240 yySemanticOption
* yyv1
= &yyp1
->yyoption
;
6241 if (yyv0
->yystate
!= YY_NULLPTR
)
6242 yyv1
->yystate
= YYRELOC (yyp0
, yyp1
, yyv0
->yystate
, yystate
);
6243 if (yyv0
->yynext
!= YY_NULLPTR
)
6244 yyv1
->yynext
= YYRELOC (yyp0
, yyp1
, yyv0
->yynext
, yyoption
);
6247 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6248 yystackp
->yysplitPoint
= YYRELOC (yystackp
->yyitems
, yynewItems
,
6249 yystackp
->yysplitPoint
, yystate
);
6251 for (yyn
= 0; yyn
< yystackp
->yytops
.yysize
; yyn
+= 1)
6252 if (yystackp
->yytops
.yystates
[yyn
] != YY_NULLPTR
)
6253 yystackp
->yytops
.yystates
[yyn
] =
6254 YYRELOC (yystackp
->yyitems
, yynewItems
,
6255 yystackp
->yytops
.yystates
[yyn
], yystate
);
6256 YYFREE (yystackp
->yyitems
);
6257 yystackp
->yyitems
= yynewItems
;
6258 yystackp
->yynextFree
= yynewItems
+ yysize
;
6259 yystackp
->yyspaceLeft
= yynewSize
- yysize
;
6264 yyfreeGLRStack (yyGLRStack
* yystackp
)
6266 YYFREE (yystackp
->yyitems
);
6267 yyfreeStateSet (&yystackp
->yytops
);
6270 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
6271 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
6274 yyupdateSplit (yyGLRStack
* yystackp
, yyGLRState
* yys
)
6276 if (yystackp
->yysplitPoint
!= YY_NULLPTR
&& yystackp
->yysplitPoint
> yys
)
6277 yystackp
->yysplitPoint
= yys
;
6280 /** Invalidate stack #YYK in *YYSTACKP. */
6282 yymarkStackDeleted (yyGLRStack
* yystackp
, size_t yyk
)
6284 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6285 yystackp
->yylastDeleted
= yystackp
->yytops
.yystates
[yyk
];
6286 yystackp
->yytops
.yystates
[yyk
] = YY_NULLPTR
;
6289 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
6290 only be done once after a deletion, and only when all other stacks have
6293 yyundeleteLastStack (yyGLRStack
* yystackp
)
6295 if (yystackp
->yylastDeleted
== YY_NULLPTR
|| yystackp
->yytops
.yysize
!= 0)
6297 yystackp
->yytops
.yystates
[0] = yystackp
->yylastDeleted
;
6298 yystackp
->yytops
.yysize
= 1;
6299 YYDPRINTF ((stderr
, "Restoring last deleted stack as stack #0.\n"));
6300 yystackp
->yylastDeleted
= YY_NULLPTR
;
6304 yyremoveDeletes (yyGLRStack
* yystackp
)
6308 while (yyj
< yystackp
->yytops
.yysize
)
6310 if (yystackp
->yytops
.yystates
[yyi
] == YY_NULLPTR
)
6314 YYDPRINTF ((stderr
, "Removing dead stacks.\n"));
6316 yystackp
->yytops
.yysize
-= 1;
6320 yystackp
->yytops
.yystates
[yyj
] = yystackp
->yytops
.yystates
[yyi
];
6321 /* In the current implementation, it's unnecessary to copy
6322 yystackp->yytops.yylookaheadNeeds[yyi] since, after
6323 yyremoveDeletes returns, the parser immediately either enters
6324 deterministic operation or shifts a token. However, it doesn't
6325 hurt, and the code might evolve to need it. */
6326 yystackp
->yytops
.yylookaheadNeeds
[yyj
] =
6327 yystackp
->yytops
.yylookaheadNeeds
[yyi
];
6330 YYDPRINTF ((stderr
, "Rename stack %lu -> %lu.\n",
6331 (unsigned long int) yyi
, (unsigned long int) yyj
));
6339 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
6340 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
6341 * value *YYVALP and source location *YYLOCP. */
6343 yyglrShift (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6347 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6349 yynewState
->yylrState
= yylrState
;
6350 yynewState
->yyposn
= yyposn
;
6351 yynewState
->yyresolved
= yytrue
;
6352 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6353 yynewState
->yysemantics
.yysval
= *yyvalp
;
6354 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6356 YY_RESERVE_GLRSTACK (yystackp
);
6359 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
6360 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
6361 * semantic value of YYRHS under the action for YYRULE. */
6363 yyglrShiftDefer (yyGLRStack
* yystackp
, size_t yyk
, yyStateNum yylrState
,
6364 size_t yyposn
, yyGLRState
* yyrhs
, yyRuleNum yyrule
)
6366 yyGLRState
* yynewState
= &yynewGLRStackItem (yystackp
, yytrue
)->yystate
;
6367 YYASSERT (yynewState
->yyisState
);
6369 yynewState
->yylrState
= yylrState
;
6370 yynewState
->yyposn
= yyposn
;
6371 yynewState
->yyresolved
= yyfalse
;
6372 yynewState
->yypred
= yystackp
->yytops
.yystates
[yyk
];
6373 yynewState
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6374 yystackp
->yytops
.yystates
[yyk
] = yynewState
;
6376 /* Invokes YY_RESERVE_GLRSTACK. */
6377 yyaddDeferredAction (yystackp
, yyk
, yynewState
, yyrhs
, yyrule
);
6381 # define YY_REDUCE_PRINT(Args)
6383 # define YY_REDUCE_PRINT(Args) \
6386 yy_reduce_print Args; \
6389 /*----------------------------------------------------------------------.
6390 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
6391 `----------------------------------------------------------------------*/
6394 yy_reduce_print (int yynormal
, yyGLRStackItem
* yyvsp
, size_t yyk
,
6395 yyRuleNum yyrule
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6397 int yynrhs
= yyrhsLength (yyrule
);
6399 YYFPRINTF (stderr
, "Reducing stack %lu by rule %d (line %lu):\n",
6400 (unsigned long int) yyk
, yyrule
- 1,
6401 (unsigned long int) yyrline
[yyrule
]);
6403 yyfillin (yyvsp
, 1, -yynrhs
);
6404 /* The symbols being reduced. */
6405 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
6407 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
6408 yy_symbol_print (stderr
,
6409 yystos
[yyvsp
[yyi
- yynrhs
+ 1].yystate
.yylrState
],
6410 &yyvsp
[yyi
- yynrhs
+ 1].yystate
.yysemantics
.yysval
6411 , P
, tokens
, index
);
6412 if (!yyvsp
[yyi
- yynrhs
+ 1].yystate
.yyresolved
)
6413 YYFPRINTF (stderr
, " (unresolved)");
6414 YYFPRINTF (stderr
, "\n");
6419 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
6420 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
6421 * semantic values. Assumes that all ambiguities in semantic values
6422 * have been previously resolved. Set *YYVALP to the resulting value,
6423 * and *YYLOCP to the computed location (if any). Return value is as
6424 * for userAction. */
6425 static inline YYRESULTTAG
6426 yydoAction (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6427 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6429 int yynrhs
= yyrhsLength (yyrule
);
6431 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6433 /* Standard special case: single stack. */
6434 yyGLRStackItem
* yyrhs
= (yyGLRStackItem
*) yystackp
->yytops
.yystates
[yyk
];
6435 YYASSERT (yyk
== 0);
6436 yystackp
->yynextFree
-= yynrhs
;
6437 yystackp
->yyspaceLeft
+= yynrhs
;
6438 yystackp
->yytops
.yystates
[0] = & yystackp
->yynextFree
[-1].yystate
;
6439 YY_REDUCE_PRINT ((1, yyrhs
, yyk
, yyrule
, P
, tokens
, index
));
6440 return yyuserAction (yyrule
, yynrhs
, yyrhs
, yystackp
,
6441 yyvalp
, P
, tokens
, index
);
6447 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6448 yys
= yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
6449 = yystackp
->yytops
.yystates
[yyk
];
6450 for (yyi
= 0; yyi
< yynrhs
; yyi
+= 1)
6455 yyupdateSplit (yystackp
, yys
);
6456 yystackp
->yytops
.yystates
[yyk
] = yys
;
6457 YY_REDUCE_PRINT ((0, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1, yyk
, yyrule
, P
, tokens
, index
));
6458 return yyuserAction (yyrule
, yynrhs
, yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6459 yystackp
, yyvalp
, P
, tokens
, index
);
6463 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
6464 * and push back on the resulting nonterminal symbol. Perform the
6465 * semantic action associated with YYRULE and store its value with the
6466 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
6467 * unambiguous. Otherwise, store the deferred semantic action with
6468 * the new state. If the new state would have an identical input
6469 * position, LR state, and predecessor to an existing state on the stack,
6470 * it is identified with that existing state, eliminating stack #YYK from
6471 * *YYSTACKP. In this case, the semantic value is
6472 * added to the options for the existing state's semantic value.
6474 static inline YYRESULTTAG
6475 yyglrReduce (yyGLRStack
* yystackp
, size_t yyk
, yyRuleNum yyrule
,
6476 yybool yyforceEval
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6478 size_t yyposn
= yystackp
->yytops
.yystates
[yyk
]->yyposn
;
6480 if (yyforceEval
|| yystackp
->yysplitPoint
== YY_NULLPTR
)
6484 YYRESULTTAG yyflag
= yydoAction (yystackp
, yyk
, yyrule
, &yysval
, P
, tokens
, index
);
6485 if (yyflag
== yyerr
&& yystackp
->yysplitPoint
!= YY_NULLPTR
)
6487 YYDPRINTF ((stderr
, "Parse on stack %lu rejected by rule #%d.\n",
6488 (unsigned long int) yyk
, yyrule
- 1));
6492 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyrule
], &yysval
, &yyloc
);
6493 yyglrShift (yystackp
, yyk
,
6494 yyLRgotoState (yystackp
->yytops
.yystates
[yyk
]->yylrState
,
6495 yylhsNonterm (yyrule
)),
6502 yyGLRState
* yys
, *yys0
= yystackp
->yytops
.yystates
[yyk
];
6503 yyStateNum yynewLRState
;
6505 for (yys
= yystackp
->yytops
.yystates
[yyk
], yyn
= yyrhsLength (yyrule
);
6511 yyupdateSplit (yystackp
, yys
);
6512 yynewLRState
= yyLRgotoState (yys
->yylrState
, yylhsNonterm (yyrule
));
6514 "Reduced stack %lu by rule #%d; action deferred. "
6515 "Now in state %d.\n",
6516 (unsigned long int) yyk
, yyrule
- 1, yynewLRState
));
6517 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
6518 if (yyi
!= yyk
&& yystackp
->yytops
.yystates
[yyi
] != YY_NULLPTR
)
6520 yyGLRState
*yysplit
= yystackp
->yysplitPoint
;
6521 yyGLRState
*yyp
= yystackp
->yytops
.yystates
[yyi
];
6522 while (yyp
!= yys
&& yyp
!= yysplit
&& yyp
->yyposn
>= yyposn
)
6524 if (yyp
->yylrState
== yynewLRState
&& yyp
->yypred
== yys
)
6526 yyaddDeferredAction (yystackp
, yyk
, yyp
, yys0
, yyrule
);
6527 yymarkStackDeleted (yystackp
, yyk
);
6528 YYDPRINTF ((stderr
, "Merging stack %lu into stack %lu.\n",
6529 (unsigned long int) yyk
,
6530 (unsigned long int) yyi
));
6536 yystackp
->yytops
.yystates
[yyk
] = yys
;
6537 yyglrShiftDefer (yystackp
, yyk
, yynewLRState
, yyposn
, yys0
, yyrule
);
6543 yysplitStack (yyGLRStack
* yystackp
, size_t yyk
)
6545 if (yystackp
->yysplitPoint
== YY_NULLPTR
)
6547 YYASSERT (yyk
== 0);
6548 yystackp
->yysplitPoint
= yystackp
->yytops
.yystates
[yyk
];
6550 if (yystackp
->yytops
.yysize
>= yystackp
->yytops
.yycapacity
)
6552 yyGLRState
** yynewStates
;
6553 yybool
* yynewLookaheadNeeds
;
6555 yynewStates
= YY_NULLPTR
;
6557 if (yystackp
->yytops
.yycapacity
6558 > (YYSIZEMAX
/ (2 * sizeof yynewStates
[0])))
6559 yyMemoryExhausted (yystackp
);
6560 yystackp
->yytops
.yycapacity
*= 2;
6563 (yyGLRState
**) YYREALLOC (yystackp
->yytops
.yystates
,
6564 (yystackp
->yytops
.yycapacity
6565 * sizeof yynewStates
[0]));
6566 if (yynewStates
== YY_NULLPTR
)
6567 yyMemoryExhausted (yystackp
);
6568 yystackp
->yytops
.yystates
= yynewStates
;
6570 yynewLookaheadNeeds
=
6571 (yybool
*) YYREALLOC (yystackp
->yytops
.yylookaheadNeeds
,
6572 (yystackp
->yytops
.yycapacity
6573 * sizeof yynewLookaheadNeeds
[0]));
6574 if (yynewLookaheadNeeds
== YY_NULLPTR
)
6575 yyMemoryExhausted (yystackp
);
6576 yystackp
->yytops
.yylookaheadNeeds
= yynewLookaheadNeeds
;
6578 yystackp
->yytops
.yystates
[yystackp
->yytops
.yysize
]
6579 = yystackp
->yytops
.yystates
[yyk
];
6580 yystackp
->yytops
.yylookaheadNeeds
[yystackp
->yytops
.yysize
]
6581 = yystackp
->yytops
.yylookaheadNeeds
[yyk
];
6582 yystackp
->yytops
.yysize
+= 1;
6583 return yystackp
->yytops
.yysize
-1;
6586 /** True iff YYY0 and YYY1 represent identical options at the top level.
6587 * That is, they represent the same rule applied to RHS symbols
6588 * that produce the same terminal symbols. */
6590 yyidenticalOptions (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6592 if (yyy0
->yyrule
== yyy1
->yyrule
)
6594 yyGLRState
*yys0
, *yys1
;
6596 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6597 yyn
= yyrhsLength (yyy0
->yyrule
);
6599 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6600 if (yys0
->yyposn
!= yys1
->yyposn
)
6608 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
6609 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
6611 yymergeOptionSets (yySemanticOption
* yyy0
, yySemanticOption
* yyy1
)
6613 yyGLRState
*yys0
, *yys1
;
6615 for (yys0
= yyy0
->yystate
, yys1
= yyy1
->yystate
,
6616 yyn
= yyrhsLength (yyy0
->yyrule
);
6618 yys0
= yys0
->yypred
, yys1
= yys1
->yypred
, yyn
-= 1)
6622 else if (yys0
->yyresolved
)
6624 yys1
->yyresolved
= yytrue
;
6625 yys1
->yysemantics
.yysval
= yys0
->yysemantics
.yysval
;
6627 else if (yys1
->yyresolved
)
6629 yys0
->yyresolved
= yytrue
;
6630 yys0
->yysemantics
.yysval
= yys1
->yysemantics
.yysval
;
6634 yySemanticOption
** yyz0p
= &yys0
->yysemantics
.yyfirstVal
;
6635 yySemanticOption
* yyz1
= yys1
->yysemantics
.yyfirstVal
;
6638 if (yyz1
== *yyz0p
|| yyz1
== YY_NULLPTR
)
6640 else if (*yyz0p
== YY_NULLPTR
)
6645 else if (*yyz0p
< yyz1
)
6647 yySemanticOption
* yyz
= *yyz0p
;
6649 yyz1
= yyz1
->yynext
;
6650 (*yyz0p
)->yynext
= yyz
;
6652 yyz0p
= &(*yyz0p
)->yynext
;
6654 yys1
->yysemantics
.yyfirstVal
= yys0
->yysemantics
.yyfirstVal
;
6659 /** Y0 and Y1 represent two possible actions to take in a given
6660 * parsing state; return 0 if no combination is possible,
6661 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
6663 yypreference (yySemanticOption
* y0
, yySemanticOption
* y1
)
6665 yyRuleNum r0
= y0
->yyrule
, r1
= y1
->yyrule
;
6666 int p0
= yydprec
[r0
], p1
= yydprec
[r1
];
6670 if (yymerger
[r0
] == 0 || yymerger
[r0
] != yymerger
[r1
])
6675 if (p0
== 0 || p1
== 0)
6684 static YYRESULTTAG
yyresolveValue (yyGLRState
* yys
,
6685 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
);
6688 /** Resolve the previous YYN states starting at and including state YYS
6689 * on *YYSTACKP. If result != yyok, some states may have been left
6690 * unresolved possibly with empty semantic option chains. Regardless
6691 * of whether result = yyok, each state has been left with consistent
6692 * data so that yydestroyGLRState can be invoked if necessary. */
6694 yyresolveStates (yyGLRState
* yys
, int yyn
,
6695 yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6699 YYASSERT (yys
->yypred
);
6700 YYCHK (yyresolveStates (yys
->yypred
, yyn
-1, yystackp
, P
, tokens
, index
));
6701 if (! yys
->yyresolved
)
6702 YYCHK (yyresolveValue (yys
, yystackp
, P
, tokens
, index
));
6707 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
6708 * user action, and return the semantic value and location in *YYVALP
6709 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
6710 * have been destroyed (assuming the user action destroys all RHS
6711 * semantic values if invoked). */
6713 yyresolveAction (yySemanticOption
* yyopt
, yyGLRStack
* yystackp
,
6714 YYSTYPE
* yyvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6716 yyGLRStackItem yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
+ 1];
6717 int yynrhs
= yyrhsLength (yyopt
->yyrule
);
6718 YYRESULTTAG yyflag
=
6719 yyresolveStates (yyopt
->yystate
, yynrhs
, yystackp
, P
, tokens
, index
);
6723 for (yys
= yyopt
->yystate
; yynrhs
> 0; yys
= yys
->yypred
, yynrhs
-= 1)
6724 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
6728 yyrhsVals
[YYMAXRHS
+ YYMAXLEFT
].yystate
.yypred
= yyopt
->yystate
;
6730 int yychar_current
= yychar
;
6731 YYSTYPE yylval_current
= yylval
;
6732 yychar
= yyopt
->yyrawchar
;
6733 yylval
= yyopt
->yyval
;
6734 yyflag
= yyuserAction (yyopt
->yyrule
, yynrhs
,
6735 yyrhsVals
+ YYMAXRHS
+ YYMAXLEFT
- 1,
6736 yystackp
, yyvalp
, P
, tokens
, index
);
6737 yychar
= yychar_current
;
6738 yylval
= yylval_current
;
6745 yyreportTree (yySemanticOption
* yyx
, int yyindent
)
6747 int yynrhs
= yyrhsLength (yyx
->yyrule
);
6750 yyGLRState
* yystates
[1 + YYMAXRHS
];
6751 yyGLRState yyleftmost_state
;
6753 for (yyi
= yynrhs
, yys
= yyx
->yystate
; 0 < yyi
; yyi
-= 1, yys
= yys
->yypred
)
6754 yystates
[yyi
] = yys
;
6755 if (yys
== YY_NULLPTR
)
6757 yyleftmost_state
.yyposn
= 0;
6758 yystates
[0] = &yyleftmost_state
;
6763 if (yyx
->yystate
->yyposn
< yys
->yyposn
+ 1)
6764 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, empty>\n",
6765 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6768 YYFPRINTF (stderr
, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
6769 yyindent
, "", yytokenName (yylhsNonterm (yyx
->yyrule
)),
6770 yyx
->yyrule
- 1, (unsigned long int) (yys
->yyposn
+ 1),
6771 (unsigned long int) yyx
->yystate
->yyposn
);
6772 for (yyi
= 1; yyi
<= yynrhs
; yyi
+= 1)
6774 if (yystates
[yyi
]->yyresolved
)
6776 if (yystates
[yyi
-1]->yyposn
+1 > yystates
[yyi
]->yyposn
)
6777 YYFPRINTF (stderr
, "%*s%s <empty>\n", yyindent
+2, "",
6778 yytokenName (yystos
[yystates
[yyi
]->yylrState
]));
6780 YYFPRINTF (stderr
, "%*s%s <tokens %lu .. %lu>\n", yyindent
+2, "",
6781 yytokenName (yystos
[yystates
[yyi
]->yylrState
]),
6782 (unsigned long int) (yystates
[yyi
-1]->yyposn
+ 1),
6783 (unsigned long int) yystates
[yyi
]->yyposn
);
6786 yyreportTree (yystates
[yyi
]->yysemantics
.yyfirstVal
, yyindent
+2);
6792 yyreportAmbiguity (yySemanticOption
* yyx0
,
6793 yySemanticOption
* yyx1
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6799 YYFPRINTF (stderr
, "Ambiguity detected.\n");
6800 YYFPRINTF (stderr
, "Option 1,\n");
6801 yyreportTree (yyx0
, 2);
6802 YYFPRINTF (stderr
, "\nOption 2,\n");
6803 yyreportTree (yyx1
, 2);
6804 YYFPRINTF (stderr
, "\n");
6807 yyerror (P
, tokens
, index
, YY_("syntax is ambiguous"));
6811 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
6812 * perform the indicated actions, and set the semantic value of YYS.
6813 * If result != yyok, the chain of semantic options in YYS has been
6814 * cleared instead or it has been left unmodified except that
6815 * redundant options may have been removed. Regardless of whether
6816 * result = yyok, YYS has been left with consistent data so that
6817 * yydestroyGLRState can be invoked if necessary. */
6819 yyresolveValue (yyGLRState
* yys
, yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6821 yySemanticOption
* yyoptionList
= yys
->yysemantics
.yyfirstVal
;
6822 yySemanticOption
* yybest
= yyoptionList
;
6823 yySemanticOption
** yypp
;
6824 yybool yymerge
= yyfalse
;
6828 for (yypp
= &yyoptionList
->yynext
; *yypp
!= YY_NULLPTR
; )
6830 yySemanticOption
* yyp
= *yypp
;
6832 if (yyidenticalOptions (yybest
, yyp
))
6834 yymergeOptionSets (yybest
, yyp
);
6835 *yypp
= yyp
->yynext
;
6839 switch (yypreference (yybest
, yyp
))
6842 return yyreportAmbiguity (yybest
, yyp
, P
, tokens
, index
);
6854 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
6855 but some compilers complain if the default case is
6859 yypp
= &yyp
->yynext
;
6865 yySemanticOption
* yyp
;
6866 int yyprec
= yydprec
[yybest
->yyrule
];
6867 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6869 for (yyp
= yybest
->yynext
; yyp
!= YY_NULLPTR
; yyp
= yyp
->yynext
)
6871 if (yyprec
== yydprec
[yyp
->yyrule
])
6873 YYSTYPE yysval_other
;
6874 yyflag
= yyresolveAction (yyp
, yystackp
, &yysval_other
, P
, tokens
, index
);
6877 yydestruct ("Cleanup: discarding incompletely merged value for",
6878 yystos
[yys
->yylrState
],
6879 &yysval
, P
, tokens
, index
);
6882 yyuserMerge (yymerger
[yyp
->yyrule
], &yysval
, &yysval_other
);
6887 yyflag
= yyresolveAction (yybest
, yystackp
, &yysval
, P
, tokens
, index
);
6891 yys
->yyresolved
= yytrue
;
6892 yys
->yysemantics
.yysval
= yysval
;
6895 yys
->yysemantics
.yyfirstVal
= YY_NULLPTR
;
6900 yyresolveStack (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6902 if (yystackp
->yysplitPoint
!= YY_NULLPTR
)
6907 for (yyn
= 0, yys
= yystackp
->yytops
.yystates
[0];
6908 yys
!= yystackp
->yysplitPoint
;
6909 yys
= yys
->yypred
, yyn
+= 1)
6911 YYCHK (yyresolveStates (yystackp
->yytops
.yystates
[0], yyn
, yystackp
6912 , P
, tokens
, index
));
6918 yycompressStack (yyGLRStack
* yystackp
)
6920 yyGLRState
* yyp
, *yyq
, *yyr
;
6922 if (yystackp
->yytops
.yysize
!= 1 || yystackp
->yysplitPoint
== YY_NULLPTR
)
6925 for (yyp
= yystackp
->yytops
.yystates
[0], yyq
= yyp
->yypred
, yyr
= YY_NULLPTR
;
6926 yyp
!= yystackp
->yysplitPoint
;
6927 yyr
= yyp
, yyp
= yyq
, yyq
= yyp
->yypred
)
6930 yystackp
->yyspaceLeft
+= yystackp
->yynextFree
- yystackp
->yyitems
;
6931 yystackp
->yynextFree
= ((yyGLRStackItem
*) yystackp
->yysplitPoint
) + 1;
6932 yystackp
->yyspaceLeft
-= yystackp
->yynextFree
- yystackp
->yyitems
;
6933 yystackp
->yysplitPoint
= YY_NULLPTR
;
6934 yystackp
->yylastDeleted
= YY_NULLPTR
;
6936 while (yyr
!= YY_NULLPTR
)
6938 yystackp
->yynextFree
->yystate
= *yyr
;
6940 yystackp
->yynextFree
->yystate
.yypred
= &yystackp
->yynextFree
[-1].yystate
;
6941 yystackp
->yytops
.yystates
[0] = &yystackp
->yynextFree
->yystate
;
6942 yystackp
->yynextFree
+= 1;
6943 yystackp
->yyspaceLeft
-= 1;
6948 yyprocessOneStack (yyGLRStack
* yystackp
, size_t yyk
,
6949 size_t yyposn
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
6951 while (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
6953 yyStateNum yystate
= yystackp
->yytops
.yystates
[yyk
]->yylrState
;
6954 YYDPRINTF ((stderr
, "Stack %lu Entering state %d\n",
6955 (unsigned long int) yyk
, yystate
));
6957 YYASSERT (yystate
!= YYFINAL
);
6959 if (yyisDefaultedState (yystate
))
6962 yyRuleNum yyrule
= yydefaultAction (yystate
);
6965 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
6966 (unsigned long int) yyk
));
6967 yymarkStackDeleted (yystackp
, yyk
);
6970 yyflag
= yyglrReduce (yystackp
, yyk
, yyrule
, yyimmediate
[yyrule
], P
, tokens
, index
);
6971 if (yyflag
== yyerr
)
6975 "(predicate failure or explicit user error).\n",
6976 (unsigned long int) yyk
));
6977 yymarkStackDeleted (yystackp
, yyk
);
6987 const short int* yyconflicts
;
6989 yystackp
->yytops
.yylookaheadNeeds
[yyk
] = yytrue
;
6990 if (yychar
== YYEMPTY
)
6992 YYDPRINTF ((stderr
, "Reading a token: "));
6993 yychar
= yylex (&yylval
, P
, tokens
, index
);
6996 if (yychar
<= YYEOF
)
6998 yychar
= yytoken
= YYEOF
;
6999 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7003 yytoken
= YYTRANSLATE (yychar
);
7004 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7007 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7009 while (*yyconflicts
!= 0)
7012 size_t yynewStack
= yysplitStack (yystackp
, yyk
);
7013 YYDPRINTF ((stderr
, "Splitting off stack %lu from %lu.\n",
7014 (unsigned long int) yynewStack
,
7015 (unsigned long int) yyk
));
7016 yyflag
= yyglrReduce (yystackp
, yynewStack
,
7018 yyimmediate
[*yyconflicts
], P
, tokens
, index
);
7020 YYCHK (yyprocessOneStack (yystackp
, yynewStack
,
7021 yyposn
, P
, tokens
, index
));
7022 else if (yyflag
== yyerr
)
7024 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
7025 (unsigned long int) yynewStack
));
7026 yymarkStackDeleted (yystackp
, yynewStack
);
7033 if (yyisShiftAction (yyaction
))
7035 else if (yyisErrorAction (yyaction
))
7037 YYDPRINTF ((stderr
, "Stack %lu dies.\n",
7038 (unsigned long int) yyk
));
7039 yymarkStackDeleted (yystackp
, yyk
);
7044 YYRESULTTAG yyflag
= yyglrReduce (yystackp
, yyk
, -yyaction
,
7045 yyimmediate
[-yyaction
], P
, tokens
, index
);
7046 if (yyflag
== yyerr
)
7050 "(predicate failure or explicit user error).\n",
7051 (unsigned long int) yyk
));
7052 yymarkStackDeleted (yystackp
, yyk
);
7055 else if (yyflag
!= yyok
)
7064 yyreportSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7066 if (yystackp
->yyerrState
!= 0)
7068 #if ! YYERROR_VERBOSE
7069 yyerror (P
, tokens
, index
, YY_("syntax error"));
7072 yySymbol yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
7073 size_t yysize0
= yytnamerr (YY_NULLPTR
, yytokenName (yytoken
));
7074 size_t yysize
= yysize0
;
7075 yybool yysize_overflow
= yyfalse
;
7076 char* yymsg
= YY_NULLPTR
;
7077 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
7078 /* Internationalized format string. */
7079 const char *yyformat
= YY_NULLPTR
;
7080 /* Arguments of yyformat. */
7081 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
7082 /* Number of reported tokens (one for the "unexpected", one per
7086 /* There are many possibilities here to consider:
7087 - If this state is a consistent state with a default action, then
7088 the only way this function was invoked is if the default action
7089 is an error action. In that case, don't check for expected
7090 tokens because there are none.
7091 - The only way there can be no lookahead present (in yychar) is if
7092 this state is a consistent state with a default action. Thus,
7093 detecting the absence of a lookahead is sufficient to determine
7094 that there is no unexpected or expected token to report. In that
7095 case, just report a simple "syntax error".
7096 - Don't assume there isn't a lookahead just because this state is a
7097 consistent state with a default action. There might have been a
7098 previous inconsistent state, consistent state with a non-default
7099 action, or user semantic action that manipulated yychar.
7100 - Of course, the expected token list depends on states to have
7101 correct lookahead information, and it depends on the parser not
7102 to perform extra reductions after fetching a lookahead from the
7103 scanner and before detecting a syntax error. Thus, state merging
7104 (from LALR or IELR) and default reductions corrupt the expected
7105 token list. However, the list is correct for canonical LR with
7106 one exception: it will still contain any token that will not be
7107 accepted due to an error action in a later state.
7109 if (yytoken
!= YYEMPTY
)
7111 int yyn
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7112 yyarg
[yycount
++] = yytokenName (yytoken
);
7113 if (!yypact_value_is_default (yyn
))
7115 /* Start YYX at -YYN if negative to avoid negative indexes in
7116 YYCHECK. In other words, skip the first -YYN actions for this
7117 state because they are default actions. */
7118 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
7119 /* Stay within bounds of both yycheck and yytname. */
7120 int yychecklim
= YYLAST
- yyn
+ 1;
7121 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
7123 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
7124 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
7125 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
7127 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
7133 yyarg
[yycount
++] = yytokenName (yyx
);
7135 size_t yysz
= yysize
+ yytnamerr (YY_NULLPTR
, yytokenName (yyx
));
7136 yysize_overflow
|= yysz
< yysize
;
7145 #define YYCASE_(N, S) \
7149 YYCASE_(0, YY_("syntax error"));
7150 YYCASE_(1, YY_("syntax error, unexpected %s"));
7151 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
7152 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
7153 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
7154 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
7159 size_t yysz
= yysize
+ strlen (yyformat
);
7160 yysize_overflow
|= yysz
< yysize
;
7164 if (!yysize_overflow
)
7165 yymsg
= (char *) YYMALLOC (yysize
);
7171 while ((*yyp
= *yyformat
))
7173 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
7175 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
7184 yyerror (P
, tokens
, index
, yymsg
);
7189 yyerror (P
, tokens
, index
, YY_("syntax error"));
7190 yyMemoryExhausted (yystackp
);
7193 #endif /* YYERROR_VERBOSE */
7197 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
7198 yylval, and yylloc are the syntactic category, semantic value, and location
7199 of the lookahead. */
7201 yyrecoverSyntaxError (yyGLRStack
* yystackp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7206 if (yystackp
->yyerrState
== 3)
7207 /* We just shifted the error token and (perhaps) took some
7208 reductions. Skip tokens until we can proceed. */
7212 if (yychar
== YYEOF
)
7213 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7214 if (yychar
!= YYEMPTY
)
7216 yytoken
= YYTRANSLATE (yychar
);
7217 yydestruct ("Error: discarding",
7218 yytoken
, &yylval
, P
, tokens
, index
);
7220 YYDPRINTF ((stderr
, "Reading a token: "));
7221 yychar
= yylex (&yylval
, P
, tokens
, index
);
7222 if (yychar
<= YYEOF
)
7224 yychar
= yytoken
= YYEOF
;
7225 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7229 yytoken
= YYTRANSLATE (yychar
);
7230 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7232 yyj
= yypact
[yystackp
->yytops
.yystates
[0]->yylrState
];
7233 if (yypact_value_is_default (yyj
))
7236 if (yyj
< 0 || YYLAST
< yyj
|| yycheck
[yyj
] != yytoken
)
7238 if (yydefact
[yystackp
->yytops
.yystates
[0]->yylrState
] != 0)
7241 else if (! yytable_value_is_error (yytable
[yyj
]))
7245 /* Reduce to one stack. */
7246 for (yyk
= 0; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7247 if (yystackp
->yytops
.yystates
[yyk
] != YY_NULLPTR
)
7249 if (yyk
>= yystackp
->yytops
.yysize
)
7250 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7251 for (yyk
+= 1; yyk
< yystackp
->yytops
.yysize
; yyk
+= 1)
7252 yymarkStackDeleted (yystackp
, yyk
);
7253 yyremoveDeletes (yystackp
);
7254 yycompressStack (yystackp
);
7256 /* Now pop stack until we find a state that shifts the error token. */
7257 yystackp
->yyerrState
= 3;
7258 while (yystackp
->yytops
.yystates
[0] != YY_NULLPTR
)
7260 yyGLRState
*yys
= yystackp
->yytops
.yystates
[0];
7261 yyj
= yypact
[yys
->yylrState
];
7262 if (! yypact_value_is_default (yyj
))
7265 if (0 <= yyj
&& yyj
<= YYLAST
&& yycheck
[yyj
] == YYTERROR
7266 && yyisShiftAction (yytable
[yyj
]))
7268 /* Shift the error token. */
7269 YY_SYMBOL_PRINT ("Shifting", yystos
[yytable
[yyj
]],
7270 &yylval
, &yyerrloc
);
7271 yyglrShift (yystackp
, 0, yytable
[yyj
],
7272 yys
->yyposn
, &yylval
);
7273 yys
= yystackp
->yytops
.yystates
[0];
7277 if (yys
->yypred
!= YY_NULLPTR
)
7278 yydestroyGLRState ("Error: popping", yys
, P
, tokens
, index
);
7279 yystackp
->yytops
.yystates
[0] = yys
->yypred
;
7280 yystackp
->yynextFree
-= 1;
7281 yystackp
->yyspaceLeft
+= 1;
7283 if (yystackp
->yytops
.yystates
[0] == YY_NULLPTR
)
7284 yyFail (yystackp
, P
, tokens
, index
, YY_NULLPTR
);
7287 #define YYCHK1(YYE) \
7297 goto yyuser_error; \
7308 yyparse (struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7312 yyGLRStack
* const yystackp
= &yystack
;
7315 YYDPRINTF ((stderr
, "Starting parse\n"));
7318 yylval
= yyval_default
;
7320 /* User initialization code. */
7321 #line 144 "src/parser_proc_grammar.y" /* glr.c:2270 */
7325 #line 7326 "src/parser_proc.c" /* glr.c:2270 */
7327 if (! yyinitGLRStack (yystackp
, YYINITDEPTH
))
7328 goto yyexhaustedlab
;
7329 switch (YYSETJMP (yystack
.yyexception_buffer
))
7332 case 1: goto yyabortlab
;
7333 case 2: goto yyexhaustedlab
;
7334 default: goto yybuglab
;
7336 yyglrShift (&yystack
, 0, 0, 0, &yylval
);
7341 /* For efficiency, we have two loops, the first of which is
7342 specialized to deterministic operation (single stack, no
7343 potential ambiguity). */
7349 const short int* yyconflicts
;
7351 yyStateNum yystate
= yystack
.yytops
.yystates
[0]->yylrState
;
7352 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
7353 if (yystate
== YYFINAL
)
7355 if (yyisDefaultedState (yystate
))
7357 yyrule
= yydefaultAction (yystate
);
7361 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7364 YYCHK1 (yyglrReduce (&yystack
, 0, yyrule
, yytrue
, P
, tokens
, index
));
7369 if (yychar
== YYEMPTY
)
7371 YYDPRINTF ((stderr
, "Reading a token: "));
7372 yychar
= yylex (&yylval
, P
, tokens
, index
);
7375 if (yychar
<= YYEOF
)
7377 yychar
= yytoken
= YYEOF
;
7378 YYDPRINTF ((stderr
, "Now at end of input.\n"));
7382 yytoken
= YYTRANSLATE (yychar
);
7383 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
7386 yygetLRActions (yystate
, yytoken
, &yyaction
, &yyconflicts
);
7387 if (*yyconflicts
!= 0)
7389 if (yyisShiftAction (yyaction
))
7391 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
7394 yyglrShift (&yystack
, 0, yyaction
, yyposn
, &yylval
);
7395 if (0 < yystack
.yyerrState
)
7396 yystack
.yyerrState
-= 1;
7398 else if (yyisErrorAction (yyaction
))
7401 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7405 YYCHK1 (yyglrReduce (&yystack
, 0, -yyaction
, yytrue
, P
, tokens
, index
));
7411 yySymbol yytoken_to_shift
;
7414 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7415 yystackp
->yytops
.yylookaheadNeeds
[yys
] = yychar
!= YYEMPTY
;
7417 /* yyprocessOneStack returns one of three things:
7419 - An error flag. If the caller is yyprocessOneStack, it
7420 immediately returns as well. When the caller is finally
7421 yyparse, it jumps to an error label via YYCHK1.
7423 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
7424 (&yystack, yys), which sets the top state of yys to NULL. Thus,
7425 yyparse's following invocation of yyremoveDeletes will remove
7428 - yyok, when ready to shift a token.
7430 Except in the first case, yyparse will invoke yyremoveDeletes and
7431 then shift the next token onto all remaining stacks. This
7432 synchronization of the shift (that is, after all preceding
7433 reductions on all stacks) helps prevent double destructor calls
7434 on yylval in the event of memory exhaustion. */
7436 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7437 YYCHK1 (yyprocessOneStack (&yystack
, yys
, yyposn
, P
, tokens
, index
));
7438 yyremoveDeletes (&yystack
);
7439 if (yystack
.yytops
.yysize
== 0)
7441 yyundeleteLastStack (&yystack
);
7442 if (yystack
.yytops
.yysize
== 0)
7443 yyFail (&yystack
, P
, tokens
, index
, YY_("syntax error"));
7444 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7445 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7447 yyreportSyntaxError (&yystack
, P
, tokens
, index
);
7451 /* If any yyglrShift call fails, it will fail after shifting. Thus,
7452 a copy of yylval will already be on stack 0 in the event of a
7453 failure in the following loop. Thus, yychar is set to YYEMPTY
7454 before the loop to make sure the user destructor for yylval isn't
7456 yytoken_to_shift
= YYTRANSLATE (yychar
);
7459 for (yys
= 0; yys
< yystack
.yytops
.yysize
; yys
+= 1)
7462 const short int* yyconflicts
;
7463 yyStateNum yystate
= yystack
.yytops
.yystates
[yys
]->yylrState
;
7464 yygetLRActions (yystate
, yytoken_to_shift
, &yyaction
,
7466 /* Note that yyconflicts were handled by yyprocessOneStack. */
7467 YYDPRINTF ((stderr
, "On stack %lu, ", (unsigned long int) yys
));
7468 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift
, &yylval
, &yylloc
);
7469 yyglrShift (&yystack
, yys
, yyaction
, yyposn
,
7471 YYDPRINTF ((stderr
, "Stack %lu now in state #%d\n",
7472 (unsigned long int) yys
,
7473 yystack
.yytops
.yystates
[yys
]->yylrState
));
7476 if (yystack
.yytops
.yysize
== 1)
7478 YYCHK1 (yyresolveStack (&yystack
, P
, tokens
, index
));
7479 YYDPRINTF ((stderr
, "Returning to deterministic operation.\n"));
7480 yycompressStack (&yystack
);
7486 yyrecoverSyntaxError (&yystack
, P
, tokens
, index
);
7487 yyposn
= yystack
.yytops
.yystates
[0]->yyposn
;
7503 yyerror (P
, tokens
, index
, YY_("memory exhausted"));
7508 if (yychar
!= YYEMPTY
)
7509 yydestruct ("Cleanup: discarding lookahead",
7510 YYTRANSLATE (yychar
), &yylval
, P
, tokens
, index
);
7512 /* If the stack is well-formed, pop the stack until it is empty,
7513 destroying its entries as we go. But free the stack regardless
7514 of whether it is well-formed. */
7515 if (yystack
.yyitems
)
7517 yyGLRState
** yystates
= yystack
.yytops
.yystates
;
7520 size_t yysize
= yystack
.yytops
.yysize
;
7522 for (yyk
= 0; yyk
< yysize
; yyk
+= 1)
7525 while (yystates
[yyk
])
7527 yyGLRState
*yys
= yystates
[yyk
];
7528 if (yys
->yypred
!= YY_NULLPTR
)
7529 yydestroyGLRState ("Cleanup: popping", yys
, P
, tokens
, index
);
7530 yystates
[yyk
] = yys
->yypred
;
7531 yystack
.yynextFree
-= 1;
7532 yystack
.yyspaceLeft
+= 1;
7537 yyfreeGLRStack (&yystack
);
7543 /* DEBUGGING ONLY */
7546 yy_yypstack (yyGLRState
* yys
)
7550 yy_yypstack (yys
->yypred
);
7551 YYFPRINTF (stderr
, " -> ");
7553 YYFPRINTF (stderr
, "%d@%lu", yys
->yylrState
,
7554 (unsigned long int) yys
->yyposn
);
7558 yypstates (yyGLRState
* yyst
)
7560 if (yyst
== YY_NULLPTR
)
7561 YYFPRINTF (stderr
, "<null>");
7564 YYFPRINTF (stderr
, "\n");
7568 yypstack (yyGLRStack
* yystackp
, size_t yyk
)
7570 yypstates (yystackp
->yytops
.yystates
[yyk
]);
7573 #define YYINDEX(YYX) \
7574 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
7578 yypdumpstack (yyGLRStack
* yystackp
)
7580 yyGLRStackItem
* yyp
;
7582 for (yyp
= yystackp
->yyitems
; yyp
< yystackp
->yynextFree
; yyp
+= 1)
7584 YYFPRINTF (stderr
, "%3lu. ",
7585 (unsigned long int) (yyp
- yystackp
->yyitems
));
7586 if (*(yybool
*) yyp
)
7588 YYASSERT (yyp
->yystate
.yyisState
);
7589 YYASSERT (yyp
->yyoption
.yyisState
);
7590 YYFPRINTF (stderr
, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
7591 yyp
->yystate
.yyresolved
, yyp
->yystate
.yylrState
,
7592 (unsigned long int) yyp
->yystate
.yyposn
,
7593 (long int) YYINDEX (yyp
->yystate
.yypred
));
7594 if (! yyp
->yystate
.yyresolved
)
7595 YYFPRINTF (stderr
, ", firstVal: %ld",
7596 (long int) YYINDEX (yyp
->yystate
7597 .yysemantics
.yyfirstVal
));
7601 YYASSERT (!yyp
->yystate
.yyisState
);
7602 YYASSERT (!yyp
->yyoption
.yyisState
);
7603 YYFPRINTF (stderr
, "Option. rule: %d, state: %ld, next: %ld",
7604 yyp
->yyoption
.yyrule
- 1,
7605 (long int) YYINDEX (yyp
->yyoption
.yystate
),
7606 (long int) YYINDEX (yyp
->yyoption
.yynext
));
7608 YYFPRINTF (stderr
, "\n");
7610 YYFPRINTF (stderr
, "Tops:");
7611 for (yyi
= 0; yyi
< yystackp
->yytops
.yysize
; yyi
+= 1)
7612 YYFPRINTF (stderr
, "%lu: %ld; ", (unsigned long int) yyi
,
7613 (long int) YYINDEX (yystackp
->yytops
.yystates
[yyi
]));
7614 YYFPRINTF (stderr
, "\n");
7622 /* Substitute the variable and function names. */
7623 #define yyparse psi_parser_proc_parse
7624 #define yylex psi_parser_proc_lex
7625 #define yyerror psi_parser_proc_error
7626 #define yylval psi_parser_proc_lval
7627 #define yychar psi_parser_proc_char
7628 #define yydebug psi_parser_proc_debug
7629 #define yynerrs psi_parser_proc_nerrs
7631 #line 2118 "src/parser_proc_grammar.y" /* glr.c:2584 */
7636 static int psi_parser_proc_lex(YYSTYPE
*lvalp
, struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
)
7638 struct psi_token
*token
;
7640 if (psi_plist_get(tokens
, (*index
)++, &token
)) {
7641 if (P
->flags
& PSI_DEBUG
) {
7642 psi_token_dump(2, token
);
7645 *((struct psi_token
**)lvalp
) = token
;
7649 PSI_DEBUG_PRINT(P
, "EOF(%d)\n", PSI_T_EOF
);
7655 static void psi_parser_proc_error(struct psi_parser
*P
, struct psi_plist
*tokens
, size_t *index
, const char *msg
)
7657 struct psi_token
*T
= NULL
;
7666 psi_plist_get(tokens
, last
, &T
);
7668 P
->error(PSI_DATA(P
), T
, PSI_WARNING
, "PSI %s at col %u", msg
, T
->col
);
7670 P
->error(PSI_DATA(P
), NULL
, PSI_WARNING
, "PSI %s", msg
);