gdbinit
[m6w6/ext-psi] / src / parser_proc.c
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Skeleton implementation for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
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.
11
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.
16
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/>. */
19
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.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C GLR parser skeleton written by Paul Hilfinger. */
34
35 /* Identify Bison output. */
36 #define YYBISON 1
37
38 /* Bison version. */
39 #define YYBISON_VERSION "3.0.4"
40
41 /* Skeleton name. */
42 #define YYSKELETON_NAME "glr.c"
43
44 /* Pure parsers. */
45 #define YYPURE 1
46
47
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
50
51 #include "php_psi_stdinc.h"
52
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
54
55
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
61
62
63 /* First part of user declarations. */
64
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
66
67 # ifndef YY_NULLPTR
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
70 # else
71 # define YY_NULLPTR 0
72 # endif
73 # endif
74
75 #include "parser_proc.h"
76
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
81 #else
82 # define YYERROR_VERBOSE 1
83 #endif
84
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;
90
91 /* Copy the second part of user declarations. */
92
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 */
96
97 #include <assert.h>
98 #include <stdarg.h>
99
100 #include "plist.h"
101 #include "parser.h"
102
103 #define YYDEBUG 1
104 #define PSI_PARSER_PROC_DEBUG 1
105
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);
108
109 static inline void psi_parser_proc_add_struct(struct psi_parser *P, struct psi_decl_struct *strct)
110 {
111 assert(strct);
112 if (!P->structs) {
113 P->structs = psi_plist_init((psi_plist_dtor) psi_decl_struct_free);
114 }
115 P->structs = psi_plist_add(P->structs, &strct);
116 }
117 static inline void psi_parser_proc_add_union(struct psi_parser *P, struct psi_decl_union *u)
118 {
119 assert(u);
120 if (!P->unions) {
121 P->unions = psi_plist_init((psi_plist_dtor) psi_decl_union_free);
122 }
123 P->unions = psi_plist_add(P->unions, &u);
124 }
125 static inline void psi_parser_proc_add_enum(struct psi_parser *P, struct psi_decl_enum *e)
126 {
127 assert(e);
128 if (!P->enums) {
129 P->enums = psi_plist_init((psi_plist_dtor) psi_decl_enum_free);
130 }
131 P->enums = psi_plist_add(P->enums, &e);
132 }
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg *def)
134 {
135 switch (def->type->type) {
136 case PSI_T_STRUCT:
137 if (!psi_decl_type_is_anon(def->type->name, "struct")) {
138 return;
139 }
140 break;
141 case PSI_T_UNION:
142 if (!psi_decl_type_is_anon(def->type->name, "union")) {
143 return;
144 }
145 break;
146 case PSI_T_ENUM:
147 if (!psi_decl_type_is_anon(def->type->name, "enum")) {
148 return;
149 }
150 break;
151 default:
152 return;
153 }
154 free(def->type->name);
155 def->type->name = strdup(def->var->name);
156 }
157 static inline void psi_parser_proc_add_typedef(struct psi_parser *P, struct psi_decl_arg *def)
158 {
159 assert(def);
160 if (!P->types) {
161 P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free);
162 }
163 //psi_parser_proc_deanon_typedef(def);
164 P->types = psi_plist_add(P->types, &def);
165 }
166 static inline void psi_parser_proc_add_const(struct psi_parser *P, struct psi_const *cnst) {
167 assert(cnst);
168 if (!P->consts) {
169 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
170 }
171 P->consts = psi_plist_add(P->consts, &cnst);
172
173 }
174 static inline void psi_parser_proc_add_decl(struct psi_parser *P, struct psi_decl *decl) {
175 assert(decl);
176
177 if (psi_decl_is_blacklisted(decl->func->var->name)) {
178 psi_decl_free(&decl);
179 return;
180 }
181
182 if (!P->decls) {
183 P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free);
184 }
185 P->decls = psi_plist_add(P->decls, &decl);
186 }
187 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser *P, struct psi_plist *list) {
188 assert(list);
189 if (!P->vars) {
190 P->vars = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
191 }
192 P->vars = psi_plist_add_r(P->vars, psi_plist_count(list), psi_plist_eles(list));
193 free(list);
194 }
195 static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_impl *impl) {
196 assert(impl);
197 if (!P->impls) {
198 P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free);
199 }
200 P->impls = psi_plist_add(P->impls, &impl);
201 }
202
203 /* end code */
204
205 #line 206 "src/parser_proc.c" /* glr.c:264 */
206
207 #include <stdio.h>
208 #include <stdlib.h>
209 #include <string.h>
210
211 #ifndef YY_
212 # if defined YYENABLE_NLS && YYENABLE_NLS
213 # if ENABLE_NLS
214 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
215 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
216 # endif
217 # endif
218 # ifndef YY_
219 # define YY_(Msgid) Msgid
220 # endif
221 #endif
222
223 #ifndef YYFREE
224 # define YYFREE free
225 #endif
226 #ifndef YYMALLOC
227 # define YYMALLOC malloc
228 #endif
229 #ifndef YYREALLOC
230 # define YYREALLOC realloc
231 #endif
232
233 #define YYSIZEMAX ((size_t) -1)
234
235 #ifdef __cplusplus
236 typedef bool yybool;
237 #else
238 typedef unsigned char yybool;
239 #endif
240 #define yytrue 1
241 #define yyfalse 0
242
243 #ifndef YYSETJMP
244 # include <setjmp.h>
245 # define YYJMP_BUF jmp_buf
246 # define YYSETJMP(Env) setjmp (Env)
247 /* Pacify clang. */
248 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
249 #endif
250
251 #ifndef YY_ATTRIBUTE
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)
256 # else
257 # define YY_ATTRIBUTE(Spec) /* empty */
258 # endif
259 #endif
260
261 #ifndef YY_ATTRIBUTE_PURE
262 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
263 #endif
264
265 #ifndef YY_ATTRIBUTE_UNUSED
266 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
267 #endif
268
269 #if !defined _Noreturn \
270 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
271 # if defined _MSC_VER && 1200 <= _MSC_VER
272 # define _Noreturn __declspec (noreturn)
273 # else
274 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
275 # endif
276 #endif
277
278 /* Suppress unused-variable warnings by "using" E. */
279 #if ! defined lint || defined __GNUC__
280 # define YYUSE(E) ((void) (E))
281 #else
282 # define YYUSE(E) /* empty */
283 #endif
284
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")
293 #else
294 # define YY_INITIAL_VALUE(Value) Value
295 #endif
296 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
297 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
298 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
299 #endif
300 #ifndef YY_INITIAL_VALUE
301 # define YY_INITIAL_VALUE(Value) /* Nothing. */
302 #endif
303
304
305 #ifndef YYASSERT
306 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
307 #endif
308
309 /* YYFINAL -- State number of the termination state. */
310 #define YYFINAL 160
311 /* YYLAST -- Last index in YYTABLE. */
312 #define YYLAST 7725
313
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
317 #define YYNNTS 141
318 /* YYNRULES -- Number of rules. */
319 #define YYNRULES 627
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 937
322 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
323 #define YYMAXRHS 16
324 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
325 accessed by $0, $-1, etc., in any rule. */
326 #define YYMAXLEFT 0
327
328 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
329 #define YYUNDEFTOK 2
330 #define YYMAXUTOK 394
331
332 #define YYTRANSLATE(YYX) \
333 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
334
335 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
336 static const unsigned char yytranslate[] =
337 {
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
378 };
379
380 #if YYDEBUG
381 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
382 static const unsigned short int yyrline[] =
383 {
384 0, 433, 433, 433, 433, 433, 433, 433, 433, 433,
385 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
386 434, 434, 434, 434, 435, 435, 435, 435, 435, 435,
387 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
388 435, 435, 435, 436, 436, 436, 436, 436, 436, 436,
389 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
390 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
391 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
392 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
393 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
394 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
395 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
396 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
397 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
398 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
399 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
400 436, 437, 437, 437, 437, 437, 437, 437, 437, 437,
401 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
402 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
403 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
404 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
405 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
406 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
407 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
408 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
409 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
410 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
411 437, 437, 437, 437, 437, 437, 437, 441, 442, 445,
412 446, 449, 450, 451, 452, 458, 462, 465, 468, 471,
413 477, 480, 483, 486, 489, 495, 501, 504, 510, 533,
414 537, 541, 546, 550, 554, 558, 565, 566, 570, 571,
415 575, 576, 577, 581, 582, 586, 587, 591, 592, 593,
416 597, 598, 602, 607, 612, 617, 626, 629, 632, 633,
417 639, 644, 652, 655, 659, 663, 670, 674, 678, 682,
418 687, 698, 709, 714, 719, 723, 729, 739, 742, 746,
419 750, 756, 763, 767, 771, 778, 779, 780, 784, 798,
420 804, 807, 813, 816, 822, 823, 831, 842, 851, 863,
421 864, 868, 878, 887, 899, 900, 903, 909, 910, 914,
422 918, 922, 927, 932, 940, 941, 942, 945, 951, 954,
423 957, 963, 964, 968, 971, 974, 980, 983, 986, 994,
424 1006, 1009, 1012, 1015, 1022, 1025, 1035, 1038, 1041, 1044,
425 1045, 1046, 1050, 1053, 1056, 1067, 1074, 1084, 1087, 1093,
426 1096, 1103, 1133, 1136, 1142, 1145, 1151, 1154, 1157, 1160,
427 1166, 1170, 1171, 1175, 1176, 1180, 1181, 1188, 1189, 1193,
428 1200, 1211, 1218, 1226, 1250, 1278, 1285, 1296, 1342, 1383,
429 1398, 1401, 1404, 1410, 1413, 1419, 1434, 1437, 1466, 1474,
430 1502, 1507, 1515, 1525, 1535, 1538, 1542, 1548, 1562, 1579,
431 1582, 1588, 1595, 1605, 1612, 1615, 1621, 1626, 1634, 1638,
432 1642, 1646, 1650, 1654, 1661, 1665, 1669, 1673, 1677, 1681,
433 1687, 1691, 1698, 1701, 1713, 1717, 1721, 1728, 1741, 1754,
434 1767, 1770, 1777, 1778, 1782, 1785, 1788, 1791, 1797, 1801,
435 1808, 1811, 1814, 1829, 1830, 1831, 1832, 1836, 1839, 1845,
436 1846, 1852, 1855, 1861, 1862, 1866, 1867, 1877, 1880, 1887,
437 1892, 1897, 1907, 1910, 1916, 1919, 1925, 1932, 1939, 1946,
438 1947, 1951, 1952, 1953, 1954, 1958, 1959, 1960, 1961, 1962,
439 1966, 1969, 1975, 1978, 1981, 1984, 1987, 1993, 1997, 2005,
440 2006, 2010, 2017, 2020, 2023, 2026, 2030, 2033, 2039, 2043,
441 2051, 2058, 2063, 2071, 2079, 2080, 2081, 2082, 2083, 2084,
442 2085, 2086, 2087, 2088, 2092, 2095, 2101, 2104, 2110, 2111,
443 2115, 2118, 2124, 2127, 2133, 2140, 2144, 2151, 2154, 2157,
444 2163, 2170, 2173, 2176, 2183, 2188, 2196, 2197, 2198, 2199,
445 2200, 2201, 2202, 2203, 2207, 2210, 2216, 2219, 2225, 2232,
446 2233, 2237, 2244, 2247, 2253, 2261, 2264, 2270
447 };
448 #endif
449
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[] =
454 {
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_macro_decl",
481 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
482 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
483 "cpp_macro_call_arg_list", "constant", "impl_def_val",
484 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
485 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
486 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
487 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
488 "decl_int_type", "int_signed_types", "signed_short_types",
489 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
490 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
491 "ignored_decl", "ignored_decl_body", "ignored_decl_body_stmts",
492 "ignored_decl_body_stmt", "decl", "decl_body", "decl_func_body",
493 "decl_functor_body", "decl_anon_functor_body", "decl_functor",
494 "decl_anon_functor", "decl_func", "decl_args", "decl_arg_list",
495 "decl_anon_arg", "decl_arg", "decl_var", "decl_union", "decl_struct",
496 "decl_struct_args", "struct_args_block", "struct_args",
497 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
498 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
499 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
500 "struct_name", "optional_name", "optional_comma", "decl_layout",
501 "align_and_size", "array_size", "array_qualifier_token", "indirection",
502 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
503 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
504 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
505 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
506 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
507 "let_callback", "let_func", "let_func_token", "let_func_exps",
508 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
509 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
510 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
511 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
512 "byref", YY_NULLPTR
513 };
514 #endif
515
516 #define YYPACT_NINF -717
517 #define YYTABLE_NINF -626
518
519 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
520 STATE-NUM. */
521 static const short int yypact[] =
522 {
523 713, -717, -717, -717, -717, -717, 54, -717, -717, -717,
524 501, -717, -717, -717, 741, 1409, 7459, 7459, 7459, 120,
525 26, 236, 23, -717, 5541, 1667, 71, 713, -717, -717,
526 -717, -717, -717, 6717, 597, -717, -717, -717, -717, 174,
527 162, -717, -717, -717, -717, -40, -717, -717, 84, 64,
528 87, -717, -717, -717, -717, 91, -717, 97, -717, -717,
529 -717, 7459, 7459, 7459, -717, 1667, -717, 79, -717, -717,
530 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
531 884, -717, -717, -717, -717, 123, 1010, 1010, 25, -717,
532 1010, 6491, 7459, 7459, 1780, 125, -717, -717, -717, 129,
533 7459, 141, 141, -717, -717, -717, 5474, -717, -717, -717,
534 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
535 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
536 -717, -717, -717, -717, -717, -717, -717, 131, -717, -717,
537 131, 128, -717, -717, -717, -717, -717, 158, -717, 155,
538 1667, 152, 161, -717, 171, -717, 1893, 1409, -40, 152,
539 -717, -717, 27, 164, -717, -717, 168, 7459, 4, -717,
540 -717, -717, 222, -717, 73, -717, -717, -717, 199, -717,
541 198, 207, 2006, 2006, 7459, 217, -717, -717, -717, 152,
542 6943, 232, -717, 1519, -717, -717, -717, -717, -717, -717,
543 -717, -717, 1632, -717, -717, -717, -717, 1745, 1858, -717,
544 -717, -717, 1971, -717, -717, -717, -717, -717, -717, -717,
545 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
546 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
547 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
548 -717, -717, -717, -717, -717, 2084, 2197, 2310, 2423, 2536,
549 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
550 -717, -717, -717, -717, -717, 2649, -717, 2762, 2875, 2988,
551 3101, 3214, 3327, -717, 3440, -717, -717, 3553, 3666, 3779,
552 3892, 4005, 4118, 4231, 4344, 4457, 4570, 4683, 4796, 4909,
553 5022, 5135, 5248, -717, -717, -717, -717, -717, -717, -717,
554 5361, 1010, -717, -717, -717, -717, -717, -717, -717, -717,
555 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
556 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
557 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
558 1010, -717, -717, -717, -717, -717, -717, -717, 80, 6491,
559 -717, -717, -717, -717, 7056, 6491, 201, 7588, -717, 139,
560 -717, 177, -717, -717, -717, -717, 241, 243, 243, 52,
561 52, 245, -717, 152, 1262, -717, 217, 251, 264, 283,
562 -717, -717, -717, -717, 1376, -717, 253, 164, -717, -717,
563 -717, -717, -717, 311, -717, -717, 292, -717, 202, 6717,
564 -717, 287, 216, 290, -717, -717, 218, 285, 294, -717,
565 6943, 6152, 6943, 7459, 6943, -717, -717, 43, -717, -717,
566 -717, -717, -717, 6378, -717, -717, 296, -717, 7459, -717,
567 -717, 299, 7588, 300, -717, -717, -717, -717, 567, 312,
568 -717, 6822, 7459, -717, -717, 6491, -717, -717, -717, -717,
569 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
570 -717, -717, -717, -717, 6491, 6491, 314, 1497, 6943, 6943,
571 -717, -717, -717, -717, 5700, -717, -717, -717, -717, -717,
572 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
573 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
574 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
575 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
576 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
577 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
578 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
579 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
580 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
581 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
582 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
583 -717, -717, -717, -717, 1136, -717, 56, 258, -717, -717,
584 -717, -717, -717, -717, -717, 5587, -717, -717, 6378, -717,
585 7564, -717, -717, 309, 7169, -717, -717, -717, 68, 317,
586 2006, 164, 291, 1667, 164, 297, 6378, 7459, 319, 318,
587 320, 7612, 324, 323, -717, 328, 341, 326, 335, 112,
588 -717, 338, 340, -717, -717, -717, 6705, 6943, 7228, -717,
589 253, 339, -717, -717, -717, 342, 7588, 345, 346, 7322,
590 -717, 348, 1780, 344, -717, -717, 6604, 408, 7459, 141,
591 141, -717, -717, 176, -717, -717, 350, -717, 300, 7612,
592 -717, -717, -717, -717, -717, -717, -717, -717, 349, 233,
593 -717, 23, -717, -717, -717, 44, 70, 76, 6924, -717,
594 -717, 6378, 6378, -717, 253, 249, -717, 253, 255, -717,
595 352, -717, -717, 353, 7612, -717, -717, 5813, -717, 6152,
596 -717, 6943, -717, 23, 6943, -717, 7459, 7341, -717, -717,
597 -717, -717, -717, 356, 357, -717, -717, -717, -717, 6491,
598 6491, 363, -717, 51, 365, -717, 344, 243, 243, -717,
599 284, 367, 284, 343, 6378, -717, 7540, -717, 7459, 2006,
600 -717, 6830, 164, 347, 164, 164, 192, 295, 237, 371,
601 7612, -717, -717, -717, -717, 374, 6265, -717, 375, 6943,
602 271, -717, 377, 296, 387, 1010, 7400, 7588, 7636, 397,
603 388, 392, 6943, 395, 365, 6943, 6943, -717, 284, -717,
604 23, 5700, -717, 6378, 396, 399, -717, -717, 400, -717,
605 -717, 371, -717, -717, -717, 7341, -717, 406, 6378, 23,
606 -717, 5926, 407, 411, -717, 331, -717, -717, -717, 410,
607 404, 419, 344, 414, -717, 418, -717, 40, -717, 7660,
608 425, 427, 164, 428, 23, 7160, 424, 435, -717, 436,
609 -717, -717, 104, -717, 439, 440, -717, 6943, -717, 451,
610 2006, 449, -717, 385, 453, 6378, 5813, 454, -717, 6152,
611 -717, -717, 456, 461, 464, 344, 458, 463, 2006, 459,
612 6039, 7047, 318, -717, -717, -717, 465, 6265, -717, -717,
613 466, 468, -717, 462, 469, 471, 481, 482, 480, -717,
614 -717, 5813, -717, 494, -717, 284, 489, 164, 23, 492,
615 6152, -717, 493, -717, 2006, -717, 490, -717, -717, -717,
616 495, 6039, 164, 499, -717, 500, -717
617 };
618
619 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
620 Performed when YYTABLE does not specify something else to do. Zero
621 means the default is an error. */
622 static const unsigned short int yydefact[] =
623 {
624 277, 396, 393, 397, 391, 392, 394, 388, 389, 387,
625 386, 378, 282, 281, 0, 0, 0, 0, 500, 377,
626 0, 0, 625, 283, 0, 0, 0, 278, 279, 285,
627 284, 286, 290, 517, 0, 374, 380, 379, 385, 400,
628 412, 384, 287, 288, 289, 417, 435, 437, 438, 0,
629 0, 449, 292, 291, 293, 0, 294, 0, 395, 390,
630 386, 0, 0, 0, 377, 0, 436, 422, 296, 307,
631 304, 306, 308, 309, 320, 317, 318, 315, 321, 316,
632 0, 319, 310, 311, 312, 0, 332, 332, 0, 300,
633 0, 0, 500, 500, 0, 0, 360, 365, 458, 364,
634 0, 508, 508, 33, 34, 613, 574, 24, 39, 38,
635 37, 35, 36, 32, 31, 25, 29, 28, 26, 27,
636 40, 582, 581, 579, 577, 578, 580, 576, 575, 583,
637 30, 611, 609, 608, 610, 607, 606, 381, 41, 42,
638 382, 383, 497, 541, 542, 543, 544, 0, 538, 0,
639 0, 0, 0, 627, 0, 626, 386, 0, 417, 0,
640 1, 280, 523, 510, 376, 459, 0, 518, 519, 521,
641 375, 402, 406, 404, 408, 401, 398, 413, 400, 399,
642 0, 0, 450, 450, 0, 0, 381, 382, 383, 0,
643 0, 0, 68, 43, 44, 45, 46, 47, 48, 49,
644 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
645 60, 61, 62, 63, 64, 65, 66, 67, 158, 159,
646 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
647 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
648 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
649 99, 100, 101, 102, 108, 106, 107, 105, 103, 104,
650 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
651 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
652 129, 130, 131, 132, 160, 133, 134, 135, 136, 137,
653 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
654 148, 149, 150, 151, 152, 156, 153, 154, 155, 157,
655 0, 332, 302, 297, 43, 52, 57, 58, 62, 106,
656 107, 105, 103, 104, 124, 126, 127, 128, 129, 130,
657 131, 160, 135, 136, 137, 138, 139, 140, 141, 142,
658 143, 144, 145, 146, 147, 148, 149, 150, 334, 305,
659 333, 298, 313, 314, 299, 301, 342, 343, 0, 0,
660 22, 23, 20, 21, 0, 0, 345, 303, 344, 381,
661 499, 382, 498, 361, 358, 366, 0, 0, 0, 0,
662 0, 0, 295, 0, 0, 426, 0, 0, 0, 0,
663 428, 526, 525, 524, 513, 461, 517, 510, 520, 522,
664 407, 403, 409, 410, 405, 414, 0, 415, 387, 517,
665 455, 0, 0, 452, 453, 456, 0, 476, 502, 474,
666 0, 625, 0, 0, 0, 619, 620, 0, 550, 553,
667 552, 554, 555, 0, 556, 429, 423, 424, 0, 421,
668 419, 0, 324, 325, 322, 335, 496, 495, 0, 0,
669 491, 0, 0, 340, 337, 347, 2, 3, 4, 5,
670 6, 7, 8, 9, 10, 11, 13, 12, 14, 15,
671 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
672 464, 463, 465, 462, 0, 427, 186, 161, 162, 163,
673 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
674 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
675 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
676 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
677 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
678 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
679 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
680 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
681 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
682 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
683 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
684 271, 273, 433, 434, 0, 431, 0, 0, 359, 416,
685 487, 485, 484, 486, 515, 0, 516, 514, 0, 488,
686 0, 478, 489, 0, 0, 518, 460, 411, 0, 457,
687 450, 510, 0, 0, 510, 0, 0, 503, 0, 0,
688 0, 602, 0, 0, 601, 42, 0, 0, 0, 0,
689 622, 0, 0, 596, 527, 551, 0, 0, 326, 420,
690 517, 0, 492, 494, 336, 0, 349, 0, 348, 0,
691 338, 0, 0, 504, 369, 362, 370, 0, 371, 508,
692 508, 368, 367, 487, 356, 357, 0, 352, 354, 353,
693 430, 432, 528, 546, 547, 548, 549, 545, 0, 0,
694 532, 625, 537, 539, 540, 613, 24, 0, 0, 482,
695 512, 0, 0, 511, 517, 0, 418, 517, 0, 441,
696 0, 454, 439, 0, 477, 475, 473, 0, 557, 625,
697 600, 0, 536, 625, 0, 621, 0, 597, 594, 618,
698 425, 327, 330, 0, 328, 493, 490, 341, 346, 0,
699 0, 0, 363, 0, 469, 466, 504, 0, 0, 351,
700 0, 0, 0, 534, 0, 480, 0, 481, 0, 450,
701 447, 0, 510, 0, 510, 510, 487, 0, 31, 30,
702 563, 568, 564, 566, 567, 41, 0, 603, 614, 0,
703 0, 623, 613, 599, 0, 332, 0, 350, 339, 0,
704 505, 0, 0, 0, 469, 373, 372, 529, 0, 533,
705 625, 0, 479, 0, 0, 0, 448, 445, 0, 442,
706 440, 0, 565, 588, 574, 597, 589, 0, 0, 625,
707 569, 625, 0, 0, 624, 0, 323, 329, 331, 0,
708 0, 0, 504, 470, 467, 0, 530, 0, 535, 483,
709 0, 0, 510, 0, 625, 0, 584, 0, 616, 615,
710 604, 558, 0, 509, 0, 0, 471, 0, 468, 0,
711 450, 0, 446, 0, 0, 0, 0, 0, 605, 625,
712 612, 595, 0, 0, 0, 504, 0, 0, 450, 0,
713 590, 0, 488, 586, 561, 559, 585, 0, 573, 617,
714 0, 0, 472, 0, 0, 0, 0, 0, 591, 592,
715 570, 0, 560, 0, 506, 0, 0, 510, 625, 0,
716 625, 587, 0, 531, 450, 443, 0, 571, 593, 507,
717 0, 590, 510, 0, 444, 0, 572
718 };
719
720 /* YYPGOTO[NTERM-NUM]. */
721 static const short int yypgoto[] =
722 {
723 -717, -334, -81, -2, -58, -717, -717, -717, 507, -717,
724 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
725 -717, -717, -84, -717, -284, -717, -717, -717, -276, -717,
726 -717, 370, -141, 35, -135, -174, -22, -14, -717, -717,
727 -717, 502, -717, -717, 361, -717, -717, -717, -717, 382,
728 -261, -717, -717, -177, -717, -121, -717, -63, 520, 37,
729 3, 45, -717, -717, -717, -717, -179, -717, -88, -10,
730 -32, -717, -717, 166, -350, -717, -257, -717, 7, -717,
731 -89, -359, -717, -79, -717, 101, -717, -440, -438, 214,
732 -717, -708, -83, -374, -717, -367, -27, -717, 383, -717,
733 -717, 529, -717, -209, -670, -716, -717, -717, 535, -717,
734 169, -384, -717, -355, -686, 148, -208, -717, -717, -691,
735 -717, -717, -319, -352, -717, -717, -717, -245, -717, -396,
736 -407, -400, -717, -717, -717, -717, -717, -717, -155, -20,
737 -687
738 };
739
740 /* YYDEFGOTO[NTERM-NUM]. */
741 static const short int yydefgoto[] =
742 {
743 -1, 712, 618, 163, 348, 602, 26, 27, 28, 29,
744 30, 85, 86, 87, 88, 354, 89, 90, 91, 312,
745 743, 744, 349, 350, 367, 667, 668, 31, 686, 687,
746 32, 95, 673, 674, 675, 33, 34, 35, 36, 37,
747 38, 39, 40, 41, 176, 401, 404, 179, 42, 181,
748 688, 43, 191, 793, 44, 603, 604, 605, 45, 46,
749 47, 98, 410, 49, 411, 50, 412, 413, 414, 51,
750 619, 52, 53, 481, 482, 677, 803, 843, 100, 418,
751 419, 641, 621, 622, 661, 450, 55, 101, 102, 142,
752 638, 754, 377, 395, 623, 166, 438, 168, 169, 393,
753 56, 57, 699, 700, 642, 701, 147, 702, 703, 704,
754 427, 428, 429, 893, 894, 895, 782, 783, 784, 138,
755 877, 896, 827, 907, 908, 430, 652, 794, 431, 909,
756 644, 139, 832, 859, 432, 433, 434, 649, 650, 646,
757 155
758 };
759
760 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
761 positive, shift that token. If negative, reduce the rule whose
762 number is the opposite. If YYTABLE_NINF, syntax error. */
763 static const short int yytable[] =
764 {
765 67, 165, 154, 351, 416, 99, 167, 54, 409, 409,
766 365, 164, 368, 436, 137, 140, 141, 653, 97, 378,
767 170, 645, 311, 626, 645, 643, 442, 478, 479, 624,
768 385, 763, 355, 475, 54, 620, 785, 679, 390, 680,
769 786, 781, 629, 655, 807, 48, 810, 66, 804, 443,
770 96, 352, 149, 162, 379, 48, 391, 380, 151, 186,
771 187, 188, 159, 58, 732, 59, 48, 153, 435, 48,
772 48, 160, 48, -387, 656, 451, 800, -387, 310, 402,
773 654, 454, 403, 480, 99, 180, 801, 826, 477, 366,
774 369, 371, 846, 692, 659, 785, 182, 97, 375, -386,
775 830, 716, 189, -24, 869, 11, 446, 447, 475, 764,
776 48, -449, 448, 190, 392, -438, -458, 475, -458, 183,
777 475, 105, 880, 143, 449, 689, 144, 184, 398, 373,
778 145, -387, 146, 185, 866, 420, 421, 422, 423, 424,
779 763, 425, 426, 735, 353, 628, 736, 99, 420, 421,
780 422, 423, 424, 313, 425, 426, 374, -386, 437, 856,
781 97, -449, -508, 64, -501, 397, 376, -508, 177, 4,
782 5, 666, 415, 415, -381, -501, 376, 902, 171, 172,
783 173, 381, 417, 174, 874, 785, 382, 383, 384, 897,
784 669, 670, 96, 66, 387, 48, 175, 386, 826, 923,
785 396, 48, 394, 171, 172, 173, 785, -355, 174, -355,
786 -355, 912, -382, -501, 131, 132, 133, 134, 135, 136,
787 785, 175, 655, -487, 897, -487, -487, 444, 400, 365,
788 406, 368, 679, 455, 680, -387, -387, 679, 407, 680,
789 1, 2, 3, 4, 5, 6, 7, 8, 926, 631,
790 632, 634, 635, 9, 823, 824, 708, 719, 60, 709,
791 722, 143, 485, 439, 144, 11, 761, 762, 145, 825,
792 146, 693, 694, 695, 696, 697, 476, 724, 365, 477,
793 368, 769, 770, 607, 365, 484, 368, 143, 772, 773,
794 144, 698, 445, 745, 145, 608, 146, 693, 694, 695,
795 696, 697, 162, 676, 834, 657, 370, 372, 366, 420,
796 421, 422, 423, 424, 609, 425, 426, 627, 440, 630,
797 61, 62, 63, 64, 633, 636, 659, 22, 637, 645,
798 657, 658, 475, 787, 663, 475, 475, 121, 122, 123,
799 124, 125, 126, 127, 128, 129, 671, 768, 713, 717,
800 771, 728, 766, 767, 730, 720, 726, 366, 727, 150,
801 731, 723, 453, 366, 729, 732, 733, 734, 780, 625,
802 737, 738, 746, 751, 365, 747, 368, 165, 748, 753,
803 749, 759, 167, 811, 760, 774, 775, 164, 639, 795,
804 647, 796, 651, 365, 365, 368, 368, 799, 817, 802,
805 819, 820, 808, 828, 821, 812, 829, 805, 806, 831,
806 -598, 818, 1, 2, 3, 4, 5, 6, 7, 8,
807 835, 648, 839, 840, 841, 9, 844, 780, 862, 850,
808 60, 645, 851, 852, 660, 858, 397, 11, 854, 864,
809 860, 707, 861, 863, 865, 755, 681, 682, 867, 868,
810 665, 718, 689, 366, 849, 881, 409, 870, 876, 409,
811 871, 873, 882, 475, 475, 797, 798, 99, 878, 855,
812 879, 883, 366, 366, 884, 886, 823, 824, 872, 645,
813 97, 888, 889, 899, 678, 890, 900, 898, 731, 901,
814 645, 903, 92, 93, 18, 64, 904, 915, 676, 911,
815 913, 914, 916, 676, 917, 1, 2, 3, 4, 5,
816 6, 7, 8, 918, 920, 919, 891, 780, 9, 922,
817 645, 924, 931, 60, 928, 927, 929, 388, 932, 672,
818 11, 645, 935, 936, 161, 848, 756, 752, 780, 405,
819 389, 691, 178, 925, 158, 721, 483, 845, 725, 662,
820 152, 399, 780, 809, 148, 606, 921, 790, 934, 121,
821 122, 123, 124, 125, 126, 127, 128, 129, 640, 822,
822 906, 1, 2, 3, 4, 5, 6, 7, 8, 933,
823 853, 791, 0, 0, 9, 61, 62, 63, 64, 60,
824 815, 0, 0, 446, 447, 409, 757, 758, 0, 0,
825 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
826 0, 449, 0, 0, 9, 0, 0, 0, 0, 60,
827 415, 0, 715, 415, 65, 740, 0, 0, 0, 0,
828 0, 0, 0, 625, 0, 417, 0, 0, 0, 0,
829 0, 0, 0, 0, 165, 0, 0, 0, 0, 167,
830 0, 61, 62, 63, 164, 0, 742, 0, 0, 0,
831 0, 0, 99, 0, 0, 0, 0, 99, 365, 365,
832 368, 368, 0, 0, 0, 97, 375, 0, 0, 678,
833 97, 61, 62, 63, 678, 164, 0, 625, 0, 0,
834 625, 887, 0, 0, 0, 0, 409, 0, 0, 788,
835 0, 0, 437, 0, 0, 437, 0, 0, 0, 905,
836 0, 836, 0, 789, 409, 0, 0, 1, 2, 3,
837 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
838 9, 0, 0, 0, 648, 10, 0, 0, 0, 0,
839 0, 0, 11, 12, 13, 930, 0, 366, 366, 0,
840 409, 0, 0, 0, 14, 0, 0, 833, 0, 415,
841 0, 0, 0, 0, 0, 0, 814, 0, 0, 715,
842 842, 68, 0, 681, 682, 0, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 847, 0, 0, 437, 838, 0, 15, 16, 17, 18,
845 19, 20, 21, 0, 22, 0, 0, 69, 70, 71,
846 72, 73, 74, 75, 76, 77, 78, 79, 80, 0,
847 81, 82, 83, 84, 0, 0, 0, 0, 0, 23,
848 0, 0, 0, 0, 24, 885, 25, 0, 0, 0,
849 0, 0, 0, 0, 892, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 415, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 415, 892,
853 0, 0, 0, 0, 192, 0, 0, 193, 194, 195,
854 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
855 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
856 216, 217, 218, 219, 415, 220, 221, 222, 223, 224,
857 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
858 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
859 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
860 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
861 265, 266, 267, 268, 0, 269, 0, 270, 271, 272,
862 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
863 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
864 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
865 303, 0, 0, 304, 0, 305, 306, 307, 308, 309,
866 192, 0, 0, 314, 194, 195, 196, 197, 198, 199,
867 200, 201, 315, 203, 204, 205, 206, 316, 317, 209,
868 210, 211, 318, 213, 214, 215, 216, 217, 218, 219,
869 0, 220, 221, 222, 223, 224, 225, 226, 227, 228,
870 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
871 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
872 249, 250, 251, 252, 253, 254, 319, 320, 321, 322,
873 323, 260, 261, 262, 263, 264, 265, 266, 267, 268,
874 0, 269, 0, 270, 271, 272, 273, 274, 324, 276,
875 325, 326, 327, 328, 329, 330, 283, 331, 285, 286,
876 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
877 342, 343, 344, 345, 346, 347, 303, 0, 0, 304,
878 0, 305, 306, 307, 308, 309, 486, 0, 0, 487,
879 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
880 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
881 508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
882 517, 518, 384, 690, 519, 520, 521, 522, 523, 524,
883 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
884 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
885 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
886 555, 556, 557, 558, 559, 560, 0, 561, 0, 562,
887 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
888 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
889 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
890 593, 594, 595, 0, 0, 596, 0, 597, 598, 599,
891 600, 601, 486, 0, 0, 487, 488, 489, 490, 491,
892 492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
893 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
894 512, 513, 0, 514, 515, 516, 517, 518, 384, 0,
895 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
896 529, 530, 531, 532, 533, 534, 535, 536, 537, 538,
897 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
898 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
899 559, 560, 0, 561, 0, 562, 563, 564, 565, 566,
900 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
901 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
902 587, 588, 589, 590, 591, 592, 593, 594, 595, 103,
903 0, 596, 0, 597, 598, 599, 600, 601, 104, 0,
904 0, 0, 0, 105, 106, 610, 0, 0, 107, 611,
905 0, 612, 0, 613, 358, 614, 0, 0, 615, 0,
906 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
907 8, 0, 0, 360, 361, 162, 9, 0, 0, 0,
908 0, 60, 0, 0, 0, 0, 362, 363, 11, 0,
909 0, 0, 108, 109, 110, 111, 112, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 616, 113, 0, 114, 115, 116, 117,
912 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
913 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
914 135, 136, 0, 92, 93, 18, 64, 0, 0, 0,
915 617, 1, 2, 3, 4, 5, 6, 7, 8, 0,
916 0, 0, 0, 0, 9, 0, 0, 0, 0, 60,
917 0, 0, -33, 0, 0, 0, 11, 0, 0, 0,
918 94, -33, 0, 0, 0, 0, -33, -33, 0, 0,
919 0, -33, 0, 0, -33, -33, -33, -33, 0, 0,
920 0, -33, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, -33, -33, 0, 0,
922 0, 0, 0, 0, 0, 0, 0, 0, 0, -33,
923 -33, 92, 93, 18, 64, -33, -33, -33, -33, -33,
924 0, 0, 0, 0, 0, 0, 0, -33, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, -33, 0, -33,
926 -33, -33, -33, -33, -33, 0, -33, 0, 672, -33,
927 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
928 -33, -33, -33, -33, -33, -34, 0, -33, 0, 0,
929 0, 0, 0, 0, -34, 0, 0, 0, 0, -34,
930 -34, 0, 0, 0, -34, 0, 0, -34, -34, -34,
931 -34, 0, 0, 0, -34, 0, 0, 0, 0, 0,
932 0, 1, 2, 3, 4, 5, 6, 7, 8, -34,
933 -34, 0, 0, 0, 9, 0, 0, 0, 0, 60,
934 0, 0, -34, -34, 0, 0, 11, 0, -34, -34,
935 -34, -34, -34, 0, 0, 0, 0, 0, 0, 0,
936 -34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 -34, 0, -34, -34, -34, -34, -34, -34, 0, -34,
938 0, 0, -34, -34, -34, -34, -34, -34, -34, -34,
939 -34, -34, -34, -34, -34, -34, -34, -34, -57, 0,
940 -34, 61, 62, 63, 64, 0, 0, -57, 0, 0,
941 0, 0, -57, -57, 0, 0, 0, -57, 0, 0,
942 -57, -57, -57, -57, 0, 0, 0, -57, 0, 0,
943 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
944 7, 8, -57, -57, 0, 0, 0, 9, 0, 0,
945 0, 0, 60, 0, 0, -57, -57, 0, 0, 11,
946 0, -57, -57, -57, -57, -57, 0, 0, 0, 0,
947 0, 0, 0, -57, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, -57, 0, -57, -57, -57, -57, -57,
949 -57, 0, -57, 0, 0, -57, -57, -57, -57, -57,
950 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
951 -57, -58, 0, -613, 92, 93, 18, 64, 0, 0,
952 -58, 0, 0, 0, 0, -58, -58, 0, 0, 0,
953 -58, 0, 0, -58, -58, -58, -58, 0, 0, 0,
954 -58, 0, 0, 0, 0, 0, 0, 1, 2, 3,
955 4, 5, 6, 7, 8, -58, -58, 0, 0, 0,
956 9, 0, 0, 0, 0, 60, 0, 0, -58, -58,
957 0, 0, 11, 0, -58, -58, -58, -58, -58, 0,
958 0, 0, 0, 0, 0, 0, -58, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, -58, 0, -58, -58,
960 -58, -58, -58, -58, 0, -58, 0, 0, -58, -58,
961 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
962 -58, -58, -58, -58, -24, 0, -574, 61, 62, 63,
963 64, 0, 0, -24, 0, 0, 0, 0, -24, -24,
964 0, 0, 0, -24, 0, 0, -24, -24, -24, -24,
965 0, 0, 0, -24, 0, 0, 0, 0, 0, 0,
966 1, 2, 3, 4, 5, 6, 7, 8, -24, -24,
967 0, 0, 0, 408, 0, 0, 0, 0, 60, 0,
968 0, -24, -24, 0, 0, 11, 0, -24, -24, -24,
969 -24, -24, 0, 0, 0, 0, 0, 0, 0, -24,
970 0, 0, 0, 0, 0, 0, 0, 0, 0, -24,
971 0, -24, -24, -24, -24, -24, -24, 0, -24, 0,
972 0, -24, -24, -24, -24, -24, -24, -24, -24, -24,
973 -24, -24, -24, -24, -24, -24, -24, -39, 0, -24,
974 61, 62, 63, 64, 0, 0, -39, 0, 0, 0,
975 0, -39, -39, 0, 0, 0, -39, 0, 0, -39,
976 -39, -39, -39, 0, 0, 0, -39, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
978 0, -39, -39, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, -39, -39, 0, 0, 0, 0,
980 -39, -39, -39, -39, -39, 0, 0, 0, 0, 0,
981 0, 0, -39, 0, 0, 0, 0, 0, 0, 0,
982 0, 0, -39, 0, -39, -39, -39, -39, -39, -39,
983 0, -39, 0, 0, -39, -39, -39, -39, -39, -39,
984 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
985 -38, 0, -39, 0, 0, 0, 0, 0, 0, -38,
986 0, 0, 0, 0, -38, -38, 0, 0, 0, -38,
987 0, 0, -38, -38, -38, -38, 0, 0, 0, -38,
988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, -38, -38, 0, 0, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, -38, -38, 0,
991 0, 0, 0, -38, -38, -38, -38, -38, 0, 0,
992 0, 0, 0, 0, 0, -38, 0, 0, 0, 0,
993 0, 0, 0, 0, 0, -38, 0, -38, -38, -38,
994 -38, -38, -38, 0, -38, 0, 0, -38, -38, -38,
995 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
996 -38, -38, -38, -37, 0, -38, 0, 0, 0, 0,
997 0, 0, -37, 0, 0, 0, 0, -37, -37, 0,
998 0, 0, -37, 0, 0, -37, -37, -37, -37, 0,
999 0, 0, -37, 0, 0, 0, 0, 0, 0, 0,
1000 0, 0, 0, 0, 0, 0, 0, -37, -37, 0,
1001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 -37, -37, 0, 0, 0, 0, -37, -37, -37, -37,
1003 -37, 0, 0, 0, 0, 0, 0, 0, -37, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, -37, 0,
1005 -37, -37, -37, -37, -37, -37, 0, -37, 0, 0,
1006 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1007 -37, -37, -37, -37, -37, -37, -35, 0, -37, 0,
1008 0, 0, 0, 0, 0, -35, 0, 0, 0, 0,
1009 -35, -35, 0, 0, 0, -35, 0, 0, -35, -35,
1010 -35, -35, 0, 0, 0, -35, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 -35, -35, 0, 0, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, -35, -35, 0, 0, 0, 0, -35,
1014 -35, -35, -35, -35, 0, 0, 0, 0, 0, 0,
1015 0, -35, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, -35, 0, -35, -35, -35, -35, -35, -35, 0,
1017 -35, 0, 0, -35, -35, -35, -35, -35, -35, -35,
1018 -35, -35, -35, -35, -35, -35, -35, -35, -35, -36,
1019 0, -35, 0, 0, 0, 0, 0, 0, -36, 0,
1020 0, 0, 0, -36, -36, 0, 0, 0, -36, 0,
1021 0, -36, -36, -36, -36, 0, 0, 0, -36, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, -36, -36, 0, 0, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, -36, -36, 0, 0,
1025 0, 0, -36, -36, -36, -36, -36, 0, 0, 0,
1026 0, 0, 0, 0, -36, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, -36, 0, -36, -36, -36, -36,
1028 -36, -36, 0, -36, 0, 0, -36, -36, -36, -36,
1029 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1030 -36, -36, -32, 0, -36, 0, 0, 0, 0, 0,
1031 0, -32, 0, 0, 0, 0, -32, -32, 0, 0,
1032 0, -32, 0, 0, -32, -32, -32, -32, 0, 0,
1033 0, -32, 0, 0, 0, 0, 0, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, -32, -32, 0, 0,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, -32,
1036 -32, 0, 0, 0, 0, -32, -32, -32, -32, -32,
1037 0, 0, 0, 0, 0, 0, 0, -32, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, -32, 0, -32,
1039 -32, -32, -32, -32, -32, 0, -32, 0, 0, -32,
1040 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1041 -32, -32, -32, -32, -32, -31, 0, -32, 0, 0,
1042 0, 0, 0, 0, -31, 0, 0, 0, 0, -31,
1043 -31, 0, 0, 0, -31, 0, 0, -31, -31, -31,
1044 -31, 0, 0, 0, -31, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, -31,
1046 -31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, -31, -31, 0, 0, 0, 0, -31, -31,
1048 -31, -31, -31, 0, 0, 0, 0, 0, 0, 0,
1049 -31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050 -31, 0, -31, -31, -31, -31, -31, -31, 0, -31,
1051 0, 0, -31, -31, -31, -31, -31, -31, -31, -31,
1052 -31, -31, -31, -31, -31, -31, -31, -31, -25, 0,
1053 -31, 0, 0, 0, 0, 0, 0, -25, 0, 0,
1054 0, 0, -25, -25, 0, 0, 0, -25, 0, 0,
1055 -25, -25, -25, -25, 0, 0, 0, -25, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, -25, -25, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, -25, -25, 0, 0, 0,
1059 0, -25, -25, -25, -25, -25, 0, 0, 0, 0,
1060 0, 0, 0, -25, 0, 0, 0, 0, 0, 0,
1061 0, 0, 0, -25, 0, -25, -25, -25, -25, -25,
1062 -25, 0, -25, 0, 0, -25, -25, -25, -25, -25,
1063 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1064 -25, -29, 0, -25, 0, 0, 0, 0, 0, 0,
1065 -29, 0, 0, 0, 0, -29, -29, 0, 0, 0,
1066 -29, 0, 0, -29, -29, -29, -29, 0, 0, 0,
1067 -29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 0, -29, -29, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, -29, -29,
1070 0, 0, 0, 0, -29, -29, -29, -29, -29, 0,
1071 0, 0, 0, 0, 0, 0, -29, 0, 0, 0,
1072 0, 0, 0, 0, 0, 0, -29, 0, -29, -29,
1073 -29, -29, -29, -29, 0, -29, 0, 0, -29, -29,
1074 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1075 -29, -29, -29, -29, -28, 0, -29, 0, 0, 0,
1076 0, 0, 0, -28, 0, 0, 0, 0, -28, -28,
1077 0, 0, 0, -28, 0, 0, -28, -28, -28, -28,
1078 0, 0, 0, -28, 0, 0, 0, 0, 0, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0, -28, -28,
1080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, -28, -28, 0, 0, 0, 0, -28, -28, -28,
1082 -28, -28, 0, 0, 0, 0, 0, 0, 0, -28,
1083 0, 0, 0, 0, 0, 0, 0, 0, 0, -28,
1084 0, -28, -28, -28, -28, -28, -28, 0, -28, 0,
1085 0, -28, -28, -28, -28, -28, -28, -28, -28, -28,
1086 -28, -28, -28, -28, -28, -28, -28, -26, 0, -28,
1087 0, 0, 0, 0, 0, 0, -26, 0, 0, 0,
1088 0, -26, -26, 0, 0, 0, -26, 0, 0, -26,
1089 -26, -26, -26, 0, 0, 0, -26, 0, 0, 0,
1090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091 0, -26, -26, 0, 0, 0, 0, 0, 0, 0,
1092 0, 0, 0, 0, -26, -26, 0, 0, 0, 0,
1093 -26, -26, -26, -26, -26, 0, 0, 0, 0, 0,
1094 0, 0, -26, 0, 0, 0, 0, 0, 0, 0,
1095 0, 0, -26, 0, -26, -26, -26, -26, -26, -26,
1096 0, -26, 0, 0, -26, -26, -26, -26, -26, -26,
1097 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1098 -27, 0, -26, 0, 0, 0, 0, 0, 0, -27,
1099 0, 0, 0, 0, -27, -27, 0, 0, 0, -27,
1100 0, 0, -27, -27, -27, -27, 0, 0, 0, -27,
1101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1102 0, 0, 0, 0, -27, -27, 0, 0, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, -27, -27, 0,
1104 0, 0, 0, -27, -27, -27, -27, -27, 0, 0,
1105 0, 0, 0, 0, 0, -27, 0, 0, 0, 0,
1106 0, 0, 0, 0, 0, -27, 0, -27, -27, -27,
1107 -27, -27, -27, 0, -27, 0, 0, -27, -27, -27,
1108 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1109 -27, -27, -27, -40, 0, -27, 0, 0, 0, 0,
1110 0, 0, -40, 0, 0, 0, 0, -40, -40, 0,
1111 0, 0, -40, 0, 0, -40, -40, -40, -40, 0,
1112 0, 0, -40, 0, 0, 0, 0, 0, 0, 0,
1113 0, 0, 0, 0, 0, 0, 0, -40, -40, 0,
1114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 -40, -40, 0, 0, 0, 0, -40, -40, -40, -40,
1116 -40, 0, 0, 0, 0, 0, 0, 0, -40, 0,
1117 0, 0, 0, 0, 0, 0, 0, 0, -40, 0,
1118 -40, -40, -40, -40, -40, -40, 0, -40, 0, 0,
1119 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1120 -40, -40, -40, -40, -40, -40, -135, 0, -40, 0,
1121 0, 0, 0, 0, 0, -135, 0, 0, 0, 0,
1122 -135, -135, 0, 0, 0, -135, 0, 0, -135, -135,
1123 -135, -135, 0, 0, 0, -135, 0, 0, 0, 0,
1124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1125 -135, -135, 0, 0, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, -135, -135, 0, 0, 0, 0, -135,
1127 -135, -135, -135, -135, 0, 0, 0, 0, 0, 0,
1128 0, -135, 0, 0, 0, 0, 0, 0, 0, 0,
1129 0, -135, 0, -135, -135, -135, -135, -135, -135, 0,
1130 -135, 0, 0, -135, -135, -135, -135, -135, -135, -135,
1131 -135, -135, -135, -135, -135, -135, -135, -135, -135, -136,
1132 0, -582, 0, 0, 0, 0, 0, 0, -136, 0,
1133 0, 0, 0, -136, -136, 0, 0, 0, -136, 0,
1134 0, -136, -136, -136, -136, 0, 0, 0, -136, 0,
1135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1136 0, 0, 0, -136, -136, 0, 0, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, -136, -136, 0, 0,
1138 0, 0, -136, -136, -136, -136, -136, 0, 0, 0,
1139 0, 0, 0, 0, -136, 0, 0, 0, 0, 0,
1140 0, 0, 0, 0, -136, 0, -136, -136, -136, -136,
1141 -136, -136, 0, -136, 0, 0, -136, -136, -136, -136,
1142 -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
1143 -136, -136, -137, 0, -581, 0, 0, 0, 0, 0,
1144 0, -137, 0, 0, 0, 0, -137, -137, 0, 0,
1145 0, -137, 0, 0, -137, -137, -137, -137, 0, 0,
1146 0, -137, 0, 0, 0, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, -137, -137, 0, 0,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, -137,
1149 -137, 0, 0, 0, 0, -137, -137, -137, -137, -137,
1150 0, 0, 0, 0, 0, 0, 0, -137, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, -137, 0, -137,
1152 -137, -137, -137, -137, -137, 0, -137, 0, 0, -137,
1153 -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1154 -137, -137, -137, -137, -137, -138, 0, -579, 0, 0,
1155 0, 0, 0, 0, -138, 0, 0, 0, 0, -138,
1156 -138, 0, 0, 0, -138, 0, 0, -138, -138, -138,
1157 -138, 0, 0, 0, -138, 0, 0, 0, 0, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0, 0, -138,
1159 -138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, -138, -138, 0, 0, 0, 0, -138, -138,
1161 -138, -138, -138, 0, 0, 0, 0, 0, 0, 0,
1162 -138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1163 -138, 0, -138, -138, -138, -138, -138, -138, 0, -138,
1164 0, 0, -138, -138, -138, -138, -138, -138, -138, -138,
1165 -138, -138, -138, -138, -138, -138, -138, -138, -139, 0,
1166 -577, 0, 0, 0, 0, 0, 0, -139, 0, 0,
1167 0, 0, -139, -139, 0, 0, 0, -139, 0, 0,
1168 -139, -139, -139, -139, 0, 0, 0, -139, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, -139, -139, 0, 0, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, -139, -139, 0, 0, 0,
1172 0, -139, -139, -139, -139, -139, 0, 0, 0, 0,
1173 0, 0, 0, -139, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, -139, 0, -139, -139, -139, -139, -139,
1175 -139, 0, -139, 0, 0, -139, -139, -139, -139, -139,
1176 -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1177 -139, -140, 0, -578, 0, 0, 0, 0, 0, 0,
1178 -140, 0, 0, 0, 0, -140, -140, 0, 0, 0,
1179 -140, 0, 0, -140, -140, -140, -140, 0, 0, 0,
1180 -140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1181 0, 0, 0, 0, 0, -140, -140, 0, 0, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, -140, -140,
1183 0, 0, 0, 0, -140, -140, -140, -140, -140, 0,
1184 0, 0, 0, 0, 0, 0, -140, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, -140, 0, -140, -140,
1186 -140, -140, -140, -140, 0, -140, 0, 0, -140, -140,
1187 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1188 -140, -140, -140, -140, -141, 0, -580, 0, 0, 0,
1189 0, 0, 0, -141, 0, 0, 0, 0, -141, -141,
1190 0, 0, 0, -141, 0, 0, -141, -141, -141, -141,
1191 0, 0, 0, -141, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0, -141, -141,
1193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, -141, -141, 0, 0, 0, 0, -141, -141, -141,
1195 -141, -141, 0, 0, 0, 0, 0, 0, 0, -141,
1196 0, 0, 0, 0, 0, 0, 0, 0, 0, -141,
1197 0, -141, -141, -141, -141, -141, -141, 0, -141, 0,
1198 0, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1199 -141, -141, -141, -141, -141, -141, -141, -142, 0, -576,
1200 0, 0, 0, 0, 0, 0, -142, 0, 0, 0,
1201 0, -142, -142, 0, 0, 0, -142, 0, 0, -142,
1202 -142, -142, -142, 0, 0, 0, -142, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, -142, -142, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, -142, -142, 0, 0, 0, 0,
1206 -142, -142, -142, -142, -142, 0, 0, 0, 0, 0,
1207 0, 0, -142, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, -142, 0, -142, -142, -142, -142, -142, -142,
1209 0, -142, 0, 0, -142, -142, -142, -142, -142, -142,
1210 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1211 -143, 0, -575, 0, 0, 0, 0, 0, 0, -143,
1212 0, 0, 0, 0, -143, -143, 0, 0, 0, -143,
1213 0, 0, -143, -143, -143, -143, 0, 0, 0, -143,
1214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, -143, -143, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, -143, -143, 0,
1217 0, 0, 0, -143, -143, -143, -143, -143, 0, 0,
1218 0, 0, 0, 0, 0, -143, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, -143, 0, -143, -143, -143,
1220 -143, -143, -143, 0, -143, 0, 0, -143, -143, -143,
1221 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1222 -143, -143, -143, -30, 0, -583, 0, 0, 0, 0,
1223 0, 0, -30, 0, 0, 0, 0, -30, -30, 0,
1224 0, 0, -30, 0, 0, -30, -30, -30, -30, 0,
1225 0, 0, -30, 0, 0, 0, 0, 0, 0, 0,
1226 0, 0, 0, 0, 0, 0, 0, -30, -30, 0,
1227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 -30, -30, 0, 0, 0, 0, -30, -30, -30, -30,
1229 -30, 0, 0, 0, 0, 0, 0, 0, -30, 0,
1230 0, 0, 0, 0, 0, 0, 0, 0, -30, 0,
1231 -30, -30, -30, -30, -30, -30, 0, -30, 0, 0,
1232 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1233 -30, -30, -30, -30, -30, -30, -145, 0, -30, 0,
1234 0, 0, 0, 0, 0, -145, 0, 0, 0, 0,
1235 -145, -145, 0, 0, 0, -145, 0, 0, -145, -145,
1236 -145, -145, 0, 0, 0, -145, 0, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238 -145, -145, 0, 0, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, -145, -145, 0, 0, 0, 0, -145,
1240 -145, -145, -145, -145, 0, 0, 0, 0, 0, 0,
1241 0, -145, 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, -145, 0, -145, -145, -145, -145, -145, -145, 0,
1243 -145, 0, 0, -145, -145, -145, -145, -145, -145, -145,
1244 -145, -145, -145, -145, -145, -145, -145, -145, -145, -146,
1245 0, -611, 0, 0, 0, 0, 0, 0, -146, 0,
1246 0, 0, 0, -146, -146, 0, 0, 0, -146, 0,
1247 0, -146, -146, -146, -146, 0, 0, 0, -146, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, -146, -146, 0, 0, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, -146, -146, 0, 0,
1251 0, 0, -146, -146, -146, -146, -146, 0, 0, 0,
1252 0, 0, 0, 0, -146, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, -146, 0, -146, -146, -146, -146,
1254 -146, -146, 0, -146, 0, 0, -146, -146, -146, -146,
1255 -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1256 -146, -146, -147, 0, -609, 0, 0, 0, 0, 0,
1257 0, -147, 0, 0, 0, 0, -147, -147, 0, 0,
1258 0, -147, 0, 0, -147, -147, -147, -147, 0, 0,
1259 0, -147, 0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 0, -147, -147, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, -147,
1262 -147, 0, 0, 0, 0, -147, -147, -147, -147, -147,
1263 0, 0, 0, 0, 0, 0, 0, -147, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, -147, 0, -147,
1265 -147, -147, -147, -147, -147, 0, -147, 0, 0, -147,
1266 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1267 -147, -147, -147, -147, -147, -148, 0, -608, 0, 0,
1268 0, 0, 0, 0, -148, 0, 0, 0, 0, -148,
1269 -148, 0, 0, 0, -148, 0, 0, -148, -148, -148,
1270 -148, 0, 0, 0, -148, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0, 0, -148,
1272 -148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, -148, -148, 0, 0, 0, 0, -148, -148,
1274 -148, -148, -148, 0, 0, 0, 0, 0, 0, 0,
1275 -148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1276 -148, 0, -148, -148, -148, -148, -148, -148, 0, -148,
1277 0, 0, -148, -148, -148, -148, -148, -148, -148, -148,
1278 -148, -148, -148, -148, -148, -148, -148, -148, -149, 0,
1279 -610, 0, 0, 0, 0, 0, 0, -149, 0, 0,
1280 0, 0, -149, -149, 0, 0, 0, -149, 0, 0,
1281 -149, -149, -149, -149, 0, 0, 0, -149, 0, 0,
1282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1283 0, 0, -149, -149, 0, 0, 0, 0, 0, 0,
1284 0, 0, 0, 0, 0, -149, -149, 0, 0, 0,
1285 0, -149, -149, -149, -149, -149, 0, 0, 0, 0,
1286 0, 0, 0, -149, 0, 0, 0, 0, 0, 0,
1287 0, 0, 0, -149, 0, -149, -149, -149, -149, -149,
1288 -149, 0, -149, 0, 0, -149, -149, -149, -149, -149,
1289 -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1290 -149, -150, 0, -607, 0, 0, 0, 0, 0, 0,
1291 -150, 0, 0, 0, 0, -150, -150, 0, 0, 0,
1292 -150, 0, 0, -150, -150, -150, -150, 0, 0, 0,
1293 -150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1294 0, 0, 0, 0, 0, -150, -150, 0, 0, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, -150, -150,
1296 0, 0, 0, 0, -150, -150, -150, -150, -150, 0,
1297 0, 0, 0, 0, 0, 0, -150, 0, 0, 0,
1298 0, 0, 0, 0, 0, 0, -150, 0, -150, -150,
1299 -150, -150, -150, -150, 0, -150, 0, 0, -150, -150,
1300 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1301 -150, -150, -150, -150, 103, 0, -606, 0, 0, 0,
1302 0, 0, 0, 104, 0, 0, 0, 0, 105, 106,
1303 0, 0, 0, 107, 0, 0, 356, 440, 357, 358,
1304 0, 0, 0, 359, 0, 0, 0, 0, 0, 0,
1305 0, 0, 0, 0, 0, 0, 0, 0, 360, 361,
1306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1307 0, 362, 363, 0, 0, 0, 0, 108, 109, 110,
1308 111, 112, 0, 0, 0, 0, 0, 0, 0, 364,
1309 0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
1310 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1311 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1312 130, 131, 132, 133, 134, 135, 136, -574, 0, 441,
1313 0, 0, 0, 0, 0, 0, -574, 0, 0, 0,
1314 0, -574, -574, 0, 0, 0, -574, 0, 0, 0,
1315 0, 0, 0, -574, -574, -574, -574, -574, -574, -574,
1316 -574, -574, -574, -574, -574, 0, -574, -574, -574, -574,
1317 -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
1318 -574, -574, -574, -574, 0, 0, 0, 0, 0, -574,
1319 -574, -574, -574, -574, -574, 1, 2, 3, 4, 5,
1320 6, 7, 8, 0, 0, 0, 0, 0, 9, 0,
1321 0, -574, -574, 156, -574, -574, -574, -574, -574, -574,
1322 11, -574, 0, 0, -574, -574, -574, -574, -574, -574,
1323 -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
1324 103, 1, 2, 3, 4, 5, 6, 7, 8, 104,
1325 0, 0, 0, 0, 705, 106, 610, 0, 0, 706,
1326 611, 0, 612, 0, 613, 358, 11, 0, 0, 615,
1327 0, 0, 0, 0, 157, 61, 62, 63, 64, 0,
1328 0, 0, 0, 0, 360, 361, 162, 0, 0, 0,
1329 0, 0, 0, 0, 0, 0, 0, 362, 363, 0,
1330 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1332 0, 61, 62, 63, 64, 113, 0, 114, 115, 116,
1333 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1334 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1335 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1336 0, 0, 104, 0, 0, 0, 0, 105, 106, 683,
1337 684, 685, 107, 611, 0, 612, 440, 613, 358, 0,
1338 0, 0, 615, 0, 0, 0, 0, 0, 0, 0,
1339 0, 0, 0, 0, 0, 0, 0, 360, 361, 162,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 362, 363, 0, 0, 0, 0, 108, 109, 110, 111,
1342 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1343 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
1344 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1345 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1346 131, 132, 133, 134, 135, 136, 103, 0, 0, 0,
1347 0, 0, 0, 0, 0, 104, 0, 0, 0, 0,
1348 105, 106, 776, 0, 0, 107, 611, 0, 612, 0,
1349 613, 358, 0, 0, 0, 615, 0, 0, 0, 0,
1350 0, 0, 0, 0, 0, 0, 0, 153, 0, 0,
1351 360, 361, 162, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 362, 363, 0, 0, 0, 0, 108,
1353 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 113, 777, 778, 115, 116, 117, 118, 119, 0,
1356 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1357 128, 129, 779, 131, 132, 133, 134, 135, 136, 103,
1358 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1359 0, 0, 0, 105, 106, 610, 0, 0, 107, 611,
1360 0, 612, 0, 613, 358, 0, 0, 0, 615, 0,
1361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1362 153, 0, 0, 360, 361, 162, 0, 0, 0, 0,
1363 0, 0, 0, 0, 0, 0, 362, 363, 0, 0,
1364 857, 0, 108, 109, 110, 111, 112, 0, 0, 0,
1365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1366 0, 0, 0, 0, 113, 0, 114, 115, 116, 117,
1367 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
1368 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1369 135, 136, 103, 0, 0, 0, 0, 0, 0, 0,
1370 0, 104, 0, 0, 0, 0, 105, 106, 610, 0,
1371 0, 107, 611, -625, 612, 0, 613, 358, 0, 0,
1372 0, 615, 0, 0, 0, 0, 0, 0, 0, 0,
1373 0, 0, 0, 153, 0, 0, 360, 361, 162, 0,
1374 0, 0, 0, 0, 0, 0, 0, 0, 0, 362,
1375 363, 0, 0, 0, 0, 108, 109, 110, 111, 112,
1376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1377 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1378 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1379 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1380 132, 133, 134, 135, 136, 103, 0, 0, 0, 0,
1381 0, 0, 0, 0, 104, 0, 0, 0, 0, 105,
1382 106, 610, 0, 0, 107, 611, 0, 612, 0, 613,
1383 358, 0, 0, 0, 615, 0, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 153, 0, 0, 360,
1385 361, 162, 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 362, 363, 0, 0, 0, 0, 108, 109,
1387 110, 111, 112, 0, 0, 0, 0, 0, 0, 0,
1388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1389 113, 0, 114, 115, 116, 117, 118, 119, 0, 120,
1390 0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1391 129, 130, 131, 132, 133, 134, 135, 136, 103, 0,
1392 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1393 0, 0, 105, 106, 776, 0, 0, 107, 611, 0,
1394 612, 0, 613, 358, 0, 0, 0, 615, 0, 0,
1395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 360, 361, 162, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 362, 363, 0, 0, 0,
1398 0, 108, 109, 110, 111, 112, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400 0, 0, 0, 113, 777, 778, 115, 116, 117, 118,
1401 119, 0, 120, 0, 0, 121, 122, 123, 124, 125,
1402 126, 127, 128, 129, 779, 131, 132, 133, 134, 135,
1403 136, 103, 0, 0, 0, 0, 0, 0, 0, 0,
1404 104, 0, 0, 0, 0, 105, 106, 610, 0, 0,
1405 107, 611, 0, 612, 0, 613, 358, 0, 0, 0,
1406 615, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 360, 361, 162, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 362, 363,
1409 0, 0, 0, 0, 108, 109, 110, 111, 112, 0,
1410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1411 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1412 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1413 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1414 133, 134, 135, 136, 103, 0, 0, 0, 0, 0,
1415 0, 0, 0, 104, 0, 0, 0, 0, 105, 106,
1416 0, 0, 0, 107, 0, 0, 356, 0, 357, 358,
1417 0, 0, 0, 359, 0, 0, 0, 0, 0, 0,
1418 0, 0, 0, 0, 0, 0, 0, 0, 360, 361,
1419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 362, 363, 0, 0, 0, 0, 108, 109, 110,
1421 111, 112, 0, 0, 0, 0, 0, 0, 0, 364,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
1423 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1424 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1425 130, 131, 132, 133, 134, 135, 136, 103, 0, 0,
1426 0, 0, 0, 0, 0, 0, 104, 0, 0, 0,
1427 0, 105, 106, 0, 0, 0, 107, 0, 0, 0,
1428 0, 0, 0, 11, 0, 0, -517, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 162, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 108, 109, 110, 111, 112, 0, 0, 0, 0, 0,
1433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1434 0, 64, 113, 0, 114, 115, 116, 117, 118, 119,
1435 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1436 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1437 103, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1438 0, 0, 0, 0, 105, 106, 739, 0, 0, 107,
1439 0, 0, 0, 0, 0, 0, 11, 456, 457, 458,
1440 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1441 469, 470, 471, 472, 473, 0, 162, 0, 0, 0,
1442 711, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445 0, 0, 0, 0, 64, 113, 0, 114, 115, 116,
1446 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1447 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1448 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1449 0, 0, 104, 0, 0, 0, 0, 105, 106, 0,
1450 0, 0, 107, 0, 0, 664, 0, 0, 0, 0,
1451 0, 0, 714, 816, 456, 457, 458, 459, 460, 461,
1452 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1453 472, 473, 0, 0, 0, 0, 0, 474, 0, 0,
1454 0, 0, 0, 0, 0, 0, 108, 109, 110, 111,
1455 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
1457 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1458 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1459 131, 132, 133, 134, 135, 136, 103, 0, 0, 0,
1460 0, 0, 0, 0, 0, 104, 0, 765, 0, 0,
1461 105, 106, 0, 0, 0, 107, 456, 457, 458, 459,
1462 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
1463 470, 471, 472, 473, 0, 0, 0, 0, 0, 711,
1464 0, 0, 162, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
1466 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 113, 0, 114, 115, 116, 117, 118, 119, 0,
1469 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1470 128, 129, 130, 131, 132, 133, 134, 135, 136, 103,
1471 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1472 0, 0, 0, 105, 106, 0, 0, 0, 107, 0,
1473 910, 0, 0, 0, 0, 0, 0, 0, 452, 456,
1474 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1475 467, 468, 469, 470, 471, 472, 473, 0, 0, 0,
1476 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 108, 109, 110, 111, 112, 0, 0, 0,
1478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 113, 0, 114, 115, 116, 117,
1480 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
1481 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1482 135, 136, 103, 0, 0, 0, 0, 0, 0, 0,
1483 0, 104, 0, 0, 0, 0, 105, 106, 0, 0,
1484 0, 107, 0, 0, 875, 0, 0, 0, 0, 0,
1485 0, 714, 456, 457, 458, 459, 460, 461, 462, 463,
1486 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1487 0, 0, 0, 0, 0, 711, 0, 0, 0, 0,
1488 0, 103, 0, 0, 0, 108, 109, 110, 111, 112,
1489 104, 0, 0, 0, 0, 105, 106, 0, 0, 0,
1490 107, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1491 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1492 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1493 132, 133, 134, 135, 136, 0, 0, 0, 0, 0,
1494 0, 0, 741, 0, 108, 109, 110, 111, 112, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1497 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1498 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1499 133, 134, 135, 136, 103, 0, 0, 0, 0, 0,
1500 0, 0, 0, 104, 0, 0, 0, 750, 792, 106,
1501 0, 0, 0, 107, 456, 457, 458, 459, 460, 461,
1502 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1503 472, 473, 0, 0, 0, 0, 0, 474, 0, 0,
1504 162, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 103, 0, 0, 0, 108, 109, 110,
1506 111, 112, 104, 0, 0, 0, 0, 105, 106, 0,
1507 0, 0, 107, 0, 0, 0, 0, 0, 0, 113,
1508 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1509 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1510 130, 131, 132, 133, 134, 135, 136, 0, 0, 0,
1511 0, 0, 103, 0, 837, 0, 108, 109, 110, 111,
1512 112, 104, 0, 0, 0, 0, 105, 106, 0, 0,
1513 0, 107, 0, 0, 0, 0, 0, 0, 113, 0,
1514 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1515 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1516 131, 132, 133, 134, 135, 136, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 108, 109, 110, 111, 112,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1520 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1521 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1522 132, 133, 134, 135, 136, 813, 0, 0, 0, 0,
1523 0, 0, 456, 457, 458, 459, 460, 461, 462, 463,
1524 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1525 0, 0, 0, 710, 0, 711, 456, 457, 458, 459,
1526 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
1527 470, 471, 472, 473, 0, 0, 0, 0, 0, 711,
1528 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1529 466, 467, 468, 469, 470, 471, 472, 473, 0, 0,
1530 0, 0, 0, 474, 456, 457, 458, 459, 460, 461,
1531 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1532 472, 473, 0, 0, 0, 0, 0, 711, 456, 457,
1533 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
1534 468, 469, 470, 471, 472, 473, 0, 0, 0, 0,
1535 0, 474, 456, 457, 458, 459, 460, 461, 462, 463,
1536 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1537 0, 0, 0, 0, 0, 711
1538 };
1539
1540 static const short int yycheck[] =
1541 {
1542 10, 33, 22, 87, 183, 15, 33, 0, 182, 183,
1543 91, 33, 91, 190, 16, 17, 18, 424, 15, 102,
1544 34, 421, 80, 397, 424, 421, 310, 377, 378, 396,
1545 151, 701, 90, 367, 27, 394, 727, 477, 159, 477,
1546 727, 727, 409, 427, 760, 0, 762, 10, 756, 310,
1547 15, 26, 26, 49, 137, 10, 29, 140, 21, 61,
1548 62, 63, 25, 9, 24, 11, 21, 44, 189, 24,
1549 25, 0, 27, 29, 433, 359, 25, 33, 80, 6,
1550 37, 365, 9, 31, 94, 125, 35, 778, 36, 91,
1551 92, 93, 808, 37, 26, 786, 32, 94, 100, 29,
1552 786, 33, 65, 33, 64, 29, 26, 27, 442, 33,
1553 65, 32, 32, 34, 87, 31, 32, 451, 34, 32,
1554 454, 17, 18, 3, 44, 484, 6, 36, 124, 94,
1555 10, 87, 12, 36, 842, 92, 93, 94, 95, 96,
1556 810, 98, 99, 31, 119, 406, 34, 157, 92, 93,
1557 94, 95, 96, 30, 98, 99, 31, 87, 190, 829,
1558 157, 32, 31, 87, 36, 167, 35, 36, 6, 7,
1559 8, 455, 182, 183, 35, 36, 35, 885, 4, 5,
1560 6, 23, 184, 9, 854, 876, 31, 150, 36, 876,
1561 474, 475, 157, 156, 23, 150, 22, 36, 889, 915,
1562 32, 156, 38, 4, 5, 6, 897, 31, 9, 33,
1563 34, 897, 35, 36, 110, 111, 112, 113, 114, 115,
1564 911, 22, 606, 31, 911, 33, 34, 311, 6, 310,
1565 32, 310, 672, 32, 672, 33, 34, 677, 31, 677,
1566 4, 5, 6, 7, 8, 9, 10, 11, 918, 33,
1567 34, 33, 34, 17, 17, 18, 615, 631, 22, 618,
1568 634, 3, 383, 31, 6, 29, 33, 34, 10, 32,
1569 12, 13, 14, 15, 16, 17, 35, 636, 359, 36,
1570 359, 32, 33, 32, 365, 40, 365, 3, 33, 34,
1571 6, 33, 350, 660, 10, 31, 12, 13, 14, 15,
1572 16, 17, 49, 477, 33, 34, 92, 93, 310, 92,
1573 93, 94, 95, 96, 31, 98, 99, 6, 26, 32,
1574 84, 85, 86, 87, 34, 40, 26, 91, 34, 729,
1575 34, 32, 666, 729, 22, 669, 670, 100, 101, 102,
1576 103, 104, 105, 106, 107, 108, 32, 714, 39, 32,
1577 717, 31, 711, 712, 31, 64, 37, 359, 40, 123,
1578 32, 64, 364, 365, 40, 24, 40, 32, 727, 396,
1579 32, 31, 33, 25, 455, 33, 455, 409, 33, 35,
1580 34, 31, 409, 40, 35, 33, 33, 409, 420, 33,
1581 422, 34, 424, 474, 475, 474, 475, 34, 772, 34,
1582 774, 775, 35, 32, 109, 764, 32, 757, 758, 34,
1583 33, 64, 4, 5, 6, 7, 8, 9, 10, 11,
1584 33, 423, 25, 35, 32, 17, 31, 786, 97, 33,
1585 22, 831, 33, 33, 448, 831, 438, 29, 32, 35,
1586 33, 615, 31, 33, 25, 37, 478, 479, 34, 31,
1587 452, 630, 811, 455, 813, 862, 630, 32, 34, 633,
1588 33, 33, 862, 797, 798, 749, 750, 477, 33, 828,
1589 34, 32, 474, 475, 34, 24, 17, 18, 852, 879,
1590 477, 32, 97, 879, 477, 32, 25, 33, 32, 25,
1591 890, 33, 84, 85, 86, 87, 33, 35, 672, 34,
1592 34, 33, 33, 677, 33, 4, 5, 6, 7, 8,
1593 9, 10, 11, 32, 34, 33, 875, 876, 17, 25,
1594 920, 32, 32, 22, 920, 33, 33, 157, 33, 121,
1595 29, 931, 33, 33, 27, 811, 677, 672, 897, 178,
1596 158, 604, 40, 917, 24, 633, 380, 804, 637, 448,
1597 21, 168, 911, 762, 19, 386, 911, 734, 932, 100,
1598 101, 102, 103, 104, 105, 106, 107, 108, 420, 777,
1599 889, 4, 5, 6, 7, 8, 9, 10, 11, 931,
1600 825, 736, -1, -1, 17, 84, 85, 86, 87, 22,
1601 769, -1, -1, 26, 27, 769, 679, 680, -1, -1,
1602 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1603 -1, 44, -1, -1, 17, -1, -1, -1, -1, 22,
1604 630, -1, 624, 633, 123, 657, -1, -1, -1, -1,
1605 -1, -1, -1, 660, -1, 637, -1, -1, -1, -1,
1606 -1, -1, -1, -1, 676, -1, -1, -1, -1, 676,
1607 -1, 84, 85, 86, 676, -1, 658, -1, -1, -1,
1608 -1, -1, 672, -1, -1, -1, -1, 677, 749, 750,
1609 749, 750, -1, -1, -1, 672, 678, -1, -1, 672,
1610 677, 84, 85, 86, 677, 707, -1, 714, -1, -1,
1611 717, 870, -1, -1, -1, -1, 870, -1, -1, 731,
1612 -1, -1, 734, -1, -1, 737, -1, -1, -1, 888,
1613 -1, 795, -1, 733, 888, -1, -1, 4, 5, 6,
1614 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1615 17, -1, -1, -1, 736, 22, -1, -1, -1, -1,
1616 -1, -1, 29, 30, 31, 924, -1, 749, 750, -1,
1617 924, -1, -1, -1, 41, -1, -1, 789, -1, 769,
1618 -1, -1, -1, -1, -1, -1, 768, -1, -1, 771,
1619 802, 30, -1, 805, 806, -1, -1, -1, -1, -1,
1620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1621 810, -1, -1, 825, 796, -1, 83, 84, 85, 86,
1622 87, 88, 89, -1, 91, -1, -1, 66, 67, 68,
1623 69, 70, 71, 72, 73, 74, 75, 76, 77, -1,
1624 79, 80, 81, 82, -1, -1, -1, -1, -1, 116,
1625 -1, -1, -1, -1, 121, 867, 123, -1, -1, -1,
1626 -1, -1, -1, -1, 876, -1, -1, -1, -1, -1,
1627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1628 870, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1629 -1, -1, -1, -1, -1, -1, -1, -1, 888, 911,
1630 -1, -1, -1, -1, 0, -1, -1, 3, 4, 5,
1631 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1632 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1633 26, 27, 28, 29, 924, 31, 32, 33, 34, 35,
1634 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1635 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1636 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1637 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1638 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1639 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1640 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1641 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1642 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
1643 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1644 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1645 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1646 -1, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1647 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1648 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1649 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1650 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1651 -1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
1652 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1653 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1654 110, 111, 112, 113, 114, 115, 116, -1, -1, 119,
1655 -1, 121, 122, 123, 124, 125, 0, -1, -1, 3,
1656 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1657 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1658 24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
1659 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1660 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1661 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1662 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1663 74, 75, 76, 77, 78, 79, -1, 81, -1, 83,
1664 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1665 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1666 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1667 114, 115, 116, -1, -1, 119, -1, 121, 122, 123,
1668 124, 125, 0, -1, -1, 3, 4, 5, 6, 7,
1669 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1670 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1671 28, 29, -1, 31, 32, 33, 34, 35, 36, -1,
1672 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1673 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1674 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1675 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1676 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1677 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1678 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1679 108, 109, 110, 111, 112, 113, 114, 115, 116, 3,
1680 -1, 119, -1, 121, 122, 123, 124, 125, 12, -1,
1681 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1682 -1, 25, -1, 27, 28, 29, -1, -1, 32, -1,
1683 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1684 11, -1, -1, 47, 48, 49, 17, -1, -1, -1,
1685 -1, 22, -1, -1, -1, -1, 60, 61, 29, -1,
1686 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1687 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1688 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
1689 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1690 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1691 114, 115, -1, 84, 85, 86, 87, -1, -1, -1,
1692 124, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1693 -1, -1, -1, -1, 17, -1, -1, -1, -1, 22,
1694 -1, -1, 3, -1, -1, -1, 29, -1, -1, -1,
1695 121, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1696 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1697 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1698 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1699 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1700 61, 84, 85, 86, 87, 66, 67, 68, 69, 70,
1701 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1702 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1703 91, 92, 93, 94, 95, -1, 97, -1, 121, 100,
1704 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1705 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1706 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1707 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1708 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1709 -1, 4, 5, 6, 7, 8, 9, 10, 11, 47,
1710 48, -1, -1, -1, 17, -1, -1, -1, -1, 22,
1711 -1, -1, 60, 61, -1, -1, 29, -1, 66, 67,
1712 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1713 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1714 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1715 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1716 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1717 118, 84, 85, 86, 87, -1, -1, 12, -1, -1,
1718 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1719 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1720 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1721 10, 11, 47, 48, -1, -1, -1, 17, -1, -1,
1722 -1, -1, 22, -1, -1, 60, 61, -1, -1, 29,
1723 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1724 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1725 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1726 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1727 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1728 115, 3, -1, 118, 84, 85, 86, 87, -1, -1,
1729 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1730 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1731 32, -1, -1, -1, -1, -1, -1, 4, 5, 6,
1732 7, 8, 9, 10, 11, 47, 48, -1, -1, -1,
1733 17, -1, -1, -1, -1, 22, -1, -1, 60, 61,
1734 -1, -1, 29, -1, 66, 67, 68, 69, 70, -1,
1735 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1736 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1737 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1738 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1739 112, 113, 114, 115, 3, -1, 118, 84, 85, 86,
1740 87, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1741 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1742 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1743 4, 5, 6, 7, 8, 9, 10, 11, 47, 48,
1744 -1, -1, -1, 17, -1, -1, -1, -1, 22, -1,
1745 -1, 60, 61, -1, -1, 29, -1, 66, 67, 68,
1746 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1747 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1748 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1749 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1750 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1751 84, 85, 86, 87, -1, -1, 12, -1, -1, -1,
1752 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1753 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1755 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1756 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1757 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1758 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1759 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1760 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1761 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1762 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1763 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1764 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1766 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1767 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1768 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1769 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1770 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1771 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1772 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1773 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1774 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1775 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1776 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1777 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1779 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1780 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1782 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1783 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1784 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1785 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1786 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1787 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1788 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1789 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1791 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1792 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1793 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1794 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1795 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1796 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1797 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1798 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1799 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1800 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1802 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1803 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1804 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1805 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1806 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1807 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1808 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1809 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1810 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1811 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1812 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1813 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1814 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1815 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1816 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1817 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1818 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1819 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1820 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1821 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1822 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1823 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1824 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1825 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1826 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1827 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1828 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1829 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1830 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1831 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1832 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1834 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1835 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1836 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1837 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1838 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1839 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1840 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1841 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1842 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1843 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1844 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1845 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1846 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1847 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1848 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1849 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1850 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1851 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1852 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1853 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1854 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1855 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1856 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1858 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1859 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1860 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1861 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1862 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1863 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1864 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1865 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1866 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1867 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1868 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1869 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1870 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1871 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1872 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1873 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1874 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1875 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1876 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1877 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1879 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1880 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1881 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1882 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1884 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1885 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1886 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1887 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1888 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1889 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1890 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1891 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1892 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1893 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1894 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1895 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1896 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1897 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1898 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1899 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1900 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1901 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1902 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1903 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1904 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1905 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1906 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1907 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1908 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1909 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1910 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1911 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1913 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1914 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1915 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1916 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1918 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1919 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1920 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1921 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1922 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1923 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1924 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1925 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1926 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1927 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1928 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1929 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1930 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1931 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1932 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1933 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1934 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1936 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1938 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1939 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1940 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1941 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1942 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1943 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1944 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1945 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1947 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1948 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1949 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1950 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1952 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1953 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1954 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1955 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1956 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1957 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1959 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1960 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1961 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1962 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1963 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1964 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1965 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1966 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1967 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1968 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1969 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1971 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1972 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1973 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1974 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1975 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1976 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1977 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1978 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1979 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1981 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1982 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1983 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1984 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1986 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1987 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1988 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1989 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1990 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1992 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1993 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1994 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1995 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1997 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1998 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1999 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2000 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2001 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2002 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2003 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2005 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2006 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2008 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2009 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2010 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2011 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2012 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2013 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2015 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2016 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2017 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2018 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2019 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2020 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2021 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2022 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
2023 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2024 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
2025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2026 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
2027 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2028 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2029 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
2030 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2031 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2032 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2033 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2034 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2035 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2036 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2037 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2038 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2039 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2040 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2041 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2042 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2043 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2044 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2045 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2046 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2047 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2048 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2049 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2050 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2051 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2052 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2053 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2054 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2055 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2056 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2057 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2058 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2060 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2061 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2062 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2063 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2065 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2066 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2067 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2068 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2069 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2070 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2073 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2074 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2075 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2076 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2077 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2078 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2079 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2080 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2081 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2082 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2084 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2085 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2086 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2087 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2088 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2089 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2090 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2091 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
2092 -1, -1, -1, 29, 30, 31, 32, 33, 34, 35,
2093 36, 37, 38, 39, 40, -1, 42, 43, 44, 45,
2094 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2095 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2096 66, 67, 68, 69, 70, 4, 5, 6, 7, 8,
2097 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
2098 -1, 87, 88, 22, 90, 91, 92, 93, 94, 95,
2099 29, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2100 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2101 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2102 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
2103 23, -1, 25, -1, 27, 28, 29, -1, -1, 32,
2104 -1, -1, -1, -1, 83, 84, 85, 86, 87, -1,
2105 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
2106 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2107 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2109 -1, 84, 85, 86, 87, 88, -1, 90, 91, 92,
2110 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2111 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2112 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2113 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
2114 20, 21, 22, 23, -1, 25, 26, 27, 28, -1,
2115 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2116 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2118 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2119 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2121 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2122 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2123 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2124 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2125 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
2126 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2127 -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
2128 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2129 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2130 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2132 -1, 88, 89, 90, 91, 92, 93, 94, 95, -1,
2133 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2134 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2135 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2136 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
2137 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
2138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2139 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2140 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2141 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2144 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2145 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2146 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2147 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
2148 -1, 22, 23, 24, 25, -1, 27, 28, -1, -1,
2149 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2150 -1, -1, -1, 44, -1, -1, 47, 48, 49, -1,
2151 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2152 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2153 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2155 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2156 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2157 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2158 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2159 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
2160 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2161 -1, -1, -1, -1, -1, -1, 44, -1, -1, 47,
2162 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2163 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2164 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2166 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2167 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2168 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2169 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2170 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2171 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2173 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2174 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2175 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
2178 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2179 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2180 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2181 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
2182 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2183 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2184 -1, -1, -1, -1, -1, 47, 48, 49, -1, -1,
2185 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2186 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2189 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2190 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2191 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2192 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2193 -1, -1, -1, 22, -1, -1, 25, -1, 27, 28,
2194 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2195 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2197 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2198 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2199 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2200 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2201 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2202 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2203 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2204 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
2205 -1, -1, -1, 29, -1, -1, 32, -1, -1, -1,
2206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2207 -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
2208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2209 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2211 -1, 87, 88, -1, 90, 91, 92, 93, 94, 95,
2212 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2213 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2214 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2215 -1, -1, -1, -1, 17, 18, 31, -1, -1, 22,
2216 -1, -1, -1, -1, -1, -1, 29, 42, 43, 44,
2217 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2218 55, 56, 57, 58, 59, -1, 49, -1, -1, -1,
2219 65, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2222 -1, -1, -1, -1, 87, 88, -1, 90, 91, 92,
2223 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2224 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2225 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2226 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2227 -1, -1, 22, -1, -1, 33, -1, -1, -1, -1,
2228 -1, -1, 32, 33, 42, 43, 44, 45, 46, 47,
2229 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2230 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
2231 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
2232 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2233 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2234 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2235 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2236 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2237 -1, -1, -1, -1, -1, 12, -1, 33, -1, -1,
2238 17, 18, -1, -1, -1, 22, 42, 43, 44, 45,
2239 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2240 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2241 -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
2243 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2245 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2246 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2247 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2248 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2249 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2250 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
2251 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2252 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
2253 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2254 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2256 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2257 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2258 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2259 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2260 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2261 -1, 22, -1, -1, 34, -1, -1, -1, -1, -1,
2262 -1, 32, 42, 43, 44, 45, 46, 47, 48, 49,
2263 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2264 -1, -1, -1, -1, -1, 65, -1, -1, -1, -1,
2265 -1, 3, -1, -1, -1, 66, 67, 68, 69, 70,
2266 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2267 22, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2268 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2269 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2270 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2271 -1, -1, 64, -1, 66, 67, 68, 69, 70, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2273 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2274 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2275 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2276 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2277 -1, -1, -1, 12, -1, -1, -1, 35, 17, 18,
2278 -1, -1, -1, 22, 42, 43, 44, 45, 46, 47,
2279 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2280 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
2281 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2282 -1, -1, -1, 3, -1, -1, -1, 66, 67, 68,
2283 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
2284 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
2285 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2286 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2287 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2288 -1, -1, 3, -1, 64, -1, 66, 67, 68, 69,
2289 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2290 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
2291 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2292 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2293 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2296 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2297 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2298 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2299 111, 112, 113, 114, 115, 35, -1, -1, -1, -1,
2300 -1, -1, 42, 43, 44, 45, 46, 47, 48, 49,
2301 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2302 -1, -1, -1, 39, -1, 65, 42, 43, 44, 45,
2303 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2304 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2305 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2306 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2307 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
2308 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2309 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
2310 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2311 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2312 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2313 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2314 -1, -1, -1, -1, -1, 65
2315 };
2316
2317 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2318 symbol of state STATE-NUM. */
2319 static const unsigned short int yystos[] =
2320 {
2321 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2322 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2323 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2324 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2325 182, 183, 188, 191, 194, 198, 199, 200, 201, 203,
2326 205, 209, 211, 212, 218, 226, 240, 241, 9, 11,
2327 22, 84, 85, 86, 87, 123, 199, 209, 30, 66,
2328 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2329 77, 79, 80, 81, 82, 151, 152, 153, 154, 156,
2330 157, 158, 84, 85, 121, 171, 173, 200, 201, 209,
2331 218, 227, 228, 3, 12, 17, 18, 22, 66, 67,
2332 68, 69, 70, 88, 90, 91, 92, 93, 94, 95,
2333 97, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2334 109, 110, 111, 112, 113, 114, 115, 143, 259, 271,
2335 143, 143, 229, 3, 6, 10, 12, 246, 248, 26,
2336 123, 199, 241, 44, 279, 280, 22, 83, 198, 199,
2337 0, 148, 49, 143, 176, 210, 235, 236, 237, 238,
2338 177, 4, 5, 6, 9, 22, 184, 6, 181, 187,
2339 125, 189, 32, 32, 36, 36, 143, 143, 143, 199,
2340 34, 192, 0, 3, 4, 5, 6, 7, 8, 9,
2341 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2342 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2343 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2344 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2345 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2346 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2347 71, 72, 73, 74, 75, 76, 77, 78, 79, 81,
2348 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2349 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2350 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2351 113, 114, 115, 116, 119, 121, 122, 123, 124, 125,
2352 143, 144, 159, 30, 3, 12, 17, 18, 22, 66,
2353 67, 68, 69, 70, 88, 90, 91, 92, 93, 94,
2354 95, 97, 100, 101, 102, 103, 104, 105, 106, 107,
2355 108, 109, 110, 111, 112, 113, 114, 115, 144, 162,
2356 163, 162, 26, 119, 155, 144, 25, 27, 28, 32,
2357 47, 48, 60, 61, 78, 142, 143, 164, 223, 143,
2358 229, 143, 229, 173, 31, 143, 35, 232, 232, 232,
2359 232, 23, 31, 199, 36, 195, 36, 23, 171, 189,
2360 195, 29, 87, 239, 38, 233, 32, 143, 124, 238,
2361 6, 185, 6, 9, 186, 184, 32, 31, 17, 175,
2362 202, 204, 206, 207, 208, 209, 206, 143, 219, 220,
2363 92, 93, 94, 95, 96, 98, 99, 250, 251, 252,
2364 265, 268, 274, 275, 276, 195, 193, 210, 236, 31,
2365 26, 118, 164, 190, 162, 144, 26, 27, 32, 44,
2366 225, 164, 32, 143, 164, 32, 42, 43, 44, 45,
2367 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2368 56, 57, 58, 59, 65, 141, 35, 36, 214, 214,
2369 31, 213, 214, 213, 40, 195, 0, 3, 4, 5,
2370 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2371 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2372 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
2373 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2374 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2375 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2376 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2377 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
2378 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2379 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2380 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
2381 124, 125, 145, 195, 196, 197, 250, 32, 31, 31,
2382 19, 23, 25, 27, 29, 32, 87, 124, 142, 210,
2383 221, 222, 223, 234, 235, 236, 233, 6, 190, 235,
2384 32, 33, 34, 34, 33, 34, 40, 34, 230, 210,
2385 255, 221, 244, 269, 270, 271, 279, 210, 143, 277,
2386 278, 210, 266, 270, 37, 251, 221, 34, 32, 26,
2387 177, 224, 225, 22, 33, 143, 164, 165, 166, 164,
2388 164, 32, 121, 172, 173, 174, 175, 215, 218, 227,
2389 228, 210, 210, 19, 20, 21, 168, 169, 190, 221,
2390 37, 197, 37, 13, 14, 15, 16, 17, 33, 242,
2391 243, 245, 247, 248, 249, 17, 22, 175, 221, 221,
2392 39, 65, 141, 39, 32, 143, 33, 32, 206, 233,
2393 64, 208, 233, 64, 221, 220, 37, 40, 31, 40,
2394 31, 32, 24, 40, 32, 31, 34, 32, 31, 31,
2395 210, 64, 143, 160, 161, 235, 33, 33, 33, 34,
2396 35, 25, 174, 35, 231, 37, 172, 232, 232, 31,
2397 35, 33, 34, 244, 33, 33, 221, 221, 235, 32,
2398 33, 235, 33, 34, 33, 33, 19, 89, 90, 109,
2399 221, 254, 256, 257, 258, 259, 280, 269, 210, 279,
2400 193, 278, 17, 193, 267, 33, 34, 164, 164, 34,
2401 25, 35, 34, 216, 231, 214, 214, 245, 35, 243,
2402 245, 40, 221, 35, 143, 206, 33, 233, 64, 233,
2403 233, 109, 256, 17, 18, 32, 259, 262, 32, 32,
2404 254, 34, 272, 210, 33, 33, 162, 64, 143, 25,
2405 35, 32, 210, 217, 31, 216, 245, 279, 168, 221,
2406 33, 33, 33, 267, 32, 221, 244, 64, 269, 273,
2407 33, 31, 97, 33, 35, 25, 231, 34, 31, 64,
2408 32, 33, 233, 33, 244, 34, 34, 260, 33, 34,
2409 18, 270, 271, 32, 34, 210, 24, 206, 32, 97,
2410 32, 221, 210, 253, 254, 255, 261, 280, 33, 269,
2411 25, 25, 231, 33, 33, 206, 262, 263, 264, 269,
2412 33, 34, 254, 34, 33, 35, 33, 33, 32, 33,
2413 34, 253, 25, 245, 32, 233, 244, 33, 269, 33,
2414 206, 32, 33, 263, 233, 33, 33
2415 };
2416
2417 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2418 static const unsigned short int yyr1[] =
2419 {
2420 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2421 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2422 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2423 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2424 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
2425 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2426 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2427 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2428 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2429 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2430 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2431 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2432 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2433 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2434 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2435 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2436 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2437 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2438 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2439 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2440 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2441 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2442 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2443 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2444 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2445 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2446 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2447 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
2448 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2449 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
2450 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
2451 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
2452 158, 158, 159, 159, 159, 159, 160, 160, 160, 160,
2453 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
2454 164, 164, 164, 164, 164, 164, 164, 165, 165, 166,
2455 166, 167, 168, 168, 168, 169, 169, 169, 170, 170,
2456 171, 171, 172, 172, 173, 173, 173, 173, 173, 174,
2457 174, 174, 174, 174, 175, 175, 175, 176, 176, 177,
2458 177, 178, 178, 178, 179, 179, 179, 179, 180, 180,
2459 180, 181, 181, 182, 182, 182, 183, 183, 183, 183,
2460 184, 184, 184, 184, 184, 184, 185, 185, 186, 186,
2461 186, 186, 187, 187, 187, 188, 188, 189, 189, 190,
2462 190, 191, 192, 192, 193, 193, 194, 194, 194, 194,
2463 195, 196, 196, 197, 197, 198, 198, 199, 199, 200,
2464 200, 201, 201, 201, 201, 202, 202, 203, 204, 205,
2465 206, 206, 206, 207, 207, 208, 208, 208, 209, 209,
2466 210, 210, 211, 212, 213, 213, 214, 215, 215, 216,
2467 216, 217, 217, 218, 219, 219, 220, 220, 221, 221,
2468 221, 221, 221, 221, 222, 222, 222, 222, 222, 222,
2469 223, 223, 224, 224, 225, 225, 225, 226, 227, 228,
2470 229, 229, 230, 230, 231, 231, 231, 231, 232, 232,
2471 233, 233, 233, 234, 234, 234, 234, 235, 235, 236,
2472 236, 237, 237, 238, 238, 239, 239, 240, 240, 241,
2473 241, 241, 242, 242, 243, 243, 244, 245, 246, 247,
2474 247, 248, 248, 248, 248, 249, 249, 249, 249, 249,
2475 250, 250, 251, 251, 251, 251, 251, 252, 252, 253,
2476 253, 253, 254, 254, 254, 254, 254, 254, 255, 255,
2477 256, 257, 257, 258, 259, 259, 259, 259, 259, 259,
2478 259, 259, 259, 259, 260, 260, 261, 261, 262, 262,
2479 263, 263, 264, 264, 265, 266, 266, 267, 267, 267,
2480 268, 269, 269, 269, 270, 270, 271, 271, 271, 271,
2481 271, 271, 271, 271, 272, 272, 273, 273, 274, 275,
2482 275, 276, 277, 277, 278, 279, 279, 280
2483 };
2484
2485 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2486 static const unsigned char yyr2[] =
2487 {
2488 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2495 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2515 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
2516 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2517 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
2518 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
2519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2520 1, 1, 2, 6, 2, 2, 0, 1, 1, 3,
2521 1, 3, 0, 1, 1, 2, 3, 2, 3, 5,
2522 2, 4, 1, 1, 1, 1, 4, 0, 1, 1,
2523 3, 6, 1, 1, 1, 1, 1, 1, 3, 4,
2524 1, 2, 1, 2, 1, 1, 2, 4, 4, 1,
2525 1, 1, 3, 3, 1, 2, 2, 1, 1, 1,
2526 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
2527 2, 1, 1, 1, 1, 2, 1, 1, 2, 2,
2528 0, 1, 1, 2, 1, 2, 0, 1, 0, 1,
2529 1, 2, 0, 1, 2, 3, 4, 0, 4, 1,
2530 2, 4, 0, 2, 1, 3, 3, 4, 3, 4,
2531 3, 1, 2, 1, 1, 1, 2, 1, 1, 5,
2532 7, 5, 7, 13, 16, 5, 7, 6, 5, 1,
2533 0, 1, 1, 1, 3, 1, 1, 2, 1, 2,
2534 3, 2, 4, 4, 1, 1, 3, 4, 5, 0,
2535 2, 2, 4, 5, 1, 3, 1, 3, 1, 4,
2536 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
2537 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
2538 0, 1, 0, 1, 0, 2, 7, 9, 0, 7,
2539 0, 3, 3, 0, 1, 1, 1, 0, 1, 1,
2540 2, 1, 2, 1, 2, 1, 1, 4, 5, 7,
2541 8, 13, 1, 3, 2, 4, 2, 1, 1, 1,
2542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2543 1, 2, 1, 1, 1, 1, 1, 3, 6, 1,
2544 2, 1, 1, 1, 1, 2, 1, 1, 3, 4,
2545 6, 8, 12, 5, 1, 1, 1, 1, 1, 1,
2546 1, 1, 1, 1, 0, 2, 1, 3, 1, 1,
2547 0, 1, 1, 3, 3, 6, 1, 0, 1, 1,
2548 3, 1, 1, 3, 5, 6, 1, 1, 1, 1,
2549 1, 1, 1, 1, 0, 2, 1, 3, 3, 1,
2550 1, 3, 1, 3, 4, 0, 1, 1
2551 };
2552
2553
2554 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2555 static const unsigned char yydprec[] =
2556 {
2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589 0, 0, 1, 2, 2, 2, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2592 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
2593 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
2594 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 2, 1, 0, 0, 0, 2, 1, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2619 0, 0, 0, 0, 0, 0, 0, 0
2620 };
2621
2622 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2623 static const unsigned char yymerger[] =
2624 {
2625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 0, 0, 0, 0, 0, 0, 0, 0
2688 };
2689
2690 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2691 in the case of predicates. */
2692 static const yybool yyimmediate[] =
2693 {
2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2756 0, 0, 0, 0, 0, 0, 0, 0
2757 };
2758
2759 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2760 list of conflicting reductions corresponding to action entry for
2761 state STATE-NUM in yytable. 0 means no conflicts. The list in
2762 yyconfl is terminated by a rule number of 0. */
2763 static const unsigned short int yyconflp[] =
2764 {
2765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 0, 3215, 0, 0,
2773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 0, 0, 0, 3217, 0, 0, 0, 0, 0, 0,
2776 0, 0, 0, 0, 0, 15, 0, 0, 0, 0,
2777 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
2778 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2782 0, 0, 0, 0, 3197, 0, 0, 0, 0, 0,
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 3209, 0, 3211,
2786 3213, 0, 3199, 0, 0, 0, 0, 0, 0, 0,
2787 0, 157, 0, 3219, 0, 3221, 3223, 0, 0, 0,
2788 0, 0, 0, 0, 0, 3201, 3203, 0, 0, 0,
2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 3205, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 3207, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806 3225, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
2817 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2818 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 0, 0, 159, 0, 0, 0, 0, 0, 0, 0,
2918 0, 161, 0, 0, 0, 0, 163, 165, 0, 0,
2919 0, 167, 0, 0, 169, 171, 173, 175, 0, 0,
2920 0, 177, 0, 0, 0, 0, 0, 0, 0, 0,
2921 0, 0, 0, 0, 0, 0, 179, 181, 0, 0,
2922 0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
2923 185, 0, 0, 0, 0, 187, 189, 191, 193, 195,
2924 0, 0, 0, 0, 0, 0, 0, 197, 0, 0,
2925 0, 0, 0, 0, 0, 0, 0, 199, 0, 201,
2926 203, 205, 207, 209, 211, 0, 213, 0, 0, 215,
2927 217, 219, 221, 223, 225, 227, 229, 231, 233, 235,
2928 237, 239, 241, 243, 245, 247, 0, 0, 0, 0,
2929 0, 0, 0, 0, 249, 0, 0, 0, 0, 251,
2930 253, 0, 0, 0, 255, 0, 0, 257, 259, 261,
2931 263, 0, 0, 0, 265, 0, 0, 0, 0, 0,
2932 0, 0, 0, 0, 0, 0, 0, 0, 0, 267,
2933 269, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2934 0, 0, 271, 273, 0, 0, 0, 0, 275, 277,
2935 279, 281, 283, 0, 0, 0, 0, 0, 0, 0,
2936 285, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2937 287, 0, 289, 291, 293, 295, 297, 299, 0, 301,
2938 0, 0, 303, 305, 307, 309, 311, 313, 315, 317,
2939 319, 321, 323, 325, 327, 329, 331, 333, 335, 0,
2940 0, 0, 0, 0, 0, 0, 0, 337, 0, 0,
2941 0, 0, 339, 341, 0, 0, 0, 343, 0, 0,
2942 345, 347, 349, 351, 0, 0, 0, 353, 0, 0,
2943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2944 0, 0, 355, 357, 0, 0, 0, 0, 0, 0,
2945 0, 0, 0, 0, 0, 359, 361, 0, 0, 0,
2946 0, 363, 365, 367, 369, 371, 0, 0, 0, 0,
2947 0, 0, 0, 373, 0, 0, 0, 0, 0, 0,
2948 0, 0, 0, 375, 0, 377, 379, 381, 383, 385,
2949 387, 0, 389, 0, 0, 391, 393, 395, 397, 399,
2950 401, 403, 405, 407, 409, 411, 413, 415, 417, 419,
2951 421, 423, 0, 0, 0, 0, 0, 0, 0, 0,
2952 426, 0, 0, 0, 0, 429, 432, 0, 0, 0,
2953 435, 0, 0, 438, 441, 444, 447, 0, 0, 0,
2954 450, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2955 0, 0, 0, 0, 0, 453, 456, 0, 0, 0,
2956 149, 0, 0, 0, 0, 151, 0, 0, 459, 462,
2957 0, 0, 153, 0, 465, 468, 471, 474, 477, 0,
2958 0, 0, 0, 0, 0, 0, 480, 0, 0, 0,
2959 0, 0, 0, 0, 0, 0, 483, 0, 486, 489,
2960 492, 495, 498, 501, 0, 504, 0, 0, 507, 510,
2961 513, 516, 519, 522, 525, 528, 531, 534, 537, 540,
2962 543, 546, 549, 552, 557, 0, 555, 0, 0, 0,
2963 155, 0, 0, 559, 0, 0, 0, 0, 561, 563,
2964 0, 0, 0, 565, 0, 0, 567, 569, 571, 573,
2965 0, 0, 0, 575, 0, 0, 0, 0, 0, 0,
2966 0, 0, 0, 0, 0, 0, 0, 0, 577, 579,
2967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2968 0, 581, 583, 0, 0, 0, 0, 585, 587, 589,
2969 591, 593, 0, 0, 0, 0, 0, 0, 0, 595,
2970 0, 0, 0, 0, 0, 0, 0, 0, 0, 597,
2971 0, 599, 601, 603, 605, 607, 609, 0, 611, 0,
2972 0, 613, 615, 617, 619, 621, 623, 625, 627, 629,
2973 631, 633, 635, 637, 639, 641, 643, 645, 0, 0,
2974 0, 0, 0, 0, 0, 0, 647, 0, 0, 0,
2975 0, 649, 651, 0, 0, 0, 653, 0, 0, 655,
2976 657, 659, 661, 0, 0, 0, 663, 0, 0, 0,
2977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 0, 665, 667, 0, 0, 0, 0, 0, 0, 0,
2979 0, 0, 0, 0, 669, 671, 0, 0, 0, 0,
2980 673, 675, 677, 679, 681, 0, 0, 0, 0, 0,
2981 0, 0, 683, 0, 0, 0, 0, 0, 0, 0,
2982 0, 0, 685, 0, 687, 689, 691, 693, 695, 697,
2983 0, 699, 0, 0, 701, 703, 705, 707, 709, 711,
2984 713, 715, 717, 719, 721, 723, 725, 727, 729, 731,
2985 733, 0, 0, 0, 0, 0, 0, 0, 0, 735,
2986 0, 0, 0, 0, 737, 739, 0, 0, 0, 741,
2987 0, 0, 743, 745, 747, 749, 0, 0, 0, 751,
2988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2989 0, 0, 0, 0, 753, 755, 0, 0, 0, 0,
2990 0, 0, 0, 0, 0, 0, 0, 757, 759, 0,
2991 0, 0, 0, 761, 763, 765, 767, 769, 0, 0,
2992 0, 0, 0, 0, 0, 771, 0, 0, 0, 0,
2993 0, 0, 0, 0, 0, 773, 0, 775, 777, 779,
2994 781, 783, 785, 0, 787, 0, 0, 789, 791, 793,
2995 795, 797, 799, 801, 803, 805, 807, 809, 811, 813,
2996 815, 817, 819, 821, 0, 0, 0, 0, 0, 0,
2997 0, 0, 823, 0, 0, 0, 0, 825, 827, 0,
2998 0, 0, 829, 0, 0, 831, 833, 835, 837, 0,
2999 0, 0, 839, 0, 0, 0, 0, 0, 0, 0,
3000 0, 0, 0, 0, 0, 0, 0, 841, 843, 0,
3001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3002 845, 847, 0, 0, 0, 0, 849, 851, 853, 855,
3003 857, 0, 0, 0, 0, 0, 0, 0, 859, 0,
3004 0, 0, 0, 0, 0, 0, 0, 0, 861, 0,
3005 863, 865, 867, 869, 871, 873, 0, 875, 0, 0,
3006 877, 879, 881, 883, 885, 887, 889, 891, 893, 895,
3007 897, 899, 901, 903, 905, 907, 909, 0, 0, 0,
3008 0, 0, 0, 0, 0, 911, 0, 0, 0, 0,
3009 913, 915, 0, 0, 0, 917, 0, 0, 919, 921,
3010 923, 925, 0, 0, 0, 927, 0, 0, 0, 0,
3011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3012 929, 931, 0, 0, 0, 0, 0, 0, 0, 0,
3013 0, 0, 0, 933, 935, 0, 0, 0, 0, 937,
3014 939, 941, 943, 945, 0, 0, 0, 0, 0, 0,
3015 0, 947, 0, 0, 0, 0, 0, 0, 0, 0,
3016 0, 949, 0, 951, 953, 955, 957, 959, 961, 0,
3017 963, 0, 0, 965, 967, 969, 971, 973, 975, 977,
3018 979, 981, 983, 985, 987, 989, 991, 993, 995, 997,
3019 0, 0, 0, 0, 0, 0, 0, 0, 999, 0,
3020 0, 0, 0, 1001, 1003, 0, 0, 0, 1005, 0,
3021 0, 1007, 1009, 1011, 1013, 0, 0, 0, 1015, 0,
3022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3023 0, 0, 0, 1017, 1019, 0, 0, 0, 0, 0,
3024 0, 0, 0, 0, 0, 0, 1021, 1023, 0, 0,
3025 0, 0, 1025, 1027, 1029, 1031, 1033, 0, 0, 0,
3026 0, 0, 0, 0, 1035, 0, 0, 0, 0, 0,
3027 0, 0, 0, 0, 1037, 0, 1039, 1041, 1043, 1045,
3028 1047, 1049, 0, 1051, 0, 0, 1053, 1055, 1057, 1059,
3029 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079,
3030 1081, 1083, 1085, 0, 0, 0, 0, 0, 0, 0,
3031 0, 1087, 0, 0, 0, 0, 1089, 1091, 0, 0,
3032 0, 1093, 0, 0, 1095, 1097, 1099, 1101, 0, 0,
3033 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0,
3034 0, 0, 0, 0, 0, 0, 1105, 1107, 0, 0,
3035 0, 0, 0, 0, 0, 0, 0, 0, 0, 1109,
3036 1111, 0, 0, 0, 0, 1113, 1115, 1117, 1119, 1121,
3037 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0,
3038 0, 0, 0, 0, 0, 0, 0, 1125, 0, 1127,
3039 1129, 1131, 1133, 1135, 1137, 0, 1139, 0, 0, 1141,
3040 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161,
3041 1163, 1165, 1167, 1169, 1171, 1173, 0, 0, 0, 0,
3042 0, 0, 0, 0, 1175, 0, 0, 0, 0, 1177,
3043 1179, 0, 0, 0, 1181, 0, 0, 1183, 1185, 1187,
3044 1189, 0, 0, 0, 1191, 0, 0, 0, 0, 0,
3045 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193,
3046 1195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3047 0, 0, 1197, 1199, 0, 0, 0, 0, 1201, 1203,
3048 1205, 1207, 1209, 0, 0, 0, 0, 0, 0, 0,
3049 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3050 1213, 0, 1215, 1217, 1219, 1221, 1223, 1225, 0, 1227,
3051 0, 0, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243,
3052 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 0,
3053 0, 0, 0, 0, 0, 0, 0, 1263, 0, 0,
3054 0, 0, 1265, 1267, 0, 0, 0, 1269, 0, 0,
3055 1271, 1273, 1275, 1277, 0, 0, 0, 1279, 0, 0,
3056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3057 0, 0, 1281, 1283, 0, 0, 0, 0, 0, 0,
3058 0, 0, 0, 0, 0, 1285, 1287, 0, 0, 0,
3059 0, 1289, 1291, 1293, 1295, 1297, 0, 0, 0, 0,
3060 0, 0, 0, 1299, 0, 0, 0, 0, 0, 0,
3061 0, 0, 0, 1301, 0, 1303, 1305, 1307, 1309, 1311,
3062 1313, 0, 1315, 0, 0, 1317, 1319, 1321, 1323, 1325,
3063 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341, 1343, 1345,
3064 1347, 1349, 0, 0, 0, 0, 0, 0, 0, 0,
3065 1351, 0, 0, 0, 0, 1353, 1355, 0, 0, 0,
3066 1357, 0, 0, 1359, 1361, 1363, 1365, 0, 0, 0,
3067 1367, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3068 0, 0, 0, 0, 0, 1369, 1371, 0, 0, 0,
3069 0, 0, 0, 0, 0, 0, 0, 0, 1373, 1375,
3070 0, 0, 0, 0, 1377, 1379, 1381, 1383, 1385, 0,
3071 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0,
3072 0, 0, 0, 0, 0, 0, 1389, 0, 1391, 1393,
3073 1395, 1397, 1399, 1401, 0, 1403, 0, 0, 1405, 1407,
3074 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1423, 1425, 1427,
3075 1429, 1431, 1433, 1435, 1437, 0, 0, 0, 0, 0,
3076 0, 0, 0, 1439, 0, 0, 0, 0, 1441, 1443,
3077 0, 0, 0, 1445, 0, 0, 1447, 1449, 1451, 1453,
3078 0, 0, 0, 1455, 0, 0, 0, 0, 0, 0,
3079 0, 0, 0, 0, 0, 0, 0, 0, 1457, 1459,
3080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3081 0, 1461, 1463, 0, 0, 0, 0, 1465, 1467, 1469,
3082 1471, 1473, 0, 0, 0, 0, 0, 0, 0, 1475,
3083 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477,
3084 0, 1479, 1481, 1483, 1485, 1487, 1489, 0, 1491, 0,
3085 0, 1493, 1495, 1497, 1499, 1501, 1503, 1505, 1507, 1509,
3086 1511, 1513, 1515, 1517, 1519, 1521, 1523, 1525, 0, 0,
3087 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0,
3088 0, 1529, 1531, 0, 0, 0, 1533, 0, 0, 1535,
3089 1537, 1539, 1541, 0, 0, 0, 1543, 0, 0, 0,
3090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3091 0, 1545, 1547, 0, 0, 0, 0, 0, 0, 0,
3092 0, 0, 0, 0, 1549, 1551, 0, 0, 0, 0,
3093 1553, 1555, 1557, 1559, 1561, 0, 0, 0, 0, 0,
3094 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0,
3095 0, 0, 1565, 0, 1567, 1569, 1571, 1573, 1575, 1577,
3096 0, 1579, 0, 0, 1581, 1583, 1585, 1587, 1589, 1591,
3097 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607, 1609, 1611,
3098 1613, 0, 0, 0, 0, 0, 0, 0, 0, 1615,
3099 0, 0, 0, 0, 1617, 1619, 0, 0, 0, 1621,
3100 0, 0, 1623, 1625, 1627, 1629, 0, 0, 0, 1631,
3101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3102 0, 0, 0, 0, 1633, 1635, 0, 0, 0, 0,
3103 0, 0, 0, 0, 0, 0, 0, 1637, 1639, 0,
3104 0, 0, 0, 1641, 1643, 1645, 1647, 1649, 0, 0,
3105 0, 0, 0, 0, 0, 1651, 0, 0, 0, 0,
3106 0, 0, 0, 0, 0, 1653, 0, 1655, 1657, 1659,
3107 1661, 1663, 1665, 0, 1667, 0, 0, 1669, 1671, 1673,
3108 1675, 1677, 1679, 1681, 1683, 1685, 1687, 1689, 1691, 1693,
3109 1695, 1697, 1699, 1701, 0, 0, 0, 0, 0, 0,
3110 0, 0, 1703, 0, 0, 0, 0, 1705, 1707, 0,
3111 0, 0, 1709, 0, 0, 1711, 1713, 1715, 1717, 0,
3112 0, 0, 1719, 0, 0, 0, 0, 0, 0, 0,
3113 0, 0, 0, 0, 0, 0, 0, 1721, 1723, 0,
3114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3115 1725, 1727, 0, 0, 0, 0, 1729, 1731, 1733, 1735,
3116 1737, 0, 0, 0, 0, 0, 0, 0, 1739, 0,
3117 0, 0, 0, 0, 0, 0, 0, 0, 1741, 0,
3118 1743, 1745, 1747, 1749, 1751, 1753, 0, 1755, 0, 0,
3119 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771, 1773, 1775,
3120 1777, 1779, 1781, 1783, 1785, 1787, 1789, 0, 0, 0,
3121 0, 0, 0, 0, 0, 1791, 0, 0, 0, 0,
3122 1793, 1795, 0, 0, 0, 1797, 0, 0, 1799, 1801,
3123 1803, 1805, 0, 0, 0, 1807, 0, 0, 0, 0,
3124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3125 1809, 1811, 0, 0, 0, 0, 0, 0, 0, 0,
3126 0, 0, 0, 1813, 1815, 0, 0, 0, 0, 1817,
3127 1819, 1821, 1823, 1825, 0, 0, 0, 0, 0, 0,
3128 0, 1827, 0, 0, 0, 0, 0, 0, 0, 0,
3129 0, 1829, 0, 1831, 1833, 1835, 1837, 1839, 1841, 0,
3130 1843, 0, 0, 1845, 1847, 1849, 1851, 1853, 1855, 1857,
3131 1859, 1861, 1863, 1865, 1867, 1869, 1871, 1873, 1875, 1877,
3132 0, 0, 0, 0, 0, 0, 0, 0, 1879, 0,
3133 0, 0, 0, 1881, 1883, 0, 0, 0, 1885, 0,
3134 0, 1887, 1889, 1891, 1893, 0, 0, 0, 1895, 0,
3135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3136 0, 0, 0, 1897, 1899, 0, 0, 0, 0, 0,
3137 0, 0, 0, 0, 0, 0, 1901, 1903, 0, 0,
3138 0, 0, 1905, 1907, 1909, 1911, 1913, 0, 0, 0,
3139 0, 0, 0, 0, 1915, 0, 0, 0, 0, 0,
3140 0, 0, 0, 0, 1917, 0, 1919, 1921, 1923, 1925,
3141 1927, 1929, 0, 1931, 0, 0, 1933, 1935, 1937, 1939,
3142 1941, 1943, 1945, 1947, 1949, 1951, 1953, 1955, 1957, 1959,
3143 1961, 1963, 1965, 0, 0, 0, 0, 0, 0, 0,
3144 0, 1967, 0, 0, 0, 0, 1969, 1971, 0, 0,
3145 0, 1973, 0, 0, 1975, 1977, 1979, 1981, 0, 0,
3146 0, 1983, 0, 0, 0, 0, 0, 0, 0, 0,
3147 0, 0, 0, 0, 0, 0, 1985, 1987, 0, 0,
3148 0, 0, 0, 0, 0, 0, 0, 0, 0, 1989,
3149 1991, 0, 0, 0, 0, 1993, 1995, 1997, 1999, 2001,
3150 0, 0, 0, 0, 0, 0, 0, 2003, 0, 0,
3151 0, 0, 0, 0, 0, 0, 0, 2005, 0, 2007,
3152 2009, 2011, 2013, 2015, 2017, 0, 2019, 0, 0, 2021,
3153 2023, 2025, 2027, 2029, 2031, 2033, 2035, 2037, 2039, 2041,
3154 2043, 2045, 2047, 2049, 2051, 2053, 0, 0, 0, 0,
3155 0, 0, 0, 0, 2055, 0, 0, 0, 0, 2057,
3156 2059, 0, 0, 0, 2061, 0, 0, 2063, 2065, 2067,
3157 2069, 0, 0, 0, 2071, 0, 0, 0, 0, 0,
3158 0, 0, 0, 0, 0, 0, 0, 0, 0, 2073,
3159 2075, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3160 0, 0, 2077, 2079, 0, 0, 0, 0, 2081, 2083,
3161 2085, 2087, 2089, 0, 0, 0, 0, 0, 0, 0,
3162 2091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3163 2093, 0, 2095, 2097, 2099, 2101, 2103, 2105, 0, 2107,
3164 0, 0, 2109, 2111, 2113, 2115, 2117, 2119, 2121, 2123,
3165 2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139, 2141, 0,
3166 0, 0, 0, 0, 0, 0, 0, 2143, 0, 0,
3167 0, 0, 2145, 2147, 0, 0, 0, 2149, 0, 0,
3168 2151, 2153, 2155, 2157, 0, 0, 0, 2159, 0, 0,
3169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3170 0, 0, 2161, 2163, 0, 0, 0, 0, 0, 0,
3171 0, 0, 0, 0, 0, 2165, 2167, 0, 0, 0,
3172 0, 2169, 2171, 2173, 2175, 2177, 0, 0, 0, 0,
3173 0, 0, 0, 2179, 0, 0, 0, 0, 0, 0,
3174 0, 0, 0, 2181, 0, 2183, 2185, 2187, 2189, 2191,
3175 2193, 0, 2195, 0, 0, 2197, 2199, 2201, 2203, 2205,
3176 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2221, 2223, 2225,
3177 2227, 2229, 0, 0, 0, 0, 0, 0, 0, 0,
3178 2231, 0, 0, 0, 0, 2233, 2235, 0, 0, 0,
3179 2237, 0, 0, 2239, 2241, 2243, 2245, 0, 0, 0,
3180 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3181 0, 0, 0, 0, 0, 2249, 2251, 0, 0, 0,
3182 0, 0, 0, 0, 0, 0, 0, 0, 2253, 2255,
3183 0, 0, 0, 0, 2257, 2259, 2261, 2263, 2265, 0,
3184 0, 0, 0, 0, 0, 0, 2267, 0, 0, 0,
3185 0, 0, 0, 0, 0, 0, 2269, 0, 2271, 2273,
3186 2275, 2277, 2279, 2281, 0, 2283, 0, 0, 2285, 2287,
3187 2289, 2291, 2293, 2295, 2297, 2299, 2301, 2303, 2305, 2307,
3188 2309, 2311, 2313, 2315, 2317, 0, 0, 0, 0, 0,
3189 0, 0, 0, 2319, 0, 0, 0, 0, 2321, 2323,
3190 0, 0, 0, 2325, 0, 0, 2327, 2329, 2331, 2333,
3191 0, 0, 0, 2335, 0, 0, 0, 0, 0, 0,
3192 0, 0, 0, 0, 0, 0, 0, 0, 2337, 2339,
3193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3194 0, 2341, 2343, 0, 0, 0, 0, 2345, 2347, 2349,
3195 2351, 2353, 0, 0, 0, 0, 0, 0, 0, 2355,
3196 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357,
3197 0, 2359, 2361, 2363, 2365, 2367, 2369, 0, 2371, 0,
3198 0, 2373, 2375, 2377, 2379, 2381, 2383, 2385, 2387, 2389,
3199 2391, 2393, 2395, 2397, 2399, 2401, 2403, 2405, 0, 0,
3200 0, 0, 0, 0, 0, 0, 2407, 0, 0, 0,
3201 0, 2409, 2411, 0, 0, 0, 2413, 0, 0, 2415,
3202 2417, 2419, 2421, 0, 0, 0, 2423, 0, 0, 0,
3203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3204 0, 2425, 2427, 0, 0, 0, 0, 0, 0, 0,
3205 0, 0, 0, 0, 2429, 2431, 0, 0, 0, 0,
3206 2433, 2435, 2437, 2439, 2441, 0, 0, 0, 0, 0,
3207 0, 0, 2443, 0, 0, 0, 0, 0, 0, 0,
3208 0, 0, 2445, 0, 2447, 2449, 2451, 2453, 2455, 2457,
3209 0, 2459, 0, 0, 2461, 2463, 2465, 2467, 2469, 2471,
3210 2473, 2475, 2477, 2479, 2481, 2483, 2485, 2487, 2489, 2491,
3211 2493, 0, 0, 0, 0, 0, 0, 0, 0, 2495,
3212 0, 0, 0, 0, 2497, 2499, 0, 0, 0, 2501,
3213 0, 0, 2503, 2505, 2507, 2509, 0, 0, 0, 2511,
3214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3215 0, 0, 0, 0, 2513, 2515, 0, 0, 0, 0,
3216 0, 0, 0, 0, 0, 0, 0, 2517, 2519, 0,
3217 0, 0, 0, 2521, 2523, 2525, 2527, 2529, 0, 0,
3218 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0,
3219 0, 0, 0, 0, 0, 2533, 0, 2535, 2537, 2539,
3220 2541, 2543, 2545, 0, 2547, 0, 0, 2549, 2551, 2553,
3221 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569, 2571, 2573,
3222 2575, 2577, 2579, 2581, 0, 0, 0, 0, 0, 0,
3223 0, 0, 2583, 0, 0, 0, 0, 2585, 2587, 0,
3224 0, 0, 2589, 0, 0, 2591, 2593, 2595, 2597, 0,
3225 0, 0, 2599, 0, 0, 0, 0, 0, 0, 0,
3226 0, 0, 0, 0, 0, 0, 0, 2601, 2603, 0,
3227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3228 2605, 2607, 0, 0, 0, 0, 2609, 2611, 2613, 2615,
3229 2617, 0, 0, 0, 0, 0, 0, 0, 2619, 0,
3230 0, 0, 0, 0, 0, 0, 0, 0, 2621, 0,
3231 2623, 2625, 2627, 2629, 2631, 2633, 0, 2635, 0, 0,
3232 2637, 2639, 2641, 2643, 2645, 2647, 2649, 2651, 2653, 2655,
3233 2657, 2659, 2661, 2663, 2665, 2667, 2669, 0, 0, 0,
3234 0, 0, 0, 0, 0, 2671, 0, 0, 0, 0,
3235 2673, 2675, 0, 0, 0, 2677, 0, 0, 2679, 2681,
3236 2683, 2685, 0, 0, 0, 2687, 0, 0, 0, 0,
3237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3238 2689, 2691, 0, 0, 0, 0, 0, 0, 0, 0,
3239 0, 0, 0, 2693, 2695, 0, 0, 0, 0, 2697,
3240 2699, 2701, 2703, 2705, 0, 0, 0, 0, 0, 0,
3241 0, 2707, 0, 0, 0, 0, 0, 0, 0, 0,
3242 0, 2709, 0, 2711, 2713, 2715, 2717, 2719, 2721, 0,
3243 2723, 0, 0, 2725, 2727, 2729, 2731, 2733, 2735, 2737,
3244 2739, 2741, 2743, 2745, 2747, 2749, 2751, 2753, 2755, 2757,
3245 0, 0, 0, 0, 0, 0, 0, 0, 2759, 0,
3246 0, 0, 0, 2761, 2763, 0, 0, 0, 2765, 0,
3247 0, 2767, 2769, 2771, 2773, 0, 0, 0, 2775, 0,
3248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3249 0, 0, 0, 2777, 2779, 0, 0, 0, 0, 0,
3250 0, 0, 0, 0, 0, 0, 2781, 2783, 0, 0,
3251 0, 0, 2785, 2787, 2789, 2791, 2793, 0, 0, 0,
3252 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0,
3253 0, 0, 0, 0, 2797, 0, 2799, 2801, 2803, 2805,
3254 2807, 2809, 0, 2811, 0, 0, 2813, 2815, 2817, 2819,
3255 2821, 2823, 2825, 2827, 2829, 2831, 2833, 2835, 2837, 2839,
3256 2841, 2843, 2845, 0, 0, 0, 0, 0, 0, 0,
3257 0, 2847, 0, 0, 0, 0, 2849, 2851, 0, 0,
3258 0, 2853, 0, 0, 2855, 2857, 2859, 2861, 0, 0,
3259 0, 2863, 0, 0, 0, 0, 0, 0, 0, 0,
3260 0, 0, 0, 0, 0, 0, 2865, 2867, 0, 0,
3261 0, 0, 0, 0, 0, 0, 0, 0, 0, 2869,
3262 2871, 0, 0, 0, 0, 2873, 2875, 2877, 2879, 2881,
3263 0, 0, 0, 0, 0, 0, 0, 2883, 0, 0,
3264 0, 0, 0, 0, 0, 0, 0, 2885, 0, 2887,
3265 2889, 2891, 2893, 2895, 2897, 0, 2899, 0, 0, 2901,
3266 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917, 2919, 2921,
3267 2923, 2925, 2927, 2929, 2931, 2933, 0, 0, 0, 0,
3268 0, 0, 0, 0, 2935, 0, 0, 0, 0, 2937,
3269 2939, 0, 0, 0, 2941, 0, 0, 2943, 2945, 2947,
3270 2949, 0, 0, 0, 2951, 0, 0, 0, 0, 0,
3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 2953,
3272 2955, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3273 0, 0, 2957, 2959, 0, 0, 0, 0, 2961, 2963,
3274 2965, 2967, 2969, 0, 0, 0, 0, 0, 0, 0,
3275 2971, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3276 2973, 0, 2975, 2977, 2979, 2981, 2983, 2985, 0, 2987,
3277 0, 0, 2989, 2991, 2993, 2995, 2997, 2999, 3001, 3003,
3278 3005, 3007, 3009, 3011, 3013, 3015, 3017, 3019, 3021, 0,
3279 0, 0, 0, 0, 0, 0, 0, 3023, 0, 0,
3280 0, 0, 3025, 3027, 0, 0, 0, 3029, 0, 0,
3281 3031, 3033, 3035, 3037, 0, 0, 0, 3039, 0, 0,
3282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3283 0, 0, 3041, 3043, 0, 0, 0, 0, 0, 0,
3284 0, 0, 0, 0, 0, 3045, 3047, 0, 0, 0,
3285 0, 3049, 3051, 3053, 3055, 3057, 0, 0, 0, 0,
3286 0, 0, 0, 3059, 0, 0, 0, 0, 0, 0,
3287 0, 0, 0, 3061, 0, 3063, 3065, 3067, 3069, 3071,
3288 3073, 0, 3075, 0, 0, 3077, 3079, 3081, 3083, 3085,
3289 3087, 3089, 3091, 3093, 3095, 3097, 3099, 3101, 3103, 3105,
3290 3107, 3109, 0, 0, 0, 0, 0, 0, 0, 0,
3291 3111, 0, 0, 0, 0, 3113, 3115, 0, 0, 0,
3292 3117, 0, 0, 3119, 3121, 3123, 3125, 0, 0, 0,
3293 3127, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3294 0, 0, 0, 0, 0, 3129, 3131, 0, 0, 0,
3295 0, 0, 0, 0, 0, 0, 0, 0, 3133, 3135,
3296 0, 0, 0, 0, 3137, 3139, 3141, 3143, 3145, 0,
3297 0, 0, 0, 0, 0, 0, 3147, 0, 0, 0,
3298 0, 0, 0, 0, 0, 0, 3149, 0, 3151, 3153,
3299 3155, 3157, 3159, 3161, 0, 3163, 0, 0, 3165, 3167,
3300 3169, 3171, 3173, 3175, 3177, 3179, 3181, 3183, 3185, 3187,
3301 3189, 3191, 3193, 3195, 0, 0, 0, 0, 0, 0,
3302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
3313 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
3314 0, 21, 23, 0, 0, 0, 25, 0, 0, 0,
3315 0, 0, 0, 27, 29, 31, 33, 35, 37, 39,
3316 41, 43, 45, 47, 49, 0, 51, 53, 55, 57,
3317 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
3318 79, 81, 83, 85, 0, 0, 0, 0, 0, 87,
3319 89, 91, 93, 95, 97, 0, 0, 0, 0, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 99, 101, 0, 103, 105, 107, 109, 111, 113,
3322 0, 115, 0, 0, 117, 119, 121, 123, 125, 127,
3323 129, 131, 133, 135, 137, 139, 141, 143, 145, 147,
3324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3535 0, 3227, 0, 0, 0, 0, 0, 0, 0, 0,
3536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3537 0, 0, 0, 0, 0, 3229
3538 };
3539
3540 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3541 0, pointed into by YYCONFLP. */
3542 static const short int yyconfl[] =
3543 {
3544 0, 386, 0, 386, 0, 386, 0, 386, 0, 377,
3545 0, 377, 0, 400, 0, 458, 0, 612, 0, 612,
3546 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3547 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3548 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3549 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3550 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3551 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3552 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3553 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3554 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3555 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3556 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3557 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3558 0, 612, 0, 612, 0, 612, 0, 612, 0, 386,
3559 0, 386, 0, 386, 0, 386, 0, 400, 0, 43,
3560 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3561 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3562 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3563 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3564 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3565 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3566 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3567 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3568 0, 43, 0, 43, 0, 43, 0, 52, 0, 52,
3569 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3570 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3571 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3572 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3573 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3574 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3575 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3576 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3577 0, 52, 0, 52, 0, 613, 0, 613, 0, 613,
3578 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3579 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3580 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3581 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3582 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3583 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3584 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3585 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3586 0, 613, 0, 574, 612, 0, 574, 612, 0, 574,
3587 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3588 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3589 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3590 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3591 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3592 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3593 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3594 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3595 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3596 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3597 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3598 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3599 612, 0, 574, 612, 0, 612, 0, 62, 0, 62,
3600 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3601 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3602 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3603 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3604 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3605 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3606 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3607 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3608 0, 62, 0, 62, 0, 106, 0, 106, 0, 106,
3609 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3610 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3611 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3612 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3613 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3614 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3615 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3616 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3617 0, 106, 0, 107, 0, 107, 0, 107, 0, 107,
3618 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3619 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3620 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3621 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3622 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3623 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3624 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3625 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3626 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3627 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3628 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3629 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3630 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3631 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3632 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3633 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3634 0, 105, 0, 105, 0, 105, 0, 105, 0, 103,
3635 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3636 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3637 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3638 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3639 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3640 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3641 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3642 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3643 0, 103, 0, 103, 0, 103, 0, 104, 0, 104,
3644 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3645 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3646 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3647 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3648 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3649 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3650 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3651 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3652 0, 104, 0, 104, 0, 124, 0, 124, 0, 124,
3653 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3654 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3655 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3656 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3657 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3658 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3659 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3660 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3661 0, 124, 0, 126, 0, 126, 0, 126, 0, 126,
3662 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3663 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3664 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3665 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3666 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3667 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3668 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3669 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3670 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3671 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3672 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3673 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3674 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3675 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3676 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3677 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3678 0, 127, 0, 127, 0, 127, 0, 127, 0, 128,
3679 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3680 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3681 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3682 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3683 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3684 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3685 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3686 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3687 0, 128, 0, 128, 0, 128, 0, 129, 0, 129,
3688 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3689 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3690 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3691 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3692 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3693 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3694 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3695 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3696 0, 129, 0, 129, 0, 130, 0, 130, 0, 130,
3697 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3698 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3699 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3700 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3701 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3702 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3703 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3704 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3705 0, 130, 0, 131, 0, 131, 0, 131, 0, 131,
3706 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3707 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3708 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3709 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3710 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3711 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3712 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3713 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3714 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3715 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3716 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3717 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3718 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3719 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3720 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3721 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3722 0, 160, 0, 160, 0, 160, 0, 160, 0, 582,
3723 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3724 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3725 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3726 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3727 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3728 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3729 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3730 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3731 0, 582, 0, 582, 0, 582, 0, 581, 0, 581,
3732 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3733 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3734 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3735 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3736 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3737 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3738 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3739 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3740 0, 581, 0, 581, 0, 579, 0, 579, 0, 579,
3741 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3742 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3743 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3744 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3745 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3746 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3747 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3748 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3749 0, 579, 0, 577, 0, 577, 0, 577, 0, 577,
3750 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3751 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3752 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3753 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3754 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3755 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3756 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3757 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3758 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3759 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3760 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3761 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3762 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3763 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3764 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3765 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3766 0, 578, 0, 578, 0, 578, 0, 578, 0, 580,
3767 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3768 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3769 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3770 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3771 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3772 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3773 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3774 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3775 0, 580, 0, 580, 0, 580, 0, 576, 0, 576,
3776 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3777 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3778 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3779 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3780 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3781 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3782 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3783 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3784 0, 576, 0, 576, 0, 575, 0, 575, 0, 575,
3785 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3786 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3787 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3788 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3789 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3790 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3791 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3792 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3793 0, 575, 0, 583, 0, 583, 0, 583, 0, 583,
3794 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3795 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3796 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3797 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3798 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3799 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3800 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3801 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3802 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3803 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3804 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3805 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3806 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3807 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3808 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3809 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3810 0, 144, 0, 144, 0, 144, 0, 144, 0, 611,
3811 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3812 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3813 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3814 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3815 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3816 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3817 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3818 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3819 0, 611, 0, 611, 0, 611, 0, 609, 0, 609,
3820 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3821 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3822 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3823 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3824 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3825 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3826 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3827 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3828 0, 609, 0, 609, 0, 608, 0, 608, 0, 608,
3829 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3830 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3831 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3832 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3833 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3834 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3835 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3836 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3837 0, 608, 0, 610, 0, 610, 0, 610, 0, 610,
3838 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3839 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3840 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3841 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3842 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3843 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3844 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3845 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3846 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3847 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3848 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3849 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3850 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3851 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3852 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3853 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3854 0, 607, 0, 607, 0, 607, 0, 607, 0, 606,
3855 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3856 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3857 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3858 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3859 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3860 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3861 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3862 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3863 0, 606, 0, 606, 0, 606, 0, 501, 0, 501,
3864 0, 451, 0, 451, 0, 452, 0, 42, 0, 487,
3865 0, 487, 0, 487, 0, 613, 0, 386, 0, 562,
3866 0, 562, 0, 562, 0, 613, 0, 339, 0, 483,
3867 0
3868 };
3869
3870 /* Error token number */
3871 #define YYTERROR 1
3872
3873
3874
3875
3876 #undef yynerrs
3877 #define yynerrs (yystackp->yyerrcnt)
3878 #undef yychar
3879 #define yychar (yystackp->yyrawchar)
3880 #undef yylval
3881 #define yylval (yystackp->yyval)
3882 #undef yylloc
3883 #define yylloc (yystackp->yyloc)
3884 #define psi_parser_proc_nerrs yynerrs
3885 #define psi_parser_proc_char yychar
3886 #define psi_parser_proc_lval yylval
3887 #define psi_parser_proc_lloc yylloc
3888
3889 static const int YYEOF = 0;
3890 static const int YYEMPTY = -2;
3891
3892 typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
3893
3894 #define YYCHK(YYE) \
3895 do { \
3896 YYRESULTTAG yychk_flag = YYE; \
3897 if (yychk_flag != yyok) \
3898 return yychk_flag; \
3899 } while (0)
3900
3901 #if YYDEBUG
3902
3903 # ifndef YYFPRINTF
3904 # define YYFPRINTF fprintf
3905 # endif
3906
3907 /* This macro is provided for backward compatibility. */
3908 #ifndef YY_LOCATION_PRINT
3909 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3910 #endif
3911
3912
3913 # define YYDPRINTF(Args) \
3914 do { \
3915 if (yydebug) \
3916 YYFPRINTF Args; \
3917 } while (0)
3918
3919
3920 /*----------------------------------------.
3921 | Print this symbol's value on YYOUTPUT. |
3922 `----------------------------------------*/
3923
3924 static void
3925 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3926 {
3927 FILE *yyo = yyoutput;
3928 YYUSE (yyo);
3929 YYUSE (P);
3930 YYUSE (tokens);
3931 YYUSE (index);
3932 if (!yyvaluep)
3933 return;
3934 YYUSE (yytype);
3935 }
3936
3937
3938 /*--------------------------------.
3939 | Print this symbol on YYOUTPUT. |
3940 `--------------------------------*/
3941
3942 static void
3943 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3944 {
3945 YYFPRINTF (yyoutput, "%s %s (",
3946 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3947
3948 yy_symbol_value_print (yyoutput, yytype, yyvaluep, P, tokens, index);
3949 YYFPRINTF (yyoutput, ")");
3950 }
3951
3952 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3953 do { \
3954 if (yydebug) \
3955 { \
3956 YYFPRINTF (stderr, "%s ", Title); \
3957 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
3958 YYFPRINTF (stderr, "\n"); \
3959 } \
3960 } while (0)
3961
3962 /* Nonzero means print parse trace. It is left uninitialized so that
3963 multiple parsers can coexist. */
3964 int yydebug;
3965
3966 struct yyGLRStack;
3967 static void yypstack (struct yyGLRStack* yystackp, size_t yyk)
3968 YY_ATTRIBUTE_UNUSED;
3969 static void yypdumpstack (struct yyGLRStack* yystackp)
3970 YY_ATTRIBUTE_UNUSED;
3971
3972 #else /* !YYDEBUG */
3973
3974 # define YYDPRINTF(Args)
3975 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3976
3977 #endif /* !YYDEBUG */
3978
3979 /* YYINITDEPTH -- initial size of the parser's stacks. */
3980 #ifndef YYINITDEPTH
3981 # define YYINITDEPTH 200
3982 #endif
3983
3984 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3985 if the built-in stack extension method is used).
3986
3987 Do not make this value too large; the results are undefined if
3988 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
3989 evaluated with infinite-precision integer arithmetic. */
3990
3991 #ifndef YYMAXDEPTH
3992 # define YYMAXDEPTH 10000
3993 #endif
3994
3995 /* Minimum number of free items on the stack allowed after an
3996 allocation. This is to allow allocation and initialization
3997 to be completed by functions that call yyexpandGLRStack before the
3998 stack is expanded, thus insuring that all necessary pointers get
3999 properly redirected to new data. */
4000 #define YYHEADROOM 2
4001
4002 #ifndef YYSTACKEXPANDABLE
4003 # define YYSTACKEXPANDABLE 1
4004 #endif
4005
4006 #if YYSTACKEXPANDABLE
4007 # define YY_RESERVE_GLRSTACK(Yystack) \
4008 do { \
4009 if (Yystack->yyspaceLeft < YYHEADROOM) \
4010 yyexpandGLRStack (Yystack); \
4011 } while (0)
4012 #else
4013 # define YY_RESERVE_GLRSTACK(Yystack) \
4014 do { \
4015 if (Yystack->yyspaceLeft < YYHEADROOM) \
4016 yyMemoryExhausted (Yystack); \
4017 } while (0)
4018 #endif
4019
4020
4021 #if YYERROR_VERBOSE
4022
4023 # ifndef yystpcpy
4024 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4025 # define yystpcpy stpcpy
4026 # else
4027 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4028 YYDEST. */
4029 static char *
4030 yystpcpy (char *yydest, const char *yysrc)
4031 {
4032 char *yyd = yydest;
4033 const char *yys = yysrc;
4034
4035 while ((*yyd++ = *yys++) != '\0')
4036 continue;
4037
4038 return yyd - 1;
4039 }
4040 # endif
4041 # endif
4042
4043 # ifndef yytnamerr
4044 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4045 quotes and backslashes, so that it's suitable for yyerror. The
4046 heuristic is that double-quoting is unnecessary unless the string
4047 contains an apostrophe, a comma, or backslash (other than
4048 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4049 null, do not copy; instead, return the length of what the result
4050 would have been. */
4051 static size_t
4052 yytnamerr (char *yyres, const char *yystr)
4053 {
4054 if (*yystr == '"')
4055 {
4056 size_t yyn = 0;
4057 char const *yyp = yystr;
4058
4059 for (;;)
4060 switch (*++yyp)
4061 {
4062 case '\'':
4063 case ',':
4064 goto do_not_strip_quotes;
4065
4066 case '\\':
4067 if (*++yyp != '\\')
4068 goto do_not_strip_quotes;
4069 /* Fall through. */
4070 default:
4071 if (yyres)
4072 yyres[yyn] = *yyp;
4073 yyn++;
4074 break;
4075
4076 case '"':
4077 if (yyres)
4078 yyres[yyn] = '\0';
4079 return yyn;
4080 }
4081 do_not_strip_quotes: ;
4082 }
4083
4084 if (! yyres)
4085 return strlen (yystr);
4086
4087 return yystpcpy (yyres, yystr) - yyres;
4088 }
4089 # endif
4090
4091 #endif /* !YYERROR_VERBOSE */
4092
4093 /** State numbers, as in LALR(1) machine */
4094 typedef int yyStateNum;
4095
4096 /** Rule numbers, as in LALR(1) machine */
4097 typedef int yyRuleNum;
4098
4099 /** Grammar symbol */
4100 typedef int yySymbol;
4101
4102 /** Item references, as in LALR(1) machine */
4103 typedef short int yyItemNum;
4104
4105 typedef struct yyGLRState yyGLRState;
4106 typedef struct yyGLRStateSet yyGLRStateSet;
4107 typedef struct yySemanticOption yySemanticOption;
4108 typedef union yyGLRStackItem yyGLRStackItem;
4109 typedef struct yyGLRStack yyGLRStack;
4110
4111 struct yyGLRState {
4112 /** Type tag: always true. */
4113 yybool yyisState;
4114 /** Type tag for yysemantics. If true, yysval applies, otherwise
4115 * yyfirstVal applies. */
4116 yybool yyresolved;
4117 /** Number of corresponding LALR(1) machine state. */
4118 yyStateNum yylrState;
4119 /** Preceding state in this stack */
4120 yyGLRState* yypred;
4121 /** Source position of the last token produced by my symbol */
4122 size_t yyposn;
4123 union {
4124 /** First in a chain of alternative reductions producing the
4125 * non-terminal corresponding to this state, threaded through
4126 * yynext. */
4127 yySemanticOption* yyfirstVal;
4128 /** Semantic value for this state. */
4129 YYSTYPE yysval;
4130 } yysemantics;
4131 };
4132
4133 struct yyGLRStateSet {
4134 yyGLRState** yystates;
4135 /** During nondeterministic operation, yylookaheadNeeds tracks which
4136 * stacks have actually needed the current lookahead. During deterministic
4137 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4138 * duplicate yychar != YYEMPTY. */
4139 yybool* yylookaheadNeeds;
4140 size_t yysize, yycapacity;
4141 };
4142
4143 struct yySemanticOption {
4144 /** Type tag: always false. */
4145 yybool yyisState;
4146 /** Rule number for this reduction */
4147 yyRuleNum yyrule;
4148 /** The last RHS state in the list of states to be reduced. */
4149 yyGLRState* yystate;
4150 /** The lookahead for this reduction. */
4151 int yyrawchar;
4152 YYSTYPE yyval;
4153 /** Next sibling in chain of options. To facilitate merging,
4154 * options are chained in decreasing order by address. */
4155 yySemanticOption* yynext;
4156 };
4157
4158 /** Type of the items in the GLR stack. The yyisState field
4159 * indicates which item of the union is valid. */
4160 union yyGLRStackItem {
4161 yyGLRState yystate;
4162 yySemanticOption yyoption;
4163 };
4164
4165 struct yyGLRStack {
4166 int yyerrState;
4167
4168
4169 int yyerrcnt;
4170 int yyrawchar;
4171 YYSTYPE yyval;
4172
4173 YYJMP_BUF yyexception_buffer;
4174 yyGLRStackItem* yyitems;
4175 yyGLRStackItem* yynextFree;
4176 size_t yyspaceLeft;
4177 yyGLRState* yysplitPoint;
4178 yyGLRState* yylastDeleted;
4179 yyGLRStateSet yytops;
4180 };
4181
4182 #if YYSTACKEXPANDABLE
4183 static void yyexpandGLRStack (yyGLRStack* yystackp);
4184 #endif
4185
4186 static _Noreturn void
4187 yyFail (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char* yymsg)
4188 {
4189 if (yymsg != YY_NULLPTR)
4190 yyerror (P, tokens, index, yymsg);
4191 YYLONGJMP (yystackp->yyexception_buffer, 1);
4192 }
4193
4194 static _Noreturn void
4195 yyMemoryExhausted (yyGLRStack* yystackp)
4196 {
4197 YYLONGJMP (yystackp->yyexception_buffer, 2);
4198 }
4199
4200 #if YYDEBUG || YYERROR_VERBOSE
4201 /** A printable representation of TOKEN. */
4202 static inline const char*
4203 yytokenName (yySymbol yytoken)
4204 {
4205 if (yytoken == YYEMPTY)
4206 return "";
4207
4208 return yytname[yytoken];
4209 }
4210 #endif
4211
4212 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4213 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4214 * containing the pointer to the next state in the chain. */
4215 static void yyfillin (yyGLRStackItem *, int, int) YY_ATTRIBUTE_UNUSED;
4216 static void
4217 yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
4218 {
4219 int i;
4220 yyGLRState *s = yyvsp[yylow0].yystate.yypred;
4221 for (i = yylow0-1; i >= yylow1; i -= 1)
4222 {
4223 #if YYDEBUG
4224 yyvsp[i].yystate.yylrState = s->yylrState;
4225 #endif
4226 yyvsp[i].yystate.yyresolved = s->yyresolved;
4227 if (s->yyresolved)
4228 yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
4229 else
4230 /* The effect of using yysval or yyloc (in an immediate rule) is
4231 * undefined. */
4232 yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULLPTR;
4233 s = yyvsp[i].yystate.yypred = s->yypred;
4234 }
4235 }
4236
4237 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4238 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4239 * For convenience, always return YYLOW1. */
4240 static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
4241 YY_ATTRIBUTE_UNUSED;
4242 static inline int
4243 yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
4244 {
4245 if (!yynormal && yylow1 < *yylow)
4246 {
4247 yyfillin (yyvsp, *yylow, yylow1);
4248 *yylow = yylow1;
4249 }
4250 return yylow1;
4251 }
4252
4253 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4254 * and top stack item YYVSP. YYLVALP points to place to put semantic
4255 * value ($$), and yylocp points to place for location information
4256 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4257 * yyerr for YYERROR, yyabort for YYABORT. */
4258 static YYRESULTTAG
4259 yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
4260 yyGLRStack* yystackp,
4261 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
4262 {
4263 yybool yynormal YY_ATTRIBUTE_UNUSED = (yystackp->yysplitPoint == YY_NULLPTR);
4264 int yylow;
4265 YYUSE (yyvalp);
4266 YYUSE (P);
4267 YYUSE (tokens);
4268 YYUSE (index);
4269 YYUSE (yyrhslen);
4270 # undef yyerrok
4271 # define yyerrok (yystackp->yyerrState = 0)
4272 # undef YYACCEPT
4273 # define YYACCEPT return yyaccept
4274 # undef YYABORT
4275 # define YYABORT return yyabort
4276 # undef YYERROR
4277 # define YYERROR return yyerrok, yyerr
4278 # undef YYRECOVERING
4279 # define YYRECOVERING() (yystackp->yyerrState != 0)
4280 # undef yyclearin
4281 # define yyclearin (yychar = YYEMPTY)
4282 # undef YYFILL
4283 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
4284 # undef YYBACKUP
4285 # define YYBACKUP(Token, Value) \
4286 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4287 yyerrok, yyerr
4288
4289 yylow = 1;
4290 if (yyrhslen == 0)
4291 *yyvalp = yyval_default;
4292 else
4293 *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;
4294 switch (yyn)
4295 {
4296 case 284:
4297 #line 452 "src/parser_proc_grammar.y" /* glr.c:816 */
4298 {
4299 if ((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4300 psi_cpp_exp_exec((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), P->preproc, PSI_DATA(P));
4301 psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4302 }
4303 }
4304 #line 4305 "src/parser_proc.c" /* glr.c:816 */
4305 break;
4306
4307 case 285:
4308 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
4309 {
4310 char *libname = strdup((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text);
4311 P->file.libnames = psi_plist_add(P->file.libnames, &libname);
4312 }
4313 #line 4314 "src/parser_proc.c" /* glr.c:816 */
4314 break;
4315
4316 case 286:
4317 #line 462 "src/parser_proc_grammar.y" /* glr.c:816 */
4318 {
4319 psi_parser_proc_add_const(P, (*(struct psi_const **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4320 }
4321 #line 4322 "src/parser_proc.c" /* glr.c:816 */
4322 break;
4323
4324 case 287:
4325 #line 465 "src/parser_proc_grammar.y" /* glr.c:816 */
4326 {
4327 psi_parser_proc_add_decl(P, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4328 }
4329 #line 4330 "src/parser_proc.c" /* glr.c:816 */
4330 break;
4331
4332 case 288:
4333 #line 468 "src/parser_proc_grammar.y" /* glr.c:816 */
4334 {
4335 psi_parser_proc_add_decl_extvars(P, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4336 }
4337 #line 4338 "src/parser_proc.c" /* glr.c:816 */
4338 break;
4339
4340 case 289:
4341 #line 471 "src/parser_proc_grammar.y" /* glr.c:816 */
4342 {
4343 if (P->flags & PSI_DEBUG) {
4344 P->error(PSI_DATA(P), (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token, PSI_NOTICE, "Ignored decl: %s", (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name);
4345 }
4346 psi_decl_free(&(*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4347 }
4348 #line 4349 "src/parser_proc.c" /* glr.c:816 */
4349 break;
4350
4351 case 290:
4352 #line 477 "src/parser_proc_grammar.y" /* glr.c:816 */
4353 {
4354 psi_parser_proc_add_typedef(P, (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4355 }
4356 #line 4357 "src/parser_proc.c" /* glr.c:816 */
4357 break;
4358
4359 case 291:
4360 #line 480 "src/parser_proc_grammar.y" /* glr.c:816 */
4361 {
4362 psi_parser_proc_add_struct(P, (*(struct psi_decl_struct **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4363 }
4364 #line 4365 "src/parser_proc.c" /* glr.c:816 */
4365 break;
4366
4367 case 292:
4368 #line 483 "src/parser_proc_grammar.y" /* glr.c:816 */
4369 {
4370 psi_parser_proc_add_union(P, (*(struct psi_decl_union **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4371 }
4372 #line 4373 "src/parser_proc.c" /* glr.c:816 */
4373 break;
4374
4375 case 293:
4376 #line 486 "src/parser_proc_grammar.y" /* glr.c:816 */
4377 {
4378 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4379 }
4380 #line 4381 "src/parser_proc.c" /* glr.c:816 */
4381 break;
4382
4383 case 294:
4384 #line 489 "src/parser_proc_grammar.y" /* glr.c:816 */
4385 {
4386 psi_parser_proc_add_impl(P, (*(struct psi_impl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4387 }
4388 #line 4389 "src/parser_proc.c" /* glr.c:816 */
4389 break;
4390
4391 case 295:
4392 #line 495 "src/parser_proc_grammar.y" /* glr.c:816 */
4393 {
4394 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4395 }
4396 #line 4397 "src/parser_proc.c" /* glr.c:816 */
4397 break;
4398
4399 case 296:
4400 #line 501 "src/parser_proc_grammar.y" /* glr.c:816 */
4401 {
4402 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4403 }
4404 #line 4405 "src/parser_proc.c" /* glr.c:816 */
4405 break;
4406
4407 case 297:
4408 #line 504 "src/parser_proc_grammar.y" /* glr.c:816 */
4409 {
4410 (*(struct psi_cpp_exp **)(&(*yyvalp))) = (*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4411 }
4412 #line 4413 "src/parser_proc.c" /* glr.c:816 */
4413 break;
4414
4415 case 298:
4416 #line 510 "src/parser_proc_grammar.y" /* glr.c:816 */
4417 {
4418 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4419 struct psi_token *msg = NULL;
4420
4421 if (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0, &msg)) {
4422 size_t index = 1;
4423 struct psi_token *next;
4424
4425 msg = psi_token_copy(msg);
4426 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), index++, &next)) {
4427 struct psi_token *old = msg;
4428 msg = psi_token_cat(" ", 2, msg, next);
4429 free(old);
4430 }
4431 }
4432 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4433
4434 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, msg);
4435 } else {
4436 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, NULL);
4437 }
4438 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4439 }
4440 #line 4441 "src/parser_proc.c" /* glr.c:816 */
4441 break;
4442
4443 case 299:
4444 #line 533 "src/parser_proc_grammar.y" /* glr.c:816 */
4445 {
4446 (*(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))));
4447 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4448 }
4449 #line 4450 "src/parser_proc.c" /* glr.c:816 */
4450 break;
4451
4452 case 300:
4453 #line 537 "src/parser_proc_grammar.y" /* glr.c:816 */
4454 {
4455 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4456 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4457 }
4458 #line 4459 "src/parser_proc.c" /* glr.c:816 */
4459 break;
4460
4461 case 301:
4462 #line 541 "src/parser_proc_grammar.y" /* glr.c:816 */
4463 {
4464 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4465 (*(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))));
4466 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4467 }
4468 #line 4469 "src/parser_proc.c" /* glr.c:816 */
4469 break;
4470
4471 case 302:
4472 #line 546 "src/parser_proc_grammar.y" /* glr.c:816 */
4473 {
4474 (*(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)));
4475 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4476 }
4477 #line 4478 "src/parser_proc.c" /* glr.c:816 */
4478 break;
4479
4480 case 303:
4481 #line 550 "src/parser_proc_grammar.y" /* glr.c:816 */
4482 {
4483 (*(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)));
4484 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4485 }
4486 #line 4487 "src/parser_proc.c" /* glr.c:816 */
4487 break;
4488
4489 case 304:
4490 #line 554 "src/parser_proc_grammar.y" /* glr.c:816 */
4491 {
4492 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4493 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4494 }
4495 #line 4496 "src/parser_proc.c" /* glr.c:816 */
4496 break;
4497
4498 case 305:
4499 #line 558 "src/parser_proc_grammar.y" /* glr.c:816 */
4500 {
4501 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4502 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4503 }
4504 #line 4505 "src/parser_proc.c" /* glr.c:816 */
4505 break;
4506
4507 case 322:
4508 #line 602 "src/parser_proc_grammar.y" /* glr.c:816 */
4509 {
4510 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4511 (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL);
4512 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4513 }
4514 #line 4515 "src/parser_proc.c" /* glr.c:816 */
4515 break;
4516
4517 case 323:
4518 #line 607 "src/parser_proc_grammar.y" /* glr.c:816 */
4519 {
4520 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4521 (*(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);
4522 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
4523 }
4524 #line 4525 "src/parser_proc.c" /* glr.c:816 */
4525 break;
4526
4527 case 324:
4528 #line 612 "src/parser_proc_grammar.y" /* glr.c:816 */
4529 {
4530 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4531 (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, psi_num_exp_tokens((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4532 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4533 }
4534 #line 4535 "src/parser_proc.c" /* glr.c:816 */
4535 break;
4536
4537 case 325:
4538 #line 617 "src/parser_proc_grammar.y" /* glr.c:816 */
4539 {
4540 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_token_free);
4541 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4542 (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, psi_plist_add(list, &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))), NULL);
4543 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4544 }
4545 #line 4546 "src/parser_proc.c" /* glr.c:816 */
4546 break;
4547
4548 case 326:
4549 #line 626 "src/parser_proc_grammar.y" /* glr.c:816 */
4550 {
4551 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL);
4552 }
4553 #line 4554 "src/parser_proc.c" /* glr.c:816 */
4554 break;
4555
4556 case 327:
4557 #line 629 "src/parser_proc_grammar.y" /* glr.c:816 */
4558 {
4559 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); /* FIXME */
4560 }
4561 #line 4562 "src/parser_proc.c" /* glr.c:816 */
4562 break;
4563
4564 case 329:
4565 #line 633 "src/parser_proc_grammar.y" /* glr.c:816 */
4566 {
4567 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4568 }
4569 #line 4570 "src/parser_proc.c" /* glr.c:816 */
4570 break;
4571
4572 case 330:
4573 #line 639 "src/parser_proc_grammar.y" /* glr.c:816 */
4574 {
4575 (*(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)));
4576 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4577 (*(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)));
4578 }
4579 #line 4580 "src/parser_proc.c" /* glr.c:816 */
4580 break;
4581
4582 case 331:
4583 #line 644 "src/parser_proc_grammar.y" /* glr.c:816 */
4584 {
4585 (*(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)));
4586 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4587 (*(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)));
4588 }
4589 #line 4590 "src/parser_proc.c" /* glr.c:816 */
4590 break;
4591
4592 case 332:
4593 #line 652 "src/parser_proc_grammar.y" /* glr.c:816 */
4594 {
4595 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4596 }
4597 #line 4598 "src/parser_proc.c" /* glr.c:816 */
4598 break;
4599
4600 case 334:
4601 #line 659 "src/parser_proc_grammar.y" /* glr.c:816 */
4602 {
4603 (*(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)));
4604 (*(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)));
4605 }
4606 #line 4607 "src/parser_proc.c" /* glr.c:816 */
4607 break;
4608
4609 case 335:
4610 #line 663 "src/parser_proc_grammar.y" /* glr.c:816 */
4611 {
4612 (*(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)));
4613 (*(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)));
4614 }
4615 #line 4616 "src/parser_proc.c" /* glr.c:816 */
4616 break;
4617
4618 case 336:
4619 #line 670 "src/parser_proc_grammar.y" /* glr.c:816 */
4620 {
4621 (*(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)));
4622 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4623 }
4624 #line 4625 "src/parser_proc.c" /* glr.c:816 */
4625 break;
4626
4627 case 337:
4628 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
4629 {
4630 (*(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)));
4631 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4632 }
4633 #line 4634 "src/parser_proc.c" /* glr.c:816 */
4634 break;
4635
4636 case 338:
4637 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
4638 {
4639 (*(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)));
4640 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4641 }
4642 #line 4643 "src/parser_proc.c" /* glr.c:816 */
4643 break;
4644
4645 case 339:
4646 #line 682 "src/parser_proc_grammar.y" /* glr.c:816 */
4647 {
4648 (*(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)));
4649 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4650 }
4651 #line 4652 "src/parser_proc.c" /* glr.c:816 */
4652 break;
4653
4654 case 340:
4655 #line 687 "src/parser_proc_grammar.y" /* glr.c:816 */
4656 {
4657 {
4658 uint8_t exists;
4659
4660 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4661 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4662 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4663 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4664 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4665 }
4666 }
4667 #line 4668 "src/parser_proc.c" /* glr.c:816 */
4668 break;
4669
4670 case 341:
4671 #line 698 "src/parser_proc_grammar.y" /* glr.c:816 */
4672 {
4673 {
4674 uint8_t exists;
4675
4676 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4677 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4678 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4679 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4680 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4681 }
4682 }
4683 #line 4684 "src/parser_proc.c" /* glr.c:816 */
4684 break;
4685
4686 case 342:
4687 #line 709 "src/parser_proc_grammar.y" /* glr.c:816 */
4688 {
4689 (*(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));
4690 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4691 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4692 }
4693 #line 4694 "src/parser_proc.c" /* glr.c:816 */
4694 break;
4695
4696 case 343:
4697 #line 714 "src/parser_proc_grammar.y" /* glr.c:816 */
4698 {
4699 (*(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));
4700 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4701 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4702 }
4703 #line 4704 "src/parser_proc.c" /* glr.c:816 */
4704 break;
4705
4706 case 344:
4707 #line 719 "src/parser_proc_grammar.y" /* glr.c:816 */
4708 {
4709 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4710 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4711 }
4712 #line 4713 "src/parser_proc.c" /* glr.c:816 */
4713 break;
4714
4715 case 345:
4716 #line 723 "src/parser_proc_grammar.y" /* glr.c:816 */
4717 {
4718 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4719 (*(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));
4720 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4721 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4722 }
4723 #line 4724 "src/parser_proc.c" /* glr.c:816 */
4724 break;
4725
4726 case 346:
4727 #line 729 "src/parser_proc_grammar.y" /* glr.c:816 */
4728 {
4729 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4730 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION,
4731 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));
4732 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4733 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4734 }
4735 #line 4736 "src/parser_proc.c" /* glr.c:816 */
4736 break;
4737
4738 case 347:
4739 #line 739 "src/parser_proc_grammar.y" /* glr.c:816 */
4740 {
4741 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4742 }
4743 #line 4744 "src/parser_proc.c" /* glr.c:816 */
4744 break;
4745
4746 case 349:
4747 #line 746 "src/parser_proc_grammar.y" /* glr.c:816 */
4748 {
4749 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_num_exp_free),
4750 &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4751 }
4752 #line 4753 "src/parser_proc.c" /* glr.c:816 */
4753 break;
4754
4755 case 350:
4756 #line 750 "src/parser_proc_grammar.y" /* glr.c:816 */
4757 {
4758 (*(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)));
4759 }
4760 #line 4761 "src/parser_proc.c" /* glr.c:816 */
4761 break;
4762
4763 case 351:
4764 #line 756 "src/parser_proc_grammar.y" /* glr.c:816 */
4765 {
4766 (*(struct psi_const **)(&(*yyvalp))) = psi_const_init((*(struct psi_impl_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)));
4767 (*(struct psi_const **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4768 }
4769 #line 4770 "src/parser_proc.c" /* glr.c:816 */
4770 break;
4771
4772 case 352:
4773 #line 763 "src/parser_proc_grammar.y" /* glr.c:816 */
4774 {
4775 (*(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);
4776 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4777 }
4778 #line 4779 "src/parser_proc.c" /* glr.c:816 */
4779 break;
4780
4781 case 353:
4782 #line 767 "src/parser_proc_grammar.y" /* glr.c:816 */
4783 {
4784 (*(struct psi_impl_def_val **)(&(*yyvalp))) = psi_impl_def_val_init(PSI_T_NUMBER, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4785 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4786 }
4787 #line 4788 "src/parser_proc.c" /* glr.c:816 */
4788 break;
4789
4790 case 354:
4791 #line 771 "src/parser_proc_grammar.y" /* glr.c:816 */
4792 {
4793 (*(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);
4794 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4795 }
4796 #line 4797 "src/parser_proc.c" /* glr.c:816 */
4797 break;
4798
4799 case 358:
4800 #line 784 "src/parser_proc_grammar.y" /* glr.c:816 */
4801 {
4802 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4803 }
4804 #line 4805 "src/parser_proc.c" /* glr.c:816 */
4805 break;
4806
4807 case 359:
4808 #line 798 "src/parser_proc_grammar.y" /* glr.c:816 */
4809 {
4810 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4811 }
4812 #line 4813 "src/parser_proc.c" /* glr.c:816 */
4813 break;
4814
4815 case 360:
4816 #line 804 "src/parser_proc_grammar.y" /* glr.c:816 */
4817 {
4818 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4819 }
4820 #line 4821 "src/parser_proc.c" /* glr.c:816 */
4821 break;
4822
4823 case 361:
4824 #line 807 "src/parser_proc_grammar.y" /* glr.c:816 */
4825 {
4826 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4827 }
4828 #line 4829 "src/parser_proc.c" /* glr.c:816 */
4829 break;
4830
4831 case 362:
4832 #line 813 "src/parser_proc_grammar.y" /* glr.c:816 */
4833 {
4834 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4835 }
4836 #line 4837 "src/parser_proc.c" /* glr.c:816 */
4837 break;
4838
4839 case 363:
4840 #line 816 "src/parser_proc_grammar.y" /* glr.c:816 */
4841 {
4842 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4843 }
4844 #line 4845 "src/parser_proc.c" /* glr.c:816 */
4845 break;
4846
4847 case 365:
4848 #line 823 "src/parser_proc_grammar.y" /* glr.c:816 */
4849 {
4850 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4851 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
4852 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
4853 );
4854 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
4855 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4856 }
4857 #line 4858 "src/parser_proc.c" /* glr.c:816 */
4858 break;
4859
4860 case 366:
4861 #line 831 "src/parser_proc_grammar.y" /* glr.c:816 */
4862 {
4863 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4864 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4865 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->name),
4866 psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0, 0)
4867 );
4868 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4869 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->token);
4870 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4871 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4872 }
4873 #line 4874 "src/parser_proc.c" /* glr.c:816 */
4874 break;
4875
4876 case 367:
4877 #line 842 "src/parser_proc_grammar.y" /* glr.c:816 */
4878 {
4879 (*(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)));
4880 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4881 (*(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)));
4882 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4883 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4884 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4885 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4886 }
4887 #line 4888 "src/parser_proc.c" /* glr.c:816 */
4888 break;
4889
4890 case 368:
4891 #line 851 "src/parser_proc_grammar.y" /* glr.c:816 */
4892 {
4893 (*(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)));
4894 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4895 (*(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)));
4896 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4897 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4898 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4899 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4900 }
4901 #line 4902 "src/parser_proc.c" /* glr.c:816 */
4902 break;
4903
4904 case 370:
4905 #line 864 "src/parser_proc_grammar.y" /* glr.c:816 */
4906 {
4907 (*(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));
4908 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4909 }
4910 #line 4911 "src/parser_proc.c" /* glr.c:816 */
4911 break;
4912
4913 case 371:
4914 #line 868 "src/parser_proc_grammar.y" /* glr.c:816 */
4915 {
4916 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4917 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->name),
4918 psi_decl_var_init(NULL, 0, 0)
4919 );
4920 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4921 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4922 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4923 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4924 }
4925 #line 4926 "src/parser_proc.c" /* glr.c:816 */
4926 break;
4927
4928 case 372:
4929 #line 878 "src/parser_proc_grammar.y" /* glr.c:816 */
4930 {
4931 (*(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));
4932 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4933 (*(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)));
4934 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4935 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4936 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4937 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4938 }
4939 #line 4940 "src/parser_proc.c" /* glr.c:816 */
4940 break;
4941
4942 case 373:
4943 #line 887 "src/parser_proc_grammar.y" /* glr.c:816 */
4944 {
4945 (*(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));
4946 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4947 (*(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)));
4948 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4949 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4950 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4951 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4952 }
4953 #line 4954 "src/parser_proc.c" /* glr.c:816 */
4954 break;
4955
4956 case 375:
4957 #line 900 "src/parser_proc_grammar.y" /* glr.c:816 */
4958 {
4959 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4960 }
4961 #line 4962 "src/parser_proc.c" /* glr.c:816 */
4962 break;
4963
4964 case 376:
4965 #line 903 "src/parser_proc_grammar.y" /* glr.c:816 */
4966 {
4967 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4968 }
4969 #line 4970 "src/parser_proc.c" /* glr.c:816 */
4970 break;
4971
4972 case 379:
4973 #line 914 "src/parser_proc_grammar.y" /* glr.c:816 */
4974 {
4975 (*(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);
4976 (*(struct psi_decl_type **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4977 }
4978 #line 4979 "src/parser_proc.c" /* glr.c:816 */
4979 break;
4980
4981 case 381:
4982 #line 922 "src/parser_proc_grammar.y" /* glr.c:816 */
4983 {
4984 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4985 (*(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);
4986 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4987 }
4988 #line 4989 "src/parser_proc.c" /* glr.c:816 */
4989 break;
4990
4991 case 382:
4992 #line 927 "src/parser_proc_grammar.y" /* glr.c:816 */
4993 {
4994 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4995 (*(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);
4996 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4997 }
4998 #line 4999 "src/parser_proc.c" /* glr.c:816 */
4999 break;
5000
5001 case 383:
5002 #line 932 "src/parser_proc_grammar.y" /* glr.c:816 */
5003 {
5004 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5005 (*(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);
5006 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5007 }
5008 #line 5009 "src/parser_proc.c" /* glr.c:816 */
5009 break;
5010
5011 case 386:
5012 #line 942 "src/parser_proc_grammar.y" /* glr.c:816 */
5013 {
5014 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5015 }
5016 #line 5017 "src/parser_proc.c" /* glr.c:816 */
5017 break;
5018
5019 case 387:
5020 #line 945 "src/parser_proc_grammar.y" /* glr.c:816 */
5021 {
5022 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5023 }
5024 #line 5025 "src/parser_proc.c" /* glr.c:816 */
5025 break;
5026
5027 case 388:
5028 #line 951 "src/parser_proc_grammar.y" /* glr.c:816 */
5029 {
5030 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5031 }
5032 #line 5033 "src/parser_proc.c" /* glr.c:816 */
5033 break;
5034
5035 case 389:
5036 #line 954 "src/parser_proc_grammar.y" /* glr.c:816 */
5037 {
5038 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5039 }
5040 #line 5041 "src/parser_proc.c" /* glr.c:816 */
5041 break;
5042
5043 case 390:
5044 #line 957 "src/parser_proc_grammar.y" /* glr.c:816 */
5045 {
5046 (*(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)));
5047 }
5048 #line 5049 "src/parser_proc.c" /* glr.c:816 */
5049 break;
5050
5051 case 393:
5052 #line 968 "src/parser_proc_grammar.y" /* glr.c:816 */
5053 {
5054 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5055 }
5056 #line 5057 "src/parser_proc.c" /* glr.c:816 */
5057 break;
5058
5059 case 394:
5060 #line 971 "src/parser_proc_grammar.y" /* glr.c:816 */
5061 {
5062 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5063 }
5064 #line 5065 "src/parser_proc.c" /* glr.c:816 */
5065 break;
5066
5067 case 395:
5068 #line 974 "src/parser_proc_grammar.y" /* glr.c:816 */
5069 {
5070 (*(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)));
5071 }
5072 #line 5073 "src/parser_proc.c" /* glr.c:816 */
5073 break;
5074
5075 case 396:
5076 #line 980 "src/parser_proc_grammar.y" /* glr.c:816 */
5077 {
5078 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5079 }
5080 #line 5081 "src/parser_proc.c" /* glr.c:816 */
5081 break;
5082
5083 case 397:
5084 #line 983 "src/parser_proc_grammar.y" /* glr.c:816 */
5085 {
5086 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5087 }
5088 #line 5089 "src/parser_proc.c" /* glr.c:816 */
5089 break;
5090
5091 case 398:
5092 #line 986 "src/parser_proc_grammar.y" /* glr.c:816 */
5093 {
5094 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5095 (*(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)));
5096 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5097 } else {
5098 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5099 }
5100 }
5101 #line 5102 "src/parser_proc.c" /* glr.c:816 */
5102 break;
5103
5104 case 399:
5105 #line 994 "src/parser_proc_grammar.y" /* glr.c:816 */
5106 {
5107 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5108 (*(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)));
5109 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5110 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5111 } else {
5112 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5113 }
5114 }
5115 #line 5116 "src/parser_proc.c" /* glr.c:816 */
5116 break;
5117
5118 case 400:
5119 #line 1006 "src/parser_proc_grammar.y" /* glr.c:816 */
5120 {
5121 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5122 }
5123 #line 5124 "src/parser_proc.c" /* glr.c:816 */
5124 break;
5125
5126 case 401:
5127 #line 1009 "src/parser_proc_grammar.y" /* glr.c:816 */
5128 {
5129 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5130 }
5131 #line 5132 "src/parser_proc.c" /* glr.c:816 */
5132 break;
5133
5134 case 402:
5135 #line 1012 "src/parser_proc_grammar.y" /* glr.c:816 */
5136 {
5137 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5138 }
5139 #line 5140 "src/parser_proc.c" /* glr.c:816 */
5140 break;
5141
5142 case 403:
5143 #line 1015 "src/parser_proc_grammar.y" /* glr.c:816 */
5144 {
5145 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5146 (*(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)));
5147 } else {
5148 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5149 }
5150 }
5151 #line 5152 "src/parser_proc.c" /* glr.c:816 */
5152 break;
5153
5154 case 404:
5155 #line 1022 "src/parser_proc_grammar.y" /* glr.c:816 */
5156 {
5157 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5158 }
5159 #line 5160 "src/parser_proc.c" /* glr.c:816 */
5160 break;
5161
5162 case 405:
5163 #line 1025 "src/parser_proc_grammar.y" /* glr.c:816 */
5164 {
5165 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5166 (*(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)));
5167 } else {
5168 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5169 }
5170 }
5171 #line 5172 "src/parser_proc.c" /* glr.c:816 */
5172 break;
5173
5174 case 406:
5175 #line 1035 "src/parser_proc_grammar.y" /* glr.c:816 */
5176 {
5177 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5178 }
5179 #line 5180 "src/parser_proc.c" /* glr.c:816 */
5180 break;
5181
5182 case 408:
5183 #line 1041 "src/parser_proc_grammar.y" /* glr.c:816 */
5184 {
5185 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5186 }
5187 #line 5188 "src/parser_proc.c" /* glr.c:816 */
5188 break;
5189
5190 case 412:
5191 #line 1050 "src/parser_proc_grammar.y" /* glr.c:816 */
5192 {
5193 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5194 }
5195 #line 5196 "src/parser_proc.c" /* glr.c:816 */
5196 break;
5197
5198 case 413:
5199 #line 1053 "src/parser_proc_grammar.y" /* glr.c:816 */
5200 {
5201 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5202 }
5203 #line 5204 "src/parser_proc.c" /* glr.c:816 */
5204 break;
5205
5206 case 414:
5207 #line 1056 "src/parser_proc_grammar.y" /* glr.c:816 */
5208 {
5209 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5210 (*(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)));
5211 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5212 } else {
5213 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5214 }
5215 }
5216 #line 5217 "src/parser_proc.c" /* glr.c:816 */
5217 break;
5218
5219 case 415:
5220 #line 1067 "src/parser_proc_grammar.y" /* glr.c:816 */
5221 {
5222 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5223 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5224 (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->redir = strdup((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
5225 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5226 }
5227 }
5228 #line 5229 "src/parser_proc.c" /* glr.c:816 */
5229 break;
5230
5231 case 416:
5232 #line 1074 "src/parser_proc_grammar.y" /* glr.c:816 */
5233 {
5234 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5235 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5236 (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->redir = strdup((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
5237 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5238 }
5239 }
5240 #line 5241 "src/parser_proc.c" /* glr.c:816 */
5241 break;
5242
5243 case 417:
5244 #line 1084 "src/parser_proc_grammar.y" /* glr.c:816 */
5245 {
5246 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5247 }
5248 #line 5249 "src/parser_proc.c" /* glr.c:816 */
5249 break;
5250
5251 case 418:
5252 #line 1087 "src/parser_proc_grammar.y" /* glr.c:816 */
5253 {
5254 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5255 }
5256 #line 5257 "src/parser_proc.c" /* glr.c:816 */
5257 break;
5258
5259 case 419:
5260 #line 1093 "src/parser_proc_grammar.y" /* glr.c:816 */
5261 {
5262 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5263 }
5264 #line 5265 "src/parser_proc.c" /* glr.c:816 */
5265 break;
5266
5267 case 420:
5268 #line 1096 "src/parser_proc_grammar.y" /* glr.c:816 */
5269 {
5270 (*(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)));
5271 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5272 }
5273 #line 5274 "src/parser_proc.c" /* glr.c:816 */
5274 break;
5275
5276 case 421:
5277 #line 1103 "src/parser_proc_grammar.y" /* glr.c:816 */
5278 {
5279 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
5280
5281 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5282 size_t i = 0;
5283 struct psi_decl_var *var;
5284
5285 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &var)) {
5286 if (psi_decl_extvar_is_blacklisted(var->name)) {
5287 psi_decl_var_free(&var);
5288 } else {
5289 list = psi_plist_add(list, psi_decl_extvar_init(
5290 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type), var)));
5291 }
5292 }
5293 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5294 }
5295
5296 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->var->name)) {
5297 psi_decl_arg_free(&(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5298 } else {
5299 struct psi_decl_extvar *evar = psi_decl_extvar_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5300 list = psi_plist_add(list, &evar);
5301 }
5302
5303 (*(struct psi_plist **)(&(*yyvalp))) = list;
5304 }
5305 #line 5306 "src/parser_proc.c" /* glr.c:816 */
5306 break;
5307
5308 case 422:
5309 #line 1133 "src/parser_proc_grammar.y" /* glr.c:816 */
5310 {
5311 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5312 }
5313 #line 5314 "src/parser_proc.c" /* glr.c:816 */
5314 break;
5315
5316 case 423:
5317 #line 1136 "src/parser_proc_grammar.y" /* glr.c:816 */
5318 {
5319 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5320 }
5321 #line 5322 "src/parser_proc.c" /* glr.c:816 */
5322 break;
5323
5324 case 424:
5325 #line 1142 "src/parser_proc_grammar.y" /* glr.c:816 */
5326 {
5327 (*(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)));
5328 }
5329 #line 5330 "src/parser_proc.c" /* glr.c:816 */
5330 break;
5331
5332 case 425:
5333 #line 1145 "src/parser_proc_grammar.y" /* glr.c:816 */
5334 {
5335 (*(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)));
5336 }
5337 #line 5338 "src/parser_proc.c" /* glr.c:816 */
5338 break;
5339
5340 case 426:
5341 #line 1151 "src/parser_proc_grammar.y" /* glr.c:816 */
5342 {
5343 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5344 }
5345 #line 5346 "src/parser_proc.c" /* glr.c:816 */
5346 break;
5347
5348 case 427:
5349 #line 1154 "src/parser_proc_grammar.y" /* glr.c:816 */
5350 {
5351 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5352 }
5353 #line 5354 "src/parser_proc.c" /* glr.c:816 */
5354 break;
5355
5356 case 428:
5357 #line 1157 "src/parser_proc_grammar.y" /* glr.c:816 */
5358 {
5359 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5360 }
5361 #line 5362 "src/parser_proc.c" /* glr.c:816 */
5362 break;
5363
5364 case 429:
5365 #line 1160 "src/parser_proc_grammar.y" /* glr.c:816 */
5366 {
5367 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5368 }
5369 #line 5370 "src/parser_proc.c" /* glr.c:816 */
5370 break;
5371
5372 case 436:
5373 #line 1181 "src/parser_proc_grammar.y" /* glr.c:816 */
5374 {
5375 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5376 (*(struct psi_decl **)(&(*yyvalp)))->abi = psi_decl_abi_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
5377 }
5378 #line 5379 "src/parser_proc.c" /* glr.c:816 */
5379 break;
5380
5381 case 439:
5382 #line 1193 "src/parser_proc_grammar.y" /* glr.c:816 */
5383 {
5384 (*(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)));
5385 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5386 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5387 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5388 }
5389 }
5390 #line 5391 "src/parser_proc.c" /* glr.c:816 */
5391 break;
5392
5393 case 440:
5394 #line 1200 "src/parser_proc_grammar.y" /* glr.c:816 */
5395 {
5396 (*(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)));
5397 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5398 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5399 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5400 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5401 }
5402 }
5403 #line 5404 "src/parser_proc.c" /* glr.c:816 */
5404 break;
5405
5406 case 441:
5407 #line 1211 "src/parser_proc_grammar.y" /* glr.c:816 */
5408 {
5409 (*(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)));
5410 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5411 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5412 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5413 }
5414 }
5415 #line 5416 "src/parser_proc.c" /* glr.c:816 */
5416 break;
5417
5418 case 442:
5419 #line 1218 "src/parser_proc_grammar.y" /* glr.c:816 */
5420 {
5421 (*(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)));
5422 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5423 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5424 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5425 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5426 }
5427 }
5428 #line 5429 "src/parser_proc.c" /* glr.c:816 */
5429 break;
5430
5431 case 443:
5432 #line 1226 "src/parser_proc_grammar.y" /* glr.c:816 */
5433 {
5434 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval));
5435 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5436
5437 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))), 1, "rval");
5438 struct psi_decl_arg *rval_func = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-12)].yystate.yysemantics.yysval)), psi_decl_var_init(type_token->text, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval)), 0));
5439 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5440
5441 rval_func->var->token = psi_token_copy(type_token);
5442 rval_func->token = psi_token_copy(type_token);
5443 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5444 rval_func->var->pointer_level += 1;
5445 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5446 }
5447
5448 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5449 struct psi_decl_arg *func = psi_decl_arg_init(type, psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))->text, 1, 0));
5450
5451 type->real.func = rval_decl;
5452 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5453 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5454
5455 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5456 }
5457 #line 5458 "src/parser_proc.c" /* glr.c:816 */
5458 break;
5459
5460 case 444:
5461 #line 1250 "src/parser_proc_grammar.y" /* glr.c:816 */
5462 {
5463 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-12)].yystate.yysemantics.yysval));
5464 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval));
5465 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5466
5467 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))), 1, "rval");
5468 struct psi_decl_arg *rval_func = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-15)].yystate.yysemantics.yysval)), psi_decl_var_init(type_token->text, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-14)].yystate.yysemantics.yysval)), 0));
5469 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5470
5471 rval_func->var->token = psi_token_copy(type_token);
5472 rval_func->token = psi_token_copy(type_token);
5473 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5474 rval_func->var->pointer_level += 1;
5475 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5476 }
5477
5478 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5479 struct psi_decl_arg *func = psi_decl_arg_init(type, psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))->text, 1, 0));
5480
5481 type->real.func = rval_decl;
5482 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval)));
5483 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval)));
5484
5485 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5486 }
5487 #line 5488 "src/parser_proc.c" /* glr.c:816 */
5488 break;
5489
5490 case 445:
5491 #line 1278 "src/parser_proc_grammar.y" /* glr.c:816 */
5492 {
5493 (*(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)));
5494 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5495 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5496 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5497 }
5498 }
5499 #line 5500 "src/parser_proc.c" /* glr.c:816 */
5500 break;
5501
5502 case 446:
5503 #line 1285 "src/parser_proc_grammar.y" /* glr.c:816 */
5504 {
5505 (*(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)));
5506 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5507 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5508 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5509 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5510 }
5511 }
5512 #line 5513 "src/parser_proc.c" /* glr.c:816 */
5513 break;
5514
5515 case 447:
5516 #line 1296 "src/parser_proc_grammar.y" /* glr.c:816 */
5517 {
5518 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5519 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5520 (*(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));
5521 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5522 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5523 }
5524 #line 5525 "src/parser_proc.c" /* glr.c:816 */
5525 break;
5526
5527 case 448:
5528 #line 1342 "src/parser_proc_grammar.y" /* glr.c:816 */
5529 {
5530 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5531 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), 0));
5532 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5533 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5534 }
5535 #line 5536 "src/parser_proc.c" /* glr.c:816 */
5536 break;
5537
5538 case 450:
5539 #line 1398 "src/parser_proc_grammar.y" /* glr.c:816 */
5540 {
5541 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5542 }
5543 #line 5544 "src/parser_proc.c" /* glr.c:816 */
5544 break;
5545
5546 case 451:
5547 #line 1401 "src/parser_proc_grammar.y" /* glr.c:816 */
5548 {
5549 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5550 }
5551 #line 5552 "src/parser_proc.c" /* glr.c:816 */
5552 break;
5553
5554 case 452:
5555 #line 1404 "src/parser_proc_grammar.y" /* glr.c:816 */
5556 {
5557 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5558 }
5559 #line 5560 "src/parser_proc.c" /* glr.c:816 */
5560 break;
5561
5562 case 453:
5563 #line 1410 "src/parser_proc_grammar.y" /* glr.c:816 */
5564 {
5565 (*(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)));
5566 }
5567 #line 5568 "src/parser_proc.c" /* glr.c:816 */
5568 break;
5569
5570 case 454:
5571 #line 1413 "src/parser_proc_grammar.y" /* glr.c:816 */
5572 {
5573 (*(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)));
5574 }
5575 #line 5576 "src/parser_proc.c" /* glr.c:816 */
5576 break;
5577
5578 case 455:
5579 #line 1419 "src/parser_proc_grammar.y" /* glr.c:816 */
5580 {
5581 char digest[17];
5582 struct psi_token *name;
5583
5584 psi_token_hash((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func ->token, digest);
5585 name = psi_token_append("@", psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token), 2, "funct", digest);
5586
5587 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5588 psi_decl_type_init(PSI_T_FUNCTION, name->text),
5589 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5590 );
5591 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = name;
5592 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5593 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5594 }
5595 #line 5596 "src/parser_proc.c" /* glr.c:816 */
5596 break;
5597
5598 case 456:
5599 #line 1434 "src/parser_proc_grammar.y" /* glr.c:816 */
5600 {
5601 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5602 }
5603 #line 5604 "src/parser_proc.c" /* glr.c:816 */
5604 break;
5605
5606 case 457:
5607 #line 1437 "src/parser_proc_grammar.y" /* glr.c:816 */
5608 {
5609 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5610 (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)),
5611 psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0)
5612 );
5613 }
5614 #line 5615 "src/parser_proc.c" /* glr.c:816 */
5615 break;
5616
5617 case 458:
5618 #line 1466 "src/parser_proc_grammar.y" /* glr.c:816 */
5619 {
5620 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5621 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
5622 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5623 );
5624 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5625 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5626 }
5627 #line 5628 "src/parser_proc.c" /* glr.c:816 */
5628 break;
5629
5630 case 459:
5631 #line 1474 "src/parser_proc_grammar.y" /* glr.c:816 */
5632 {
5633 (*(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)));
5634 }
5635 #line 5636 "src/parser_proc.c" /* glr.c:816 */
5636 break;
5637
5638 case 460:
5639 #line 1502 "src/parser_proc_grammar.y" /* glr.c:816 */
5640 {
5641 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5642 (*(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)));
5643 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5644 }
5645 #line 5646 "src/parser_proc.c" /* glr.c:816 */
5646 break;
5647
5648 case 461:
5649 #line 1507 "src/parser_proc_grammar.y" /* glr.c:816 */
5650 {
5651 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5652 (*(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)));
5653 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5654 }
5655 #line 5656 "src/parser_proc.c" /* glr.c:816 */
5656 break;
5657
5658 case 462:
5659 #line 1515 "src/parser_proc_grammar.y" /* glr.c:816 */
5660 {
5661 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5662 (*(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)));
5663 (*(struct psi_decl_union **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5664 (*(struct psi_decl_union **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5665 (*(struct psi_decl_union **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5666 }
5667 #line 5668 "src/parser_proc.c" /* glr.c:816 */
5668 break;
5669
5670 case 463:
5671 #line 1525 "src/parser_proc_grammar.y" /* glr.c:816 */
5672 {
5673 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5674 (*(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)));
5675 (*(struct psi_decl_struct **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5676 (*(struct psi_decl_struct **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5677 (*(struct psi_decl_struct **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5678 }
5679 #line 5680 "src/parser_proc.c" /* glr.c:816 */
5680 break;
5681
5682 case 464:
5683 #line 1535 "src/parser_proc_grammar.y" /* glr.c:816 */
5684 {
5685 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5686 }
5687 #line 5688 "src/parser_proc.c" /* glr.c:816 */
5688 break;
5689
5690 case 466:
5691 #line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */
5692 {
5693 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5694 }
5695 #line 5696 "src/parser_proc.c" /* glr.c:816 */
5696 break;
5697
5698 case 467:
5699 #line 1548 "src/parser_proc_grammar.y" /* glr.c:816 */
5700 {
5701 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5702 (*(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)));
5703 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5704 size_t i = 0;
5705 struct psi_decl_arg *arg;
5706
5707 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5708 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5709 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5710 }
5711 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5712 }
5713 }
5714 #line 5715 "src/parser_proc.c" /* glr.c:816 */
5715 break;
5716
5717 case 468:
5718 #line 1562 "src/parser_proc_grammar.y" /* glr.c:816 */
5719 {
5720 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5721 (*(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)));
5722 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5723 size_t i = 0;
5724 struct psi_decl_arg *arg;
5725
5726 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5727 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5728 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5729 }
5730 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5731 }
5732 }
5733 #line 5734 "src/parser_proc.c" /* glr.c:816 */
5734 break;
5735
5736 case 469:
5737 #line 1579 "src/parser_proc_grammar.y" /* glr.c:816 */
5738 {
5739 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5740 }
5741 #line 5742 "src/parser_proc.c" /* glr.c:816 */
5742 break;
5743
5744 case 470:
5745 #line 1582 "src/parser_proc_grammar.y" /* glr.c:816 */
5746 {
5747 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5748 }
5749 #line 5750 "src/parser_proc.c" /* glr.c:816 */
5750 break;
5751
5752 case 471:
5753 #line 1588 "src/parser_proc_grammar.y" /* glr.c:816 */
5754 {
5755 {
5756 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5757 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5758 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg);
5759 }
5760 }
5761 #line 5762 "src/parser_proc.c" /* glr.c:816 */
5762 break;
5763
5764 case 472:
5765 #line 1595 "src/parser_proc_grammar.y" /* glr.c:816 */
5766 {
5767 {
5768 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5769 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5770 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg);
5771 }
5772 }
5773 #line 5774 "src/parser_proc.c" /* glr.c:816 */
5774 break;
5775
5776 case 473:
5777 #line 1605 "src/parser_proc_grammar.y" /* glr.c:816 */
5778 {
5779 (*(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)));
5780 (*(struct psi_decl_enum **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval));
5781 }
5782 #line 5783 "src/parser_proc.c" /* glr.c:816 */
5783 break;
5784
5785 case 474:
5786 #line 1612 "src/parser_proc_grammar.y" /* glr.c:816 */
5787 {
5788 (*(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)));
5789 }
5790 #line 5791 "src/parser_proc.c" /* glr.c:816 */
5791 break;
5792
5793 case 475:
5794 #line 1615 "src/parser_proc_grammar.y" /* glr.c:816 */
5795 {
5796 (*(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)));
5797 }
5798 #line 5799 "src/parser_proc.c" /* glr.c:816 */
5799 break;
5800
5801 case 476:
5802 #line 1621 "src/parser_proc_grammar.y" /* glr.c:816 */
5803 {
5804 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5805 (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, NULL);
5806 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5807 }
5808 #line 5809 "src/parser_proc.c" /* glr.c:816 */
5809 break;
5810
5811 case 477:
5812 #line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */
5813 {
5814 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5815 (*(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)));
5816 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5817 }
5818 #line 5819 "src/parser_proc.c" /* glr.c:816 */
5819 break;
5820
5821 case 478:
5822 #line 1634 "src/parser_proc_grammar.y" /* glr.c:816 */
5823 {
5824 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5825 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5826 }
5827 #line 5828 "src/parser_proc.c" /* glr.c:816 */
5828 break;
5829
5830 case 479:
5831 #line 1638 "src/parser_proc_grammar.y" /* glr.c:816 */
5832 {
5833 (*(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)));
5834 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->token);
5835 }
5836 #line 5837 "src/parser_proc.c" /* glr.c:816 */
5837 break;
5838
5839 case 480:
5840 #line 1642 "src/parser_proc_grammar.y" /* glr.c:816 */
5841 {
5842 (*(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)));
5843 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5844 }
5845 #line 5846 "src/parser_proc.c" /* glr.c:816 */
5846 break;
5847
5848 case 481:
5849 #line 1646 "src/parser_proc_grammar.y" /* glr.c:816 */
5850 {
5851 (*(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)));
5852 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5853 }
5854 #line 5855 "src/parser_proc.c" /* glr.c:816 */
5855 break;
5856
5857 case 482:
5858 #line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */
5859 {
5860 (*(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)));
5861 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5862 }
5863 #line 5864 "src/parser_proc.c" /* glr.c:816 */
5864 break;
5865
5866 case 483:
5867 #line 1654 "src/parser_proc_grammar.y" /* glr.c:816 */
5868 {
5869 (*(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)));
5870 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5871 }
5872 #line 5873 "src/parser_proc.c" /* glr.c:816 */
5873 break;
5874
5875 case 484:
5876 #line 1661 "src/parser_proc_grammar.y" /* glr.c:816 */
5877 {
5878 (*(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);
5879 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5880 }
5881 #line 5882 "src/parser_proc.c" /* glr.c:816 */
5882 break;
5883
5884 case 485:
5885 #line 1665 "src/parser_proc_grammar.y" /* glr.c:816 */
5886 {
5887 (*(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);
5888 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5889 }
5890 #line 5891 "src/parser_proc.c" /* glr.c:816 */
5891 break;
5892
5893 case 486:
5894 #line 1669 "src/parser_proc_grammar.y" /* glr.c:816 */
5895 {
5896 (*(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);
5897 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5898 }
5899 #line 5900 "src/parser_proc.c" /* glr.c:816 */
5900 break;
5901
5902 case 487:
5903 #line 1673 "src/parser_proc_grammar.y" /* glr.c:816 */
5904 {
5905 (*(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);
5906 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5907 }
5908 #line 5909 "src/parser_proc.c" /* glr.c:816 */
5909 break;
5910
5911 case 488:
5912 #line 1677 "src/parser_proc_grammar.y" /* glr.c:816 */
5913 {
5914 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_NAME, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0);
5915 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5916 }
5917 #line 5918 "src/parser_proc.c" /* glr.c:816 */
5918 break;
5919
5920 case 489:
5921 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
5922 {
5923 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5924 }
5925 #line 5926 "src/parser_proc.c" /* glr.c:816 */
5926 break;
5927
5928 case 490:
5929 #line 1687 "src/parser_proc_grammar.y" /* glr.c:816 */
5930 {
5931 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5932 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5933 }
5934 #line 5935 "src/parser_proc.c" /* glr.c:816 */
5935 break;
5936
5937 case 491:
5938 #line 1691 "src/parser_proc_grammar.y" /* glr.c:816 */
5939 {
5940 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5941 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5942 }
5943 #line 5944 "src/parser_proc.c" /* glr.c:816 */
5944 break;
5945
5946 case 492:
5947 #line 1698 "src/parser_proc_grammar.y" /* glr.c:816 */
5948 {
5949 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5950 }
5951 #line 5952 "src/parser_proc.c" /* glr.c:816 */
5952 break;
5953
5954 case 493:
5955 #line 1701 "src/parser_proc_grammar.y" /* glr.c:816 */
5956 {
5957 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5958 int8_t sizeof_void_p = sizeof(void *);
5959 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5960 psi_decl_type_free(&(*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5961 } else {
5962 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_SIZEOF, (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), 0);
5963 }
5964 }
5965 #line 5966 "src/parser_proc.c" /* glr.c:816 */
5966 break;
5967
5968 case 494:
5969 #line 1713 "src/parser_proc_grammar.y" /* glr.c:816 */
5970 {
5971 int8_t sizeof_void_p = sizeof(void *);
5972 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5973 }
5974 #line 5975 "src/parser_proc.c" /* glr.c:816 */
5975 break;
5976
5977 case 495:
5978 #line 1717 "src/parser_proc_grammar.y" /* glr.c:816 */
5979 {
5980 int8_t sizeof_a = sizeof('a');
5981 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_a, 0);
5982 }
5983 #line 5984 "src/parser_proc.c" /* glr.c:816 */
5984 break;
5985
5986 case 496:
5987 #line 1721 "src/parser_proc_grammar.y" /* glr.c:816 */
5988 {
5989 uint64_t len = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size + 1;
5990 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_UINT64, &len, 0);
5991 }
5992 #line 5993 "src/parser_proc.c" /* glr.c:816 */
5993 break;
5994
5995 case 497:
5996 #line 1728 "src/parser_proc_grammar.y" /* glr.c:816 */
5997 {
5998 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5999 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6000 } else {
6001 char digest[17];
6002
6003 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6004 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6005 }
6006 }
6007 #line 6008 "src/parser_proc.c" /* glr.c:816 */
6008 break;
6009
6010 case 498:
6011 #line 1741 "src/parser_proc_grammar.y" /* glr.c:816 */
6012 {
6013 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6014 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6015 } else {
6016 char digest[17];
6017
6018 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6019 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6020 }
6021 }
6022 #line 6023 "src/parser_proc.c" /* glr.c:816 */
6023 break;
6024
6025 case 499:
6026 #line 1754 "src/parser_proc_grammar.y" /* glr.c:816 */
6027 {
6028 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6029 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6030 } else {
6031 char digest[17];
6032
6033 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6034 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6035 }
6036 }
6037 #line 6038 "src/parser_proc.c" /* glr.c:816 */
6038 break;
6039
6040 case 500:
6041 #line 1767 "src/parser_proc_grammar.y" /* glr.c:816 */
6042 {
6043 (*(struct psi_token **)(&(*yyvalp))) = NULL;
6044 }
6045 #line 6046 "src/parser_proc.c" /* glr.c:816 */
6046 break;
6047
6048 case 501:
6049 #line 1770 "src/parser_proc_grammar.y" /* glr.c:816 */
6050 {
6051 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6052 (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME;
6053 }
6054 #line 6055 "src/parser_proc.c" /* glr.c:816 */
6055 break;
6056
6057 case 504:
6058 #line 1782 "src/parser_proc_grammar.y" /* glr.c:816 */
6059 {
6060 (*(struct psi_layout **)(&(*yyvalp))) = NULL;
6061 }
6062 #line 6063 "src/parser_proc.c" /* glr.c:816 */
6063 break;
6064
6065 case 505:
6066 #line 1785 "src/parser_proc_grammar.y" /* glr.c:816 */
6067 {
6068 (*(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));
6069 }
6070 #line 6071 "src/parser_proc.c" /* glr.c:816 */
6071 break;
6072
6073 case 506:
6074 #line 1788 "src/parser_proc_grammar.y" /* glr.c:816 */
6075 {
6076 (*(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);
6077 }
6078 #line 6079 "src/parser_proc.c" /* glr.c:816 */
6079 break;
6080
6081 case 507:
6082 #line 1791 "src/parser_proc_grammar.y" /* glr.c:816 */
6083 {
6084 (*(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));
6085 }
6086 #line 6087 "src/parser_proc.c" /* glr.c:816 */
6087 break;
6088
6089 case 508:
6090 #line 1797 "src/parser_proc_grammar.y" /* glr.c:816 */
6091 {
6092 (*(struct psi_layout*)(&(*yyvalp))).pos = 0;
6093 (*(struct psi_layout*)(&(*yyvalp))).len = 0;
6094 }
6095 #line 6096 "src/parser_proc.c" /* glr.c:816 */
6096 break;
6097
6098 case 509:
6099 #line 1801 "src/parser_proc_grammar.y" /* glr.c:816 */
6100 {
6101 (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text);
6102 (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
6103 }
6104 #line 6105 "src/parser_proc.c" /* glr.c:816 */
6105 break;
6106
6107 case 510:
6108 #line 1808 "src/parser_proc_grammar.y" /* glr.c:816 */
6109 {
6110 (*(size_t*)(&(*yyvalp))) = 0;
6111 }
6112 #line 6113 "src/parser_proc.c" /* glr.c:816 */
6113 break;
6114
6115 case 511:
6116 #line 1811 "src/parser_proc_grammar.y" /* glr.c:816 */
6117 {
6118 (*(size_t*)(&(*yyvalp))) = 0;
6119 }
6120 #line 6121 "src/parser_proc.c" /* glr.c:816 */
6121 break;
6122
6123 case 512:
6124 #line 1814 "src/parser_proc_grammar.y" /* glr.c:816 */
6125 {
6126 struct psi_validate_scope scope = {0};
6127 psi_validate_scope_ctor(&scope);
6128 scope.defs = &P->preproc->defs;
6129 if (psi_num_exp_validate(PSI_DATA(P), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &scope)) {
6130 (*(size_t*)(&(*yyvalp))) = psi_num_exp_get_long((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), NULL, &P->preproc->defs);
6131 } else {
6132 (*(size_t*)(&(*yyvalp))) = 0;
6133 }
6134 psi_num_exp_free(&(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6135 psi_validate_scope_dtor(&scope);
6136 }
6137 #line 6138 "src/parser_proc.c" /* glr.c:816 */
6138 break;
6139
6140 case 517:
6141 #line 1836 "src/parser_proc_grammar.y" /* glr.c:816 */
6142 {
6143 (*(size_t*)(&(*yyvalp))) = 0;
6144 }
6145 #line 6146 "src/parser_proc.c" /* glr.c:816 */
6146 break;
6147
6148 case 518:
6149 #line 1839 "src/parser_proc_grammar.y" /* glr.c:816 */
6150 {
6151 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6152 }
6153 #line 6154 "src/parser_proc.c" /* glr.c:816 */
6154 break;
6155
6156 case 520:
6157 #line 1846 "src/parser_proc_grammar.y" /* glr.c:816 */
6158 {
6159 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6160 }
6161 #line 6162 "src/parser_proc.c" /* glr.c:816 */
6162 break;
6163
6164 case 521:
6165 #line 1852 "src/parser_proc_grammar.y" /* glr.c:816 */
6166 {
6167 (*(size_t*)(&(*yyvalp))) = 1;
6168 }
6169 #line 6170 "src/parser_proc.c" /* glr.c:816 */
6170 break;
6171
6172 case 522:
6173 #line 1855 "src/parser_proc_grammar.y" /* glr.c:816 */
6174 {
6175 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1;
6176 }
6177 #line 6178 "src/parser_proc.c" /* glr.c:816 */
6178 break;
6179
6180 case 527:
6181 #line 1877 "src/parser_proc_grammar.y" /* glr.c:816 */
6182 {
6183 (*(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)));
6184 }
6185 #line 6186 "src/parser_proc.c" /* glr.c:816 */
6186 break;
6187
6188 case 528:
6189 #line 1880 "src/parser_proc_grammar.y" /* glr.c:816 */
6190 {
6191 (*(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)));
6192 (*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->static_memory = 1;
6193 }
6194 #line 6195 "src/parser_proc.c" /* glr.c:816 */
6195 break;
6196
6197 case 529:
6198 #line 1887 "src/parser_proc_grammar.y" /* glr.c:816 */
6199 {
6200 (*(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)));
6201 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6202 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval));
6203 }
6204 #line 6205 "src/parser_proc.c" /* glr.c:816 */
6205 break;
6206
6207 case 530:
6208 #line 1892 "src/parser_proc_grammar.y" /* glr.c:816 */
6209 {
6210 (*(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)));
6211 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6212 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval));
6213 }
6214 #line 6215 "src/parser_proc.c" /* glr.c:816 */
6215 break;
6216
6217 case 531:
6218 #line 1897 "src/parser_proc_grammar.y" /* glr.c:816 */
6219 {
6220 (*(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)));
6221 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval)));
6222 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval));
6223 (*(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);
6224 (*(struct psi_impl_func **)(&(*yyvalp)))->vararg->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6225 }
6226 #line 6227 "src/parser_proc.c" /* glr.c:816 */
6227 break;
6228
6229 case 532:
6230 #line 1907 "src/parser_proc_grammar.y" /* glr.c:816 */
6231 {
6232 (*(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)));
6233 }
6234 #line 6235 "src/parser_proc.c" /* glr.c:816 */
6235 break;
6236
6237 case 533:
6238 #line 1910 "src/parser_proc_grammar.y" /* glr.c:816 */
6239 {
6240 (*(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)));
6241 }
6242 #line 6243 "src/parser_proc.c" /* glr.c:816 */
6243 break;
6244
6245 case 534:
6246 #line 1916 "src/parser_proc_grammar.y" /* glr.c:816 */
6247 {
6248 (*(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);
6249 }
6250 #line 6251 "src/parser_proc.c" /* glr.c:816 */
6251 break;
6252
6253 case 535:
6254 #line 1919 "src/parser_proc_grammar.y" /* glr.c:816 */
6255 {
6256 (*(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)));
6257 }
6258 #line 6259 "src/parser_proc.c" /* glr.c:816 */
6259 break;
6260
6261 case 536:
6262 #line 1925 "src/parser_proc_grammar.y" /* glr.c:816 */
6263 {
6264 (*(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)));
6265 (*(struct psi_impl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6266 }
6267 #line 6268 "src/parser_proc.c" /* glr.c:816 */
6268 break;
6269
6270 case 537:
6271 #line 1932 "src/parser_proc_grammar.y" /* glr.c:816 */
6272 {
6273 (*(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);
6274 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6275 }
6276 #line 6277 "src/parser_proc.c" /* glr.c:816 */
6277 break;
6278
6279 case 538:
6280 #line 1939 "src/parser_proc_grammar.y" /* glr.c:816 */
6281 {
6282 (*(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);
6283 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6284 }
6285 #line 6286 "src/parser_proc.c" /* glr.c:816 */
6286 break;
6287
6288 case 550:
6289 #line 1966 "src/parser_proc_grammar.y" /* glr.c:816 */
6290 {
6291 (*(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)));
6292 }
6293 #line 6294 "src/parser_proc.c" /* glr.c:816 */
6294 break;
6295
6296 case 551:
6297 #line 1969 "src/parser_proc_grammar.y" /* glr.c:816 */
6298 {
6299 (*(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)));
6300 }
6301 #line 6302 "src/parser_proc.c" /* glr.c:816 */
6302 break;
6303
6304 case 552:
6305 #line 1975 "src/parser_proc_grammar.y" /* glr.c:816 */
6306 {
6307 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6308 }
6309 #line 6310 "src/parser_proc.c" /* glr.c:816 */
6310 break;
6311
6312 case 553:
6313 #line 1978 "src/parser_proc_grammar.y" /* glr.c:816 */
6314 {
6315 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6316 }
6317 #line 6318 "src/parser_proc.c" /* glr.c:816 */
6318 break;
6319
6320 case 554:
6321 #line 1981 "src/parser_proc_grammar.y" /* glr.c:816 */
6322 {
6323 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6324 }
6325 #line 6326 "src/parser_proc.c" /* glr.c:816 */
6326 break;
6327
6328 case 555:
6329 #line 1984 "src/parser_proc_grammar.y" /* glr.c:816 */
6330 {
6331 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6332 }
6333 #line 6334 "src/parser_proc.c" /* glr.c:816 */
6334 break;
6335
6336 case 556:
6337 #line 1987 "src/parser_proc_grammar.y" /* glr.c:816 */
6338 {
6339 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6340 }
6341 #line 6342 "src/parser_proc.c" /* glr.c:816 */
6342 break;
6343
6344 case 557:
6345 #line 1993 "src/parser_proc_grammar.y" /* glr.c:816 */
6346 {
6347 (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init((*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6348 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6349 }
6350 #line 6351 "src/parser_proc.c" /* glr.c:816 */
6351 break;
6352
6353 case 558:
6354 #line 1997 "src/parser_proc_grammar.y" /* glr.c:816 */
6355 {
6356 (*(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))));
6357 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6358 (*(struct psi_let_stmt **)(&(*yyvalp)))->exp->is_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6359 }
6360 #line 6361 "src/parser_proc.c" /* glr.c:816 */
6361 break;
6362
6363 case 560:
6364 #line 2006 "src/parser_proc_grammar.y" /* glr.c:816 */
6365 {
6366 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6367 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = true;
6368 }
6369 #line 6370 "src/parser_proc.c" /* glr.c:816 */
6370 break;
6371
6372 case 561:
6373 #line 2010 "src/parser_proc_grammar.y" /* glr.c:816 */
6374 {
6375 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6376 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = false;
6377 }
6378 #line 6379 "src/parser_proc.c" /* glr.c:816 */
6379 break;
6380
6381 case 562:
6382 #line 2017 "src/parser_proc_grammar.y" /* glr.c:816 */
6383 {
6384 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL);
6385 }
6386 #line 6387 "src/parser_proc.c" /* glr.c:816 */
6387 break;
6388
6389 case 563:
6390 #line 2020 "src/parser_proc_grammar.y" /* glr.c:816 */
6391 {
6392 (*(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)));
6393 }
6394 #line 6395 "src/parser_proc.c" /* glr.c:816 */
6395 break;
6396
6397 case 564:
6398 #line 2023 "src/parser_proc_grammar.y" /* glr.c:816 */
6399 {
6400 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6401 }
6402 #line 6403 "src/parser_proc.c" /* glr.c:816 */
6403 break;
6404
6405 case 565:
6406 #line 2026 "src/parser_proc_grammar.y" /* glr.c:816 */
6407 {
6408 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6409 (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->static_memory = 1;
6410 }
6411 #line 6412 "src/parser_proc.c" /* glr.c:816 */
6412 break;
6413
6414 case 566:
6415 #line 2030 "src/parser_proc_grammar.y" /* glr.c:816 */
6416 {
6417 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLBACK, (*(struct psi_let_callback **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6418 }
6419 #line 6420 "src/parser_proc.c" /* glr.c:816 */
6420 break;
6421
6422 case 567:
6423 #line 2033 "src/parser_proc_grammar.y" /* glr.c:816 */
6424 {
6425 (*(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)));
6426 }
6427 #line 6428 "src/parser_proc.c" /* glr.c:816 */
6428 break;
6429
6430 case 568:
6431 #line 2039 "src/parser_proc_grammar.y" /* glr.c:816 */
6432 {
6433 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6434 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6435 }
6436 #line 6437 "src/parser_proc.c" /* glr.c:816 */
6437 break;
6438
6439 case 569:
6440 #line 2043 "src/parser_proc_grammar.y" /* glr.c:816 */
6441 {
6442 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6443 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = 1;
6444 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
6445 }
6446 #line 6447 "src/parser_proc.c" /* glr.c:816 */
6447 break;
6448
6449 case 570:
6450 #line 2051 "src/parser_proc_grammar.y" /* glr.c:816 */
6451 {
6452 (*(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)));
6453 (*(struct psi_let_calloc **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6454 }
6455 #line 6456 "src/parser_proc.c" /* glr.c:816 */
6456 break;
6457
6458 case 571:
6459 #line 2058 "src/parser_proc_grammar.y" /* glr.c:816 */
6460 {
6461 (*(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);
6462 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6463 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval)));
6464 }
6465 #line 6466 "src/parser_proc.c" /* glr.c:816 */
6466 break;
6467
6468 case 572:
6469 #line 2063 "src/parser_proc_grammar.y" /* glr.c:816 */
6470 {
6471 (*(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)));
6472 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6473 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval)));
6474 }
6475 #line 6476 "src/parser_proc.c" /* glr.c:816 */
6476 break;
6477
6478 case 573:
6479 #line 2071 "src/parser_proc_grammar.y" /* glr.c:816 */
6480 {
6481 (*(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)));
6482 (*(struct psi_let_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6483 (*(struct psi_let_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6484 }
6485 #line 6486 "src/parser_proc.c" /* glr.c:816 */
6486 break;
6487
6488 case 584:
6489 #line 2092 "src/parser_proc_grammar.y" /* glr.c:816 */
6490 {
6491 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6492 }
6493 #line 6494 "src/parser_proc.c" /* glr.c:816 */
6494 break;
6495
6496 case 585:
6497 #line 2095 "src/parser_proc_grammar.y" /* glr.c:816 */
6498 {
6499 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6500 }
6501 #line 6502 "src/parser_proc.c" /* glr.c:816 */
6502 break;
6503
6504 case 586:
6505 #line 2101 "src/parser_proc_grammar.y" /* glr.c:816 */
6506 {
6507 (*(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)));
6508 }
6509 #line 6510 "src/parser_proc.c" /* glr.c:816 */
6510 break;
6511
6512 case 587:
6513 #line 2104 "src/parser_proc_grammar.y" /* glr.c:816 */
6514 {
6515 (*(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)));
6516 }
6517 #line 6518 "src/parser_proc.c" /* glr.c:816 */
6518 break;
6519
6520 case 590:
6521 #line 2115 "src/parser_proc_grammar.y" /* glr.c:816 */
6522 {
6523 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6524 }
6525 #line 6526 "src/parser_proc.c" /* glr.c:816 */
6526 break;
6527
6528 case 591:
6529 #line 2118 "src/parser_proc_grammar.y" /* glr.c:816 */
6530 {
6531 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6532 }
6533 #line 6534 "src/parser_proc.c" /* glr.c:816 */
6534 break;
6535
6536 case 592:
6537 #line 2124 "src/parser_proc_grammar.y" /* glr.c:816 */
6538 {
6539 (*(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)));
6540 }
6541 #line 6542 "src/parser_proc.c" /* glr.c:816 */
6542 break;
6543
6544 case 593:
6545 #line 2127 "src/parser_proc_grammar.y" /* glr.c:816 */
6546 {
6547 (*(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)));
6548 }
6549 #line 6550 "src/parser_proc.c" /* glr.c:816 */
6550 break;
6551
6552 case 594:
6553 #line 2133 "src/parser_proc_grammar.y" /* glr.c:816 */
6554 {
6555 (*(struct psi_return_stmt **)(&(*yyvalp))) = psi_return_stmt_init((*(struct psi_return_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6556 (*(struct psi_return_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6557 }
6558 #line 6559 "src/parser_proc.c" /* glr.c:816 */
6559 break;
6560
6561 case 595:
6562 #line 2140 "src/parser_proc_grammar.y" /* glr.c:816 */
6563 {
6564 (*(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))));
6565 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->token);
6566 }
6567 #line 6568 "src/parser_proc.c" /* glr.c:816 */
6568 break;
6569
6570 case 596:
6571 #line 2144 "src/parser_proc_grammar.y" /* glr.c:816 */
6572 {
6573 (*(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))));
6574 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
6575 }
6576 #line 6577 "src/parser_proc.c" /* glr.c:816 */
6577 break;
6578
6579 case 597:
6580 #line 2151 "src/parser_proc_grammar.y" /* glr.c:816 */
6581 {
6582 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6583 }
6584 #line 6585 "src/parser_proc.c" /* glr.c:816 */
6585 break;
6586
6587 case 598:
6588 #line 2154 "src/parser_proc_grammar.y" /* glr.c:816 */
6589 {
6590 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6591 }
6592 #line 6593 "src/parser_proc.c" /* glr.c:816 */
6593 break;
6594
6595 case 599:
6596 #line 2157 "src/parser_proc_grammar.y" /* glr.c:816 */
6597 {
6598 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6599 }
6600 #line 6601 "src/parser_proc.c" /* glr.c:816 */
6601 break;
6602
6603 case 600:
6604 #line 2163 "src/parser_proc_grammar.y" /* glr.c:816 */
6605 {
6606 (*(struct psi_set_stmt **)(&(*yyvalp))) = psi_set_stmt_init((*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6607 (*(struct psi_set_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6608 }
6609 #line 6610 "src/parser_proc.c" /* glr.c:816 */
6610 break;
6611
6612 case 601:
6613 #line 2170 "src/parser_proc_grammar.y" /* glr.c:816 */
6614 {
6615 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6616 }
6617 #line 6618 "src/parser_proc.c" /* glr.c:816 */
6618 break;
6619
6620 case 602:
6621 #line 2173 "src/parser_proc_grammar.y" /* glr.c:816 */
6622 {
6623 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6624 }
6625 #line 6626 "src/parser_proc.c" /* glr.c:816 */
6626 break;
6627
6628 case 603:
6629 #line 2176 "src/parser_proc_grammar.y" /* glr.c:816 */
6630 {
6631 (*(struct psi_set_exp **)(&(*yyvalp))) = (*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6632 (*(struct psi_set_exp **)(&(*yyvalp)))->var = (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6633 }
6634 #line 6635 "src/parser_proc.c" /* glr.c:816 */
6635 break;
6636
6637 case 604:
6638 #line 2183 "src/parser_proc_grammar.y" /* glr.c:816 */
6639 {
6640 (*(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)));
6641 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6642 (*(struct psi_set_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6643 }
6644 #line 6645 "src/parser_proc.c" /* glr.c:816 */
6645 break;
6646
6647 case 605:
6648 #line 2188 "src/parser_proc_grammar.y" /* glr.c:816 */
6649 {
6650 (*(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)));
6651 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6652 (*(struct psi_set_func **)(&(*yyvalp)))->recursive = 1;
6653 }
6654 #line 6655 "src/parser_proc.c" /* glr.c:816 */
6655 break;
6656
6657 case 614:
6658 #line 2207 "src/parser_proc_grammar.y" /* glr.c:816 */
6659 {
6660 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6661 }
6662 #line 6663 "src/parser_proc.c" /* glr.c:816 */
6663 break;
6664
6665 case 615:
6666 #line 2210 "src/parser_proc_grammar.y" /* glr.c:816 */
6667 {
6668 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6669 }
6670 #line 6671 "src/parser_proc.c" /* glr.c:816 */
6671 break;
6672
6673 case 616:
6674 #line 2216 "src/parser_proc_grammar.y" /* glr.c:816 */
6675 {
6676 (*(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)));
6677 }
6678 #line 6679 "src/parser_proc.c" /* glr.c:816 */
6679 break;
6680
6681 case 617:
6682 #line 2219 "src/parser_proc_grammar.y" /* glr.c:816 */
6683 {
6684 (*(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)));
6685 }
6686 #line 6687 "src/parser_proc.c" /* glr.c:816 */
6687 break;
6688
6689 case 618:
6690 #line 2225 "src/parser_proc_grammar.y" /* glr.c:816 */
6691 {
6692 (*(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)));
6693 (*(struct psi_assert_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6694 }
6695 #line 6696 "src/parser_proc.c" /* glr.c:816 */
6696 break;
6697
6698 case 621:
6699 #line 2237 "src/parser_proc_grammar.y" /* glr.c:816 */
6700 {
6701 (*(struct psi_free_stmt **)(&(*yyvalp))) = psi_free_stmt_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6702 (*(struct psi_free_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6703 }
6704 #line 6705 "src/parser_proc.c" /* glr.c:816 */
6705 break;
6706
6707 case 622:
6708 #line 2244 "src/parser_proc_grammar.y" /* glr.c:816 */
6709 {
6710 (*(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)));
6711 }
6712 #line 6713 "src/parser_proc.c" /* glr.c:816 */
6713 break;
6714
6715 case 623:
6716 #line 2247 "src/parser_proc_grammar.y" /* glr.c:816 */
6717 {
6718 (*(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)));
6719 }
6720 #line 6721 "src/parser_proc.c" /* glr.c:816 */
6721 break;
6722
6723 case 624:
6724 #line 2253 "src/parser_proc_grammar.y" /* glr.c:816 */
6725 {
6726 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
6727 (*(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)));
6728 (*(struct psi_free_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6729 }
6730 #line 6731 "src/parser_proc.c" /* glr.c:816 */
6731 break;
6732
6733 case 625:
6734 #line 2261 "src/parser_proc_grammar.y" /* glr.c:816 */
6735 {
6736 (*(bool*)(&(*yyvalp))) = false;
6737 }
6738 #line 6739 "src/parser_proc.c" /* glr.c:816 */
6739 break;
6740
6741 case 626:
6742 #line 2264 "src/parser_proc_grammar.y" /* glr.c:816 */
6743 {
6744 (*(bool*)(&(*yyvalp))) = true;
6745 }
6746 #line 6747 "src/parser_proc.c" /* glr.c:816 */
6747 break;
6748
6749
6750 #line 6751 "src/parser_proc.c" /* glr.c:816 */
6751 default: break;
6752 }
6753
6754 return yyok;
6755 # undef yyerrok
6756 # undef YYABORT
6757 # undef YYACCEPT
6758 # undef YYERROR
6759 # undef YYBACKUP
6760 # undef yyclearin
6761 # undef YYRECOVERING
6762 }
6763
6764
6765 static void
6766 yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
6767 {
6768 YYUSE (yy0);
6769 YYUSE (yy1);
6770
6771 switch (yyn)
6772 {
6773
6774 default: break;
6775 }
6776 }
6777
6778 /* Bison grammar-table manipulation. */
6779
6780 /*-----------------------------------------------.
6781 | Release the memory associated to this symbol. |
6782 `-----------------------------------------------*/
6783
6784 static void
6785 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
6786 {
6787 YYUSE (yyvaluep);
6788 YYUSE (P);
6789 YYUSE (tokens);
6790 YYUSE (index);
6791 if (!yymsg)
6792 yymsg = "Deleting";
6793 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
6794
6795 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6796 switch (yytype)
6797 {
6798 case 141: /* binary_op_token */
6799 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6800 {}
6801 #line 6802 "src/parser_proc.c" /* glr.c:846 */
6802 break;
6803
6804 case 142: /* unary_op_token */
6805 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6806 {}
6807 #line 6808 "src/parser_proc.c" /* glr.c:846 */
6808 break;
6809
6810 case 143: /* name_token */
6811 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6812 {}
6813 #line 6814 "src/parser_proc.c" /* glr.c:846 */
6814 break;
6815
6816 case 144: /* any_noeol_token */
6817 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6818 {}
6819 #line 6820 "src/parser_proc.c" /* glr.c:846 */
6820 break;
6821
6822 case 149: /* lib */
6823 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
6824 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6825 #line 6826 "src/parser_proc.c" /* glr.c:846 */
6826 break;
6827
6828 case 150: /* cpp */
6829 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6830 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6831 #line 6832 "src/parser_proc.c" /* glr.c:846 */
6832 break;
6833
6834 case 151: /* cpp_exp */
6835 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6836 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6837 #line 6838 "src/parser_proc.c" /* glr.c:846 */
6838 break;
6839
6840 case 153: /* cpp_message_token */
6841 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6842 {}
6843 #line 6844 "src/parser_proc.c" /* glr.c:846 */
6844 break;
6845
6846 case 154: /* cpp_include_token */
6847 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6848 {}
6849 #line 6850 "src/parser_proc.c" /* glr.c:846 */
6850 break;
6851
6852 case 155: /* cpp_header_token */
6853 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6854 {}
6855 #line 6856 "src/parser_proc.c" /* glr.c:846 */
6856 break;
6857
6858 case 156: /* cpp_no_arg_token */
6859 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6860 {}
6861 #line 6862 "src/parser_proc.c" /* glr.c:846 */
6862 break;
6863
6864 case 157: /* cpp_name_arg_token */
6865 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6866 {}
6867 #line 6868 "src/parser_proc.c" /* glr.c:846 */
6868 break;
6869
6870 case 158: /* cpp_exp_arg_token */
6871 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6872 {}
6873 #line 6874 "src/parser_proc.c" /* glr.c:846 */
6874 break;
6875
6876 case 159: /* cpp_macro_decl */
6877 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
6878 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));}
6879 #line 6880 "src/parser_proc.c" /* glr.c:846 */
6880 break;
6881
6882 case 160: /* cpp_macro_sig */
6883 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6884 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6885 #line 6886 "src/parser_proc.c" /* glr.c:846 */
6886 break;
6887
6888 case 161: /* cpp_macro_sig_args */
6889 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6890 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6891 #line 6892 "src/parser_proc.c" /* glr.c:846 */
6892 break;
6893
6894 case 162: /* cpp_macro_decl_tokens */
6895 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6896 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6897 #line 6898 "src/parser_proc.c" /* glr.c:846 */
6898 break;
6899
6900 case 163: /* cpp_macro_decl_token_list */
6901 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6902 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6903 #line 6904 "src/parser_proc.c" /* glr.c:846 */
6904 break;
6905
6906 case 164: /* cpp_macro_exp */
6907 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
6908 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
6909 #line 6910 "src/parser_proc.c" /* glr.c:846 */
6910 break;
6911
6912 case 165: /* cpp_macro_call_args */
6913 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6914 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6915 #line 6916 "src/parser_proc.c" /* glr.c:846 */
6916 break;
6917
6918 case 166: /* cpp_macro_call_arg_list */
6919 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6920 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6921 #line 6922 "src/parser_proc.c" /* glr.c:846 */
6922 break;
6923
6924 case 167: /* constant */
6925 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
6926 {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));}
6927 #line 6928 "src/parser_proc.c" /* glr.c:846 */
6928 break;
6929
6930 case 168: /* impl_def_val */
6931 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
6932 {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));}
6933 #line 6934 "src/parser_proc.c" /* glr.c:846 */
6934 break;
6935
6936 case 169: /* impl_def_val_token */
6937 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
6938 {}
6939 #line 6940 "src/parser_proc.c" /* glr.c:846 */
6940 break;
6941
6942 case 170: /* decl_typedef */
6943 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6944 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6945 #line 6946 "src/parser_proc.c" /* glr.c:846 */
6946 break;
6947
6948 case 171: /* typedef */
6949 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6950 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6951 #line 6952 "src/parser_proc.c" /* glr.c:846 */
6952 break;
6953
6954 case 172: /* typedef_anon */
6955 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6956 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6957 #line 6958 "src/parser_proc.c" /* glr.c:846 */
6958 break;
6959
6960 case 173: /* typedef_decl */
6961 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6962 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6963 #line 6964 "src/parser_proc.c" /* glr.c:846 */
6964 break;
6965
6966 case 174: /* typedef_anon_decl */
6967 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6968 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6969 #line 6970 "src/parser_proc.c" /* glr.c:846 */
6970 break;
6971
6972 case 175: /* qualified_decl_type */
6973 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6974 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6975 #line 6976 "src/parser_proc.c" /* glr.c:846 */
6976 break;
6977
6978 case 177: /* decl_type */
6979 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6980 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6981 #line 6982 "src/parser_proc.c" /* glr.c:846 */
6982 break;
6983
6984 case 178: /* decl_type_complex */
6985 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6986 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6987 #line 6988 "src/parser_proc.c" /* glr.c:846 */
6988 break;
6989
6990 case 179: /* decl_type_simple */
6991 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6992 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6993 #line 6994 "src/parser_proc.c" /* glr.c:846 */
6994 break;
6995
6996 case 180: /* decl_real_type */
6997 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6998 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6999 #line 7000 "src/parser_proc.c" /* glr.c:846 */
7000 break;
7001
7002 case 181: /* int_signed */
7003 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7004 {}
7005 #line 7006 "src/parser_proc.c" /* glr.c:846 */
7006 break;
7007
7008 case 182: /* int_width */
7009 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7010 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7011 #line 7012 "src/parser_proc.c" /* glr.c:846 */
7012 break;
7013
7014 case 183: /* decl_int_type */
7015 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
7016 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7017 #line 7018 "src/parser_proc.c" /* glr.c:846 */
7018 break;
7019
7020 case 184: /* int_signed_types */
7021 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7022 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7023 #line 7024 "src/parser_proc.c" /* glr.c:846 */
7024 break;
7025
7026 case 185: /* signed_short_types */
7027 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7028 {}
7029 #line 7030 "src/parser_proc.c" /* glr.c:846 */
7030 break;
7031
7032 case 186: /* signed_long_types */
7033 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7034 {}
7035 #line 7036 "src/parser_proc.c" /* glr.c:846 */
7036 break;
7037
7038 case 187: /* int_width_types */
7039 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7040 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7041 #line 7042 "src/parser_proc.c" /* glr.c:846 */
7042 break;
7043
7044 case 188: /* decl_stmt */
7045 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7046 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7047 #line 7048 "src/parser_proc.c" /* glr.c:846 */
7048 break;
7049
7050 case 189: /* decl_asm */
7051 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
7052 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7053 #line 7054 "src/parser_proc.c" /* glr.c:846 */
7054 break;
7055
7056 case 190: /* quoted_strings */
7057 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
7058 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7059 #line 7060 "src/parser_proc.c" /* glr.c:846 */
7060 break;
7061
7062 case 191: /* decl_extvar_stmt */
7063 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7064 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7065 #line 7066 "src/parser_proc.c" /* glr.c:846 */
7066 break;
7067
7068 case 192: /* decl_extvar_list */
7069 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7070 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7071 #line 7072 "src/parser_proc.c" /* glr.c:846 */
7072 break;
7073
7074 case 193: /* decl_vars */
7075 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7076 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7077 #line 7078 "src/parser_proc.c" /* glr.c:846 */
7078 break;
7079
7080 case 194: /* ignored_decl */
7081 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7082 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7083 #line 7084 "src/parser_proc.c" /* glr.c:846 */
7084 break;
7085
7086 case 198: /* decl */
7087 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7088 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7089 #line 7090 "src/parser_proc.c" /* glr.c:846 */
7090 break;
7091
7092 case 199: /* decl_body */
7093 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7094 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7095 #line 7096 "src/parser_proc.c" /* glr.c:846 */
7096 break;
7097
7098 case 200: /* decl_func_body */
7099 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7100 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7101 #line 7102 "src/parser_proc.c" /* glr.c:846 */
7102 break;
7103
7104 case 201: /* decl_functor_body */
7105 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7106 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7107 #line 7108 "src/parser_proc.c" /* glr.c:846 */
7108 break;
7109
7110 case 202: /* decl_anon_functor_body */
7111 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7112 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7113 #line 7114 "src/parser_proc.c" /* glr.c:846 */
7114 break;
7115
7116 case 203: /* decl_functor */
7117 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7118 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7119 #line 7120 "src/parser_proc.c" /* glr.c:846 */
7120 break;
7121
7122 case 204: /* decl_anon_functor */
7123 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7124 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7125 #line 7126 "src/parser_proc.c" /* glr.c:846 */
7126 break;
7127
7128 case 205: /* decl_func */
7129 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7130 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7131 #line 7132 "src/parser_proc.c" /* glr.c:846 */
7132 break;
7133
7134 case 206: /* decl_args */
7135 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7136 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7137 #line 7138 "src/parser_proc.c" /* glr.c:846 */
7138 break;
7139
7140 case 207: /* decl_arg_list */
7141 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7142 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7143 #line 7144 "src/parser_proc.c" /* glr.c:846 */
7144 break;
7145
7146 case 208: /* decl_anon_arg */
7147 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7148 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7149 #line 7150 "src/parser_proc.c" /* glr.c:846 */
7150 break;
7151
7152 case 209: /* decl_arg */
7153 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7154 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7155 #line 7156 "src/parser_proc.c" /* glr.c:846 */
7156 break;
7157
7158 case 210: /* decl_var */
7159 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
7160 {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));}
7161 #line 7162 "src/parser_proc.c" /* glr.c:846 */
7162 break;
7163
7164 case 211: /* decl_union */
7165 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
7166 {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));}
7167 #line 7168 "src/parser_proc.c" /* glr.c:846 */
7168 break;
7169
7170 case 212: /* decl_struct */
7171 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
7172 {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));}
7173 #line 7174 "src/parser_proc.c" /* glr.c:846 */
7174 break;
7175
7176 case 213: /* decl_struct_args */
7177 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7178 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7179 #line 7180 "src/parser_proc.c" /* glr.c:846 */
7180 break;
7181
7182 case 214: /* struct_args_block */
7183 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7184 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7185 #line 7186 "src/parser_proc.c" /* glr.c:846 */
7186 break;
7187
7188 case 215: /* struct_args */
7189 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7190 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7191 #line 7192 "src/parser_proc.c" /* glr.c:846 */
7192 break;
7193
7194 case 216: /* struct_arg_var_list */
7195 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7196 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7197 #line 7198 "src/parser_proc.c" /* glr.c:846 */
7198 break;
7199
7200 case 217: /* decl_vars_with_layout */
7201 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7202 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7203 #line 7204 "src/parser_proc.c" /* glr.c:846 */
7204 break;
7205
7206 case 218: /* decl_enum */
7207 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
7208 {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));}
7209 #line 7210 "src/parser_proc.c" /* glr.c:846 */
7210 break;
7211
7212 case 219: /* decl_enum_items */
7213 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7214 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7215 #line 7216 "src/parser_proc.c" /* glr.c:846 */
7216 break;
7217
7218 case 220: /* decl_enum_item */
7219 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
7220 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));}
7221 #line 7222 "src/parser_proc.c" /* glr.c:846 */
7222 break;
7223
7224 case 221: /* num_exp */
7225 #line 419 "src/parser_proc_grammar.y" /* glr.c:846 */
7226 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
7227 #line 7228 "src/parser_proc.c" /* glr.c:846 */
7228 break;
7229
7230 case 222: /* number */
7231 #line 421 "src/parser_proc_grammar.y" /* glr.c:846 */
7232 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7233 #line 7234 "src/parser_proc.c" /* glr.c:846 */
7234 break;
7235
7236 case 223: /* sizeof */
7237 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7238 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7239 #line 7240 "src/parser_proc.c" /* glr.c:846 */
7240 break;
7241
7242 case 224: /* sizeof_body */
7243 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7244 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7245 #line 7246 "src/parser_proc.c" /* glr.c:846 */
7246 break;
7247
7248 case 225: /* sizeof_body_notypes */
7249 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7250 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7251 #line 7252 "src/parser_proc.c" /* glr.c:846 */
7252 break;
7253
7254 case 226: /* enum_name */
7255 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7256 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7257 #line 7258 "src/parser_proc.c" /* glr.c:846 */
7258 break;
7259
7260 case 227: /* union_name */
7261 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7262 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7263 #line 7264 "src/parser_proc.c" /* glr.c:846 */
7264 break;
7265
7266 case 228: /* struct_name */
7267 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7268 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7269 #line 7270 "src/parser_proc.c" /* glr.c:846 */
7270 break;
7271
7272 case 229: /* optional_name */
7273 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7274 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7275 #line 7276 "src/parser_proc.c" /* glr.c:846 */
7276 break;
7277
7278 case 231: /* decl_layout */
7279 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
7280 {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));}
7281 #line 7282 "src/parser_proc.c" /* glr.c:846 */
7282 break;
7283
7284 case 232: /* align_and_size */
7285 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
7286 {}
7287 #line 7288 "src/parser_proc.c" /* glr.c:846 */
7288 break;
7289
7290 case 233: /* array_size */
7291 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7292 {}
7293 #line 7294 "src/parser_proc.c" /* glr.c:846 */
7294 break;
7295
7296 case 235: /* indirection */
7297 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7298 {}
7299 #line 7300 "src/parser_proc.c" /* glr.c:846 */
7300 break;
7301
7302 case 236: /* pointers */
7303 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7304 {}
7305 #line 7306 "src/parser_proc.c" /* glr.c:846 */
7306 break;
7307
7308 case 237: /* asterisks */
7309 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7310 {}
7311 #line 7312 "src/parser_proc.c" /* glr.c:846 */
7312 break;
7313
7314 case 240: /* impl */
7315 #line 374 "src/parser_proc_grammar.y" /* glr.c:846 */
7316 {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));}
7317 #line 7318 "src/parser_proc.c" /* glr.c:846 */
7318 break;
7319
7320 case 241: /* impl_func */
7321 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
7322 {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));}
7323 #line 7324 "src/parser_proc.c" /* glr.c:846 */
7324 break;
7325
7326 case 242: /* impl_args */
7327 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7328 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7329 #line 7330 "src/parser_proc.c" /* glr.c:846 */
7330 break;
7331
7332 case 243: /* impl_arg */
7333 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
7334 {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));}
7335 #line 7336 "src/parser_proc.c" /* glr.c:846 */
7336 break;
7337
7338 case 244: /* impl_var */
7339 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
7340 {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));}
7341 #line 7342 "src/parser_proc.c" /* glr.c:846 */
7342 break;
7343
7344 case 245: /* impl_type */
7345 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7346 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7347 #line 7348 "src/parser_proc.c" /* glr.c:846 */
7348 break;
7349
7350 case 246: /* impl_type_restricted */
7351 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7352 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7353 #line 7354 "src/parser_proc.c" /* glr.c:846 */
7354 break;
7355
7356 case 247: /* impl_type_token */
7357 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7358 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7359 #line 7360 "src/parser_proc.c" /* glr.c:846 */
7360 break;
7361
7362 case 248: /* impl_type_restricted_token */
7363 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7364 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7365 #line 7366 "src/parser_proc.c" /* glr.c:846 */
7366 break;
7367
7368 case 249: /* impl_type_extended_token */
7369 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7370 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7371 #line 7372 "src/parser_proc.c" /* glr.c:846 */
7372 break;
7373
7374 case 250: /* impl_stmts */
7375 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7376 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7377 #line 7378 "src/parser_proc.c" /* glr.c:846 */
7378 break;
7379
7380 case 251: /* impl_stmt */
7381 #line 412 "src/parser_proc_grammar.y" /* glr.c:846 */
7382 {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));}
7383 #line 7384 "src/parser_proc.c" /* glr.c:846 */
7384 break;
7385
7386 case 252: /* let_stmt */
7387 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
7388 {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));}
7389 #line 7390 "src/parser_proc.c" /* glr.c:846 */
7390 break;
7391
7392 case 253: /* let_exp */
7393 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7394 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7395 #line 7396 "src/parser_proc.c" /* glr.c:846 */
7396 break;
7397
7398 case 254: /* let_exp_byref */
7399 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7400 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7401 #line 7402 "src/parser_proc.c" /* glr.c:846 */
7402 break;
7403
7404 case 255: /* let_exp_assign */
7405 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7406 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7407 #line 7408 "src/parser_proc.c" /* glr.c:846 */
7408 break;
7409
7410 case 256: /* let_calloc */
7411 #line 389 "src/parser_proc_grammar.y" /* glr.c:846 */
7412 {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));}
7413 #line 7414 "src/parser_proc.c" /* glr.c:846 */
7414 break;
7415
7416 case 257: /* let_callback */
7417 #line 391 "src/parser_proc_grammar.y" /* glr.c:846 */
7418 {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));}
7419 #line 7420 "src/parser_proc.c" /* glr.c:846 */
7420 break;
7421
7422 case 258: /* let_func */
7423 #line 393 "src/parser_proc_grammar.y" /* glr.c:846 */
7424 {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));}
7425 #line 7426 "src/parser_proc.c" /* glr.c:846 */
7426 break;
7427
7428 case 259: /* let_func_token */
7429 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7430 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7431 #line 7432 "src/parser_proc.c" /* glr.c:846 */
7432 break;
7433
7434 case 260: /* let_func_exps */
7435 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7436 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7437 #line 7438 "src/parser_proc.c" /* glr.c:846 */
7438 break;
7439
7440 case 261: /* let_exps */
7441 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7442 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7443 #line 7444 "src/parser_proc.c" /* glr.c:846 */
7444 break;
7445
7446 case 262: /* callback_rval */
7447 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7448 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7449 #line 7450 "src/parser_proc.c" /* glr.c:846 */
7450 break;
7451
7452 case 263: /* callback_arg_list */
7453 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7454 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7455 #line 7456 "src/parser_proc.c" /* glr.c:846 */
7456 break;
7457
7458 case 264: /* callback_args */
7459 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7460 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7461 #line 7462 "src/parser_proc.c" /* glr.c:846 */
7462 break;
7463
7464 case 265: /* return_stmt */
7465 #line 403 "src/parser_proc_grammar.y" /* glr.c:846 */
7466 {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));}
7467 #line 7468 "src/parser_proc.c" /* glr.c:846 */
7468 break;
7469
7470 case 266: /* return_exp */
7471 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
7472 {psi_return_exp_free(&(*(struct psi_return_exp **)(&(*yyvaluep))));}
7473 #line 7474 "src/parser_proc.c" /* glr.c:846 */
7474 break;
7475
7476 case 267: /* call_decl_vars */
7477 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7478 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7479 #line 7480 "src/parser_proc.c" /* glr.c:846 */
7480 break;
7481
7482 case 268: /* set_stmt */
7483 #line 395 "src/parser_proc_grammar.y" /* glr.c:846 */
7484 {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));}
7485 #line 7486 "src/parser_proc.c" /* glr.c:846 */
7486 break;
7487
7488 case 269: /* set_exp */
7489 #line 397 "src/parser_proc_grammar.y" /* glr.c:846 */
7490 {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));}
7491 #line 7492 "src/parser_proc.c" /* glr.c:846 */
7492 break;
7493
7494 case 270: /* set_func */
7495 #line 399 "src/parser_proc_grammar.y" /* glr.c:846 */
7496 {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));}
7497 #line 7498 "src/parser_proc.c" /* glr.c:846 */
7498 break;
7499
7500 case 271: /* set_func_token */
7501 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7502 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7503 #line 7504 "src/parser_proc.c" /* glr.c:846 */
7504 break;
7505
7506 case 272: /* set_func_exps */
7507 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7508 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7509 #line 7510 "src/parser_proc.c" /* glr.c:846 */
7510 break;
7511
7512 case 273: /* set_exps */
7513 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7514 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7515 #line 7516 "src/parser_proc.c" /* glr.c:846 */
7516 break;
7517
7518 case 274: /* assert_stmt */
7519 #line 401 "src/parser_proc_grammar.y" /* glr.c:846 */
7520 {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));}
7521 #line 7522 "src/parser_proc.c" /* glr.c:846 */
7522 break;
7523
7524 case 275: /* assert_stmt_token */
7525 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7526 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7527 #line 7528 "src/parser_proc.c" /* glr.c:846 */
7528 break;
7529
7530 case 276: /* free_stmt */
7531 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
7532 {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));}
7533 #line 7534 "src/parser_proc.c" /* glr.c:846 */
7534 break;
7535
7536 case 277: /* free_exps */
7537 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7538 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7539 #line 7540 "src/parser_proc.c" /* glr.c:846 */
7540 break;
7541
7542 case 278: /* free_exp */
7543 #line 409 "src/parser_proc_grammar.y" /* glr.c:846 */
7544 {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));}
7545 #line 7546 "src/parser_proc.c" /* glr.c:846 */
7546 break;
7547
7548 case 279: /* reference */
7549 #line 426 "src/parser_proc_grammar.y" /* glr.c:846 */
7550 {}
7551 #line 7552 "src/parser_proc.c" /* glr.c:846 */
7552 break;
7553
7554
7555 default:
7556 break;
7557 }
7558 YY_IGNORE_MAYBE_UNINITIALIZED_END
7559 }
7560
7561 /** Number of symbols composing the right hand side of rule #RULE. */
7562 static inline int
7563 yyrhsLength (yyRuleNum yyrule)
7564 {
7565 return yyr2[yyrule];
7566 }
7567
7568 static void
7569 yydestroyGLRState (char const *yymsg, yyGLRState *yys, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7570 {
7571 if (yys->yyresolved)
7572 yydestruct (yymsg, yystos[yys->yylrState],
7573 &yys->yysemantics.yysval, P, tokens, index);
7574 else
7575 {
7576 #if YYDEBUG
7577 if (yydebug)
7578 {
7579 if (yys->yysemantics.yyfirstVal)
7580 YYFPRINTF (stderr, "%s unresolved", yymsg);
7581 else
7582 YYFPRINTF (stderr, "%s incomplete", yymsg);
7583 YY_SYMBOL_PRINT ("", yystos[yys->yylrState], YY_NULLPTR, &yys->yyloc);
7584 }
7585 #endif
7586
7587 if (yys->yysemantics.yyfirstVal)
7588 {
7589 yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
7590 yyGLRState *yyrh;
7591 int yyn;
7592 for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
7593 yyn > 0;
7594 yyrh = yyrh->yypred, yyn -= 1)
7595 yydestroyGLRState (yymsg, yyrh, P, tokens, index);
7596 }
7597 }
7598 }
7599
7600 /** Left-hand-side symbol for rule #YYRULE. */
7601 static inline yySymbol
7602 yylhsNonterm (yyRuleNum yyrule)
7603 {
7604 return yyr1[yyrule];
7605 }
7606
7607 #define yypact_value_is_default(Yystate) \
7608 (!!((Yystate) == (-717)))
7609
7610 /** True iff LR state YYSTATE has only a default reduction (regardless
7611 * of token). */
7612 static inline yybool
7613 yyisDefaultedState (yyStateNum yystate)
7614 {
7615 return yypact_value_is_default (yypact[yystate]);
7616 }
7617
7618 /** The default reduction for YYSTATE, assuming it has one. */
7619 static inline yyRuleNum
7620 yydefaultAction (yyStateNum yystate)
7621 {
7622 return yydefact[yystate];
7623 }
7624
7625 #define yytable_value_is_error(Yytable_value) \
7626 0
7627
7628 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7629 * Result R means
7630 * R < 0: Reduce on rule -R.
7631 * R = 0: Error.
7632 * R > 0: Shift to state R.
7633 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7634 * of conflicting reductions.
7635 */
7636 static inline void
7637 yygetLRActions (yyStateNum yystate, int yytoken,
7638 int* yyaction, const short int** yyconflicts)
7639 {
7640 int yyindex = yypact[yystate] + yytoken;
7641 if (yypact_value_is_default (yypact[yystate])
7642 || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
7643 {
7644 *yyaction = -yydefact[yystate];
7645 *yyconflicts = yyconfl;
7646 }
7647 else if (! yytable_value_is_error (yytable[yyindex]))
7648 {
7649 *yyaction = yytable[yyindex];
7650 *yyconflicts = yyconfl + yyconflp[yyindex];
7651 }
7652 else
7653 {
7654 *yyaction = 0;
7655 *yyconflicts = yyconfl + yyconflp[yyindex];
7656 }
7657 }
7658
7659 /** Compute post-reduction state.
7660 * \param yystate the current state
7661 * \param yysym the nonterminal to push on the stack
7662 */
7663 static inline yyStateNum
7664 yyLRgotoState (yyStateNum yystate, yySymbol yysym)
7665 {
7666 int yyr = yypgoto[yysym - YYNTOKENS] + yystate;
7667 if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
7668 return yytable[yyr];
7669 else
7670 return yydefgoto[yysym - YYNTOKENS];
7671 }
7672
7673 static inline yybool
7674 yyisShiftAction (int yyaction)
7675 {
7676 return 0 < yyaction;
7677 }
7678
7679 static inline yybool
7680 yyisErrorAction (int yyaction)
7681 {
7682 return yyaction == 0;
7683 }
7684
7685 /* GLRStates */
7686
7687 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7688 * if YYISSTATE, and otherwise a semantic option. Callers should call
7689 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7690 * headroom. */
7691
7692 static inline yyGLRStackItem*
7693 yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
7694 {
7695 yyGLRStackItem* yynewItem = yystackp->yynextFree;
7696 yystackp->yyspaceLeft -= 1;
7697 yystackp->yynextFree += 1;
7698 yynewItem->yystate.yyisState = yyisState;
7699 return yynewItem;
7700 }
7701
7702 /** Add a new semantic action that will execute the action for rule
7703 * YYRULE on the semantic values in YYRHS to the list of
7704 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7705 * stack #YYK of *YYSTACKP. */
7706 static void
7707 yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
7708 yyGLRState* yyrhs, yyRuleNum yyrule)
7709 {
7710 yySemanticOption* yynewOption =
7711 &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
7712 YYASSERT (!yynewOption->yyisState);
7713 yynewOption->yystate = yyrhs;
7714 yynewOption->yyrule = yyrule;
7715 if (yystackp->yytops.yylookaheadNeeds[yyk])
7716 {
7717 yynewOption->yyrawchar = yychar;
7718 yynewOption->yyval = yylval;
7719 }
7720 else
7721 yynewOption->yyrawchar = YYEMPTY;
7722 yynewOption->yynext = yystate->yysemantics.yyfirstVal;
7723 yystate->yysemantics.yyfirstVal = yynewOption;
7724
7725 YY_RESERVE_GLRSTACK (yystackp);
7726 }
7727
7728 /* GLRStacks */
7729
7730 /** Initialize YYSET to a singleton set containing an empty stack. */
7731 static yybool
7732 yyinitStateSet (yyGLRStateSet* yyset)
7733 {
7734 yyset->yysize = 1;
7735 yyset->yycapacity = 16;
7736 yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
7737 if (! yyset->yystates)
7738 return yyfalse;
7739 yyset->yystates[0] = YY_NULLPTR;
7740 yyset->yylookaheadNeeds =
7741 (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
7742 if (! yyset->yylookaheadNeeds)
7743 {
7744 YYFREE (yyset->yystates);
7745 return yyfalse;
7746 }
7747 return yytrue;
7748 }
7749
7750 static void yyfreeStateSet (yyGLRStateSet* yyset)
7751 {
7752 YYFREE (yyset->yystates);
7753 YYFREE (yyset->yylookaheadNeeds);
7754 }
7755
7756 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7757 * capacity for all stacks of YYSIZE. */
7758 static yybool
7759 yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
7760 {
7761 yystackp->yyerrState = 0;
7762 yynerrs = 0;
7763 yystackp->yyspaceLeft = yysize;
7764 yystackp->yyitems =
7765 (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
7766 if (!yystackp->yyitems)
7767 return yyfalse;
7768 yystackp->yynextFree = yystackp->yyitems;
7769 yystackp->yysplitPoint = YY_NULLPTR;
7770 yystackp->yylastDeleted = YY_NULLPTR;
7771 return yyinitStateSet (&yystackp->yytops);
7772 }
7773
7774
7775 #if YYSTACKEXPANDABLE
7776 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7777 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
7778
7779 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
7780 stack from outside should be considered invalid after this call.
7781 We always expand when there are 1 or fewer items left AFTER an
7782 allocation, so that we can avoid having external pointers exist
7783 across an allocation. */
7784 static void
7785 yyexpandGLRStack (yyGLRStack* yystackp)
7786 {
7787 yyGLRStackItem* yynewItems;
7788 yyGLRStackItem* yyp0, *yyp1;
7789 size_t yynewSize;
7790 size_t yyn;
7791 size_t yysize = yystackp->yynextFree - yystackp->yyitems;
7792 if (YYMAXDEPTH - YYHEADROOM < yysize)
7793 yyMemoryExhausted (yystackp);
7794 yynewSize = 2*yysize;
7795 if (YYMAXDEPTH < yynewSize)
7796 yynewSize = YYMAXDEPTH;
7797 yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
7798 if (! yynewItems)
7799 yyMemoryExhausted (yystackp);
7800 for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
7801 0 < yyn;
7802 yyn -= 1, yyp0 += 1, yyp1 += 1)
7803 {
7804 *yyp1 = *yyp0;
7805 if (*(yybool *) yyp0)
7806 {
7807 yyGLRState* yys0 = &yyp0->yystate;
7808 yyGLRState* yys1 = &yyp1->yystate;
7809 if (yys0->yypred != YY_NULLPTR)
7810 yys1->yypred =
7811 YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
7812 if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULLPTR)
7813 yys1->yysemantics.yyfirstVal =
7814 YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
7815 }
7816 else
7817 {
7818 yySemanticOption* yyv0 = &yyp0->yyoption;
7819 yySemanticOption* yyv1 = &yyp1->yyoption;
7820 if (yyv0->yystate != YY_NULLPTR)
7821 yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
7822 if (yyv0->yynext != YY_NULLPTR)
7823 yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
7824 }
7825 }
7826 if (yystackp->yysplitPoint != YY_NULLPTR)
7827 yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
7828 yystackp->yysplitPoint, yystate);
7829
7830 for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
7831 if (yystackp->yytops.yystates[yyn] != YY_NULLPTR)
7832 yystackp->yytops.yystates[yyn] =
7833 YYRELOC (yystackp->yyitems, yynewItems,
7834 yystackp->yytops.yystates[yyn], yystate);
7835 YYFREE (yystackp->yyitems);
7836 yystackp->yyitems = yynewItems;
7837 yystackp->yynextFree = yynewItems + yysize;
7838 yystackp->yyspaceLeft = yynewSize - yysize;
7839 }
7840 #endif
7841
7842 static void
7843 yyfreeGLRStack (yyGLRStack* yystackp)
7844 {
7845 YYFREE (yystackp->yyitems);
7846 yyfreeStateSet (&yystackp->yytops);
7847 }
7848
7849 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
7850 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
7851 * YYS. */
7852 static inline void
7853 yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
7854 {
7855 if (yystackp->yysplitPoint != YY_NULLPTR && yystackp->yysplitPoint > yys)
7856 yystackp->yysplitPoint = yys;
7857 }
7858
7859 /** Invalidate stack #YYK in *YYSTACKP. */
7860 static inline void
7861 yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
7862 {
7863 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
7864 yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
7865 yystackp->yytops.yystates[yyk] = YY_NULLPTR;
7866 }
7867
7868 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
7869 only be done once after a deletion, and only when all other stacks have
7870 been deleted. */
7871 static void
7872 yyundeleteLastStack (yyGLRStack* yystackp)
7873 {
7874 if (yystackp->yylastDeleted == YY_NULLPTR || yystackp->yytops.yysize != 0)
7875 return;
7876 yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
7877 yystackp->yytops.yysize = 1;
7878 YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
7879 yystackp->yylastDeleted = YY_NULLPTR;
7880 }
7881
7882 static inline void
7883 yyremoveDeletes (yyGLRStack* yystackp)
7884 {
7885 size_t yyi, yyj;
7886 yyi = yyj = 0;
7887 while (yyj < yystackp->yytops.yysize)
7888 {
7889 if (yystackp->yytops.yystates[yyi] == YY_NULLPTR)
7890 {
7891 if (yyi == yyj)
7892 {
7893 YYDPRINTF ((stderr, "Removing dead stacks.\n"));
7894 }
7895 yystackp->yytops.yysize -= 1;
7896 }
7897 else
7898 {
7899 yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
7900 /* In the current implementation, it's unnecessary to copy
7901 yystackp->yytops.yylookaheadNeeds[yyi] since, after
7902 yyremoveDeletes returns, the parser immediately either enters
7903 deterministic operation or shifts a token. However, it doesn't
7904 hurt, and the code might evolve to need it. */
7905 yystackp->yytops.yylookaheadNeeds[yyj] =
7906 yystackp->yytops.yylookaheadNeeds[yyi];
7907 if (yyj != yyi)
7908 {
7909 YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
7910 (unsigned long int) yyi, (unsigned long int) yyj));
7911 }
7912 yyj += 1;
7913 }
7914 yyi += 1;
7915 }
7916 }
7917
7918 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
7919 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
7920 * value *YYVALP and source location *YYLOCP. */
7921 static inline void
7922 yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7923 size_t yyposn,
7924 YYSTYPE* yyvalp)
7925 {
7926 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7927
7928 yynewState->yylrState = yylrState;
7929 yynewState->yyposn = yyposn;
7930 yynewState->yyresolved = yytrue;
7931 yynewState->yypred = yystackp->yytops.yystates[yyk];
7932 yynewState->yysemantics.yysval = *yyvalp;
7933 yystackp->yytops.yystates[yyk] = yynewState;
7934
7935 YY_RESERVE_GLRSTACK (yystackp);
7936 }
7937
7938 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
7939 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
7940 * semantic value of YYRHS under the action for YYRULE. */
7941 static inline void
7942 yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7943 size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule)
7944 {
7945 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7946 YYASSERT (yynewState->yyisState);
7947
7948 yynewState->yylrState = yylrState;
7949 yynewState->yyposn = yyposn;
7950 yynewState->yyresolved = yyfalse;
7951 yynewState->yypred = yystackp->yytops.yystates[yyk];
7952 yynewState->yysemantics.yyfirstVal = YY_NULLPTR;
7953 yystackp->yytops.yystates[yyk] = yynewState;
7954
7955 /* Invokes YY_RESERVE_GLRSTACK. */
7956 yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule);
7957 }
7958
7959 #if !YYDEBUG
7960 # define YY_REDUCE_PRINT(Args)
7961 #else
7962 # define YY_REDUCE_PRINT(Args) \
7963 do { \
7964 if (yydebug) \
7965 yy_reduce_print Args; \
7966 } while (0)
7967
7968 /*----------------------------------------------------------------------.
7969 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
7970 `----------------------------------------------------------------------*/
7971
7972 static inline void
7973 yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
7974 yyRuleNum yyrule, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7975 {
7976 int yynrhs = yyrhsLength (yyrule);
7977 int yyi;
7978 YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
7979 (unsigned long int) yyk, yyrule - 1,
7980 (unsigned long int) yyrline[yyrule]);
7981 if (! yynormal)
7982 yyfillin (yyvsp, 1, -yynrhs);
7983 /* The symbols being reduced. */
7984 for (yyi = 0; yyi < yynrhs; yyi++)
7985 {
7986 YYFPRINTF (stderr, " $%d = ", yyi + 1);
7987 yy_symbol_print (stderr,
7988 yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
7989 &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
7990 , P, tokens, index);
7991 if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
7992 YYFPRINTF (stderr, " (unresolved)");
7993 YYFPRINTF (stderr, "\n");
7994 }
7995 }
7996 #endif
7997
7998 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
7999 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
8000 * semantic values. Assumes that all ambiguities in semantic values
8001 * have been previously resolved. Set *YYVALP to the resulting value,
8002 * and *YYLOCP to the computed location (if any). Return value is as
8003 * for userAction. */
8004 static inline YYRESULTTAG
8005 yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
8006 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8007 {
8008 int yynrhs = yyrhsLength (yyrule);
8009
8010 if (yystackp->yysplitPoint == YY_NULLPTR)
8011 {
8012 /* Standard special case: single stack. */
8013 yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
8014 YYASSERT (yyk == 0);
8015 yystackp->yynextFree -= yynrhs;
8016 yystackp->yyspaceLeft += yynrhs;
8017 yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
8018 YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule, P, tokens, index));
8019 return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
8020 yyvalp, P, tokens, index);
8021 }
8022 else
8023 {
8024 int yyi;
8025 yyGLRState* yys;
8026 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8027 yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
8028 = yystackp->yytops.yystates[yyk];
8029 for (yyi = 0; yyi < yynrhs; yyi += 1)
8030 {
8031 yys = yys->yypred;
8032 YYASSERT (yys);
8033 }
8034 yyupdateSplit (yystackp, yys);
8035 yystackp->yytops.yystates[yyk] = yys;
8036 YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule, P, tokens, index));
8037 return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8038 yystackp, yyvalp, P, tokens, index);
8039 }
8040 }
8041
8042 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8043 * and push back on the resulting nonterminal symbol. Perform the
8044 * semantic action associated with YYRULE and store its value with the
8045 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8046 * unambiguous. Otherwise, store the deferred semantic action with
8047 * the new state. If the new state would have an identical input
8048 * position, LR state, and predecessor to an existing state on the stack,
8049 * it is identified with that existing state, eliminating stack #YYK from
8050 * *YYSTACKP. In this case, the semantic value is
8051 * added to the options for the existing state's semantic value.
8052 */
8053 static inline YYRESULTTAG
8054 yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
8055 yybool yyforceEval, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8056 {
8057 size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
8058
8059 if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR)
8060 {
8061 YYSTYPE yysval;
8062
8063 YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval, P, tokens, index);
8064 if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR)
8065 {
8066 YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
8067 (unsigned long int) yyk, yyrule - 1));
8068 }
8069 if (yyflag != yyok)
8070 return yyflag;
8071 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
8072 yyglrShift (yystackp, yyk,
8073 yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
8074 yylhsNonterm (yyrule)),
8075 yyposn, &yysval);
8076 }
8077 else
8078 {
8079 size_t yyi;
8080 int yyn;
8081 yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
8082 yyStateNum yynewLRState;
8083
8084 for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
8085 0 < yyn; yyn -= 1)
8086 {
8087 yys = yys->yypred;
8088 YYASSERT (yys);
8089 }
8090 yyupdateSplit (yystackp, yys);
8091 yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
8092 YYDPRINTF ((stderr,
8093 "Reduced stack %lu by rule #%d; action deferred. "
8094 "Now in state %d.\n",
8095 (unsigned long int) yyk, yyrule - 1, yynewLRState));
8096 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
8097 if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULLPTR)
8098 {
8099 yyGLRState *yysplit = yystackp->yysplitPoint;
8100 yyGLRState *yyp = yystackp->yytops.yystates[yyi];
8101 while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
8102 {
8103 if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
8104 {
8105 yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
8106 yymarkStackDeleted (yystackp, yyk);
8107 YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
8108 (unsigned long int) yyk,
8109 (unsigned long int) yyi));
8110 return yyok;
8111 }
8112 yyp = yyp->yypred;
8113 }
8114 }
8115 yystackp->yytops.yystates[yyk] = yys;
8116 yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
8117 }
8118 return yyok;
8119 }
8120
8121 static size_t
8122 yysplitStack (yyGLRStack* yystackp, size_t yyk)
8123 {
8124 if (yystackp->yysplitPoint == YY_NULLPTR)
8125 {
8126 YYASSERT (yyk == 0);
8127 yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
8128 }
8129 if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
8130 {
8131 yyGLRState** yynewStates;
8132 yybool* yynewLookaheadNeeds;
8133
8134 yynewStates = YY_NULLPTR;
8135
8136 if (yystackp->yytops.yycapacity
8137 > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
8138 yyMemoryExhausted (yystackp);
8139 yystackp->yytops.yycapacity *= 2;
8140
8141 yynewStates =
8142 (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
8143 (yystackp->yytops.yycapacity
8144 * sizeof yynewStates[0]));
8145 if (yynewStates == YY_NULLPTR)
8146 yyMemoryExhausted (yystackp);
8147 yystackp->yytops.yystates = yynewStates;
8148
8149 yynewLookaheadNeeds =
8150 (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
8151 (yystackp->yytops.yycapacity
8152 * sizeof yynewLookaheadNeeds[0]));
8153 if (yynewLookaheadNeeds == YY_NULLPTR)
8154 yyMemoryExhausted (yystackp);
8155 yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
8156 }
8157 yystackp->yytops.yystates[yystackp->yytops.yysize]
8158 = yystackp->yytops.yystates[yyk];
8159 yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
8160 = yystackp->yytops.yylookaheadNeeds[yyk];
8161 yystackp->yytops.yysize += 1;
8162 return yystackp->yytops.yysize-1;
8163 }
8164
8165 /** True iff YYY0 and YYY1 represent identical options at the top level.
8166 * That is, they represent the same rule applied to RHS symbols
8167 * that produce the same terminal symbols. */
8168 static yybool
8169 yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
8170 {
8171 if (yyy0->yyrule == yyy1->yyrule)
8172 {
8173 yyGLRState *yys0, *yys1;
8174 int yyn;
8175 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8176 yyn = yyrhsLength (yyy0->yyrule);
8177 yyn > 0;
8178 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8179 if (yys0->yyposn != yys1->yyposn)
8180 return yyfalse;
8181 return yytrue;
8182 }
8183 else
8184 return yyfalse;
8185 }
8186
8187 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8188 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8189 static void
8190 yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
8191 {
8192 yyGLRState *yys0, *yys1;
8193 int yyn;
8194 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8195 yyn = yyrhsLength (yyy0->yyrule);
8196 yyn > 0;
8197 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8198 {
8199 if (yys0 == yys1)
8200 break;
8201 else if (yys0->yyresolved)
8202 {
8203 yys1->yyresolved = yytrue;
8204 yys1->yysemantics.yysval = yys0->yysemantics.yysval;
8205 }
8206 else if (yys1->yyresolved)
8207 {
8208 yys0->yyresolved = yytrue;
8209 yys0->yysemantics.yysval = yys1->yysemantics.yysval;
8210 }
8211 else
8212 {
8213 yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
8214 yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
8215 while (yytrue)
8216 {
8217 if (yyz1 == *yyz0p || yyz1 == YY_NULLPTR)
8218 break;
8219 else if (*yyz0p == YY_NULLPTR)
8220 {
8221 *yyz0p = yyz1;
8222 break;
8223 }
8224 else if (*yyz0p < yyz1)
8225 {
8226 yySemanticOption* yyz = *yyz0p;
8227 *yyz0p = yyz1;
8228 yyz1 = yyz1->yynext;
8229 (*yyz0p)->yynext = yyz;
8230 }
8231 yyz0p = &(*yyz0p)->yynext;
8232 }
8233 yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
8234 }
8235 }
8236 }
8237
8238 /** Y0 and Y1 represent two possible actions to take in a given
8239 * parsing state; return 0 if no combination is possible,
8240 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8241 static int
8242 yypreference (yySemanticOption* y0, yySemanticOption* y1)
8243 {
8244 yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
8245 int p0 = yydprec[r0], p1 = yydprec[r1];
8246
8247 if (p0 == p1)
8248 {
8249 if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
8250 return 0;
8251 else
8252 return 1;
8253 }
8254 if (p0 == 0 || p1 == 0)
8255 return 0;
8256 if (p0 < p1)
8257 return 3;
8258 if (p1 < p0)
8259 return 2;
8260 return 0;
8261 }
8262
8263 static YYRESULTTAG yyresolveValue (yyGLRState* yys,
8264 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
8265
8266
8267 /** Resolve the previous YYN states starting at and including state YYS
8268 * on *YYSTACKP. If result != yyok, some states may have been left
8269 * unresolved possibly with empty semantic option chains. Regardless
8270 * of whether result = yyok, each state has been left with consistent
8271 * data so that yydestroyGLRState can be invoked if necessary. */
8272 static YYRESULTTAG
8273 yyresolveStates (yyGLRState* yys, int yyn,
8274 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8275 {
8276 if (0 < yyn)
8277 {
8278 YYASSERT (yys->yypred);
8279 YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, P, tokens, index));
8280 if (! yys->yyresolved)
8281 YYCHK (yyresolveValue (yys, yystackp, P, tokens, index));
8282 }
8283 return yyok;
8284 }
8285
8286 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8287 * user action, and return the semantic value and location in *YYVALP
8288 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8289 * have been destroyed (assuming the user action destroys all RHS
8290 * semantic values if invoked). */
8291 static YYRESULTTAG
8292 yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
8293 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8294 {
8295 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8296 int yynrhs = yyrhsLength (yyopt->yyrule);
8297 YYRESULTTAG yyflag =
8298 yyresolveStates (yyopt->yystate, yynrhs, yystackp, P, tokens, index);
8299 if (yyflag != yyok)
8300 {
8301 yyGLRState *yys;
8302 for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
8303 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
8304 return yyflag;
8305 }
8306
8307 yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;
8308 {
8309 int yychar_current = yychar;
8310 YYSTYPE yylval_current = yylval;
8311 yychar = yyopt->yyrawchar;
8312 yylval = yyopt->yyval;
8313 yyflag = yyuserAction (yyopt->yyrule, yynrhs,
8314 yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8315 yystackp, yyvalp, P, tokens, index);
8316 yychar = yychar_current;
8317 yylval = yylval_current;
8318 }
8319 return yyflag;
8320 }
8321
8322 #if YYDEBUG
8323 static void
8324 yyreportTree (yySemanticOption* yyx, int yyindent)
8325 {
8326 int yynrhs = yyrhsLength (yyx->yyrule);
8327 int yyi;
8328 yyGLRState* yys;
8329 yyGLRState* yystates[1 + YYMAXRHS];
8330 yyGLRState yyleftmost_state;
8331
8332 for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
8333 yystates[yyi] = yys;
8334 if (yys == YY_NULLPTR)
8335 {
8336 yyleftmost_state.yyposn = 0;
8337 yystates[0] = &yyleftmost_state;
8338 }
8339 else
8340 yystates[0] = yys;
8341
8342 if (yyx->yystate->yyposn < yys->yyposn + 1)
8343 YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
8344 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8345 yyx->yyrule - 1);
8346 else
8347 YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8348 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8349 yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
8350 (unsigned long int) yyx->yystate->yyposn);
8351 for (yyi = 1; yyi <= yynrhs; yyi += 1)
8352 {
8353 if (yystates[yyi]->yyresolved)
8354 {
8355 if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
8356 YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
8357 yytokenName (yystos[yystates[yyi]->yylrState]));
8358 else
8359 YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
8360 yytokenName (yystos[yystates[yyi]->yylrState]),
8361 (unsigned long int) (yystates[yyi-1]->yyposn + 1),
8362 (unsigned long int) yystates[yyi]->yyposn);
8363 }
8364 else
8365 yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
8366 }
8367 }
8368 #endif
8369
8370 static YYRESULTTAG
8371 yyreportAmbiguity (yySemanticOption* yyx0,
8372 yySemanticOption* yyx1, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8373 {
8374 YYUSE (yyx0);
8375 YYUSE (yyx1);
8376
8377 #if YYDEBUG
8378 YYFPRINTF (stderr, "Ambiguity detected.\n");
8379 YYFPRINTF (stderr, "Option 1,\n");
8380 yyreportTree (yyx0, 2);
8381 YYFPRINTF (stderr, "\nOption 2,\n");
8382 yyreportTree (yyx1, 2);
8383 YYFPRINTF (stderr, "\n");
8384 #endif
8385
8386 yyerror (P, tokens, index, YY_("syntax is ambiguous"));
8387 return yyabort;
8388 }
8389
8390 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8391 * perform the indicated actions, and set the semantic value of YYS.
8392 * If result != yyok, the chain of semantic options in YYS has been
8393 * cleared instead or it has been left unmodified except that
8394 * redundant options may have been removed. Regardless of whether
8395 * result = yyok, YYS has been left with consistent data so that
8396 * yydestroyGLRState can be invoked if necessary. */
8397 static YYRESULTTAG
8398 yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8399 {
8400 yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
8401 yySemanticOption* yybest = yyoptionList;
8402 yySemanticOption** yypp;
8403 yybool yymerge = yyfalse;
8404 YYSTYPE yysval;
8405 YYRESULTTAG yyflag;
8406
8407 for (yypp = &yyoptionList->yynext; *yypp != YY_NULLPTR; )
8408 {
8409 yySemanticOption* yyp = *yypp;
8410
8411 if (yyidenticalOptions (yybest, yyp))
8412 {
8413 yymergeOptionSets (yybest, yyp);
8414 *yypp = yyp->yynext;
8415 }
8416 else
8417 {
8418 switch (yypreference (yybest, yyp))
8419 {
8420 case 0:
8421 return yyreportAmbiguity (yybest, yyp, P, tokens, index);
8422 break;
8423 case 1:
8424 yymerge = yytrue;
8425 break;
8426 case 2:
8427 break;
8428 case 3:
8429 yybest = yyp;
8430 yymerge = yyfalse;
8431 break;
8432 default:
8433 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8434 but some compilers complain if the default case is
8435 omitted. */
8436 break;
8437 }
8438 yypp = &yyp->yynext;
8439 }
8440 }
8441
8442 if (yymerge)
8443 {
8444 yySemanticOption* yyp;
8445 int yyprec = yydprec[yybest->yyrule];
8446 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8447 if (yyflag == yyok)
8448 for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext)
8449 {
8450 if (yyprec == yydprec[yyp->yyrule])
8451 {
8452 YYSTYPE yysval_other;
8453 yyflag = yyresolveAction (yyp, yystackp, &yysval_other, P, tokens, index);
8454 if (yyflag != yyok)
8455 {
8456 yydestruct ("Cleanup: discarding incompletely merged value for",
8457 yystos[yys->yylrState],
8458 &yysval, P, tokens, index);
8459 break;
8460 }
8461 yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
8462 }
8463 }
8464 }
8465 else
8466 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8467
8468 if (yyflag == yyok)
8469 {
8470 yys->yyresolved = yytrue;
8471 yys->yysemantics.yysval = yysval;
8472 }
8473 else
8474 yys->yysemantics.yyfirstVal = YY_NULLPTR;
8475 return yyflag;
8476 }
8477
8478 static YYRESULTTAG
8479 yyresolveStack (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8480 {
8481 if (yystackp->yysplitPoint != YY_NULLPTR)
8482 {
8483 yyGLRState* yys;
8484 int yyn;
8485
8486 for (yyn = 0, yys = yystackp->yytops.yystates[0];
8487 yys != yystackp->yysplitPoint;
8488 yys = yys->yypred, yyn += 1)
8489 continue;
8490 YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
8491 , P, tokens, index));
8492 }
8493 return yyok;
8494 }
8495
8496 static void
8497 yycompressStack (yyGLRStack* yystackp)
8498 {
8499 yyGLRState* yyp, *yyq, *yyr;
8500
8501 if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULLPTR)
8502 return;
8503
8504 for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULLPTR;
8505 yyp != yystackp->yysplitPoint;
8506 yyr = yyp, yyp = yyq, yyq = yyp->yypred)
8507 yyp->yypred = yyr;
8508
8509 yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
8510 yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
8511 yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
8512 yystackp->yysplitPoint = YY_NULLPTR;
8513 yystackp->yylastDeleted = YY_NULLPTR;
8514
8515 while (yyr != YY_NULLPTR)
8516 {
8517 yystackp->yynextFree->yystate = *yyr;
8518 yyr = yyr->yypred;
8519 yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
8520 yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
8521 yystackp->yynextFree += 1;
8522 yystackp->yyspaceLeft -= 1;
8523 }
8524 }
8525
8526 static YYRESULTTAG
8527 yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
8528 size_t yyposn, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8529 {
8530 while (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8531 {
8532 yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
8533 YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
8534 (unsigned long int) yyk, yystate));
8535
8536 YYASSERT (yystate != YYFINAL);
8537
8538 if (yyisDefaultedState (yystate))
8539 {
8540 YYRESULTTAG yyflag;
8541 yyRuleNum yyrule = yydefaultAction (yystate);
8542 if (yyrule == 0)
8543 {
8544 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8545 (unsigned long int) yyk));
8546 yymarkStackDeleted (yystackp, yyk);
8547 return yyok;
8548 }
8549 yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule], P, tokens, index);
8550 if (yyflag == yyerr)
8551 {
8552 YYDPRINTF ((stderr,
8553 "Stack %lu dies "
8554 "(predicate failure or explicit user error).\n",
8555 (unsigned long int) yyk));
8556 yymarkStackDeleted (yystackp, yyk);
8557 return yyok;
8558 }
8559 if (yyflag != yyok)
8560 return yyflag;
8561 }
8562 else
8563 {
8564 yySymbol yytoken;
8565 int yyaction;
8566 const short int* yyconflicts;
8567
8568 yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
8569 if (yychar == YYEMPTY)
8570 {
8571 YYDPRINTF ((stderr, "Reading a token: "));
8572 yychar = yylex (&yylval, P, tokens, index);
8573 }
8574
8575 if (yychar <= YYEOF)
8576 {
8577 yychar = yytoken = YYEOF;
8578 YYDPRINTF ((stderr, "Now at end of input.\n"));
8579 }
8580 else
8581 {
8582 yytoken = YYTRANSLATE (yychar);
8583 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8584 }
8585
8586 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8587
8588 while (*yyconflicts != 0)
8589 {
8590 YYRESULTTAG yyflag;
8591 size_t yynewStack = yysplitStack (yystackp, yyk);
8592 YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
8593 (unsigned long int) yynewStack,
8594 (unsigned long int) yyk));
8595 yyflag = yyglrReduce (yystackp, yynewStack,
8596 *yyconflicts,
8597 yyimmediate[*yyconflicts], P, tokens, index);
8598 if (yyflag == yyok)
8599 YYCHK (yyprocessOneStack (yystackp, yynewStack,
8600 yyposn, P, tokens, index));
8601 else if (yyflag == yyerr)
8602 {
8603 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8604 (unsigned long int) yynewStack));
8605 yymarkStackDeleted (yystackp, yynewStack);
8606 }
8607 else
8608 return yyflag;
8609 yyconflicts += 1;
8610 }
8611
8612 if (yyisShiftAction (yyaction))
8613 break;
8614 else if (yyisErrorAction (yyaction))
8615 {
8616 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8617 (unsigned long int) yyk));
8618 yymarkStackDeleted (yystackp, yyk);
8619 break;
8620 }
8621 else
8622 {
8623 YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
8624 yyimmediate[-yyaction], P, tokens, index);
8625 if (yyflag == yyerr)
8626 {
8627 YYDPRINTF ((stderr,
8628 "Stack %lu dies "
8629 "(predicate failure or explicit user error).\n",
8630 (unsigned long int) yyk));
8631 yymarkStackDeleted (yystackp, yyk);
8632 break;
8633 }
8634 else if (yyflag != yyok)
8635 return yyflag;
8636 }
8637 }
8638 }
8639 return yyok;
8640 }
8641
8642 static void
8643 yyreportSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8644 {
8645 if (yystackp->yyerrState != 0)
8646 return;
8647 #if ! YYERROR_VERBOSE
8648 yyerror (P, tokens, index, YY_("syntax error"));
8649 #else
8650 {
8651 yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8652 size_t yysize0 = yytnamerr (YY_NULLPTR, yytokenName (yytoken));
8653 size_t yysize = yysize0;
8654 yybool yysize_overflow = yyfalse;
8655 char* yymsg = YY_NULLPTR;
8656 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
8657 /* Internationalized format string. */
8658 const char *yyformat = YY_NULLPTR;
8659 /* Arguments of yyformat. */
8660 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
8661 /* Number of reported tokens (one for the "unexpected", one per
8662 "expected"). */
8663 int yycount = 0;
8664
8665 /* There are many possibilities here to consider:
8666 - If this state is a consistent state with a default action, then
8667 the only way this function was invoked is if the default action
8668 is an error action. In that case, don't check for expected
8669 tokens because there are none.
8670 - The only way there can be no lookahead present (in yychar) is if
8671 this state is a consistent state with a default action. Thus,
8672 detecting the absence of a lookahead is sufficient to determine
8673 that there is no unexpected or expected token to report. In that
8674 case, just report a simple "syntax error".
8675 - Don't assume there isn't a lookahead just because this state is a
8676 consistent state with a default action. There might have been a
8677 previous inconsistent state, consistent state with a non-default
8678 action, or user semantic action that manipulated yychar.
8679 - Of course, the expected token list depends on states to have
8680 correct lookahead information, and it depends on the parser not
8681 to perform extra reductions after fetching a lookahead from the
8682 scanner and before detecting a syntax error. Thus, state merging
8683 (from LALR or IELR) and default reductions corrupt the expected
8684 token list. However, the list is correct for canonical LR with
8685 one exception: it will still contain any token that will not be
8686 accepted due to an error action in a later state.
8687 */
8688 if (yytoken != YYEMPTY)
8689 {
8690 int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
8691 yyarg[yycount++] = yytokenName (yytoken);
8692 if (!yypact_value_is_default (yyn))
8693 {
8694 /* Start YYX at -YYN if negative to avoid negative indexes in
8695 YYCHECK. In other words, skip the first -YYN actions for this
8696 state because they are default actions. */
8697 int yyxbegin = yyn < 0 ? -yyn : 0;
8698 /* Stay within bounds of both yycheck and yytname. */
8699 int yychecklim = YYLAST - yyn + 1;
8700 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
8701 int yyx;
8702 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
8703 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
8704 && !yytable_value_is_error (yytable[yyx + yyn]))
8705 {
8706 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
8707 {
8708 yycount = 1;
8709 yysize = yysize0;
8710 break;
8711 }
8712 yyarg[yycount++] = yytokenName (yyx);
8713 {
8714 size_t yysz = yysize + yytnamerr (YY_NULLPTR, yytokenName (yyx));
8715 yysize_overflow |= yysz < yysize;
8716 yysize = yysz;
8717 }
8718 }
8719 }
8720 }
8721
8722 switch (yycount)
8723 {
8724 #define YYCASE_(N, S) \
8725 case N: \
8726 yyformat = S; \
8727 break
8728 YYCASE_(0, YY_("syntax error"));
8729 YYCASE_(1, YY_("syntax error, unexpected %s"));
8730 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8731 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8732 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8733 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8734 #undef YYCASE_
8735 }
8736
8737 {
8738 size_t yysz = yysize + strlen (yyformat);
8739 yysize_overflow |= yysz < yysize;
8740 yysize = yysz;
8741 }
8742
8743 if (!yysize_overflow)
8744 yymsg = (char *) YYMALLOC (yysize);
8745
8746 if (yymsg)
8747 {
8748 char *yyp = yymsg;
8749 int yyi = 0;
8750 while ((*yyp = *yyformat))
8751 {
8752 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
8753 {
8754 yyp += yytnamerr (yyp, yyarg[yyi++]);
8755 yyformat += 2;
8756 }
8757 else
8758 {
8759 yyp++;
8760 yyformat++;
8761 }
8762 }
8763 yyerror (P, tokens, index, yymsg);
8764 YYFREE (yymsg);
8765 }
8766 else
8767 {
8768 yyerror (P, tokens, index, YY_("syntax error"));
8769 yyMemoryExhausted (yystackp);
8770 }
8771 }
8772 #endif /* YYERROR_VERBOSE */
8773 yynerrs += 1;
8774 }
8775
8776 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8777 yylval, and yylloc are the syntactic category, semantic value, and location
8778 of the lookahead. */
8779 static void
8780 yyrecoverSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8781 {
8782 size_t yyk;
8783 int yyj;
8784
8785 if (yystackp->yyerrState == 3)
8786 /* We just shifted the error token and (perhaps) took some
8787 reductions. Skip tokens until we can proceed. */
8788 while (yytrue)
8789 {
8790 yySymbol yytoken;
8791 if (yychar == YYEOF)
8792 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8793 if (yychar != YYEMPTY)
8794 {
8795 yytoken = YYTRANSLATE (yychar);
8796 yydestruct ("Error: discarding",
8797 yytoken, &yylval, P, tokens, index);
8798 }
8799 YYDPRINTF ((stderr, "Reading a token: "));
8800 yychar = yylex (&yylval, P, tokens, index);
8801 if (yychar <= YYEOF)
8802 {
8803 yychar = yytoken = YYEOF;
8804 YYDPRINTF ((stderr, "Now at end of input.\n"));
8805 }
8806 else
8807 {
8808 yytoken = YYTRANSLATE (yychar);
8809 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8810 }
8811 yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
8812 if (yypact_value_is_default (yyj))
8813 return;
8814 yyj += yytoken;
8815 if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
8816 {
8817 if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
8818 return;
8819 }
8820 else if (! yytable_value_is_error (yytable[yyj]))
8821 return;
8822 }
8823
8824 /* Reduce to one stack. */
8825 for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
8826 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8827 break;
8828 if (yyk >= yystackp->yytops.yysize)
8829 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8830 for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
8831 yymarkStackDeleted (yystackp, yyk);
8832 yyremoveDeletes (yystackp);
8833 yycompressStack (yystackp);
8834
8835 /* Now pop stack until we find a state that shifts the error token. */
8836 yystackp->yyerrState = 3;
8837 while (yystackp->yytops.yystates[0] != YY_NULLPTR)
8838 {
8839 yyGLRState *yys = yystackp->yytops.yystates[0];
8840 yyj = yypact[yys->yylrState];
8841 if (! yypact_value_is_default (yyj))
8842 {
8843 yyj += YYTERROR;
8844 if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
8845 && yyisShiftAction (yytable[yyj]))
8846 {
8847 /* Shift the error token. */
8848 YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
8849 &yylval, &yyerrloc);
8850 yyglrShift (yystackp, 0, yytable[yyj],
8851 yys->yyposn, &yylval);
8852 yys = yystackp->yytops.yystates[0];
8853 break;
8854 }
8855 }
8856 if (yys->yypred != YY_NULLPTR)
8857 yydestroyGLRState ("Error: popping", yys, P, tokens, index);
8858 yystackp->yytops.yystates[0] = yys->yypred;
8859 yystackp->yynextFree -= 1;
8860 yystackp->yyspaceLeft += 1;
8861 }
8862 if (yystackp->yytops.yystates[0] == YY_NULLPTR)
8863 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8864 }
8865
8866 #define YYCHK1(YYE) \
8867 do { \
8868 switch (YYE) { \
8869 case yyok: \
8870 break; \
8871 case yyabort: \
8872 goto yyabortlab; \
8873 case yyaccept: \
8874 goto yyacceptlab; \
8875 case yyerr: \
8876 goto yyuser_error; \
8877 default: \
8878 goto yybuglab; \
8879 } \
8880 } while (0)
8881
8882 /*----------.
8883 | yyparse. |
8884 `----------*/
8885
8886 int
8887 yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8888 {
8889 int yyresult;
8890 yyGLRStack yystack;
8891 yyGLRStack* const yystackp = &yystack;
8892 size_t yyposn;
8893
8894 YYDPRINTF ((stderr, "Starting parse\n"));
8895
8896 yychar = YYEMPTY;
8897 yylval = yyval_default;
8898
8899 /* User initialization code. */
8900 #line 144 "src/parser_proc_grammar.y" /* glr.c:2270 */
8901 {
8902 }
8903
8904 #line 8905 "src/parser_proc.c" /* glr.c:2270 */
8905
8906 if (! yyinitGLRStack (yystackp, YYINITDEPTH))
8907 goto yyexhaustedlab;
8908 switch (YYSETJMP (yystack.yyexception_buffer))
8909 {
8910 case 0: break;
8911 case 1: goto yyabortlab;
8912 case 2: goto yyexhaustedlab;
8913 default: goto yybuglab;
8914 }
8915 yyglrShift (&yystack, 0, 0, 0, &yylval);
8916 yyposn = 0;
8917
8918 while (yytrue)
8919 {
8920 /* For efficiency, we have two loops, the first of which is
8921 specialized to deterministic operation (single stack, no
8922 potential ambiguity). */
8923 /* Standard mode */
8924 while (yytrue)
8925 {
8926 yyRuleNum yyrule;
8927 int yyaction;
8928 const short int* yyconflicts;
8929
8930 yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
8931 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
8932 if (yystate == YYFINAL)
8933 goto yyacceptlab;
8934 if (yyisDefaultedState (yystate))
8935 {
8936 yyrule = yydefaultAction (yystate);
8937 if (yyrule == 0)
8938 {
8939
8940 yyreportSyntaxError (&yystack, P, tokens, index);
8941 goto yyuser_error;
8942 }
8943 YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, P, tokens, index));
8944 }
8945 else
8946 {
8947 yySymbol yytoken;
8948 if (yychar == YYEMPTY)
8949 {
8950 YYDPRINTF ((stderr, "Reading a token: "));
8951 yychar = yylex (&yylval, P, tokens, index);
8952 }
8953
8954 if (yychar <= YYEOF)
8955 {
8956 yychar = yytoken = YYEOF;
8957 YYDPRINTF ((stderr, "Now at end of input.\n"));
8958 }
8959 else
8960 {
8961 yytoken = YYTRANSLATE (yychar);
8962 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8963 }
8964
8965 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8966 if (*yyconflicts != 0)
8967 break;
8968 if (yyisShiftAction (yyaction))
8969 {
8970 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
8971 yychar = YYEMPTY;
8972 yyposn += 1;
8973 yyglrShift (&yystack, 0, yyaction, yyposn, &yylval);
8974 if (0 < yystack.yyerrState)
8975 yystack.yyerrState -= 1;
8976 }
8977 else if (yyisErrorAction (yyaction))
8978 {
8979
8980 yyreportSyntaxError (&yystack, P, tokens, index);
8981 goto yyuser_error;
8982 }
8983 else
8984 YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, P, tokens, index));
8985 }
8986 }
8987
8988 while (yytrue)
8989 {
8990 yySymbol yytoken_to_shift;
8991 size_t yys;
8992
8993 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8994 yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
8995
8996 /* yyprocessOneStack returns one of three things:
8997
8998 - An error flag. If the caller is yyprocessOneStack, it
8999 immediately returns as well. When the caller is finally
9000 yyparse, it jumps to an error label via YYCHK1.
9001
9002 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
9003 (&yystack, yys), which sets the top state of yys to NULL. Thus,
9004 yyparse's following invocation of yyremoveDeletes will remove
9005 the stack.
9006
9007 - yyok, when ready to shift a token.
9008
9009 Except in the first case, yyparse will invoke yyremoveDeletes and
9010 then shift the next token onto all remaining stacks. This
9011 synchronization of the shift (that is, after all preceding
9012 reductions on all stacks) helps prevent double destructor calls
9013 on yylval in the event of memory exhaustion. */
9014
9015 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
9016 YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, P, tokens, index));
9017 yyremoveDeletes (&yystack);
9018 if (yystack.yytops.yysize == 0)
9019 {
9020 yyundeleteLastStack (&yystack);
9021 if (yystack.yytops.yysize == 0)
9022 yyFail (&yystack, P, tokens, index, YY_("syntax error"));
9023 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
9024 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
9025
9026 yyreportSyntaxError (&yystack, P, tokens, index);
9027 goto yyuser_error;
9028 }
9029
9030 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9031 a copy of yylval will already be on stack 0 in the event of a
9032 failure in the following loop. Thus, yychar is set to YYEMPTY
9033 before the loop to make sure the user destructor for yylval isn't
9034 called twice. */
9035 yytoken_to_shift = YYTRANSLATE (yychar);
9036 yychar = YYEMPTY;
9037 yyposn += 1;
9038 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
9039 {
9040 int yyaction;
9041 const short int* yyconflicts;
9042 yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
9043 yygetLRActions (yystate, yytoken_to_shift, &yyaction,
9044 &yyconflicts);
9045 /* Note that yyconflicts were handled by yyprocessOneStack. */
9046 YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
9047 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
9048 yyglrShift (&yystack, yys, yyaction, yyposn,
9049 &yylval);
9050 YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
9051 (unsigned long int) yys,
9052 yystack.yytops.yystates[yys]->yylrState));
9053 }
9054
9055 if (yystack.yytops.yysize == 1)
9056 {
9057 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
9058 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
9059 yycompressStack (&yystack);
9060 break;
9061 }
9062 }
9063 continue;
9064 yyuser_error:
9065 yyrecoverSyntaxError (&yystack, P, tokens, index);
9066 yyposn = yystack.yytops.yystates[0]->yyposn;
9067 }
9068
9069 yyacceptlab:
9070 yyresult = 0;
9071 goto yyreturn;
9072
9073 yybuglab:
9074 YYASSERT (yyfalse);
9075 goto yyabortlab;
9076
9077 yyabortlab:
9078 yyresult = 1;
9079 goto yyreturn;
9080
9081 yyexhaustedlab:
9082 yyerror (P, tokens, index, YY_("memory exhausted"));
9083 yyresult = 2;
9084 goto yyreturn;
9085
9086 yyreturn:
9087 if (yychar != YYEMPTY)
9088 yydestruct ("Cleanup: discarding lookahead",
9089 YYTRANSLATE (yychar), &yylval, P, tokens, index);
9090
9091 /* If the stack is well-formed, pop the stack until it is empty,
9092 destroying its entries as we go. But free the stack regardless
9093 of whether it is well-formed. */
9094 if (yystack.yyitems)
9095 {
9096 yyGLRState** yystates = yystack.yytops.yystates;
9097 if (yystates)
9098 {
9099 size_t yysize = yystack.yytops.yysize;
9100 size_t yyk;
9101 for (yyk = 0; yyk < yysize; yyk += 1)
9102 if (yystates[yyk])
9103 {
9104 while (yystates[yyk])
9105 {
9106 yyGLRState *yys = yystates[yyk];
9107 if (yys->yypred != YY_NULLPTR)
9108 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
9109 yystates[yyk] = yys->yypred;
9110 yystack.yynextFree -= 1;
9111 yystack.yyspaceLeft += 1;
9112 }
9113 break;
9114 }
9115 }
9116 yyfreeGLRStack (&yystack);
9117 }
9118
9119 return yyresult;
9120 }
9121
9122 /* DEBUGGING ONLY */
9123 #if YYDEBUG
9124 static void
9125 yy_yypstack (yyGLRState* yys)
9126 {
9127 if (yys->yypred)
9128 {
9129 yy_yypstack (yys->yypred);
9130 YYFPRINTF (stderr, " -> ");
9131 }
9132 YYFPRINTF (stderr, "%d@%lu", yys->yylrState,
9133 (unsigned long int) yys->yyposn);
9134 }
9135
9136 static void
9137 yypstates (yyGLRState* yyst)
9138 {
9139 if (yyst == YY_NULLPTR)
9140 YYFPRINTF (stderr, "<null>");
9141 else
9142 yy_yypstack (yyst);
9143 YYFPRINTF (stderr, "\n");
9144 }
9145
9146 static void
9147 yypstack (yyGLRStack* yystackp, size_t yyk)
9148 {
9149 yypstates (yystackp->yytops.yystates[yyk]);
9150 }
9151
9152 #define YYINDEX(YYX) \
9153 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9154
9155
9156 static void
9157 yypdumpstack (yyGLRStack* yystackp)
9158 {
9159 yyGLRStackItem* yyp;
9160 size_t yyi;
9161 for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
9162 {
9163 YYFPRINTF (stderr, "%3lu. ",
9164 (unsigned long int) (yyp - yystackp->yyitems));
9165 if (*(yybool *) yyp)
9166 {
9167 YYASSERT (yyp->yystate.yyisState);
9168 YYASSERT (yyp->yyoption.yyisState);
9169 YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9170 yyp->yystate.yyresolved, yyp->yystate.yylrState,
9171 (unsigned long int) yyp->yystate.yyposn,
9172 (long int) YYINDEX (yyp->yystate.yypred));
9173 if (! yyp->yystate.yyresolved)
9174 YYFPRINTF (stderr, ", firstVal: %ld",
9175 (long int) YYINDEX (yyp->yystate
9176 .yysemantics.yyfirstVal));
9177 }
9178 else
9179 {
9180 YYASSERT (!yyp->yystate.yyisState);
9181 YYASSERT (!yyp->yyoption.yyisState);
9182 YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
9183 yyp->yyoption.yyrule - 1,
9184 (long int) YYINDEX (yyp->yyoption.yystate),
9185 (long int) YYINDEX (yyp->yyoption.yynext));
9186 }
9187 YYFPRINTF (stderr, "\n");
9188 }
9189 YYFPRINTF (stderr, "Tops:");
9190 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
9191 YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
9192 (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
9193 YYFPRINTF (stderr, "\n");
9194 }
9195 #endif
9196
9197 #undef yylval
9198 #undef yychar
9199 #undef yynerrs
9200
9201 /* Substitute the variable and function names. */
9202 #define yyparse psi_parser_proc_parse
9203 #define yylex psi_parser_proc_lex
9204 #define yyerror psi_parser_proc_error
9205 #define yylval psi_parser_proc_lval
9206 #define yychar psi_parser_proc_char
9207 #define yydebug psi_parser_proc_debug
9208 #define yynerrs psi_parser_proc_nerrs
9209
9210 #line 2273 "src/parser_proc_grammar.y" /* glr.c:2584 */
9211
9212
9213 /* epilogue */
9214
9215 static int psi_parser_proc_lex(YYSTYPE *lvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
9216 {
9217 struct psi_token *token;
9218
9219 if (psi_plist_get(tokens, (*index)++, &token)) {
9220 if (P->flags & PSI_DEBUG) {
9221 psi_token_dump(2, token);
9222 }
9223
9224 *((struct psi_token **)lvalp) = token;
9225 return token->type;
9226 } else {
9227 (*index)--;
9228 PSI_DEBUG_PRINT(P, "EOF(%d)\n", PSI_T_EOF);
9229 }
9230
9231 return PSI_T_EOF;
9232 }
9233
9234 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg)
9235 {
9236 struct psi_token *T = NULL;
9237 size_t last;
9238
9239 if (*index == 0) {
9240 last = 0;
9241 } else {
9242 last = --(*index);
9243 }
9244
9245 psi_plist_get(tokens, last, &T);
9246 if (T) {
9247 P->error(PSI_DATA(P), T, PSI_WARNING, "PSI %s at col %u", msg, T->col);
9248 } else {
9249 P->error(PSI_DATA(P), NULL, PSI_WARNING, "PSI %s", msg);
9250 }
9251 P->errors++;
9252 }
9253