7d58c57c6998943e49f8cb04a67fb4c5e24e68f0
[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, 1134, 1137, 1143, 1146, 1152, 1155, 1158, 1161,
427 1167, 1171, 1172, 1176, 1177, 1181, 1182, 1189, 1190, 1194,
428 1201, 1212, 1219, 1227, 1251, 1279, 1286, 1297, 1343, 1384,
429 1399, 1402, 1405, 1411, 1414, 1420, 1435, 1438, 1467, 1475,
430 1503, 1508, 1516, 1526, 1536, 1539, 1543, 1549, 1563, 1580,
431 1583, 1589, 1596, 1606, 1613, 1616, 1622, 1627, 1635, 1639,
432 1643, 1647, 1651, 1655, 1662, 1666, 1670, 1674, 1678, 1682,
433 1688, 1692, 1699, 1702, 1714, 1718, 1722, 1729, 1742, 1755,
434 1768, 1771, 1778, 1779, 1783, 1786, 1789, 1792, 1798, 1802,
435 1809, 1812, 1815, 1830, 1831, 1832, 1833, 1837, 1840, 1846,
436 1847, 1853, 1856, 1862, 1863, 1867, 1868, 1878, 1881, 1888,
437 1893, 1898, 1908, 1911, 1917, 1920, 1926, 1933, 1940, 1947,
438 1948, 1952, 1953, 1954, 1955, 1959, 1960, 1961, 1962, 1963,
439 1967, 1970, 1976, 1979, 1982, 1985, 1988, 1994, 1998, 2006,
440 2007, 2011, 2018, 2021, 2024, 2027, 2031, 2034, 2040, 2044,
441 2052, 2059, 2064, 2072, 2080, 2081, 2082, 2083, 2084, 2085,
442 2086, 2087, 2088, 2089, 2093, 2096, 2102, 2105, 2111, 2112,
443 2116, 2119, 2125, 2128, 2134, 2141, 2145, 2152, 2155, 2158,
444 2164, 2171, 2174, 2177, 2184, 2189, 2197, 2198, 2199, 2200,
445 2201, 2202, 2203, 2204, 2208, 2211, 2217, 2220, 2226, 2233,
446 2234, 2238, 2245, 2248, 2254, 2262, 2265, 2271
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 struct psi_decl_extvar *evar = 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 list = psi_plist_add(list, &evar);
5292 }
5293 }
5294 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5295 }
5296
5297 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->var->name)) {
5298 psi_decl_arg_free(&(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5299 } else {
5300 struct psi_decl_extvar *evar = psi_decl_extvar_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5301 list = psi_plist_add(list, &evar);
5302 }
5303
5304 (*(struct psi_plist **)(&(*yyvalp))) = list;
5305 }
5306 #line 5307 "src/parser_proc.c" /* glr.c:816 */
5307 break;
5308
5309 case 422:
5310 #line 1134 "src/parser_proc_grammar.y" /* glr.c:816 */
5311 {
5312 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5313 }
5314 #line 5315 "src/parser_proc.c" /* glr.c:816 */
5315 break;
5316
5317 case 423:
5318 #line 1137 "src/parser_proc_grammar.y" /* glr.c:816 */
5319 {
5320 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5321 }
5322 #line 5323 "src/parser_proc.c" /* glr.c:816 */
5323 break;
5324
5325 case 424:
5326 #line 1143 "src/parser_proc_grammar.y" /* glr.c:816 */
5327 {
5328 (*(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)));
5329 }
5330 #line 5331 "src/parser_proc.c" /* glr.c:816 */
5331 break;
5332
5333 case 425:
5334 #line 1146 "src/parser_proc_grammar.y" /* glr.c:816 */
5335 {
5336 (*(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)));
5337 }
5338 #line 5339 "src/parser_proc.c" /* glr.c:816 */
5339 break;
5340
5341 case 426:
5342 #line 1152 "src/parser_proc_grammar.y" /* glr.c:816 */
5343 {
5344 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5345 }
5346 #line 5347 "src/parser_proc.c" /* glr.c:816 */
5347 break;
5348
5349 case 427:
5350 #line 1155 "src/parser_proc_grammar.y" /* glr.c:816 */
5351 {
5352 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5353 }
5354 #line 5355 "src/parser_proc.c" /* glr.c:816 */
5355 break;
5356
5357 case 428:
5358 #line 1158 "src/parser_proc_grammar.y" /* glr.c:816 */
5359 {
5360 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5361 }
5362 #line 5363 "src/parser_proc.c" /* glr.c:816 */
5363 break;
5364
5365 case 429:
5366 #line 1161 "src/parser_proc_grammar.y" /* glr.c:816 */
5367 {
5368 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5369 }
5370 #line 5371 "src/parser_proc.c" /* glr.c:816 */
5371 break;
5372
5373 case 436:
5374 #line 1182 "src/parser_proc_grammar.y" /* glr.c:816 */
5375 {
5376 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5377 (*(struct psi_decl **)(&(*yyvalp)))->abi = psi_decl_abi_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
5378 }
5379 #line 5380 "src/parser_proc.c" /* glr.c:816 */
5380 break;
5381
5382 case 439:
5383 #line 1194 "src/parser_proc_grammar.y" /* glr.c:816 */
5384 {
5385 (*(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)));
5386 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5387 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5388 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5389 }
5390 }
5391 #line 5392 "src/parser_proc.c" /* glr.c:816 */
5392 break;
5393
5394 case 440:
5395 #line 1201 "src/parser_proc_grammar.y" /* glr.c:816 */
5396 {
5397 (*(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)));
5398 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5399 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5400 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5401 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5402 }
5403 }
5404 #line 5405 "src/parser_proc.c" /* glr.c:816 */
5405 break;
5406
5407 case 441:
5408 #line 1212 "src/parser_proc_grammar.y" /* glr.c:816 */
5409 {
5410 (*(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)));
5411 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5412 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5413 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5414 }
5415 }
5416 #line 5417 "src/parser_proc.c" /* glr.c:816 */
5417 break;
5418
5419 case 442:
5420 #line 1219 "src/parser_proc_grammar.y" /* glr.c:816 */
5421 {
5422 (*(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)));
5423 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5424 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5425 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5426 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5427 }
5428 }
5429 #line 5430 "src/parser_proc.c" /* glr.c:816 */
5430 break;
5431
5432 case 443:
5433 #line 1227 "src/parser_proc_grammar.y" /* glr.c:816 */
5434 {
5435 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval));
5436 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5437
5438 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))), 1, "rval");
5439 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));
5440 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5441
5442 rval_func->var->token = psi_token_copy(type_token);
5443 rval_func->token = psi_token_copy(type_token);
5444 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5445 rval_func->var->pointer_level += 1;
5446 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5447 }
5448
5449 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5450 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));
5451
5452 type->real.func = rval_decl;
5453 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5454 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5455
5456 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5457 }
5458 #line 5459 "src/parser_proc.c" /* glr.c:816 */
5459 break;
5460
5461 case 444:
5462 #line 1251 "src/parser_proc_grammar.y" /* glr.c:816 */
5463 {
5464 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-12)].yystate.yysemantics.yysval));
5465 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval));
5466 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5467
5468 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))), 1, "rval");
5469 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));
5470 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5471
5472 rval_func->var->token = psi_token_copy(type_token);
5473 rval_func->token = psi_token_copy(type_token);
5474 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5475 rval_func->var->pointer_level += 1;
5476 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5477 }
5478
5479 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5480 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));
5481
5482 type->real.func = rval_decl;
5483 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval)));
5484 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval)));
5485
5486 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5487 }
5488 #line 5489 "src/parser_proc.c" /* glr.c:816 */
5489 break;
5490
5491 case 445:
5492 #line 1279 "src/parser_proc_grammar.y" /* glr.c:816 */
5493 {
5494 (*(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)));
5495 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5496 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5497 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5498 }
5499 }
5500 #line 5501 "src/parser_proc.c" /* glr.c:816 */
5501 break;
5502
5503 case 446:
5504 #line 1286 "src/parser_proc_grammar.y" /* glr.c:816 */
5505 {
5506 (*(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)));
5507 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5508 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5509 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5510 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5511 }
5512 }
5513 #line 5514 "src/parser_proc.c" /* glr.c:816 */
5514 break;
5515
5516 case 447:
5517 #line 1297 "src/parser_proc_grammar.y" /* glr.c:816 */
5518 {
5519 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5520 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5521 (*(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));
5522 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5523 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5524 }
5525 #line 5526 "src/parser_proc.c" /* glr.c:816 */
5526 break;
5527
5528 case 448:
5529 #line 1343 "src/parser_proc_grammar.y" /* glr.c:816 */
5530 {
5531 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5532 (*(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));
5533 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5534 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5535 }
5536 #line 5537 "src/parser_proc.c" /* glr.c:816 */
5537 break;
5538
5539 case 450:
5540 #line 1399 "src/parser_proc_grammar.y" /* glr.c:816 */
5541 {
5542 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5543 }
5544 #line 5545 "src/parser_proc.c" /* glr.c:816 */
5545 break;
5546
5547 case 451:
5548 #line 1402 "src/parser_proc_grammar.y" /* glr.c:816 */
5549 {
5550 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5551 }
5552 #line 5553 "src/parser_proc.c" /* glr.c:816 */
5553 break;
5554
5555 case 452:
5556 #line 1405 "src/parser_proc_grammar.y" /* glr.c:816 */
5557 {
5558 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5559 }
5560 #line 5561 "src/parser_proc.c" /* glr.c:816 */
5561 break;
5562
5563 case 453:
5564 #line 1411 "src/parser_proc_grammar.y" /* glr.c:816 */
5565 {
5566 (*(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)));
5567 }
5568 #line 5569 "src/parser_proc.c" /* glr.c:816 */
5569 break;
5570
5571 case 454:
5572 #line 1414 "src/parser_proc_grammar.y" /* glr.c:816 */
5573 {
5574 (*(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)));
5575 }
5576 #line 5577 "src/parser_proc.c" /* glr.c:816 */
5577 break;
5578
5579 case 455:
5580 #line 1420 "src/parser_proc_grammar.y" /* glr.c:816 */
5581 {
5582 char digest[17];
5583 struct psi_token *name;
5584
5585 psi_token_hash((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func ->token, digest);
5586 name = psi_token_append("@", psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token), 2, "funct", digest);
5587
5588 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5589 psi_decl_type_init(PSI_T_FUNCTION, name->text),
5590 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5591 );
5592 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = name;
5593 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5594 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5595 }
5596 #line 5597 "src/parser_proc.c" /* glr.c:816 */
5597 break;
5598
5599 case 456:
5600 #line 1435 "src/parser_proc_grammar.y" /* glr.c:816 */
5601 {
5602 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5603 }
5604 #line 5605 "src/parser_proc.c" /* glr.c:816 */
5605 break;
5606
5607 case 457:
5608 #line 1438 "src/parser_proc_grammar.y" /* glr.c:816 */
5609 {
5610 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5611 (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)),
5612 psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0)
5613 );
5614 }
5615 #line 5616 "src/parser_proc.c" /* glr.c:816 */
5616 break;
5617
5618 case 458:
5619 #line 1467 "src/parser_proc_grammar.y" /* glr.c:816 */
5620 {
5621 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5622 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
5623 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5624 );
5625 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5626 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5627 }
5628 #line 5629 "src/parser_proc.c" /* glr.c:816 */
5629 break;
5630
5631 case 459:
5632 #line 1475 "src/parser_proc_grammar.y" /* glr.c:816 */
5633 {
5634 (*(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)));
5635 }
5636 #line 5637 "src/parser_proc.c" /* glr.c:816 */
5637 break;
5638
5639 case 460:
5640 #line 1503 "src/parser_proc_grammar.y" /* glr.c:816 */
5641 {
5642 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5643 (*(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)));
5644 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5645 }
5646 #line 5647 "src/parser_proc.c" /* glr.c:816 */
5647 break;
5648
5649 case 461:
5650 #line 1508 "src/parser_proc_grammar.y" /* glr.c:816 */
5651 {
5652 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5653 (*(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)));
5654 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5655 }
5656 #line 5657 "src/parser_proc.c" /* glr.c:816 */
5657 break;
5658
5659 case 462:
5660 #line 1516 "src/parser_proc_grammar.y" /* glr.c:816 */
5661 {
5662 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5663 (*(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)));
5664 (*(struct psi_decl_union **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5665 (*(struct psi_decl_union **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5666 (*(struct psi_decl_union **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5667 }
5668 #line 5669 "src/parser_proc.c" /* glr.c:816 */
5669 break;
5670
5671 case 463:
5672 #line 1526 "src/parser_proc_grammar.y" /* glr.c:816 */
5673 {
5674 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5675 (*(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)));
5676 (*(struct psi_decl_struct **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5677 (*(struct psi_decl_struct **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5678 (*(struct psi_decl_struct **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5679 }
5680 #line 5681 "src/parser_proc.c" /* glr.c:816 */
5681 break;
5682
5683 case 464:
5684 #line 1536 "src/parser_proc_grammar.y" /* glr.c:816 */
5685 {
5686 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5687 }
5688 #line 5689 "src/parser_proc.c" /* glr.c:816 */
5689 break;
5690
5691 case 466:
5692 #line 1543 "src/parser_proc_grammar.y" /* glr.c:816 */
5693 {
5694 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5695 }
5696 #line 5697 "src/parser_proc.c" /* glr.c:816 */
5697 break;
5698
5699 case 467:
5700 #line 1549 "src/parser_proc_grammar.y" /* glr.c:816 */
5701 {
5702 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5703 (*(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)));
5704 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5705 size_t i = 0;
5706 struct psi_decl_arg *arg;
5707
5708 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5709 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5710 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5711 }
5712 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5713 }
5714 }
5715 #line 5716 "src/parser_proc.c" /* glr.c:816 */
5716 break;
5717
5718 case 468:
5719 #line 1563 "src/parser_proc_grammar.y" /* glr.c:816 */
5720 {
5721 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5722 (*(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)));
5723 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5724 size_t i = 0;
5725 struct psi_decl_arg *arg;
5726
5727 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5728 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5729 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5730 }
5731 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5732 }
5733 }
5734 #line 5735 "src/parser_proc.c" /* glr.c:816 */
5735 break;
5736
5737 case 469:
5738 #line 1580 "src/parser_proc_grammar.y" /* glr.c:816 */
5739 {
5740 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5741 }
5742 #line 5743 "src/parser_proc.c" /* glr.c:816 */
5743 break;
5744
5745 case 470:
5746 #line 1583 "src/parser_proc_grammar.y" /* glr.c:816 */
5747 {
5748 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5749 }
5750 #line 5751 "src/parser_proc.c" /* glr.c:816 */
5751 break;
5752
5753 case 471:
5754 #line 1589 "src/parser_proc_grammar.y" /* glr.c:816 */
5755 {
5756 {
5757 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5758 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5759 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg);
5760 }
5761 }
5762 #line 5763 "src/parser_proc.c" /* glr.c:816 */
5763 break;
5764
5765 case 472:
5766 #line 1596 "src/parser_proc_grammar.y" /* glr.c:816 */
5767 {
5768 {
5769 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5770 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5771 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg);
5772 }
5773 }
5774 #line 5775 "src/parser_proc.c" /* glr.c:816 */
5775 break;
5776
5777 case 473:
5778 #line 1606 "src/parser_proc_grammar.y" /* glr.c:816 */
5779 {
5780 (*(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)));
5781 (*(struct psi_decl_enum **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval));
5782 }
5783 #line 5784 "src/parser_proc.c" /* glr.c:816 */
5784 break;
5785
5786 case 474:
5787 #line 1613 "src/parser_proc_grammar.y" /* glr.c:816 */
5788 {
5789 (*(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)));
5790 }
5791 #line 5792 "src/parser_proc.c" /* glr.c:816 */
5792 break;
5793
5794 case 475:
5795 #line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */
5796 {
5797 (*(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)));
5798 }
5799 #line 5800 "src/parser_proc.c" /* glr.c:816 */
5800 break;
5801
5802 case 476:
5803 #line 1622 "src/parser_proc_grammar.y" /* glr.c:816 */
5804 {
5805 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5806 (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, NULL);
5807 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5808 }
5809 #line 5810 "src/parser_proc.c" /* glr.c:816 */
5810 break;
5811
5812 case 477:
5813 #line 1627 "src/parser_proc_grammar.y" /* glr.c:816 */
5814 {
5815 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5816 (*(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)));
5817 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5818 }
5819 #line 5820 "src/parser_proc.c" /* glr.c:816 */
5820 break;
5821
5822 case 478:
5823 #line 1635 "src/parser_proc_grammar.y" /* glr.c:816 */
5824 {
5825 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5826 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5827 }
5828 #line 5829 "src/parser_proc.c" /* glr.c:816 */
5829 break;
5830
5831 case 479:
5832 #line 1639 "src/parser_proc_grammar.y" /* glr.c:816 */
5833 {
5834 (*(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)));
5835 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->token);
5836 }
5837 #line 5838 "src/parser_proc.c" /* glr.c:816 */
5838 break;
5839
5840 case 480:
5841 #line 1643 "src/parser_proc_grammar.y" /* glr.c:816 */
5842 {
5843 (*(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)));
5844 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5845 }
5846 #line 5847 "src/parser_proc.c" /* glr.c:816 */
5847 break;
5848
5849 case 481:
5850 #line 1647 "src/parser_proc_grammar.y" /* glr.c:816 */
5851 {
5852 (*(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)));
5853 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5854 }
5855 #line 5856 "src/parser_proc.c" /* glr.c:816 */
5856 break;
5857
5858 case 482:
5859 #line 1651 "src/parser_proc_grammar.y" /* glr.c:816 */
5860 {
5861 (*(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)));
5862 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5863 }
5864 #line 5865 "src/parser_proc.c" /* glr.c:816 */
5865 break;
5866
5867 case 483:
5868 #line 1655 "src/parser_proc_grammar.y" /* glr.c:816 */
5869 {
5870 (*(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)));
5871 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5872 }
5873 #line 5874 "src/parser_proc.c" /* glr.c:816 */
5874 break;
5875
5876 case 484:
5877 #line 1662 "src/parser_proc_grammar.y" /* glr.c:816 */
5878 {
5879 (*(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);
5880 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5881 }
5882 #line 5883 "src/parser_proc.c" /* glr.c:816 */
5883 break;
5884
5885 case 485:
5886 #line 1666 "src/parser_proc_grammar.y" /* glr.c:816 */
5887 {
5888 (*(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);
5889 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5890 }
5891 #line 5892 "src/parser_proc.c" /* glr.c:816 */
5892 break;
5893
5894 case 486:
5895 #line 1670 "src/parser_proc_grammar.y" /* glr.c:816 */
5896 {
5897 (*(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);
5898 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5899 }
5900 #line 5901 "src/parser_proc.c" /* glr.c:816 */
5901 break;
5902
5903 case 487:
5904 #line 1674 "src/parser_proc_grammar.y" /* glr.c:816 */
5905 {
5906 (*(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);
5907 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5908 }
5909 #line 5910 "src/parser_proc.c" /* glr.c:816 */
5910 break;
5911
5912 case 488:
5913 #line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */
5914 {
5915 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_NAME, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0);
5916 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5917 }
5918 #line 5919 "src/parser_proc.c" /* glr.c:816 */
5919 break;
5920
5921 case 489:
5922 #line 1682 "src/parser_proc_grammar.y" /* glr.c:816 */
5923 {
5924 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5925 }
5926 #line 5927 "src/parser_proc.c" /* glr.c:816 */
5927 break;
5928
5929 case 490:
5930 #line 1688 "src/parser_proc_grammar.y" /* glr.c:816 */
5931 {
5932 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5933 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5934 }
5935 #line 5936 "src/parser_proc.c" /* glr.c:816 */
5936 break;
5937
5938 case 491:
5939 #line 1692 "src/parser_proc_grammar.y" /* glr.c:816 */
5940 {
5941 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5942 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5943 }
5944 #line 5945 "src/parser_proc.c" /* glr.c:816 */
5945 break;
5946
5947 case 492:
5948 #line 1699 "src/parser_proc_grammar.y" /* glr.c:816 */
5949 {
5950 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5951 }
5952 #line 5953 "src/parser_proc.c" /* glr.c:816 */
5953 break;
5954
5955 case 493:
5956 #line 1702 "src/parser_proc_grammar.y" /* glr.c:816 */
5957 {
5958 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5959 int8_t sizeof_void_p = sizeof(void *);
5960 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5961 psi_decl_type_free(&(*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5962 } else {
5963 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_SIZEOF, (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), 0);
5964 }
5965 }
5966 #line 5967 "src/parser_proc.c" /* glr.c:816 */
5967 break;
5968
5969 case 494:
5970 #line 1714 "src/parser_proc_grammar.y" /* glr.c:816 */
5971 {
5972 int8_t sizeof_void_p = sizeof(void *);
5973 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5974 }
5975 #line 5976 "src/parser_proc.c" /* glr.c:816 */
5976 break;
5977
5978 case 495:
5979 #line 1718 "src/parser_proc_grammar.y" /* glr.c:816 */
5980 {
5981 int8_t sizeof_a = sizeof('a');
5982 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_a, 0);
5983 }
5984 #line 5985 "src/parser_proc.c" /* glr.c:816 */
5985 break;
5986
5987 case 496:
5988 #line 1722 "src/parser_proc_grammar.y" /* glr.c:816 */
5989 {
5990 uint64_t len = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size + 1;
5991 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_UINT64, &len, 0);
5992 }
5993 #line 5994 "src/parser_proc.c" /* glr.c:816 */
5994 break;
5995
5996 case 497:
5997 #line 1729 "src/parser_proc_grammar.y" /* glr.c:816 */
5998 {
5999 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6000 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6001 } else {
6002 char digest[17];
6003
6004 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6005 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6006 }
6007 }
6008 #line 6009 "src/parser_proc.c" /* glr.c:816 */
6009 break;
6010
6011 case 498:
6012 #line 1742 "src/parser_proc_grammar.y" /* glr.c:816 */
6013 {
6014 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6015 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6016 } else {
6017 char digest[17];
6018
6019 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6020 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6021 }
6022 }
6023 #line 6024 "src/parser_proc.c" /* glr.c:816 */
6024 break;
6025
6026 case 499:
6027 #line 1755 "src/parser_proc_grammar.y" /* glr.c:816 */
6028 {
6029 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6030 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6031 } else {
6032 char digest[17];
6033
6034 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6035 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6036 }
6037 }
6038 #line 6039 "src/parser_proc.c" /* glr.c:816 */
6039 break;
6040
6041 case 500:
6042 #line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */
6043 {
6044 (*(struct psi_token **)(&(*yyvalp))) = NULL;
6045 }
6046 #line 6047 "src/parser_proc.c" /* glr.c:816 */
6047 break;
6048
6049 case 501:
6050 #line 1771 "src/parser_proc_grammar.y" /* glr.c:816 */
6051 {
6052 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6053 (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME;
6054 }
6055 #line 6056 "src/parser_proc.c" /* glr.c:816 */
6056 break;
6057
6058 case 504:
6059 #line 1783 "src/parser_proc_grammar.y" /* glr.c:816 */
6060 {
6061 (*(struct psi_layout **)(&(*yyvalp))) = NULL;
6062 }
6063 #line 6064 "src/parser_proc.c" /* glr.c:816 */
6064 break;
6065
6066 case 505:
6067 #line 1786 "src/parser_proc_grammar.y" /* glr.c:816 */
6068 {
6069 (*(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));
6070 }
6071 #line 6072 "src/parser_proc.c" /* glr.c:816 */
6072 break;
6073
6074 case 506:
6075 #line 1789 "src/parser_proc_grammar.y" /* glr.c:816 */
6076 {
6077 (*(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);
6078 }
6079 #line 6080 "src/parser_proc.c" /* glr.c:816 */
6080 break;
6081
6082 case 507:
6083 #line 1792 "src/parser_proc_grammar.y" /* glr.c:816 */
6084 {
6085 (*(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));
6086 }
6087 #line 6088 "src/parser_proc.c" /* glr.c:816 */
6088 break;
6089
6090 case 508:
6091 #line 1798 "src/parser_proc_grammar.y" /* glr.c:816 */
6092 {
6093 (*(struct psi_layout*)(&(*yyvalp))).pos = 0;
6094 (*(struct psi_layout*)(&(*yyvalp))).len = 0;
6095 }
6096 #line 6097 "src/parser_proc.c" /* glr.c:816 */
6097 break;
6098
6099 case 509:
6100 #line 1802 "src/parser_proc_grammar.y" /* glr.c:816 */
6101 {
6102 (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text);
6103 (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
6104 }
6105 #line 6106 "src/parser_proc.c" /* glr.c:816 */
6106 break;
6107
6108 case 510:
6109 #line 1809 "src/parser_proc_grammar.y" /* glr.c:816 */
6110 {
6111 (*(size_t*)(&(*yyvalp))) = 0;
6112 }
6113 #line 6114 "src/parser_proc.c" /* glr.c:816 */
6114 break;
6115
6116 case 511:
6117 #line 1812 "src/parser_proc_grammar.y" /* glr.c:816 */
6118 {
6119 (*(size_t*)(&(*yyvalp))) = 0;
6120 }
6121 #line 6122 "src/parser_proc.c" /* glr.c:816 */
6122 break;
6123
6124 case 512:
6125 #line 1815 "src/parser_proc_grammar.y" /* glr.c:816 */
6126 {
6127 struct psi_validate_scope scope = {0};
6128 psi_validate_scope_ctor(&scope);
6129 scope.defs = &P->preproc->defs;
6130 if (psi_num_exp_validate(PSI_DATA(P), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &scope)) {
6131 (*(size_t*)(&(*yyvalp))) = psi_num_exp_get_long((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), NULL, &P->preproc->defs);
6132 } else {
6133 (*(size_t*)(&(*yyvalp))) = 0;
6134 }
6135 psi_num_exp_free(&(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6136 psi_validate_scope_dtor(&scope);
6137 }
6138 #line 6139 "src/parser_proc.c" /* glr.c:816 */
6139 break;
6140
6141 case 517:
6142 #line 1837 "src/parser_proc_grammar.y" /* glr.c:816 */
6143 {
6144 (*(size_t*)(&(*yyvalp))) = 0;
6145 }
6146 #line 6147 "src/parser_proc.c" /* glr.c:816 */
6147 break;
6148
6149 case 518:
6150 #line 1840 "src/parser_proc_grammar.y" /* glr.c:816 */
6151 {
6152 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6153 }
6154 #line 6155 "src/parser_proc.c" /* glr.c:816 */
6155 break;
6156
6157 case 520:
6158 #line 1847 "src/parser_proc_grammar.y" /* glr.c:816 */
6159 {
6160 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6161 }
6162 #line 6163 "src/parser_proc.c" /* glr.c:816 */
6163 break;
6164
6165 case 521:
6166 #line 1853 "src/parser_proc_grammar.y" /* glr.c:816 */
6167 {
6168 (*(size_t*)(&(*yyvalp))) = 1;
6169 }
6170 #line 6171 "src/parser_proc.c" /* glr.c:816 */
6171 break;
6172
6173 case 522:
6174 #line 1856 "src/parser_proc_grammar.y" /* glr.c:816 */
6175 {
6176 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1;
6177 }
6178 #line 6179 "src/parser_proc.c" /* glr.c:816 */
6179 break;
6180
6181 case 527:
6182 #line 1878 "src/parser_proc_grammar.y" /* glr.c:816 */
6183 {
6184 (*(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)));
6185 }
6186 #line 6187 "src/parser_proc.c" /* glr.c:816 */
6187 break;
6188
6189 case 528:
6190 #line 1881 "src/parser_proc_grammar.y" /* glr.c:816 */
6191 {
6192 (*(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)));
6193 (*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->static_memory = 1;
6194 }
6195 #line 6196 "src/parser_proc.c" /* glr.c:816 */
6196 break;
6197
6198 case 529:
6199 #line 1888 "src/parser_proc_grammar.y" /* glr.c:816 */
6200 {
6201 (*(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)));
6202 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6203 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval));
6204 }
6205 #line 6206 "src/parser_proc.c" /* glr.c:816 */
6206 break;
6207
6208 case 530:
6209 #line 1893 "src/parser_proc_grammar.y" /* glr.c:816 */
6210 {
6211 (*(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)));
6212 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6213 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval));
6214 }
6215 #line 6216 "src/parser_proc.c" /* glr.c:816 */
6216 break;
6217
6218 case 531:
6219 #line 1898 "src/parser_proc_grammar.y" /* glr.c:816 */
6220 {
6221 (*(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)));
6222 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval)));
6223 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval));
6224 (*(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);
6225 (*(struct psi_impl_func **)(&(*yyvalp)))->vararg->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6226 }
6227 #line 6228 "src/parser_proc.c" /* glr.c:816 */
6228 break;
6229
6230 case 532:
6231 #line 1908 "src/parser_proc_grammar.y" /* glr.c:816 */
6232 {
6233 (*(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)));
6234 }
6235 #line 6236 "src/parser_proc.c" /* glr.c:816 */
6236 break;
6237
6238 case 533:
6239 #line 1911 "src/parser_proc_grammar.y" /* glr.c:816 */
6240 {
6241 (*(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)));
6242 }
6243 #line 6244 "src/parser_proc.c" /* glr.c:816 */
6244 break;
6245
6246 case 534:
6247 #line 1917 "src/parser_proc_grammar.y" /* glr.c:816 */
6248 {
6249 (*(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);
6250 }
6251 #line 6252 "src/parser_proc.c" /* glr.c:816 */
6252 break;
6253
6254 case 535:
6255 #line 1920 "src/parser_proc_grammar.y" /* glr.c:816 */
6256 {
6257 (*(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)));
6258 }
6259 #line 6260 "src/parser_proc.c" /* glr.c:816 */
6260 break;
6261
6262 case 536:
6263 #line 1926 "src/parser_proc_grammar.y" /* glr.c:816 */
6264 {
6265 (*(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)));
6266 (*(struct psi_impl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6267 }
6268 #line 6269 "src/parser_proc.c" /* glr.c:816 */
6269 break;
6270
6271 case 537:
6272 #line 1933 "src/parser_proc_grammar.y" /* glr.c:816 */
6273 {
6274 (*(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);
6275 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6276 }
6277 #line 6278 "src/parser_proc.c" /* glr.c:816 */
6278 break;
6279
6280 case 538:
6281 #line 1940 "src/parser_proc_grammar.y" /* glr.c:816 */
6282 {
6283 (*(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);
6284 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6285 }
6286 #line 6287 "src/parser_proc.c" /* glr.c:816 */
6287 break;
6288
6289 case 550:
6290 #line 1967 "src/parser_proc_grammar.y" /* glr.c:816 */
6291 {
6292 (*(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)));
6293 }
6294 #line 6295 "src/parser_proc.c" /* glr.c:816 */
6295 break;
6296
6297 case 551:
6298 #line 1970 "src/parser_proc_grammar.y" /* glr.c:816 */
6299 {
6300 (*(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)));
6301 }
6302 #line 6303 "src/parser_proc.c" /* glr.c:816 */
6303 break;
6304
6305 case 552:
6306 #line 1976 "src/parser_proc_grammar.y" /* glr.c:816 */
6307 {
6308 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6309 }
6310 #line 6311 "src/parser_proc.c" /* glr.c:816 */
6311 break;
6312
6313 case 553:
6314 #line 1979 "src/parser_proc_grammar.y" /* glr.c:816 */
6315 {
6316 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6317 }
6318 #line 6319 "src/parser_proc.c" /* glr.c:816 */
6319 break;
6320
6321 case 554:
6322 #line 1982 "src/parser_proc_grammar.y" /* glr.c:816 */
6323 {
6324 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6325 }
6326 #line 6327 "src/parser_proc.c" /* glr.c:816 */
6327 break;
6328
6329 case 555:
6330 #line 1985 "src/parser_proc_grammar.y" /* glr.c:816 */
6331 {
6332 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6333 }
6334 #line 6335 "src/parser_proc.c" /* glr.c:816 */
6335 break;
6336
6337 case 556:
6338 #line 1988 "src/parser_proc_grammar.y" /* glr.c:816 */
6339 {
6340 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6341 }
6342 #line 6343 "src/parser_proc.c" /* glr.c:816 */
6343 break;
6344
6345 case 557:
6346 #line 1994 "src/parser_proc_grammar.y" /* glr.c:816 */
6347 {
6348 (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init((*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6349 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6350 }
6351 #line 6352 "src/parser_proc.c" /* glr.c:816 */
6352 break;
6353
6354 case 558:
6355 #line 1998 "src/parser_proc_grammar.y" /* glr.c:816 */
6356 {
6357 (*(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))));
6358 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6359 (*(struct psi_let_stmt **)(&(*yyvalp)))->exp->is_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6360 }
6361 #line 6362 "src/parser_proc.c" /* glr.c:816 */
6362 break;
6363
6364 case 560:
6365 #line 2007 "src/parser_proc_grammar.y" /* glr.c:816 */
6366 {
6367 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6368 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = true;
6369 }
6370 #line 6371 "src/parser_proc.c" /* glr.c:816 */
6371 break;
6372
6373 case 561:
6374 #line 2011 "src/parser_proc_grammar.y" /* glr.c:816 */
6375 {
6376 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6377 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = false;
6378 }
6379 #line 6380 "src/parser_proc.c" /* glr.c:816 */
6380 break;
6381
6382 case 562:
6383 #line 2018 "src/parser_proc_grammar.y" /* glr.c:816 */
6384 {
6385 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL);
6386 }
6387 #line 6388 "src/parser_proc.c" /* glr.c:816 */
6388 break;
6389
6390 case 563:
6391 #line 2021 "src/parser_proc_grammar.y" /* glr.c:816 */
6392 {
6393 (*(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)));
6394 }
6395 #line 6396 "src/parser_proc.c" /* glr.c:816 */
6396 break;
6397
6398 case 564:
6399 #line 2024 "src/parser_proc_grammar.y" /* glr.c:816 */
6400 {
6401 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6402 }
6403 #line 6404 "src/parser_proc.c" /* glr.c:816 */
6404 break;
6405
6406 case 565:
6407 #line 2027 "src/parser_proc_grammar.y" /* glr.c:816 */
6408 {
6409 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6410 (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->static_memory = 1;
6411 }
6412 #line 6413 "src/parser_proc.c" /* glr.c:816 */
6413 break;
6414
6415 case 566:
6416 #line 2031 "src/parser_proc_grammar.y" /* glr.c:816 */
6417 {
6418 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLBACK, (*(struct psi_let_callback **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6419 }
6420 #line 6421 "src/parser_proc.c" /* glr.c:816 */
6421 break;
6422
6423 case 567:
6424 #line 2034 "src/parser_proc_grammar.y" /* glr.c:816 */
6425 {
6426 (*(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)));
6427 }
6428 #line 6429 "src/parser_proc.c" /* glr.c:816 */
6429 break;
6430
6431 case 568:
6432 #line 2040 "src/parser_proc_grammar.y" /* glr.c:816 */
6433 {
6434 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6435 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6436 }
6437 #line 6438 "src/parser_proc.c" /* glr.c:816 */
6438 break;
6439
6440 case 569:
6441 #line 2044 "src/parser_proc_grammar.y" /* glr.c:816 */
6442 {
6443 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6444 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = 1;
6445 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
6446 }
6447 #line 6448 "src/parser_proc.c" /* glr.c:816 */
6448 break;
6449
6450 case 570:
6451 #line 2052 "src/parser_proc_grammar.y" /* glr.c:816 */
6452 {
6453 (*(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)));
6454 (*(struct psi_let_calloc **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6455 }
6456 #line 6457 "src/parser_proc.c" /* glr.c:816 */
6457 break;
6458
6459 case 571:
6460 #line 2059 "src/parser_proc_grammar.y" /* glr.c:816 */
6461 {
6462 (*(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);
6463 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6464 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval)));
6465 }
6466 #line 6467 "src/parser_proc.c" /* glr.c:816 */
6467 break;
6468
6469 case 572:
6470 #line 2064 "src/parser_proc_grammar.y" /* glr.c:816 */
6471 {
6472 (*(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)));
6473 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6474 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval)));
6475 }
6476 #line 6477 "src/parser_proc.c" /* glr.c:816 */
6477 break;
6478
6479 case 573:
6480 #line 2072 "src/parser_proc_grammar.y" /* glr.c:816 */
6481 {
6482 (*(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)));
6483 (*(struct psi_let_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6484 (*(struct psi_let_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6485 }
6486 #line 6487 "src/parser_proc.c" /* glr.c:816 */
6487 break;
6488
6489 case 584:
6490 #line 2093 "src/parser_proc_grammar.y" /* glr.c:816 */
6491 {
6492 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6493 }
6494 #line 6495 "src/parser_proc.c" /* glr.c:816 */
6495 break;
6496
6497 case 585:
6498 #line 2096 "src/parser_proc_grammar.y" /* glr.c:816 */
6499 {
6500 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6501 }
6502 #line 6503 "src/parser_proc.c" /* glr.c:816 */
6503 break;
6504
6505 case 586:
6506 #line 2102 "src/parser_proc_grammar.y" /* glr.c:816 */
6507 {
6508 (*(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)));
6509 }
6510 #line 6511 "src/parser_proc.c" /* glr.c:816 */
6511 break;
6512
6513 case 587:
6514 #line 2105 "src/parser_proc_grammar.y" /* glr.c:816 */
6515 {
6516 (*(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)));
6517 }
6518 #line 6519 "src/parser_proc.c" /* glr.c:816 */
6519 break;
6520
6521 case 590:
6522 #line 2116 "src/parser_proc_grammar.y" /* glr.c:816 */
6523 {
6524 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6525 }
6526 #line 6527 "src/parser_proc.c" /* glr.c:816 */
6527 break;
6528
6529 case 591:
6530 #line 2119 "src/parser_proc_grammar.y" /* glr.c:816 */
6531 {
6532 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6533 }
6534 #line 6535 "src/parser_proc.c" /* glr.c:816 */
6535 break;
6536
6537 case 592:
6538 #line 2125 "src/parser_proc_grammar.y" /* glr.c:816 */
6539 {
6540 (*(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)));
6541 }
6542 #line 6543 "src/parser_proc.c" /* glr.c:816 */
6543 break;
6544
6545 case 593:
6546 #line 2128 "src/parser_proc_grammar.y" /* glr.c:816 */
6547 {
6548 (*(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)));
6549 }
6550 #line 6551 "src/parser_proc.c" /* glr.c:816 */
6551 break;
6552
6553 case 594:
6554 #line 2134 "src/parser_proc_grammar.y" /* glr.c:816 */
6555 {
6556 (*(struct psi_return_stmt **)(&(*yyvalp))) = psi_return_stmt_init((*(struct psi_return_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6557 (*(struct psi_return_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6558 }
6559 #line 6560 "src/parser_proc.c" /* glr.c:816 */
6560 break;
6561
6562 case 595:
6563 #line 2141 "src/parser_proc_grammar.y" /* glr.c:816 */
6564 {
6565 (*(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))));
6566 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->token);
6567 }
6568 #line 6569 "src/parser_proc.c" /* glr.c:816 */
6569 break;
6570
6571 case 596:
6572 #line 2145 "src/parser_proc_grammar.y" /* glr.c:816 */
6573 {
6574 (*(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))));
6575 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
6576 }
6577 #line 6578 "src/parser_proc.c" /* glr.c:816 */
6578 break;
6579
6580 case 597:
6581 #line 2152 "src/parser_proc_grammar.y" /* glr.c:816 */
6582 {
6583 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6584 }
6585 #line 6586 "src/parser_proc.c" /* glr.c:816 */
6586 break;
6587
6588 case 598:
6589 #line 2155 "src/parser_proc_grammar.y" /* glr.c:816 */
6590 {
6591 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6592 }
6593 #line 6594 "src/parser_proc.c" /* glr.c:816 */
6594 break;
6595
6596 case 599:
6597 #line 2158 "src/parser_proc_grammar.y" /* glr.c:816 */
6598 {
6599 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6600 }
6601 #line 6602 "src/parser_proc.c" /* glr.c:816 */
6602 break;
6603
6604 case 600:
6605 #line 2164 "src/parser_proc_grammar.y" /* glr.c:816 */
6606 {
6607 (*(struct psi_set_stmt **)(&(*yyvalp))) = psi_set_stmt_init((*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6608 (*(struct psi_set_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6609 }
6610 #line 6611 "src/parser_proc.c" /* glr.c:816 */
6611 break;
6612
6613 case 601:
6614 #line 2171 "src/parser_proc_grammar.y" /* glr.c:816 */
6615 {
6616 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6617 }
6618 #line 6619 "src/parser_proc.c" /* glr.c:816 */
6619 break;
6620
6621 case 602:
6622 #line 2174 "src/parser_proc_grammar.y" /* glr.c:816 */
6623 {
6624 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6625 }
6626 #line 6627 "src/parser_proc.c" /* glr.c:816 */
6627 break;
6628
6629 case 603:
6630 #line 2177 "src/parser_proc_grammar.y" /* glr.c:816 */
6631 {
6632 (*(struct psi_set_exp **)(&(*yyvalp))) = (*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6633 (*(struct psi_set_exp **)(&(*yyvalp)))->var = (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6634 }
6635 #line 6636 "src/parser_proc.c" /* glr.c:816 */
6636 break;
6637
6638 case 604:
6639 #line 2184 "src/parser_proc_grammar.y" /* glr.c:816 */
6640 {
6641 (*(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)));
6642 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6643 (*(struct psi_set_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6644 }
6645 #line 6646 "src/parser_proc.c" /* glr.c:816 */
6646 break;
6647
6648 case 605:
6649 #line 2189 "src/parser_proc_grammar.y" /* glr.c:816 */
6650 {
6651 (*(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)));
6652 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6653 (*(struct psi_set_func **)(&(*yyvalp)))->recursive = 1;
6654 }
6655 #line 6656 "src/parser_proc.c" /* glr.c:816 */
6656 break;
6657
6658 case 614:
6659 #line 2208 "src/parser_proc_grammar.y" /* glr.c:816 */
6660 {
6661 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6662 }
6663 #line 6664 "src/parser_proc.c" /* glr.c:816 */
6664 break;
6665
6666 case 615:
6667 #line 2211 "src/parser_proc_grammar.y" /* glr.c:816 */
6668 {
6669 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6670 }
6671 #line 6672 "src/parser_proc.c" /* glr.c:816 */
6672 break;
6673
6674 case 616:
6675 #line 2217 "src/parser_proc_grammar.y" /* glr.c:816 */
6676 {
6677 (*(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)));
6678 }
6679 #line 6680 "src/parser_proc.c" /* glr.c:816 */
6680 break;
6681
6682 case 617:
6683 #line 2220 "src/parser_proc_grammar.y" /* glr.c:816 */
6684 {
6685 (*(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)));
6686 }
6687 #line 6688 "src/parser_proc.c" /* glr.c:816 */
6688 break;
6689
6690 case 618:
6691 #line 2226 "src/parser_proc_grammar.y" /* glr.c:816 */
6692 {
6693 (*(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)));
6694 (*(struct psi_assert_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6695 }
6696 #line 6697 "src/parser_proc.c" /* glr.c:816 */
6697 break;
6698
6699 case 621:
6700 #line 2238 "src/parser_proc_grammar.y" /* glr.c:816 */
6701 {
6702 (*(struct psi_free_stmt **)(&(*yyvalp))) = psi_free_stmt_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6703 (*(struct psi_free_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6704 }
6705 #line 6706 "src/parser_proc.c" /* glr.c:816 */
6706 break;
6707
6708 case 622:
6709 #line 2245 "src/parser_proc_grammar.y" /* glr.c:816 */
6710 {
6711 (*(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)));
6712 }
6713 #line 6714 "src/parser_proc.c" /* glr.c:816 */
6714 break;
6715
6716 case 623:
6717 #line 2248 "src/parser_proc_grammar.y" /* glr.c:816 */
6718 {
6719 (*(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)));
6720 }
6721 #line 6722 "src/parser_proc.c" /* glr.c:816 */
6722 break;
6723
6724 case 624:
6725 #line 2254 "src/parser_proc_grammar.y" /* glr.c:816 */
6726 {
6727 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
6728 (*(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)));
6729 (*(struct psi_free_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6730 }
6731 #line 6732 "src/parser_proc.c" /* glr.c:816 */
6732 break;
6733
6734 case 625:
6735 #line 2262 "src/parser_proc_grammar.y" /* glr.c:816 */
6736 {
6737 (*(bool*)(&(*yyvalp))) = false;
6738 }
6739 #line 6740 "src/parser_proc.c" /* glr.c:816 */
6740 break;
6741
6742 case 626:
6743 #line 2265 "src/parser_proc_grammar.y" /* glr.c:816 */
6744 {
6745 (*(bool*)(&(*yyvalp))) = true;
6746 }
6747 #line 6748 "src/parser_proc.c" /* glr.c:816 */
6748 break;
6749
6750
6751 #line 6752 "src/parser_proc.c" /* glr.c:816 */
6752 default: break;
6753 }
6754
6755 return yyok;
6756 # undef yyerrok
6757 # undef YYABORT
6758 # undef YYACCEPT
6759 # undef YYERROR
6760 # undef YYBACKUP
6761 # undef yyclearin
6762 # undef YYRECOVERING
6763 }
6764
6765
6766 static void
6767 yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
6768 {
6769 YYUSE (yy0);
6770 YYUSE (yy1);
6771
6772 switch (yyn)
6773 {
6774
6775 default: break;
6776 }
6777 }
6778
6779 /* Bison grammar-table manipulation. */
6780
6781 /*-----------------------------------------------.
6782 | Release the memory associated to this symbol. |
6783 `-----------------------------------------------*/
6784
6785 static void
6786 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
6787 {
6788 YYUSE (yyvaluep);
6789 YYUSE (P);
6790 YYUSE (tokens);
6791 YYUSE (index);
6792 if (!yymsg)
6793 yymsg = "Deleting";
6794 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
6795
6796 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6797 switch (yytype)
6798 {
6799 case 141: /* binary_op_token */
6800 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6801 {}
6802 #line 6803 "src/parser_proc.c" /* glr.c:846 */
6803 break;
6804
6805 case 142: /* unary_op_token */
6806 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6807 {}
6808 #line 6809 "src/parser_proc.c" /* glr.c:846 */
6809 break;
6810
6811 case 143: /* name_token */
6812 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6813 {}
6814 #line 6815 "src/parser_proc.c" /* glr.c:846 */
6815 break;
6816
6817 case 144: /* any_noeol_token */
6818 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6819 {}
6820 #line 6821 "src/parser_proc.c" /* glr.c:846 */
6821 break;
6822
6823 case 149: /* lib */
6824 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
6825 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6826 #line 6827 "src/parser_proc.c" /* glr.c:846 */
6827 break;
6828
6829 case 150: /* cpp */
6830 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6831 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6832 #line 6833 "src/parser_proc.c" /* glr.c:846 */
6833 break;
6834
6835 case 151: /* cpp_exp */
6836 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6837 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6838 #line 6839 "src/parser_proc.c" /* glr.c:846 */
6839 break;
6840
6841 case 153: /* cpp_message_token */
6842 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6843 {}
6844 #line 6845 "src/parser_proc.c" /* glr.c:846 */
6845 break;
6846
6847 case 154: /* cpp_include_token */
6848 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6849 {}
6850 #line 6851 "src/parser_proc.c" /* glr.c:846 */
6851 break;
6852
6853 case 155: /* cpp_header_token */
6854 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6855 {}
6856 #line 6857 "src/parser_proc.c" /* glr.c:846 */
6857 break;
6858
6859 case 156: /* cpp_no_arg_token */
6860 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6861 {}
6862 #line 6863 "src/parser_proc.c" /* glr.c:846 */
6863 break;
6864
6865 case 157: /* cpp_name_arg_token */
6866 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6867 {}
6868 #line 6869 "src/parser_proc.c" /* glr.c:846 */
6869 break;
6870
6871 case 158: /* cpp_exp_arg_token */
6872 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6873 {}
6874 #line 6875 "src/parser_proc.c" /* glr.c:846 */
6875 break;
6876
6877 case 159: /* cpp_macro_decl */
6878 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
6879 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));}
6880 #line 6881 "src/parser_proc.c" /* glr.c:846 */
6881 break;
6882
6883 case 160: /* cpp_macro_sig */
6884 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6885 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6886 #line 6887 "src/parser_proc.c" /* glr.c:846 */
6887 break;
6888
6889 case 161: /* cpp_macro_sig_args */
6890 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6891 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6892 #line 6893 "src/parser_proc.c" /* glr.c:846 */
6893 break;
6894
6895 case 162: /* cpp_macro_decl_tokens */
6896 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6897 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6898 #line 6899 "src/parser_proc.c" /* glr.c:846 */
6899 break;
6900
6901 case 163: /* cpp_macro_decl_token_list */
6902 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6903 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6904 #line 6905 "src/parser_proc.c" /* glr.c:846 */
6905 break;
6906
6907 case 164: /* cpp_macro_exp */
6908 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
6909 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
6910 #line 6911 "src/parser_proc.c" /* glr.c:846 */
6911 break;
6912
6913 case 165: /* cpp_macro_call_args */
6914 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6915 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6916 #line 6917 "src/parser_proc.c" /* glr.c:846 */
6917 break;
6918
6919 case 166: /* cpp_macro_call_arg_list */
6920 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6921 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6922 #line 6923 "src/parser_proc.c" /* glr.c:846 */
6923 break;
6924
6925 case 167: /* constant */
6926 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
6927 {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));}
6928 #line 6929 "src/parser_proc.c" /* glr.c:846 */
6929 break;
6930
6931 case 168: /* impl_def_val */
6932 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
6933 {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));}
6934 #line 6935 "src/parser_proc.c" /* glr.c:846 */
6935 break;
6936
6937 case 169: /* impl_def_val_token */
6938 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
6939 {}
6940 #line 6941 "src/parser_proc.c" /* glr.c:846 */
6941 break;
6942
6943 case 170: /* decl_typedef */
6944 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6945 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6946 #line 6947 "src/parser_proc.c" /* glr.c:846 */
6947 break;
6948
6949 case 171: /* typedef */
6950 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6951 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6952 #line 6953 "src/parser_proc.c" /* glr.c:846 */
6953 break;
6954
6955 case 172: /* typedef_anon */
6956 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6957 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6958 #line 6959 "src/parser_proc.c" /* glr.c:846 */
6959 break;
6960
6961 case 173: /* typedef_decl */
6962 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6963 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6964 #line 6965 "src/parser_proc.c" /* glr.c:846 */
6965 break;
6966
6967 case 174: /* typedef_anon_decl */
6968 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6969 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6970 #line 6971 "src/parser_proc.c" /* glr.c:846 */
6971 break;
6972
6973 case 175: /* qualified_decl_type */
6974 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6975 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6976 #line 6977 "src/parser_proc.c" /* glr.c:846 */
6977 break;
6978
6979 case 177: /* decl_type */
6980 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6981 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6982 #line 6983 "src/parser_proc.c" /* glr.c:846 */
6983 break;
6984
6985 case 178: /* decl_type_complex */
6986 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6987 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6988 #line 6989 "src/parser_proc.c" /* glr.c:846 */
6989 break;
6990
6991 case 179: /* decl_type_simple */
6992 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6993 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6994 #line 6995 "src/parser_proc.c" /* glr.c:846 */
6995 break;
6996
6997 case 180: /* decl_real_type */
6998 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6999 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7000 #line 7001 "src/parser_proc.c" /* glr.c:846 */
7001 break;
7002
7003 case 181: /* int_signed */
7004 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7005 {}
7006 #line 7007 "src/parser_proc.c" /* glr.c:846 */
7007 break;
7008
7009 case 182: /* int_width */
7010 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7011 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7012 #line 7013 "src/parser_proc.c" /* glr.c:846 */
7013 break;
7014
7015 case 183: /* decl_int_type */
7016 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
7017 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7018 #line 7019 "src/parser_proc.c" /* glr.c:846 */
7019 break;
7020
7021 case 184: /* int_signed_types */
7022 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7023 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7024 #line 7025 "src/parser_proc.c" /* glr.c:846 */
7025 break;
7026
7027 case 185: /* signed_short_types */
7028 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7029 {}
7030 #line 7031 "src/parser_proc.c" /* glr.c:846 */
7031 break;
7032
7033 case 186: /* signed_long_types */
7034 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7035 {}
7036 #line 7037 "src/parser_proc.c" /* glr.c:846 */
7037 break;
7038
7039 case 187: /* int_width_types */
7040 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7041 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7042 #line 7043 "src/parser_proc.c" /* glr.c:846 */
7043 break;
7044
7045 case 188: /* decl_stmt */
7046 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7047 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7048 #line 7049 "src/parser_proc.c" /* glr.c:846 */
7049 break;
7050
7051 case 189: /* decl_asm */
7052 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
7053 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7054 #line 7055 "src/parser_proc.c" /* glr.c:846 */
7055 break;
7056
7057 case 190: /* quoted_strings */
7058 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
7059 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7060 #line 7061 "src/parser_proc.c" /* glr.c:846 */
7061 break;
7062
7063 case 191: /* decl_extvar_stmt */
7064 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7065 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7066 #line 7067 "src/parser_proc.c" /* glr.c:846 */
7067 break;
7068
7069 case 192: /* decl_extvar_list */
7070 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7071 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7072 #line 7073 "src/parser_proc.c" /* glr.c:846 */
7073 break;
7074
7075 case 193: /* decl_vars */
7076 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7077 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7078 #line 7079 "src/parser_proc.c" /* glr.c:846 */
7079 break;
7080
7081 case 194: /* ignored_decl */
7082 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7083 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7084 #line 7085 "src/parser_proc.c" /* glr.c:846 */
7085 break;
7086
7087 case 198: /* decl */
7088 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7089 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7090 #line 7091 "src/parser_proc.c" /* glr.c:846 */
7091 break;
7092
7093 case 199: /* decl_body */
7094 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7095 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7096 #line 7097 "src/parser_proc.c" /* glr.c:846 */
7097 break;
7098
7099 case 200: /* decl_func_body */
7100 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7101 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7102 #line 7103 "src/parser_proc.c" /* glr.c:846 */
7103 break;
7104
7105 case 201: /* decl_functor_body */
7106 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7107 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7108 #line 7109 "src/parser_proc.c" /* glr.c:846 */
7109 break;
7110
7111 case 202: /* decl_anon_functor_body */
7112 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7113 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7114 #line 7115 "src/parser_proc.c" /* glr.c:846 */
7115 break;
7116
7117 case 203: /* decl_functor */
7118 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7119 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7120 #line 7121 "src/parser_proc.c" /* glr.c:846 */
7121 break;
7122
7123 case 204: /* decl_anon_functor */
7124 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7125 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7126 #line 7127 "src/parser_proc.c" /* glr.c:846 */
7127 break;
7128
7129 case 205: /* decl_func */
7130 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7131 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7132 #line 7133 "src/parser_proc.c" /* glr.c:846 */
7133 break;
7134
7135 case 206: /* decl_args */
7136 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7137 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7138 #line 7139 "src/parser_proc.c" /* glr.c:846 */
7139 break;
7140
7141 case 207: /* decl_arg_list */
7142 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7143 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7144 #line 7145 "src/parser_proc.c" /* glr.c:846 */
7145 break;
7146
7147 case 208: /* decl_anon_arg */
7148 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7149 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7150 #line 7151 "src/parser_proc.c" /* glr.c:846 */
7151 break;
7152
7153 case 209: /* decl_arg */
7154 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7155 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7156 #line 7157 "src/parser_proc.c" /* glr.c:846 */
7157 break;
7158
7159 case 210: /* decl_var */
7160 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
7161 {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));}
7162 #line 7163 "src/parser_proc.c" /* glr.c:846 */
7163 break;
7164
7165 case 211: /* decl_union */
7166 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
7167 {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));}
7168 #line 7169 "src/parser_proc.c" /* glr.c:846 */
7169 break;
7170
7171 case 212: /* decl_struct */
7172 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
7173 {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));}
7174 #line 7175 "src/parser_proc.c" /* glr.c:846 */
7175 break;
7176
7177 case 213: /* decl_struct_args */
7178 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7179 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7180 #line 7181 "src/parser_proc.c" /* glr.c:846 */
7181 break;
7182
7183 case 214: /* struct_args_block */
7184 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7185 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7186 #line 7187 "src/parser_proc.c" /* glr.c:846 */
7187 break;
7188
7189 case 215: /* struct_args */
7190 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7191 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7192 #line 7193 "src/parser_proc.c" /* glr.c:846 */
7193 break;
7194
7195 case 216: /* struct_arg_var_list */
7196 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7197 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7198 #line 7199 "src/parser_proc.c" /* glr.c:846 */
7199 break;
7200
7201 case 217: /* decl_vars_with_layout */
7202 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7203 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7204 #line 7205 "src/parser_proc.c" /* glr.c:846 */
7205 break;
7206
7207 case 218: /* decl_enum */
7208 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
7209 {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));}
7210 #line 7211 "src/parser_proc.c" /* glr.c:846 */
7211 break;
7212
7213 case 219: /* decl_enum_items */
7214 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7215 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7216 #line 7217 "src/parser_proc.c" /* glr.c:846 */
7217 break;
7218
7219 case 220: /* decl_enum_item */
7220 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
7221 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));}
7222 #line 7223 "src/parser_proc.c" /* glr.c:846 */
7223 break;
7224
7225 case 221: /* num_exp */
7226 #line 419 "src/parser_proc_grammar.y" /* glr.c:846 */
7227 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
7228 #line 7229 "src/parser_proc.c" /* glr.c:846 */
7229 break;
7230
7231 case 222: /* number */
7232 #line 421 "src/parser_proc_grammar.y" /* glr.c:846 */
7233 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7234 #line 7235 "src/parser_proc.c" /* glr.c:846 */
7235 break;
7236
7237 case 223: /* sizeof */
7238 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7239 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7240 #line 7241 "src/parser_proc.c" /* glr.c:846 */
7241 break;
7242
7243 case 224: /* sizeof_body */
7244 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7245 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7246 #line 7247 "src/parser_proc.c" /* glr.c:846 */
7247 break;
7248
7249 case 225: /* sizeof_body_notypes */
7250 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7251 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7252 #line 7253 "src/parser_proc.c" /* glr.c:846 */
7253 break;
7254
7255 case 226: /* enum_name */
7256 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7257 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7258 #line 7259 "src/parser_proc.c" /* glr.c:846 */
7259 break;
7260
7261 case 227: /* union_name */
7262 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7263 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7264 #line 7265 "src/parser_proc.c" /* glr.c:846 */
7265 break;
7266
7267 case 228: /* struct_name */
7268 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7269 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7270 #line 7271 "src/parser_proc.c" /* glr.c:846 */
7271 break;
7272
7273 case 229: /* optional_name */
7274 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7275 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7276 #line 7277 "src/parser_proc.c" /* glr.c:846 */
7277 break;
7278
7279 case 231: /* decl_layout */
7280 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
7281 {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));}
7282 #line 7283 "src/parser_proc.c" /* glr.c:846 */
7283 break;
7284
7285 case 232: /* align_and_size */
7286 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
7287 {}
7288 #line 7289 "src/parser_proc.c" /* glr.c:846 */
7289 break;
7290
7291 case 233: /* array_size */
7292 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7293 {}
7294 #line 7295 "src/parser_proc.c" /* glr.c:846 */
7295 break;
7296
7297 case 235: /* indirection */
7298 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7299 {}
7300 #line 7301 "src/parser_proc.c" /* glr.c:846 */
7301 break;
7302
7303 case 236: /* pointers */
7304 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7305 {}
7306 #line 7307 "src/parser_proc.c" /* glr.c:846 */
7307 break;
7308
7309 case 237: /* asterisks */
7310 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7311 {}
7312 #line 7313 "src/parser_proc.c" /* glr.c:846 */
7313 break;
7314
7315 case 240: /* impl */
7316 #line 374 "src/parser_proc_grammar.y" /* glr.c:846 */
7317 {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));}
7318 #line 7319 "src/parser_proc.c" /* glr.c:846 */
7319 break;
7320
7321 case 241: /* impl_func */
7322 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
7323 {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));}
7324 #line 7325 "src/parser_proc.c" /* glr.c:846 */
7325 break;
7326
7327 case 242: /* impl_args */
7328 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7329 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7330 #line 7331 "src/parser_proc.c" /* glr.c:846 */
7331 break;
7332
7333 case 243: /* impl_arg */
7334 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
7335 {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));}
7336 #line 7337 "src/parser_proc.c" /* glr.c:846 */
7337 break;
7338
7339 case 244: /* impl_var */
7340 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
7341 {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));}
7342 #line 7343 "src/parser_proc.c" /* glr.c:846 */
7343 break;
7344
7345 case 245: /* impl_type */
7346 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7347 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7348 #line 7349 "src/parser_proc.c" /* glr.c:846 */
7349 break;
7350
7351 case 246: /* impl_type_restricted */
7352 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7353 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7354 #line 7355 "src/parser_proc.c" /* glr.c:846 */
7355 break;
7356
7357 case 247: /* impl_type_token */
7358 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7359 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7360 #line 7361 "src/parser_proc.c" /* glr.c:846 */
7361 break;
7362
7363 case 248: /* impl_type_restricted_token */
7364 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7365 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7366 #line 7367 "src/parser_proc.c" /* glr.c:846 */
7367 break;
7368
7369 case 249: /* impl_type_extended_token */
7370 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7371 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7372 #line 7373 "src/parser_proc.c" /* glr.c:846 */
7373 break;
7374
7375 case 250: /* impl_stmts */
7376 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7377 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7378 #line 7379 "src/parser_proc.c" /* glr.c:846 */
7379 break;
7380
7381 case 251: /* impl_stmt */
7382 #line 412 "src/parser_proc_grammar.y" /* glr.c:846 */
7383 {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));}
7384 #line 7385 "src/parser_proc.c" /* glr.c:846 */
7385 break;
7386
7387 case 252: /* let_stmt */
7388 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
7389 {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));}
7390 #line 7391 "src/parser_proc.c" /* glr.c:846 */
7391 break;
7392
7393 case 253: /* let_exp */
7394 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7395 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7396 #line 7397 "src/parser_proc.c" /* glr.c:846 */
7397 break;
7398
7399 case 254: /* let_exp_byref */
7400 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7401 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7402 #line 7403 "src/parser_proc.c" /* glr.c:846 */
7403 break;
7404
7405 case 255: /* let_exp_assign */
7406 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7407 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7408 #line 7409 "src/parser_proc.c" /* glr.c:846 */
7409 break;
7410
7411 case 256: /* let_calloc */
7412 #line 389 "src/parser_proc_grammar.y" /* glr.c:846 */
7413 {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));}
7414 #line 7415 "src/parser_proc.c" /* glr.c:846 */
7415 break;
7416
7417 case 257: /* let_callback */
7418 #line 391 "src/parser_proc_grammar.y" /* glr.c:846 */
7419 {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));}
7420 #line 7421 "src/parser_proc.c" /* glr.c:846 */
7421 break;
7422
7423 case 258: /* let_func */
7424 #line 393 "src/parser_proc_grammar.y" /* glr.c:846 */
7425 {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));}
7426 #line 7427 "src/parser_proc.c" /* glr.c:846 */
7427 break;
7428
7429 case 259: /* let_func_token */
7430 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7431 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7432 #line 7433 "src/parser_proc.c" /* glr.c:846 */
7433 break;
7434
7435 case 260: /* let_func_exps */
7436 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7437 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7438 #line 7439 "src/parser_proc.c" /* glr.c:846 */
7439 break;
7440
7441 case 261: /* let_exps */
7442 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7443 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7444 #line 7445 "src/parser_proc.c" /* glr.c:846 */
7445 break;
7446
7447 case 262: /* callback_rval */
7448 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7449 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7450 #line 7451 "src/parser_proc.c" /* glr.c:846 */
7451 break;
7452
7453 case 263: /* callback_arg_list */
7454 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7455 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7456 #line 7457 "src/parser_proc.c" /* glr.c:846 */
7457 break;
7458
7459 case 264: /* callback_args */
7460 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7461 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7462 #line 7463 "src/parser_proc.c" /* glr.c:846 */
7463 break;
7464
7465 case 265: /* return_stmt */
7466 #line 403 "src/parser_proc_grammar.y" /* glr.c:846 */
7467 {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));}
7468 #line 7469 "src/parser_proc.c" /* glr.c:846 */
7469 break;
7470
7471 case 266: /* return_exp */
7472 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
7473 {psi_return_exp_free(&(*(struct psi_return_exp **)(&(*yyvaluep))));}
7474 #line 7475 "src/parser_proc.c" /* glr.c:846 */
7475 break;
7476
7477 case 267: /* call_decl_vars */
7478 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7479 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7480 #line 7481 "src/parser_proc.c" /* glr.c:846 */
7481 break;
7482
7483 case 268: /* set_stmt */
7484 #line 395 "src/parser_proc_grammar.y" /* glr.c:846 */
7485 {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));}
7486 #line 7487 "src/parser_proc.c" /* glr.c:846 */
7487 break;
7488
7489 case 269: /* set_exp */
7490 #line 397 "src/parser_proc_grammar.y" /* glr.c:846 */
7491 {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));}
7492 #line 7493 "src/parser_proc.c" /* glr.c:846 */
7493 break;
7494
7495 case 270: /* set_func */
7496 #line 399 "src/parser_proc_grammar.y" /* glr.c:846 */
7497 {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));}
7498 #line 7499 "src/parser_proc.c" /* glr.c:846 */
7499 break;
7500
7501 case 271: /* set_func_token */
7502 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7503 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7504 #line 7505 "src/parser_proc.c" /* glr.c:846 */
7505 break;
7506
7507 case 272: /* set_func_exps */
7508 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7509 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7510 #line 7511 "src/parser_proc.c" /* glr.c:846 */
7511 break;
7512
7513 case 273: /* set_exps */
7514 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7515 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7516 #line 7517 "src/parser_proc.c" /* glr.c:846 */
7517 break;
7518
7519 case 274: /* assert_stmt */
7520 #line 401 "src/parser_proc_grammar.y" /* glr.c:846 */
7521 {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));}
7522 #line 7523 "src/parser_proc.c" /* glr.c:846 */
7523 break;
7524
7525 case 275: /* assert_stmt_token */
7526 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7527 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7528 #line 7529 "src/parser_proc.c" /* glr.c:846 */
7529 break;
7530
7531 case 276: /* free_stmt */
7532 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
7533 {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));}
7534 #line 7535 "src/parser_proc.c" /* glr.c:846 */
7535 break;
7536
7537 case 277: /* free_exps */
7538 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7539 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7540 #line 7541 "src/parser_proc.c" /* glr.c:846 */
7541 break;
7542
7543 case 278: /* free_exp */
7544 #line 409 "src/parser_proc_grammar.y" /* glr.c:846 */
7545 {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));}
7546 #line 7547 "src/parser_proc.c" /* glr.c:846 */
7547 break;
7548
7549 case 279: /* reference */
7550 #line 426 "src/parser_proc_grammar.y" /* glr.c:846 */
7551 {}
7552 #line 7553 "src/parser_proc.c" /* glr.c:846 */
7553 break;
7554
7555
7556 default:
7557 break;
7558 }
7559 YY_IGNORE_MAYBE_UNINITIALIZED_END
7560 }
7561
7562 /** Number of symbols composing the right hand side of rule #RULE. */
7563 static inline int
7564 yyrhsLength (yyRuleNum yyrule)
7565 {
7566 return yyr2[yyrule];
7567 }
7568
7569 static void
7570 yydestroyGLRState (char const *yymsg, yyGLRState *yys, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7571 {
7572 if (yys->yyresolved)
7573 yydestruct (yymsg, yystos[yys->yylrState],
7574 &yys->yysemantics.yysval, P, tokens, index);
7575 else
7576 {
7577 #if YYDEBUG
7578 if (yydebug)
7579 {
7580 if (yys->yysemantics.yyfirstVal)
7581 YYFPRINTF (stderr, "%s unresolved", yymsg);
7582 else
7583 YYFPRINTF (stderr, "%s incomplete", yymsg);
7584 YY_SYMBOL_PRINT ("", yystos[yys->yylrState], YY_NULLPTR, &yys->yyloc);
7585 }
7586 #endif
7587
7588 if (yys->yysemantics.yyfirstVal)
7589 {
7590 yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
7591 yyGLRState *yyrh;
7592 int yyn;
7593 for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
7594 yyn > 0;
7595 yyrh = yyrh->yypred, yyn -= 1)
7596 yydestroyGLRState (yymsg, yyrh, P, tokens, index);
7597 }
7598 }
7599 }
7600
7601 /** Left-hand-side symbol for rule #YYRULE. */
7602 static inline yySymbol
7603 yylhsNonterm (yyRuleNum yyrule)
7604 {
7605 return yyr1[yyrule];
7606 }
7607
7608 #define yypact_value_is_default(Yystate) \
7609 (!!((Yystate) == (-717)))
7610
7611 /** True iff LR state YYSTATE has only a default reduction (regardless
7612 * of token). */
7613 static inline yybool
7614 yyisDefaultedState (yyStateNum yystate)
7615 {
7616 return yypact_value_is_default (yypact[yystate]);
7617 }
7618
7619 /** The default reduction for YYSTATE, assuming it has one. */
7620 static inline yyRuleNum
7621 yydefaultAction (yyStateNum yystate)
7622 {
7623 return yydefact[yystate];
7624 }
7625
7626 #define yytable_value_is_error(Yytable_value) \
7627 0
7628
7629 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7630 * Result R means
7631 * R < 0: Reduce on rule -R.
7632 * R = 0: Error.
7633 * R > 0: Shift to state R.
7634 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7635 * of conflicting reductions.
7636 */
7637 static inline void
7638 yygetLRActions (yyStateNum yystate, int yytoken,
7639 int* yyaction, const short int** yyconflicts)
7640 {
7641 int yyindex = yypact[yystate] + yytoken;
7642 if (yypact_value_is_default (yypact[yystate])
7643 || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
7644 {
7645 *yyaction = -yydefact[yystate];
7646 *yyconflicts = yyconfl;
7647 }
7648 else if (! yytable_value_is_error (yytable[yyindex]))
7649 {
7650 *yyaction = yytable[yyindex];
7651 *yyconflicts = yyconfl + yyconflp[yyindex];
7652 }
7653 else
7654 {
7655 *yyaction = 0;
7656 *yyconflicts = yyconfl + yyconflp[yyindex];
7657 }
7658 }
7659
7660 /** Compute post-reduction state.
7661 * \param yystate the current state
7662 * \param yysym the nonterminal to push on the stack
7663 */
7664 static inline yyStateNum
7665 yyLRgotoState (yyStateNum yystate, yySymbol yysym)
7666 {
7667 int yyr = yypgoto[yysym - YYNTOKENS] + yystate;
7668 if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
7669 return yytable[yyr];
7670 else
7671 return yydefgoto[yysym - YYNTOKENS];
7672 }
7673
7674 static inline yybool
7675 yyisShiftAction (int yyaction)
7676 {
7677 return 0 < yyaction;
7678 }
7679
7680 static inline yybool
7681 yyisErrorAction (int yyaction)
7682 {
7683 return yyaction == 0;
7684 }
7685
7686 /* GLRStates */
7687
7688 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7689 * if YYISSTATE, and otherwise a semantic option. Callers should call
7690 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7691 * headroom. */
7692
7693 static inline yyGLRStackItem*
7694 yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
7695 {
7696 yyGLRStackItem* yynewItem = yystackp->yynextFree;
7697 yystackp->yyspaceLeft -= 1;
7698 yystackp->yynextFree += 1;
7699 yynewItem->yystate.yyisState = yyisState;
7700 return yynewItem;
7701 }
7702
7703 /** Add a new semantic action that will execute the action for rule
7704 * YYRULE on the semantic values in YYRHS to the list of
7705 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7706 * stack #YYK of *YYSTACKP. */
7707 static void
7708 yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
7709 yyGLRState* yyrhs, yyRuleNum yyrule)
7710 {
7711 yySemanticOption* yynewOption =
7712 &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
7713 YYASSERT (!yynewOption->yyisState);
7714 yynewOption->yystate = yyrhs;
7715 yynewOption->yyrule = yyrule;
7716 if (yystackp->yytops.yylookaheadNeeds[yyk])
7717 {
7718 yynewOption->yyrawchar = yychar;
7719 yynewOption->yyval = yylval;
7720 }
7721 else
7722 yynewOption->yyrawchar = YYEMPTY;
7723 yynewOption->yynext = yystate->yysemantics.yyfirstVal;
7724 yystate->yysemantics.yyfirstVal = yynewOption;
7725
7726 YY_RESERVE_GLRSTACK (yystackp);
7727 }
7728
7729 /* GLRStacks */
7730
7731 /** Initialize YYSET to a singleton set containing an empty stack. */
7732 static yybool
7733 yyinitStateSet (yyGLRStateSet* yyset)
7734 {
7735 yyset->yysize = 1;
7736 yyset->yycapacity = 16;
7737 yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
7738 if (! yyset->yystates)
7739 return yyfalse;
7740 yyset->yystates[0] = YY_NULLPTR;
7741 yyset->yylookaheadNeeds =
7742 (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
7743 if (! yyset->yylookaheadNeeds)
7744 {
7745 YYFREE (yyset->yystates);
7746 return yyfalse;
7747 }
7748 return yytrue;
7749 }
7750
7751 static void yyfreeStateSet (yyGLRStateSet* yyset)
7752 {
7753 YYFREE (yyset->yystates);
7754 YYFREE (yyset->yylookaheadNeeds);
7755 }
7756
7757 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7758 * capacity for all stacks of YYSIZE. */
7759 static yybool
7760 yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
7761 {
7762 yystackp->yyerrState = 0;
7763 yynerrs = 0;
7764 yystackp->yyspaceLeft = yysize;
7765 yystackp->yyitems =
7766 (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
7767 if (!yystackp->yyitems)
7768 return yyfalse;
7769 yystackp->yynextFree = yystackp->yyitems;
7770 yystackp->yysplitPoint = YY_NULLPTR;
7771 yystackp->yylastDeleted = YY_NULLPTR;
7772 return yyinitStateSet (&yystackp->yytops);
7773 }
7774
7775
7776 #if YYSTACKEXPANDABLE
7777 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7778 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
7779
7780 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
7781 stack from outside should be considered invalid after this call.
7782 We always expand when there are 1 or fewer items left AFTER an
7783 allocation, so that we can avoid having external pointers exist
7784 across an allocation. */
7785 static void
7786 yyexpandGLRStack (yyGLRStack* yystackp)
7787 {
7788 yyGLRStackItem* yynewItems;
7789 yyGLRStackItem* yyp0, *yyp1;
7790 size_t yynewSize;
7791 size_t yyn;
7792 size_t yysize = yystackp->yynextFree - yystackp->yyitems;
7793 if (YYMAXDEPTH - YYHEADROOM < yysize)
7794 yyMemoryExhausted (yystackp);
7795 yynewSize = 2*yysize;
7796 if (YYMAXDEPTH < yynewSize)
7797 yynewSize = YYMAXDEPTH;
7798 yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
7799 if (! yynewItems)
7800 yyMemoryExhausted (yystackp);
7801 for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
7802 0 < yyn;
7803 yyn -= 1, yyp0 += 1, yyp1 += 1)
7804 {
7805 *yyp1 = *yyp0;
7806 if (*(yybool *) yyp0)
7807 {
7808 yyGLRState* yys0 = &yyp0->yystate;
7809 yyGLRState* yys1 = &yyp1->yystate;
7810 if (yys0->yypred != YY_NULLPTR)
7811 yys1->yypred =
7812 YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
7813 if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULLPTR)
7814 yys1->yysemantics.yyfirstVal =
7815 YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
7816 }
7817 else
7818 {
7819 yySemanticOption* yyv0 = &yyp0->yyoption;
7820 yySemanticOption* yyv1 = &yyp1->yyoption;
7821 if (yyv0->yystate != YY_NULLPTR)
7822 yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
7823 if (yyv0->yynext != YY_NULLPTR)
7824 yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
7825 }
7826 }
7827 if (yystackp->yysplitPoint != YY_NULLPTR)
7828 yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
7829 yystackp->yysplitPoint, yystate);
7830
7831 for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
7832 if (yystackp->yytops.yystates[yyn] != YY_NULLPTR)
7833 yystackp->yytops.yystates[yyn] =
7834 YYRELOC (yystackp->yyitems, yynewItems,
7835 yystackp->yytops.yystates[yyn], yystate);
7836 YYFREE (yystackp->yyitems);
7837 yystackp->yyitems = yynewItems;
7838 yystackp->yynextFree = yynewItems + yysize;
7839 yystackp->yyspaceLeft = yynewSize - yysize;
7840 }
7841 #endif
7842
7843 static void
7844 yyfreeGLRStack (yyGLRStack* yystackp)
7845 {
7846 YYFREE (yystackp->yyitems);
7847 yyfreeStateSet (&yystackp->yytops);
7848 }
7849
7850 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
7851 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
7852 * YYS. */
7853 static inline void
7854 yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
7855 {
7856 if (yystackp->yysplitPoint != YY_NULLPTR && yystackp->yysplitPoint > yys)
7857 yystackp->yysplitPoint = yys;
7858 }
7859
7860 /** Invalidate stack #YYK in *YYSTACKP. */
7861 static inline void
7862 yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
7863 {
7864 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
7865 yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
7866 yystackp->yytops.yystates[yyk] = YY_NULLPTR;
7867 }
7868
7869 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
7870 only be done once after a deletion, and only when all other stacks have
7871 been deleted. */
7872 static void
7873 yyundeleteLastStack (yyGLRStack* yystackp)
7874 {
7875 if (yystackp->yylastDeleted == YY_NULLPTR || yystackp->yytops.yysize != 0)
7876 return;
7877 yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
7878 yystackp->yytops.yysize = 1;
7879 YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
7880 yystackp->yylastDeleted = YY_NULLPTR;
7881 }
7882
7883 static inline void
7884 yyremoveDeletes (yyGLRStack* yystackp)
7885 {
7886 size_t yyi, yyj;
7887 yyi = yyj = 0;
7888 while (yyj < yystackp->yytops.yysize)
7889 {
7890 if (yystackp->yytops.yystates[yyi] == YY_NULLPTR)
7891 {
7892 if (yyi == yyj)
7893 {
7894 YYDPRINTF ((stderr, "Removing dead stacks.\n"));
7895 }
7896 yystackp->yytops.yysize -= 1;
7897 }
7898 else
7899 {
7900 yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
7901 /* In the current implementation, it's unnecessary to copy
7902 yystackp->yytops.yylookaheadNeeds[yyi] since, after
7903 yyremoveDeletes returns, the parser immediately either enters
7904 deterministic operation or shifts a token. However, it doesn't
7905 hurt, and the code might evolve to need it. */
7906 yystackp->yytops.yylookaheadNeeds[yyj] =
7907 yystackp->yytops.yylookaheadNeeds[yyi];
7908 if (yyj != yyi)
7909 {
7910 YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
7911 (unsigned long int) yyi, (unsigned long int) yyj));
7912 }
7913 yyj += 1;
7914 }
7915 yyi += 1;
7916 }
7917 }
7918
7919 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
7920 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
7921 * value *YYVALP and source location *YYLOCP. */
7922 static inline void
7923 yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7924 size_t yyposn,
7925 YYSTYPE* yyvalp)
7926 {
7927 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7928
7929 yynewState->yylrState = yylrState;
7930 yynewState->yyposn = yyposn;
7931 yynewState->yyresolved = yytrue;
7932 yynewState->yypred = yystackp->yytops.yystates[yyk];
7933 yynewState->yysemantics.yysval = *yyvalp;
7934 yystackp->yytops.yystates[yyk] = yynewState;
7935
7936 YY_RESERVE_GLRSTACK (yystackp);
7937 }
7938
7939 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
7940 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
7941 * semantic value of YYRHS under the action for YYRULE. */
7942 static inline void
7943 yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7944 size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule)
7945 {
7946 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7947 YYASSERT (yynewState->yyisState);
7948
7949 yynewState->yylrState = yylrState;
7950 yynewState->yyposn = yyposn;
7951 yynewState->yyresolved = yyfalse;
7952 yynewState->yypred = yystackp->yytops.yystates[yyk];
7953 yynewState->yysemantics.yyfirstVal = YY_NULLPTR;
7954 yystackp->yytops.yystates[yyk] = yynewState;
7955
7956 /* Invokes YY_RESERVE_GLRSTACK. */
7957 yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule);
7958 }
7959
7960 #if !YYDEBUG
7961 # define YY_REDUCE_PRINT(Args)
7962 #else
7963 # define YY_REDUCE_PRINT(Args) \
7964 do { \
7965 if (yydebug) \
7966 yy_reduce_print Args; \
7967 } while (0)
7968
7969 /*----------------------------------------------------------------------.
7970 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
7971 `----------------------------------------------------------------------*/
7972
7973 static inline void
7974 yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
7975 yyRuleNum yyrule, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7976 {
7977 int yynrhs = yyrhsLength (yyrule);
7978 int yyi;
7979 YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
7980 (unsigned long int) yyk, yyrule - 1,
7981 (unsigned long int) yyrline[yyrule]);
7982 if (! yynormal)
7983 yyfillin (yyvsp, 1, -yynrhs);
7984 /* The symbols being reduced. */
7985 for (yyi = 0; yyi < yynrhs; yyi++)
7986 {
7987 YYFPRINTF (stderr, " $%d = ", yyi + 1);
7988 yy_symbol_print (stderr,
7989 yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
7990 &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
7991 , P, tokens, index);
7992 if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
7993 YYFPRINTF (stderr, " (unresolved)");
7994 YYFPRINTF (stderr, "\n");
7995 }
7996 }
7997 #endif
7998
7999 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
8000 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
8001 * semantic values. Assumes that all ambiguities in semantic values
8002 * have been previously resolved. Set *YYVALP to the resulting value,
8003 * and *YYLOCP to the computed location (if any). Return value is as
8004 * for userAction. */
8005 static inline YYRESULTTAG
8006 yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
8007 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8008 {
8009 int yynrhs = yyrhsLength (yyrule);
8010
8011 if (yystackp->yysplitPoint == YY_NULLPTR)
8012 {
8013 /* Standard special case: single stack. */
8014 yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
8015 YYASSERT (yyk == 0);
8016 yystackp->yynextFree -= yynrhs;
8017 yystackp->yyspaceLeft += yynrhs;
8018 yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
8019 YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule, P, tokens, index));
8020 return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
8021 yyvalp, P, tokens, index);
8022 }
8023 else
8024 {
8025 int yyi;
8026 yyGLRState* yys;
8027 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8028 yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
8029 = yystackp->yytops.yystates[yyk];
8030 for (yyi = 0; yyi < yynrhs; yyi += 1)
8031 {
8032 yys = yys->yypred;
8033 YYASSERT (yys);
8034 }
8035 yyupdateSplit (yystackp, yys);
8036 yystackp->yytops.yystates[yyk] = yys;
8037 YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule, P, tokens, index));
8038 return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8039 yystackp, yyvalp, P, tokens, index);
8040 }
8041 }
8042
8043 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8044 * and push back on the resulting nonterminal symbol. Perform the
8045 * semantic action associated with YYRULE and store its value with the
8046 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8047 * unambiguous. Otherwise, store the deferred semantic action with
8048 * the new state. If the new state would have an identical input
8049 * position, LR state, and predecessor to an existing state on the stack,
8050 * it is identified with that existing state, eliminating stack #YYK from
8051 * *YYSTACKP. In this case, the semantic value is
8052 * added to the options for the existing state's semantic value.
8053 */
8054 static inline YYRESULTTAG
8055 yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
8056 yybool yyforceEval, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8057 {
8058 size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
8059
8060 if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR)
8061 {
8062 YYSTYPE yysval;
8063
8064 YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval, P, tokens, index);
8065 if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR)
8066 {
8067 YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
8068 (unsigned long int) yyk, yyrule - 1));
8069 }
8070 if (yyflag != yyok)
8071 return yyflag;
8072 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
8073 yyglrShift (yystackp, yyk,
8074 yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
8075 yylhsNonterm (yyrule)),
8076 yyposn, &yysval);
8077 }
8078 else
8079 {
8080 size_t yyi;
8081 int yyn;
8082 yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
8083 yyStateNum yynewLRState;
8084
8085 for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
8086 0 < yyn; yyn -= 1)
8087 {
8088 yys = yys->yypred;
8089 YYASSERT (yys);
8090 }
8091 yyupdateSplit (yystackp, yys);
8092 yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
8093 YYDPRINTF ((stderr,
8094 "Reduced stack %lu by rule #%d; action deferred. "
8095 "Now in state %d.\n",
8096 (unsigned long int) yyk, yyrule - 1, yynewLRState));
8097 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
8098 if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULLPTR)
8099 {
8100 yyGLRState *yysplit = yystackp->yysplitPoint;
8101 yyGLRState *yyp = yystackp->yytops.yystates[yyi];
8102 while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
8103 {
8104 if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
8105 {
8106 yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
8107 yymarkStackDeleted (yystackp, yyk);
8108 YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
8109 (unsigned long int) yyk,
8110 (unsigned long int) yyi));
8111 return yyok;
8112 }
8113 yyp = yyp->yypred;
8114 }
8115 }
8116 yystackp->yytops.yystates[yyk] = yys;
8117 yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
8118 }
8119 return yyok;
8120 }
8121
8122 static size_t
8123 yysplitStack (yyGLRStack* yystackp, size_t yyk)
8124 {
8125 if (yystackp->yysplitPoint == YY_NULLPTR)
8126 {
8127 YYASSERT (yyk == 0);
8128 yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
8129 }
8130 if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
8131 {
8132 yyGLRState** yynewStates;
8133 yybool* yynewLookaheadNeeds;
8134
8135 yynewStates = YY_NULLPTR;
8136
8137 if (yystackp->yytops.yycapacity
8138 > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
8139 yyMemoryExhausted (yystackp);
8140 yystackp->yytops.yycapacity *= 2;
8141
8142 yynewStates =
8143 (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
8144 (yystackp->yytops.yycapacity
8145 * sizeof yynewStates[0]));
8146 if (yynewStates == YY_NULLPTR)
8147 yyMemoryExhausted (yystackp);
8148 yystackp->yytops.yystates = yynewStates;
8149
8150 yynewLookaheadNeeds =
8151 (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
8152 (yystackp->yytops.yycapacity
8153 * sizeof yynewLookaheadNeeds[0]));
8154 if (yynewLookaheadNeeds == YY_NULLPTR)
8155 yyMemoryExhausted (yystackp);
8156 yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
8157 }
8158 yystackp->yytops.yystates[yystackp->yytops.yysize]
8159 = yystackp->yytops.yystates[yyk];
8160 yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
8161 = yystackp->yytops.yylookaheadNeeds[yyk];
8162 yystackp->yytops.yysize += 1;
8163 return yystackp->yytops.yysize-1;
8164 }
8165
8166 /** True iff YYY0 and YYY1 represent identical options at the top level.
8167 * That is, they represent the same rule applied to RHS symbols
8168 * that produce the same terminal symbols. */
8169 static yybool
8170 yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
8171 {
8172 if (yyy0->yyrule == yyy1->yyrule)
8173 {
8174 yyGLRState *yys0, *yys1;
8175 int yyn;
8176 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8177 yyn = yyrhsLength (yyy0->yyrule);
8178 yyn > 0;
8179 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8180 if (yys0->yyposn != yys1->yyposn)
8181 return yyfalse;
8182 return yytrue;
8183 }
8184 else
8185 return yyfalse;
8186 }
8187
8188 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8189 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8190 static void
8191 yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
8192 {
8193 yyGLRState *yys0, *yys1;
8194 int yyn;
8195 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8196 yyn = yyrhsLength (yyy0->yyrule);
8197 yyn > 0;
8198 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8199 {
8200 if (yys0 == yys1)
8201 break;
8202 else if (yys0->yyresolved)
8203 {
8204 yys1->yyresolved = yytrue;
8205 yys1->yysemantics.yysval = yys0->yysemantics.yysval;
8206 }
8207 else if (yys1->yyresolved)
8208 {
8209 yys0->yyresolved = yytrue;
8210 yys0->yysemantics.yysval = yys1->yysemantics.yysval;
8211 }
8212 else
8213 {
8214 yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
8215 yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
8216 while (yytrue)
8217 {
8218 if (yyz1 == *yyz0p || yyz1 == YY_NULLPTR)
8219 break;
8220 else if (*yyz0p == YY_NULLPTR)
8221 {
8222 *yyz0p = yyz1;
8223 break;
8224 }
8225 else if (*yyz0p < yyz1)
8226 {
8227 yySemanticOption* yyz = *yyz0p;
8228 *yyz0p = yyz1;
8229 yyz1 = yyz1->yynext;
8230 (*yyz0p)->yynext = yyz;
8231 }
8232 yyz0p = &(*yyz0p)->yynext;
8233 }
8234 yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
8235 }
8236 }
8237 }
8238
8239 /** Y0 and Y1 represent two possible actions to take in a given
8240 * parsing state; return 0 if no combination is possible,
8241 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8242 static int
8243 yypreference (yySemanticOption* y0, yySemanticOption* y1)
8244 {
8245 yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
8246 int p0 = yydprec[r0], p1 = yydprec[r1];
8247
8248 if (p0 == p1)
8249 {
8250 if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
8251 return 0;
8252 else
8253 return 1;
8254 }
8255 if (p0 == 0 || p1 == 0)
8256 return 0;
8257 if (p0 < p1)
8258 return 3;
8259 if (p1 < p0)
8260 return 2;
8261 return 0;
8262 }
8263
8264 static YYRESULTTAG yyresolveValue (yyGLRState* yys,
8265 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
8266
8267
8268 /** Resolve the previous YYN states starting at and including state YYS
8269 * on *YYSTACKP. If result != yyok, some states may have been left
8270 * unresolved possibly with empty semantic option chains. Regardless
8271 * of whether result = yyok, each state has been left with consistent
8272 * data so that yydestroyGLRState can be invoked if necessary. */
8273 static YYRESULTTAG
8274 yyresolveStates (yyGLRState* yys, int yyn,
8275 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8276 {
8277 if (0 < yyn)
8278 {
8279 YYASSERT (yys->yypred);
8280 YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, P, tokens, index));
8281 if (! yys->yyresolved)
8282 YYCHK (yyresolveValue (yys, yystackp, P, tokens, index));
8283 }
8284 return yyok;
8285 }
8286
8287 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8288 * user action, and return the semantic value and location in *YYVALP
8289 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8290 * have been destroyed (assuming the user action destroys all RHS
8291 * semantic values if invoked). */
8292 static YYRESULTTAG
8293 yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
8294 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8295 {
8296 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8297 int yynrhs = yyrhsLength (yyopt->yyrule);
8298 YYRESULTTAG yyflag =
8299 yyresolveStates (yyopt->yystate, yynrhs, yystackp, P, tokens, index);
8300 if (yyflag != yyok)
8301 {
8302 yyGLRState *yys;
8303 for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
8304 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
8305 return yyflag;
8306 }
8307
8308 yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;
8309 {
8310 int yychar_current = yychar;
8311 YYSTYPE yylval_current = yylval;
8312 yychar = yyopt->yyrawchar;
8313 yylval = yyopt->yyval;
8314 yyflag = yyuserAction (yyopt->yyrule, yynrhs,
8315 yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8316 yystackp, yyvalp, P, tokens, index);
8317 yychar = yychar_current;
8318 yylval = yylval_current;
8319 }
8320 return yyflag;
8321 }
8322
8323 #if YYDEBUG
8324 static void
8325 yyreportTree (yySemanticOption* yyx, int yyindent)
8326 {
8327 int yynrhs = yyrhsLength (yyx->yyrule);
8328 int yyi;
8329 yyGLRState* yys;
8330 yyGLRState* yystates[1 + YYMAXRHS];
8331 yyGLRState yyleftmost_state;
8332
8333 for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
8334 yystates[yyi] = yys;
8335 if (yys == YY_NULLPTR)
8336 {
8337 yyleftmost_state.yyposn = 0;
8338 yystates[0] = &yyleftmost_state;
8339 }
8340 else
8341 yystates[0] = yys;
8342
8343 if (yyx->yystate->yyposn < yys->yyposn + 1)
8344 YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
8345 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8346 yyx->yyrule - 1);
8347 else
8348 YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8349 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8350 yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
8351 (unsigned long int) yyx->yystate->yyposn);
8352 for (yyi = 1; yyi <= yynrhs; yyi += 1)
8353 {
8354 if (yystates[yyi]->yyresolved)
8355 {
8356 if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
8357 YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
8358 yytokenName (yystos[yystates[yyi]->yylrState]));
8359 else
8360 YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
8361 yytokenName (yystos[yystates[yyi]->yylrState]),
8362 (unsigned long int) (yystates[yyi-1]->yyposn + 1),
8363 (unsigned long int) yystates[yyi]->yyposn);
8364 }
8365 else
8366 yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
8367 }
8368 }
8369 #endif
8370
8371 static YYRESULTTAG
8372 yyreportAmbiguity (yySemanticOption* yyx0,
8373 yySemanticOption* yyx1, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8374 {
8375 YYUSE (yyx0);
8376 YYUSE (yyx1);
8377
8378 #if YYDEBUG
8379 YYFPRINTF (stderr, "Ambiguity detected.\n");
8380 YYFPRINTF (stderr, "Option 1,\n");
8381 yyreportTree (yyx0, 2);
8382 YYFPRINTF (stderr, "\nOption 2,\n");
8383 yyreportTree (yyx1, 2);
8384 YYFPRINTF (stderr, "\n");
8385 #endif
8386
8387 yyerror (P, tokens, index, YY_("syntax is ambiguous"));
8388 return yyabort;
8389 }
8390
8391 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8392 * perform the indicated actions, and set the semantic value of YYS.
8393 * If result != yyok, the chain of semantic options in YYS has been
8394 * cleared instead or it has been left unmodified except that
8395 * redundant options may have been removed. Regardless of whether
8396 * result = yyok, YYS has been left with consistent data so that
8397 * yydestroyGLRState can be invoked if necessary. */
8398 static YYRESULTTAG
8399 yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8400 {
8401 yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
8402 yySemanticOption* yybest = yyoptionList;
8403 yySemanticOption** yypp;
8404 yybool yymerge = yyfalse;
8405 YYSTYPE yysval;
8406 YYRESULTTAG yyflag;
8407
8408 for (yypp = &yyoptionList->yynext; *yypp != YY_NULLPTR; )
8409 {
8410 yySemanticOption* yyp = *yypp;
8411
8412 if (yyidenticalOptions (yybest, yyp))
8413 {
8414 yymergeOptionSets (yybest, yyp);
8415 *yypp = yyp->yynext;
8416 }
8417 else
8418 {
8419 switch (yypreference (yybest, yyp))
8420 {
8421 case 0:
8422 return yyreportAmbiguity (yybest, yyp, P, tokens, index);
8423 break;
8424 case 1:
8425 yymerge = yytrue;
8426 break;
8427 case 2:
8428 break;
8429 case 3:
8430 yybest = yyp;
8431 yymerge = yyfalse;
8432 break;
8433 default:
8434 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8435 but some compilers complain if the default case is
8436 omitted. */
8437 break;
8438 }
8439 yypp = &yyp->yynext;
8440 }
8441 }
8442
8443 if (yymerge)
8444 {
8445 yySemanticOption* yyp;
8446 int yyprec = yydprec[yybest->yyrule];
8447 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8448 if (yyflag == yyok)
8449 for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext)
8450 {
8451 if (yyprec == yydprec[yyp->yyrule])
8452 {
8453 YYSTYPE yysval_other;
8454 yyflag = yyresolveAction (yyp, yystackp, &yysval_other, P, tokens, index);
8455 if (yyflag != yyok)
8456 {
8457 yydestruct ("Cleanup: discarding incompletely merged value for",
8458 yystos[yys->yylrState],
8459 &yysval, P, tokens, index);
8460 break;
8461 }
8462 yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
8463 }
8464 }
8465 }
8466 else
8467 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8468
8469 if (yyflag == yyok)
8470 {
8471 yys->yyresolved = yytrue;
8472 yys->yysemantics.yysval = yysval;
8473 }
8474 else
8475 yys->yysemantics.yyfirstVal = YY_NULLPTR;
8476 return yyflag;
8477 }
8478
8479 static YYRESULTTAG
8480 yyresolveStack (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8481 {
8482 if (yystackp->yysplitPoint != YY_NULLPTR)
8483 {
8484 yyGLRState* yys;
8485 int yyn;
8486
8487 for (yyn = 0, yys = yystackp->yytops.yystates[0];
8488 yys != yystackp->yysplitPoint;
8489 yys = yys->yypred, yyn += 1)
8490 continue;
8491 YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
8492 , P, tokens, index));
8493 }
8494 return yyok;
8495 }
8496
8497 static void
8498 yycompressStack (yyGLRStack* yystackp)
8499 {
8500 yyGLRState* yyp, *yyq, *yyr;
8501
8502 if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULLPTR)
8503 return;
8504
8505 for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULLPTR;
8506 yyp != yystackp->yysplitPoint;
8507 yyr = yyp, yyp = yyq, yyq = yyp->yypred)
8508 yyp->yypred = yyr;
8509
8510 yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
8511 yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
8512 yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
8513 yystackp->yysplitPoint = YY_NULLPTR;
8514 yystackp->yylastDeleted = YY_NULLPTR;
8515
8516 while (yyr != YY_NULLPTR)
8517 {
8518 yystackp->yynextFree->yystate = *yyr;
8519 yyr = yyr->yypred;
8520 yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
8521 yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
8522 yystackp->yynextFree += 1;
8523 yystackp->yyspaceLeft -= 1;
8524 }
8525 }
8526
8527 static YYRESULTTAG
8528 yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
8529 size_t yyposn, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8530 {
8531 while (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8532 {
8533 yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
8534 YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
8535 (unsigned long int) yyk, yystate));
8536
8537 YYASSERT (yystate != YYFINAL);
8538
8539 if (yyisDefaultedState (yystate))
8540 {
8541 YYRESULTTAG yyflag;
8542 yyRuleNum yyrule = yydefaultAction (yystate);
8543 if (yyrule == 0)
8544 {
8545 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8546 (unsigned long int) yyk));
8547 yymarkStackDeleted (yystackp, yyk);
8548 return yyok;
8549 }
8550 yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule], P, tokens, index);
8551 if (yyflag == yyerr)
8552 {
8553 YYDPRINTF ((stderr,
8554 "Stack %lu dies "
8555 "(predicate failure or explicit user error).\n",
8556 (unsigned long int) yyk));
8557 yymarkStackDeleted (yystackp, yyk);
8558 return yyok;
8559 }
8560 if (yyflag != yyok)
8561 return yyflag;
8562 }
8563 else
8564 {
8565 yySymbol yytoken;
8566 int yyaction;
8567 const short int* yyconflicts;
8568
8569 yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
8570 if (yychar == YYEMPTY)
8571 {
8572 YYDPRINTF ((stderr, "Reading a token: "));
8573 yychar = yylex (&yylval, P, tokens, index);
8574 }
8575
8576 if (yychar <= YYEOF)
8577 {
8578 yychar = yytoken = YYEOF;
8579 YYDPRINTF ((stderr, "Now at end of input.\n"));
8580 }
8581 else
8582 {
8583 yytoken = YYTRANSLATE (yychar);
8584 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8585 }
8586
8587 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8588
8589 while (*yyconflicts != 0)
8590 {
8591 YYRESULTTAG yyflag;
8592 size_t yynewStack = yysplitStack (yystackp, yyk);
8593 YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
8594 (unsigned long int) yynewStack,
8595 (unsigned long int) yyk));
8596 yyflag = yyglrReduce (yystackp, yynewStack,
8597 *yyconflicts,
8598 yyimmediate[*yyconflicts], P, tokens, index);
8599 if (yyflag == yyok)
8600 YYCHK (yyprocessOneStack (yystackp, yynewStack,
8601 yyposn, P, tokens, index));
8602 else if (yyflag == yyerr)
8603 {
8604 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8605 (unsigned long int) yynewStack));
8606 yymarkStackDeleted (yystackp, yynewStack);
8607 }
8608 else
8609 return yyflag;
8610 yyconflicts += 1;
8611 }
8612
8613 if (yyisShiftAction (yyaction))
8614 break;
8615 else if (yyisErrorAction (yyaction))
8616 {
8617 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8618 (unsigned long int) yyk));
8619 yymarkStackDeleted (yystackp, yyk);
8620 break;
8621 }
8622 else
8623 {
8624 YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
8625 yyimmediate[-yyaction], P, tokens, index);
8626 if (yyflag == yyerr)
8627 {
8628 YYDPRINTF ((stderr,
8629 "Stack %lu dies "
8630 "(predicate failure or explicit user error).\n",
8631 (unsigned long int) yyk));
8632 yymarkStackDeleted (yystackp, yyk);
8633 break;
8634 }
8635 else if (yyflag != yyok)
8636 return yyflag;
8637 }
8638 }
8639 }
8640 return yyok;
8641 }
8642
8643 static void
8644 yyreportSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8645 {
8646 if (yystackp->yyerrState != 0)
8647 return;
8648 #if ! YYERROR_VERBOSE
8649 yyerror (P, tokens, index, YY_("syntax error"));
8650 #else
8651 {
8652 yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8653 size_t yysize0 = yytnamerr (YY_NULLPTR, yytokenName (yytoken));
8654 size_t yysize = yysize0;
8655 yybool yysize_overflow = yyfalse;
8656 char* yymsg = YY_NULLPTR;
8657 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
8658 /* Internationalized format string. */
8659 const char *yyformat = YY_NULLPTR;
8660 /* Arguments of yyformat. */
8661 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
8662 /* Number of reported tokens (one for the "unexpected", one per
8663 "expected"). */
8664 int yycount = 0;
8665
8666 /* There are many possibilities here to consider:
8667 - If this state is a consistent state with a default action, then
8668 the only way this function was invoked is if the default action
8669 is an error action. In that case, don't check for expected
8670 tokens because there are none.
8671 - The only way there can be no lookahead present (in yychar) is if
8672 this state is a consistent state with a default action. Thus,
8673 detecting the absence of a lookahead is sufficient to determine
8674 that there is no unexpected or expected token to report. In that
8675 case, just report a simple "syntax error".
8676 - Don't assume there isn't a lookahead just because this state is a
8677 consistent state with a default action. There might have been a
8678 previous inconsistent state, consistent state with a non-default
8679 action, or user semantic action that manipulated yychar.
8680 - Of course, the expected token list depends on states to have
8681 correct lookahead information, and it depends on the parser not
8682 to perform extra reductions after fetching a lookahead from the
8683 scanner and before detecting a syntax error. Thus, state merging
8684 (from LALR or IELR) and default reductions corrupt the expected
8685 token list. However, the list is correct for canonical LR with
8686 one exception: it will still contain any token that will not be
8687 accepted due to an error action in a later state.
8688 */
8689 if (yytoken != YYEMPTY)
8690 {
8691 int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
8692 yyarg[yycount++] = yytokenName (yytoken);
8693 if (!yypact_value_is_default (yyn))
8694 {
8695 /* Start YYX at -YYN if negative to avoid negative indexes in
8696 YYCHECK. In other words, skip the first -YYN actions for this
8697 state because they are default actions. */
8698 int yyxbegin = yyn < 0 ? -yyn : 0;
8699 /* Stay within bounds of both yycheck and yytname. */
8700 int yychecklim = YYLAST - yyn + 1;
8701 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
8702 int yyx;
8703 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
8704 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
8705 && !yytable_value_is_error (yytable[yyx + yyn]))
8706 {
8707 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
8708 {
8709 yycount = 1;
8710 yysize = yysize0;
8711 break;
8712 }
8713 yyarg[yycount++] = yytokenName (yyx);
8714 {
8715 size_t yysz = yysize + yytnamerr (YY_NULLPTR, yytokenName (yyx));
8716 yysize_overflow |= yysz < yysize;
8717 yysize = yysz;
8718 }
8719 }
8720 }
8721 }
8722
8723 switch (yycount)
8724 {
8725 #define YYCASE_(N, S) \
8726 case N: \
8727 yyformat = S; \
8728 break
8729 YYCASE_(0, YY_("syntax error"));
8730 YYCASE_(1, YY_("syntax error, unexpected %s"));
8731 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8732 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8733 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8734 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8735 #undef YYCASE_
8736 }
8737
8738 {
8739 size_t yysz = yysize + strlen (yyformat);
8740 yysize_overflow |= yysz < yysize;
8741 yysize = yysz;
8742 }
8743
8744 if (!yysize_overflow)
8745 yymsg = (char *) YYMALLOC (yysize);
8746
8747 if (yymsg)
8748 {
8749 char *yyp = yymsg;
8750 int yyi = 0;
8751 while ((*yyp = *yyformat))
8752 {
8753 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
8754 {
8755 yyp += yytnamerr (yyp, yyarg[yyi++]);
8756 yyformat += 2;
8757 }
8758 else
8759 {
8760 yyp++;
8761 yyformat++;
8762 }
8763 }
8764 yyerror (P, tokens, index, yymsg);
8765 YYFREE (yymsg);
8766 }
8767 else
8768 {
8769 yyerror (P, tokens, index, YY_("syntax error"));
8770 yyMemoryExhausted (yystackp);
8771 }
8772 }
8773 #endif /* YYERROR_VERBOSE */
8774 yynerrs += 1;
8775 }
8776
8777 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8778 yylval, and yylloc are the syntactic category, semantic value, and location
8779 of the lookahead. */
8780 static void
8781 yyrecoverSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8782 {
8783 size_t yyk;
8784 int yyj;
8785
8786 if (yystackp->yyerrState == 3)
8787 /* We just shifted the error token and (perhaps) took some
8788 reductions. Skip tokens until we can proceed. */
8789 while (yytrue)
8790 {
8791 yySymbol yytoken;
8792 if (yychar == YYEOF)
8793 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8794 if (yychar != YYEMPTY)
8795 {
8796 yytoken = YYTRANSLATE (yychar);
8797 yydestruct ("Error: discarding",
8798 yytoken, &yylval, P, tokens, index);
8799 }
8800 YYDPRINTF ((stderr, "Reading a token: "));
8801 yychar = yylex (&yylval, P, tokens, index);
8802 if (yychar <= YYEOF)
8803 {
8804 yychar = yytoken = YYEOF;
8805 YYDPRINTF ((stderr, "Now at end of input.\n"));
8806 }
8807 else
8808 {
8809 yytoken = YYTRANSLATE (yychar);
8810 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8811 }
8812 yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
8813 if (yypact_value_is_default (yyj))
8814 return;
8815 yyj += yytoken;
8816 if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
8817 {
8818 if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
8819 return;
8820 }
8821 else if (! yytable_value_is_error (yytable[yyj]))
8822 return;
8823 }
8824
8825 /* Reduce to one stack. */
8826 for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
8827 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8828 break;
8829 if (yyk >= yystackp->yytops.yysize)
8830 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8831 for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
8832 yymarkStackDeleted (yystackp, yyk);
8833 yyremoveDeletes (yystackp);
8834 yycompressStack (yystackp);
8835
8836 /* Now pop stack until we find a state that shifts the error token. */
8837 yystackp->yyerrState = 3;
8838 while (yystackp->yytops.yystates[0] != YY_NULLPTR)
8839 {
8840 yyGLRState *yys = yystackp->yytops.yystates[0];
8841 yyj = yypact[yys->yylrState];
8842 if (! yypact_value_is_default (yyj))
8843 {
8844 yyj += YYTERROR;
8845 if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
8846 && yyisShiftAction (yytable[yyj]))
8847 {
8848 /* Shift the error token. */
8849 YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
8850 &yylval, &yyerrloc);
8851 yyglrShift (yystackp, 0, yytable[yyj],
8852 yys->yyposn, &yylval);
8853 yys = yystackp->yytops.yystates[0];
8854 break;
8855 }
8856 }
8857 if (yys->yypred != YY_NULLPTR)
8858 yydestroyGLRState ("Error: popping", yys, P, tokens, index);
8859 yystackp->yytops.yystates[0] = yys->yypred;
8860 yystackp->yynextFree -= 1;
8861 yystackp->yyspaceLeft += 1;
8862 }
8863 if (yystackp->yytops.yystates[0] == YY_NULLPTR)
8864 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8865 }
8866
8867 #define YYCHK1(YYE) \
8868 do { \
8869 switch (YYE) { \
8870 case yyok: \
8871 break; \
8872 case yyabort: \
8873 goto yyabortlab; \
8874 case yyaccept: \
8875 goto yyacceptlab; \
8876 case yyerr: \
8877 goto yyuser_error; \
8878 default: \
8879 goto yybuglab; \
8880 } \
8881 } while (0)
8882
8883 /*----------.
8884 | yyparse. |
8885 `----------*/
8886
8887 int
8888 yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8889 {
8890 int yyresult;
8891 yyGLRStack yystack;
8892 yyGLRStack* const yystackp = &yystack;
8893 size_t yyposn;
8894
8895 YYDPRINTF ((stderr, "Starting parse\n"));
8896
8897 yychar = YYEMPTY;
8898 yylval = yyval_default;
8899
8900 /* User initialization code. */
8901 #line 144 "src/parser_proc_grammar.y" /* glr.c:2270 */
8902 {
8903 }
8904
8905 #line 8906 "src/parser_proc.c" /* glr.c:2270 */
8906
8907 if (! yyinitGLRStack (yystackp, YYINITDEPTH))
8908 goto yyexhaustedlab;
8909 switch (YYSETJMP (yystack.yyexception_buffer))
8910 {
8911 case 0: break;
8912 case 1: goto yyabortlab;
8913 case 2: goto yyexhaustedlab;
8914 default: goto yybuglab;
8915 }
8916 yyglrShift (&yystack, 0, 0, 0, &yylval);
8917 yyposn = 0;
8918
8919 while (yytrue)
8920 {
8921 /* For efficiency, we have two loops, the first of which is
8922 specialized to deterministic operation (single stack, no
8923 potential ambiguity). */
8924 /* Standard mode */
8925 while (yytrue)
8926 {
8927 yyRuleNum yyrule;
8928 int yyaction;
8929 const short int* yyconflicts;
8930
8931 yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
8932 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
8933 if (yystate == YYFINAL)
8934 goto yyacceptlab;
8935 if (yyisDefaultedState (yystate))
8936 {
8937 yyrule = yydefaultAction (yystate);
8938 if (yyrule == 0)
8939 {
8940
8941 yyreportSyntaxError (&yystack, P, tokens, index);
8942 goto yyuser_error;
8943 }
8944 YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, P, tokens, index));
8945 }
8946 else
8947 {
8948 yySymbol yytoken;
8949 if (yychar == YYEMPTY)
8950 {
8951 YYDPRINTF ((stderr, "Reading a token: "));
8952 yychar = yylex (&yylval, P, tokens, index);
8953 }
8954
8955 if (yychar <= YYEOF)
8956 {
8957 yychar = yytoken = YYEOF;
8958 YYDPRINTF ((stderr, "Now at end of input.\n"));
8959 }
8960 else
8961 {
8962 yytoken = YYTRANSLATE (yychar);
8963 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8964 }
8965
8966 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8967 if (*yyconflicts != 0)
8968 break;
8969 if (yyisShiftAction (yyaction))
8970 {
8971 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
8972 yychar = YYEMPTY;
8973 yyposn += 1;
8974 yyglrShift (&yystack, 0, yyaction, yyposn, &yylval);
8975 if (0 < yystack.yyerrState)
8976 yystack.yyerrState -= 1;
8977 }
8978 else if (yyisErrorAction (yyaction))
8979 {
8980
8981 yyreportSyntaxError (&yystack, P, tokens, index);
8982 goto yyuser_error;
8983 }
8984 else
8985 YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, P, tokens, index));
8986 }
8987 }
8988
8989 while (yytrue)
8990 {
8991 yySymbol yytoken_to_shift;
8992 size_t yys;
8993
8994 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8995 yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
8996
8997 /* yyprocessOneStack returns one of three things:
8998
8999 - An error flag. If the caller is yyprocessOneStack, it
9000 immediately returns as well. When the caller is finally
9001 yyparse, it jumps to an error label via YYCHK1.
9002
9003 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
9004 (&yystack, yys), which sets the top state of yys to NULL. Thus,
9005 yyparse's following invocation of yyremoveDeletes will remove
9006 the stack.
9007
9008 - yyok, when ready to shift a token.
9009
9010 Except in the first case, yyparse will invoke yyremoveDeletes and
9011 then shift the next token onto all remaining stacks. This
9012 synchronization of the shift (that is, after all preceding
9013 reductions on all stacks) helps prevent double destructor calls
9014 on yylval in the event of memory exhaustion. */
9015
9016 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
9017 YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, P, tokens, index));
9018 yyremoveDeletes (&yystack);
9019 if (yystack.yytops.yysize == 0)
9020 {
9021 yyundeleteLastStack (&yystack);
9022 if (yystack.yytops.yysize == 0)
9023 yyFail (&yystack, P, tokens, index, YY_("syntax error"));
9024 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
9025 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
9026
9027 yyreportSyntaxError (&yystack, P, tokens, index);
9028 goto yyuser_error;
9029 }
9030
9031 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9032 a copy of yylval will already be on stack 0 in the event of a
9033 failure in the following loop. Thus, yychar is set to YYEMPTY
9034 before the loop to make sure the user destructor for yylval isn't
9035 called twice. */
9036 yytoken_to_shift = YYTRANSLATE (yychar);
9037 yychar = YYEMPTY;
9038 yyposn += 1;
9039 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
9040 {
9041 int yyaction;
9042 const short int* yyconflicts;
9043 yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
9044 yygetLRActions (yystate, yytoken_to_shift, &yyaction,
9045 &yyconflicts);
9046 /* Note that yyconflicts were handled by yyprocessOneStack. */
9047 YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
9048 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
9049 yyglrShift (&yystack, yys, yyaction, yyposn,
9050 &yylval);
9051 YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
9052 (unsigned long int) yys,
9053 yystack.yytops.yystates[yys]->yylrState));
9054 }
9055
9056 if (yystack.yytops.yysize == 1)
9057 {
9058 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
9059 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
9060 yycompressStack (&yystack);
9061 break;
9062 }
9063 }
9064 continue;
9065 yyuser_error:
9066 yyrecoverSyntaxError (&yystack, P, tokens, index);
9067 yyposn = yystack.yytops.yystates[0]->yyposn;
9068 }
9069
9070 yyacceptlab:
9071 yyresult = 0;
9072 goto yyreturn;
9073
9074 yybuglab:
9075 YYASSERT (yyfalse);
9076 goto yyabortlab;
9077
9078 yyabortlab:
9079 yyresult = 1;
9080 goto yyreturn;
9081
9082 yyexhaustedlab:
9083 yyerror (P, tokens, index, YY_("memory exhausted"));
9084 yyresult = 2;
9085 goto yyreturn;
9086
9087 yyreturn:
9088 if (yychar != YYEMPTY)
9089 yydestruct ("Cleanup: discarding lookahead",
9090 YYTRANSLATE (yychar), &yylval, P, tokens, index);
9091
9092 /* If the stack is well-formed, pop the stack until it is empty,
9093 destroying its entries as we go. But free the stack regardless
9094 of whether it is well-formed. */
9095 if (yystack.yyitems)
9096 {
9097 yyGLRState** yystates = yystack.yytops.yystates;
9098 if (yystates)
9099 {
9100 size_t yysize = yystack.yytops.yysize;
9101 size_t yyk;
9102 for (yyk = 0; yyk < yysize; yyk += 1)
9103 if (yystates[yyk])
9104 {
9105 while (yystates[yyk])
9106 {
9107 yyGLRState *yys = yystates[yyk];
9108 if (yys->yypred != YY_NULLPTR)
9109 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
9110 yystates[yyk] = yys->yypred;
9111 yystack.yynextFree -= 1;
9112 yystack.yyspaceLeft += 1;
9113 }
9114 break;
9115 }
9116 }
9117 yyfreeGLRStack (&yystack);
9118 }
9119
9120 return yyresult;
9121 }
9122
9123 /* DEBUGGING ONLY */
9124 #if YYDEBUG
9125 static void
9126 yy_yypstack (yyGLRState* yys)
9127 {
9128 if (yys->yypred)
9129 {
9130 yy_yypstack (yys->yypred);
9131 YYFPRINTF (stderr, " -> ");
9132 }
9133 YYFPRINTF (stderr, "%d@%lu", yys->yylrState,
9134 (unsigned long int) yys->yyposn);
9135 }
9136
9137 static void
9138 yypstates (yyGLRState* yyst)
9139 {
9140 if (yyst == YY_NULLPTR)
9141 YYFPRINTF (stderr, "<null>");
9142 else
9143 yy_yypstack (yyst);
9144 YYFPRINTF (stderr, "\n");
9145 }
9146
9147 static void
9148 yypstack (yyGLRStack* yystackp, size_t yyk)
9149 {
9150 yypstates (yystackp->yytops.yystates[yyk]);
9151 }
9152
9153 #define YYINDEX(YYX) \
9154 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9155
9156
9157 static void
9158 yypdumpstack (yyGLRStack* yystackp)
9159 {
9160 yyGLRStackItem* yyp;
9161 size_t yyi;
9162 for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
9163 {
9164 YYFPRINTF (stderr, "%3lu. ",
9165 (unsigned long int) (yyp - yystackp->yyitems));
9166 if (*(yybool *) yyp)
9167 {
9168 YYASSERT (yyp->yystate.yyisState);
9169 YYASSERT (yyp->yyoption.yyisState);
9170 YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9171 yyp->yystate.yyresolved, yyp->yystate.yylrState,
9172 (unsigned long int) yyp->yystate.yyposn,
9173 (long int) YYINDEX (yyp->yystate.yypred));
9174 if (! yyp->yystate.yyresolved)
9175 YYFPRINTF (stderr, ", firstVal: %ld",
9176 (long int) YYINDEX (yyp->yystate
9177 .yysemantics.yyfirstVal));
9178 }
9179 else
9180 {
9181 YYASSERT (!yyp->yystate.yyisState);
9182 YYASSERT (!yyp->yyoption.yyisState);
9183 YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
9184 yyp->yyoption.yyrule - 1,
9185 (long int) YYINDEX (yyp->yyoption.yystate),
9186 (long int) YYINDEX (yyp->yyoption.yynext));
9187 }
9188 YYFPRINTF (stderr, "\n");
9189 }
9190 YYFPRINTF (stderr, "Tops:");
9191 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
9192 YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
9193 (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
9194 YYFPRINTF (stderr, "\n");
9195 }
9196 #endif
9197
9198 #undef yylval
9199 #undef yychar
9200 #undef yynerrs
9201
9202 /* Substitute the variable and function names. */
9203 #define yyparse psi_parser_proc_parse
9204 #define yylex psi_parser_proc_lex
9205 #define yyerror psi_parser_proc_error
9206 #define yylval psi_parser_proc_lval
9207 #define yychar psi_parser_proc_char
9208 #define yydebug psi_parser_proc_debug
9209 #define yynerrs psi_parser_proc_nerrs
9210
9211 #line 2274 "src/parser_proc_grammar.y" /* glr.c:2584 */
9212
9213
9214 /* epilogue */
9215
9216 static int psi_parser_proc_lex(YYSTYPE *lvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
9217 {
9218 struct psi_token *token;
9219
9220 if (psi_plist_get(tokens, (*index)++, &token)) {
9221 if (P->flags & PSI_DEBUG) {
9222 psi_token_dump(2, token);
9223 }
9224
9225 *((struct psi_token **)lvalp) = token;
9226 return token->type;
9227 } else {
9228 (*index)--;
9229 PSI_DEBUG_PRINT(P, "EOF(%d)\n", PSI_T_EOF);
9230 }
9231
9232 return PSI_T_EOF;
9233 }
9234
9235 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg)
9236 {
9237 struct psi_token *T = NULL;
9238 size_t last;
9239
9240 if (*index == 0) {
9241 last = 0;
9242 } else {
9243 last = --(*index);
9244 }
9245
9246 psi_plist_get(tokens, last, &T);
9247 if (T) {
9248 P->error(PSI_DATA(P), T, PSI_WARNING, "PSI %s at col %u", msg, T->col);
9249 } else {
9250 P->error(PSI_DATA(P), NULL, PSI_WARNING, "PSI %s", msg);
9251 }
9252 P->errors++;
9253 }
9254